(eval-expression-print-level, eval-expression-print-length): Doc fixes.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
1e9a6186
DL
12001-12-18 Dave Love <fx@gnu.org>
2
3 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
4 language/georgian.el.
5
e4e34e31
EZ
62001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7
8 * Makefile.in (lisp, shortlisp): Synchronize with changes to
9 lisp/Makefile.in:DONTCOMPILE.
10
4521d1fc
PJ
112001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
12
7c75be36
PJ
13 * xdisp.c (window_box_height): Do not return negative values.
14 From Gerd Moellmann <gerd@gnu.org>.
15
4521d1fc
PJ
16 * keyboard.c (head_table): Add missing braces around initializer.
17
18 * term.c (keys): Likewise.
19
20 * xfns.c (x_frame_parms, visual_classes): Likewise.
21
93dec019
SS
222001-12-17 Sam Steingold <sds@gnu.org>
23
24 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
25 patch (COMPOSING_P, not COMPOSING).
26
905cc05a
RS
272001-12-17 Richard M. Stallman <rms@gnu.org>
28
2ed06289
RS
29 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
30
0e79d667
RS
31 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
32 before calling decode_coding.
33
34 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
35
36 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
905cc05a
RS
37 instead of only for COMPOSITION_DISABLED.
38
82a7ab23
RS
392001-12-16 Richard M. Stallman <rms@gnu.org>
40
d75bec6a
RS
41 * alloc.c (pure_alloc): After overflow, allocate just a small block.
42
52dcb476
RS
43 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
44
82a7ab23
RS
45 * buffer.h (struct buffer): New field `display_error_modiff'.
46 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
47
48 * window.c (Frecenter): Clear display_error_modiff field.
49
50 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
51 Call redisplay_window, but not if display_error_modiff field says no.
52 (redisplay_window_error): New function.
53 (displayed_buffer): New variable.
54 (redisplay_internal, redisplay_windows): Call the new functions
55 instead of redisplay_window directly.
56
4d0fa4f3
RS
572001-12-15 Richard M. Stallman <rms@gnu.org>
58
59 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
60
493faf20
AI
612001-12-14 Andrew Innes <andrewi@gnu.org>
62
325111e9
AI
63 * makefile.w32-in (EMACSLOADPATH): Define.
64 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
65 (bootstrap-temacs): Remove dependency on bootstrap-clean.
493faf20 66
4971e491
EZ
672001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
68
397b3b50 69 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
70 parameter have a numeric value all the time.
71
72 * w32fns.c (x_report_frame_params): Likewise.
73
d911a0fa
RS
742001-12-12 Richard M. Stallman <rms@gnu.org>
75
76 * fileio.c (Fwrite_region): Doc fix.
77
78 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
79 (redisplay_internal): Call clear_image_cache only for window terminals.
80
201c831a
GM
812001-12-12 Gerd Moellmann <gerd@gnu.org>
82
83 * xdisp.c (move_it_vertically_backward): Change heuristic
84 for the case that we didn't move far enough initially.
85
86 * window.c (Frecenter): Simplify computation in the case of window
87 system frames and ARG < 0; use window_box_height.
88
34e39c95
RS
892001-12-11 Richard M. Stallman <rms@gnu.org>
90
91 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
92 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
93
d77fbc16
AI
942001-12-11 Andrew Innes <andrewi@gnu.org>
95
96 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
97 arg is negative.
98
61e3b944
RS
992001-12-11 Richard M. Stallman <rms@gnu.org>
100
101 * m/hp800.h: Split the __hpux conditional into the parts
102 that are right for GNU/Linux too and the parts that are not.
103 Use the former if GNU_LINUX.
104 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
105
106 * s/gnu-linux.h (GNU_LINUX): Defined.
107
70da46c3
PJ
1082001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
109
110 * macros.c, msdos.c, w16select.c: Change doc-string comments to
111 `new style' [w/`doc:' keyword].
112
8af01033
JR
1132001-12-10 Jason Rumney <jasonr@gnu.org>
114
115 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
116 before using.
117
7363986a
PJ
1182001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
119
120 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
121 keyword].
122
d9e6c4b1
EZ
1232001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
124
d20fc48a
EZ
125 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
126
d9e6c4b1
EZ
127 * s/hpux10.h (srand48): Don't undefine.
128
f1a85b89
JR
1292001-12-09 Jason Rumney <jasonr@gnu.org>
130
131 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
132 comment to explain where the struct came from.
133 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
134 (add_menu_item): Process pop-up menus first to avoid memory leak.
135 (add_menu_item, w32_menu_display_help): Use `help' field as
136 Lisp_Object.
137 (w32_free_submenu_strings): Only free owner-drawn strings.
138
3a62677f
PJ
1392001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
140
72244db2
PJ
141 * COPYING: Moved back.
142
3a62677f
PJ
143 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
144 Add parentheses around && within ||.
145
146 * indent.c (compute_motion): Likewise.
147
148 * intervals.c (merge_properties_sticky): Likewise.
149
150 * coding.c (setup_coding_system, shrink_encoding_region)
151 (Fdecode_sjis_char): Likewise.
152
9d113d9d
AS
1532001-12-07 Andreas Schwab <schwab@suse.de>
154
b8523839
AS
155 * xdisp.c (display_mode_element): Don't read past end of string if
156 it ends with '%'.
157
9464dea4
AS
158 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
159 can hold.
160
9d113d9d
AS
161 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
162 from most_positive_fixnum and most_negative_fixnum, resp., and
163 type changed to Lisp_Object.
164 (syms_of_data): DEFVAR_LISP them.
165
70ec1377
RS
1662001-12-07 Richard M. Stallman <rms@gnu.org>
167
168 * callproc.c (init_callproc): Set Vdata_directory based on the source
169 location whenever Emacs was run uninstalled.
170
92f7dd37
PE
1712001-12-06 Paul Eggert <eggert@twinsun.com>
172
173 * config.in (HAVE_WORKING_VFORK): New #undefs.
174 * process.c (create_process):
175 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
176 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
177 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
178 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
179 * m/intel386.h (HAVE_VFORK): Likewise.
180 * m/mips-siemens.h (HAVE_VFORK): Likewise.
181 * m/mips.h (HAVE_VFORK): Likewise.
182 * s/freebsd.h (vfork): Remove #define.
183 * s/lynxos.h (HAVE_VFORK): Remove #undef.
184 * s/usg5-4-2.h: Fix comment about vfork.
185
c93674bb
RS
1862001-12-06 Richard M. Stallman <rms@gnu.org>
187
188 * s/hpux10.h (random): Add undef.
189 (HAVE_RANDOM): Define it just once.
190
59b59892
SM
1912001-12-06 Stefan Monnier <monnier@cs.yale.edu>
192
193 * eval.c: Undo last change: the standard syntax is not wanted.
194
c6ea2775
EZ
1952001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
196
197 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
198 scroll bars of the frame before deleting the frame itself. If the
199 frame has a widget, delete the frame with XtDestroyWidget, and do
200 not call XDestroyWindow before that.
201
91175673
KS
2022001-12-06 Kim F. Storm <storm@cua.dk>
203
204 * xfns.c (x_report_frame_params): Return actual fringe widths.
205
206 * w32fns.c (x_report_frame_params): Return actual fringe widths.
207
e0fead5d
AI
2082001-12-05 Andrew Innes <andrewi@gnu.org>
209
210 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
211 excessively large.
212
213 * insdel.c (make_gap_larger): New function.
214 (make_gap_smaller): New function.
215 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
216 make_gap_smaller if arg is negative.
217
c186cdb3
SM
2182001-12-04 Stefan Monnier <monnier@cs.yale.edu>
219
220 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
221 Pass a dummy argument when calling interrupt_signal.
222 (parse_menu_item): Mark disabled items before checking for empty def.
223 (read_char_minibuf_menu_prompt): Make safety more visible.
224 (read_key_sequence): Add a `first_unbound' variable.
225 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
226 unbound prefix as soon as we can detect it.
227
228 * doc.c (Fsnarf_documentation): Add prototype.
229 (get_doc_string): Handle negative arguments.
230 (Fdocumentation): Use AREF and ASIZE.
231 Move the calls to get_doc_string to a single place.
232 Don't confuse an interactive-spec for a docstring reference.
233 (Fdocumentation_property): Take advantage of the fact that
234 get_doc_string now ignores the sign of the docstring position.
235
236 * eval.c: Use standard syntax for usage in docstrings.
237
58cfce98
PJ
2382001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
239
c186cdb3 240 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 241
62854fe2
PJ
2422001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
243
244 * xterm.c (x_draw_image_relief): Use predefined macro instead of
245 constant when the value of `tool_bar_button_relief' is negative.
246
656f46bb
RS
2472001-12-02 Richard M. Stallman <rms@gnu.org>
248
249 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
250 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
251
252 * fileio.c (read_non_regular): Delete Fsignal call.
253
036e218d
SM
2542001-12-01 Stefan Monnier <monnier@cs.yale.edu>
255
256 * lisp.h (run_hook_list_with_args): Undo last change.
257
7ddb2c16
GM
2582001-12-01 Gerd Moellmann <gerd@gnu.org>
259
260 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
261
ace9b298
JR
2622001-12-01 Jason Rumney <jasonr@gnu.org>
263
90647b07
JR
264 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
265
266 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
267 [!WM_MOUSELEAVE]: Define.
268
ace9b298
JR
269 * w32menu.c (current_popup_menu, get_menu_item_info):
270 (set_menu_item_info): New vars.
271 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
272 (w32_menu_show): Set current_popup_menu.
273 (add_menu_item): Allocate new strings for owner-drawn menu items
274 and help strings.
275 Use owner-draw for disabled menu items again.
276 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
277 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
278
279 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
280 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
281 <WM_EXITMENULOOP>: Free menu strings.
282 <WM_MOUSELEAVE>: Stop tracking mouse.
283 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
284
285 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
286 and mouse face.
287
a9549909 2882001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
289
290 The following changes add left-fringe and right-fringe
291 frame parameters to adjust fringe widths, or remove one or
292 both fringes.
036e218d 293
9fbc32aa
KS
294 * frame.h (struct frame): Remove trunc_area_pixel_width and
295 trunc_area_cols fields.
296 (Qleft_fringe, Qright_fringe): Declare.
297 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
298
299 * frame.c (Qleft_fringe, Qright_fringe): New vars.
300 (syms_of_frame): Initialize them.
301
302 * window.c (coordinates_in_window): Handle separate left and right
303 fringe widths.
304
305 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
306 and fringe_cols fields.
307 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
308 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
309 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
310 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
311 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
312 (x_compute_fringe_widths): Add prototype.
313
314 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
315 fill fringe evenly with small dashes.
316 (x_draw_fringe_bitmap): Clear background if necessary. Align and
317 clip the new ZV bitmap to avoid jitter between rows.
318 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
319 background. Don't draw fringe bitmaps if fringe width is zero.
320 (x_compute_fringe_widths): New function.
321 (x_new_font, x_set_window_size_1): Use it.
322
323 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
324 (x_set_frame_parameters): Process Process `font' parameter before other
325 parameters as fringe widths depend on it.
326 (x_set_fringe_width): New function.
327 (x_figure_window_size): Use x_compute_fringe_widths.
328 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
329 parameters.
330
331 * widget.c (set_frame_size): Use x_compute_fringe_widths.
332 (EmacsFrameSetCharSize): Ditto.
333
334 * w32term.h: Merged changes from xterm.h.
335 * w32term.c: Merged changes from xterm.c.
336 * w32fns.c: Merged changes from xfns.c.
337
0142178a
PJ
3382001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
339
340 * COPYING: Removed.
341
d4824a5d
DL
3422001-11-29 Dave Love <fx@gnu.org>
343
344 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
345 extra extra slot.
346 (detect_coding_mask): Fix call of detect_coding_iso2022.
347
b1356234
PJ
3482001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
349
350 * fileio.c (file-name-coding-system)
351 (default-file-name-coding-system): Doc fix (links to referenced
352 variables added).
353
3ce081f5
SM
3542001-11-28 Stefan Monnier <monnier@cs.yale.edu>
355
99e380ee
SM
356 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
357 Add dummy uses of gcproN variables.
358
3ce081f5 359 * category.c (describe_category, describe_category_1)
2ad56c09 360 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
361 (syms_of_category): Don't defsubr Sdescribe_categories.
362
66458f32
RS
3632001-11-28 Richard M. Stallman <rms@gnu.org>
364
365 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
366
367 * Makefile.in (lispdir): New variable, referring to build dir.
368 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
369
59a86c99
AI
3702001-11-28 Andrew Innes <andrewi@gnu.org>
371
372 * w32menu.c (w32_menu_display_help): Actually add the new argument
373 OWNER.
374
eb77a5f4
JR
3752001-11-28 Jason Rumney <jasonr@gnu.org>
376
377 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
378 menu items. From David Ponce <dponce@wanadoo.fr>.
379 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
380 conditionally.
381 (w32_menu_display_help): New argument OWNER. Rewritten to store a
382 help event in the owner frame's keyboard buffer.
383
384 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
385 (Fx_show_tip): Don't subtract last width from row width.
386
387 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
388 (w32_read_socket): Use EQ to compare frames.
389
bb313871
GM
3902001-11-28 Gerd Moellmann <gerd@gnu.org>
391
392 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
393 OVERLAPS_P.
394
55b43a63
PJ
3952001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
396
6052529b
PJ
397 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
398 `gcpro3' and `gcpro4'.
399
3ce081f5
SM
400 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
401
4022001-11-28 Stefan Monnier <monnier@cs.yale.edu>
403
404 * ccl.c: Use AREF and ASIZE.
405
4062001-11-27 Stefan Monnier <monnier@cs.yale.edu>
407
408 * lisp.h (run_hook_list_with_args): Remove.
409 (LIST_END_P): Fix call to wrong_type_argument.
410 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 411
111ed14e
SM
4122001-11-26 Stefan Monnier <monnier@cs.yale.edu>
413
9fabb2f5
SM
414 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
415 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
416
417 * eval.c: Use AREF and ASIZE.
418 (Ffetch_bytecode): Add the file name to the error message.
419
420 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
421 which match the end of the file-name.
422 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
423 is not a valid env var, but leave it as is instead.
424
111ed14e
SM
425 * keymap.c (access_keymap): Handle t bindings like nil bindings.
426 Make nil bindings in char-tables transparent.
427 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
428
2fa0eedf
RS
4292001-11-26 Richard M. Stallman <rms@gnu.org>
430
d1420435
RS
431 * textprop.c (set_text_properties_1): Allow START, END in either order.
432 Do nothing if range is empty.
433
2fa0eedf
RS
434 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
435
ebcbef4e
RS
436 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
437 (clean): Not here.
438
5c131048
SM
4392001-11-25 Stefan Monnier <monnier@cs.yale.edu>
440
441 * textprop.c (set_text_properties_1): Clearly mark that the
442 interval should not be empty.
443
444 * intervals.c (graft_intervals_into_buffer):
445 Don't call set_text_properties_1 on an empty interval.
446
96d276c3
RS
4472001-11-25 Richard M. Stallman <rms@gnu.org>
448
6108b49c
RS
449 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
450
96d276c3
RS
451 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
452 don't lose the data in it.
453
5eea19a4
RS
4542001-11-25 Juanma Barranquero <lektu@terra.es>
455
456 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
457
458 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
459
460 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
461
438e57dd
SM
4622001-11-25 Stefan Monnier <monnier@cs.yale.edu>
463
464 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
465
c88e5347
EZ
4662001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
467
468 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
469 Niemitalo <kon@iki.fi>.
470
59ce1461
JR
4712001-11-25 Jason Rumney <jasonr@gnu.org>
472
473 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
474
475 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
476 (Fx_show_tip): Block input during frame creation.
477 (Fx_show_tip, Fx_hide_tip): Enable.
478
8727d588
RS
4792001-11-24 Richard M. Stallman <rms@gnu.org>
480
481 * lread.c (Fload): Detect recursive load error for more than 3
482 nestings of the same file.
483 (Vrecursive_load_depth_limit): Variable deleted.
484 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
485
cc63037e
JR
4862001-11-24 Jason Rumney <jasonr@gnu.org>
487
488 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
489 mouse position if either left or top is not specified.
490
491 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
492 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
493 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
494 (my_create_tip_window): Assign tip_window.
495 (x_create_tip_frame): Use same defaults as X.
496 (compute_tip_xy): Remove unused variable. Use full screen width.
497 (Fx_show_tip): Do not double height. Call ShowWindow directly.
498
499 * w32term.c (x_after_update_window_line): Doc fix.
500 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
501 frames.
502 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
503
504 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
505 for all Windowed systems.
506
deece6f5
EZ
5072001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
508
509 * msdos.c (IT_clear_screen): If the frame's faces are not yet
510 realized, use the initial screen colors to clear the screen.
511
1b944d9c
PJ
5122001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
513
28ff4293
PJ
514 * textprop.c (Fset_text_properties): Remove unused variables
515 `unchanged', `prev_changed', `s' and `len'.
516
56167cc5
PJ
517 * search.c (Freplace_match): Remove unused variable `inslen'.
518
1b944d9c
PJ
519 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
520
ca56d953
JR
5212001-11-22 Jason Rumney <jasonr@gnu.org>
522
523 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
524 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
525 (my_create_tip_window): New function.
526 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
93dec019 527 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
ca56d953 528
33399dce
JR
5292001-11-20 Jason Rumney <jasonr@gnu.org>
530
531 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
532 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
533
534 * w32fns.c (Vw32_system_coding_system): Remove.
535 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
536
9b46de40
SM
5372001-11-19 Stefan Monnier <monnier@cs.yale.edu>
538
6710ea06
SM
539 * fileio.c (Fwrite_region): Move choose_write_coding_system to
540 after build_annotations.
541
a395ef6a
SM
542 * syntax.c (describe_syntax): Add dummy arg.
543 (describe_syntax_1): Update call to describe_vector.
544
545 * category.c (describe_category): Add dummy arg.
546 (describe_category_1): Update call to describe_vector.
547
548 * keymap.c (Fdescribe_vector): Add `describer' parameter.
549 (describe_command, describe_translation): Add dummy second param.
550 (describe_map): Call elt_describer with two arguments.
551 (describe_vector_princ): Add `fun' parameter.
552 Call it instead of the hardcoded `princ'.
553 (describe_vector): Add arg `args'.
554 Pass it as a new second argument to elt_describer.
555
556 * keymap.h (describe_vector): Update prototype.
557
9b46de40
SM
558 * frame.c: Don't include keymap.h any more.
559 (keys_of_frame): Remove.
560
561 * lisp.h (keys_of_frame): Remove declaration.
562
563 * emacs.c (main): Don't call `keys_of_frame' any more.
564
aff37336
SS
5652001-11-14 Andreas Schwab <schwab@suse.de>
566
567 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
568 if defined, 0 otherwise.
9b46de40 569 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
570 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
571
b9937f07
RS
5722001-11-19 Richard M. Stallman <rms@gnu.org>
573
574 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
575
2cd23960
JR
5762001-11-18 Jason Rumney <jasonr@gnu.org>
577
578 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
579 (x_draw_bar_cursor): If the background color of the glyph under
580 the cursor equals the frame's cursor color, use the glyph's
581 foreground color for drawing the bar cursor.
582 (x_after_update_window_line): Clear internal border in different
583 circumstances.
584 (w32_set_vertical_scroll_bar): Check for width and height > 0.
585 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
586 (x_set_glyph_string_background_width):
587 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
588 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
589 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
590 if cursor_in_non_selected_windows is false.
9b46de40 591 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
592 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
593 Notice if cursor gets overwritten.
594 (notice_overwritten_cursor): Renamed from
595 note_overwritten_text_cursor. Rewritten to take glyph widths
596 into account, and to take X positions as parameters.
597 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
598 around call to x_draw_glyphs.
599 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
600 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
601 color to use for image glyph reliefs.
602 (x_draw_image_relief): Accept zero tool_bar_button_relief.
603 (glyph_rect): Remove unused variable `area'.
604
605 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
606 some items.
607 (x_set_internal_border_width): Set frame garbaged when window
608 doesn't exist yet.
609 (Fx_create_frame): Accept zero tool_bar_button_relief.
610 (x_clear_image_1, four_corners_best, image_background)
611 (image_background_transparent): New functions.
612 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
613 (gs_format): Add `:background' entry.
614 (lookup_image): Set IMG's background color if specified.
615 (pbm_load, xbm_load_image, png_load): Set IMG's background field
616 when appropriate.
617 (x_clear_image_1): Reset `background_valid' and
618 `background_transparent_valid' fields.
619 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
620 calculating it here. Set IMG's background_transparent field.
621 (enum xpm_keyword_index): Add XPM_BACKGROUND.
622 (enum png_keyword_index): Add PNG_BACKGROUND.
623 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
624 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
625 (enum gif_keyword_index): Add GIF_BACKGROUND.
626 (enum gs_keyword_index): Add GS_BACKGROUND.
627 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
628 Pre-calculate image background color where necessary.
9b46de40
SM
629 (x_create_x_image_and_pixmap, xbm_load, gs_load):
630 Use display info's n_cbits entry for screen depth.
2cd23960
JR
631 (Fx_show_tip): Remove unused variables `buffer', `top',
632 `left', `max_width' and `max_height'.
633
634 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
635
a4184c1c
GM
6362001-11-18 Gerd Moellmann <gerd@gnu.org>
637
638 * puresize.h (BASE_PURESIZE): Increase to 750000.
639
f6fa0866
PJ
6402001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
641
642 * frame.c (Fframe_live_p): Doc fix.
643
f4ca4b00
RS
6442001-11-18 Richard M. Stallman <rms@gnu.org>
645
646 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
647 (message_dolog_marker3): New static variables hold three markers.
648 (syms_of_xdisp): Initialize and staticpro them.
649 (message_dolog): Use message_dolog_marker1..3 instead of
650 allocating markers each time. Unchain them when done.
651
f4e25f94
RS
6522001-11-17 Richard M. Stallman <rms@gnu.org>
653
654 * doc.c (Fsnarf_documentation): Doc fix.
655
91c153e2
AS
6562001-11-17 Andreas Schwab <schwab@suse.de>
657
658 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
659
65b7d3e7
RS
6602001-11-17 Richard M. Stallman <rms@gnu.org>
661
662 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
663
6b5f6311
JR
6642001-11-17 Jason Rumney <jasonr@gnu.org>
665
666 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
667
be676094
GM
6682001-11-17 Gerd Moellmann <gerd@gnu.org>
669
670 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
671 with invalid position.
672
032a857d
RS
6732001-11-16 Richard M. Stallman <rms@gnu.org>
674
675 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
676
677 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
678 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
679 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
680
681 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
682
b6270150
SM
6832001-11-16 Stefan Monnier <monnier@cs.yale.edu>
684
685 * fileio.c (build_annotations): Split off the tail.
686 (build_annotations_2): New fun. Extracted from build_annotations.
687 (Fwrite_region): Split the call to build_annotations into two
688 calls to build_annotations and build_annotations_2.
689
792e5cbd
PJ
6902001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
691
98cbb9fa
PJ
692 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
693 clear_waiting_for_input with argument.
694
695 * xterm.h (x_update_cursor): Remove duplicated prototype.
696
b6270150 697 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 698
ea904403 699 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 700
ea904403 701 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 702
fa336b91
SM
7032001-11-16 Stefan Monnier <monnier@cs.yale.edu>
704
705 * fileio.c (choose_write_coding_system): New fun, extracted
706 from Fwrite_region.
707 (Fwrite_region): Use it.
708
709 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
710 (funcall_lambda, run_hook_with_args): Make static and add prototype.
711 (ml_apply, find_handler_clause): Add prototype.
712
077907d4
EZ
7132001-11-16 Eli Zaretskii <eliz@gnu.org>
714
aa2af83a
EZ
715 * config.in: Add #undef HAVE_COFF_H.
716
077907d4
EZ
717 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
718 Required for ISC 4.1.
719
1756e2fb
EZ
7202001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
721
722 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
723 Andrew Wiseman <a.wiseman@btclick.com>.
724
06e8f738
KS
7252001-11-16 Kim F. Storm <storm@cua.dk>
726
727 The following changes are made to clean up the various internal
728 references to the fringes to actually use the term `fringe' for
729 them. Previously, they were called `flags areas', `bitmap areas',
730 `left/right side of windows', or implicitly as `flags' or
731 `bitmaps':
732
733 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
734 Comments fixed. Use renamed symbols.
fa336b91 735
06e8f738 736 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 737
06e8f738
KS
738 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
739 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
740 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 741
06e8f738 742 * msdos.c: Comment fix.
fa336b91 743
06e8f738 744 * w32fns.c: Use renamed symbols.
fa336b91 745
06e8f738
KS
746 * w32term.c: Comment fixes. Use renamed symbols.
747 (fringe_bitmap_type): Renamed from bitmap_type.
748 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
749 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
750 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 751
06e8f738
KS
752 * w32term.h: Comment fixes. Use renamed symbols.
753 (fringes_extra): Renamed from flags_areas_extra.
754 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
755 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
756 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
757 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
758 (FRAME_X_LEFT_FRINGE_WIDTH):
759 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
760 (FRAME_X_RIGHT_FRINGE_WIDTH):
761 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
762
06e8f738 763 * widget.c: Use renamed symbols.
fa336b91 764
06e8f738
KS
765 * window.c: Comment fixes. Use renamed symbols.
766 (coordinates-in-window-p): Doc fix.
fa336b91 767
06e8f738 768 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 769
06e8f738 770 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 771
06e8f738 772 * xfns.c: Use renamed symbols.
fa336b91 773
06e8f738
KS
774 * xterm.c: Comment fixes. Use renamed symbols.
775 (fringe_bitmap_type): Renamed from bitmap_type.
776 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
777 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
778 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
779
780 * xterm.h: Comment fixes. Use renamed symbols.
781 (fringes_extra): Renamed from flags_areas_extra.
782 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
783 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
784 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
785 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
786 (FRAME_X_LEFT_FRINGE_WIDTH):
787 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
788 (FRAME_X_RIGHT_FRINGE_WIDTH):
789 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 790
9ce647f4
JR
7912001-11-15 Jason Rumney <jasonr@gnu.org>
792
793 * w32menu.c (add-menu-item): Make help_echo and radio buttons
794 work for most menu items. From David Ponce
795 <david.ponce@wanadoo.fr>.
796
9b784ab8
GM
7972001-11-15 Gerd Moellmann <gerd@gnu.org>
798
9f7e52b4
GM
799 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
800 Some x_set_* function expect to be called even if old and new
801 value are equal.
802
803 * xdisp.c (build_desired_tool_bar_string): Accept zero
804 tool_bar_button_relief.
805
806 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
807
808 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 809
34e5d0af
GM
810 * xterm.c (x_draw_bar_cursor): If the background color of the
811 glyph under the cursor equals the frame's cursor color, use
812 the glyph's foreground color for drawing the bar cursor.
813
9b784ab8
GM
814 * dispnew.c (direct_output_forward_char): Fix character/byte
815 position comparison.
816
89512fcd
MB
8172001-11-15 Miles Bader <miles@gnu.org>
818
819 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
820 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
821 Update arguments to find_field.
822 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
823 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
824 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
825 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
826
7d18891d
RS
8272001-11-14 Richard M. Stallman <rms@gnu.org>
828
d2936d21
RS
829 * editfns.c (Fpropertize): Allow call with 1 arg.
830
7d18891d
RS
831 * dispextern.h (image_background, image_background_transparent):
832 Conditionalize on HAVE_X_WINDOWS.
833
8342001-11-13 Richard M. Stallman <rms@gnu.org>
835
836 * print.c (Fprin1_to_string): Doc fix.
837
838 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
839
840 * floatfns.c (Fceiling, Ffloor): Doc fixes.
841
842 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
843
844 * fileio.c (Ffile_accessible_directory_p): Doc fix.
845
846 * eval.c (syms_of_eval): Doc fix.
847
848 * coding.c (syms_of_coding): Doc fix.
849
850 * doc.c (Fsnarf_documentation): Doc fix.
851
852 * dispnew.c (syms_of_display): Doc fix.
853
854 * category.c (Fget_unused_category): Doc fix.
855
856 * buffer.c (syms_of_buffer): Doc fixes.
857
9474c847
EZ
8582001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
859
860 * print.c (prin1, print): Doc fix.
861
e3059a5d
PJ
8622001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
863
2b6f3c2b 864 * fontset.h: Remove declarations of variables
e3059a5d
PJ
865 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
866
867 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
868 `Vclip_large_size_font'.
869
b3700ae7
JR
8702001-11-13 Jason Rumney <jasonr@gnu.org>
871
872 * w32fns.c: Doc fix.
873
eae936e2
PJ
8742001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
875
4bb962be
PJ
876 * xfaces.c (Fface_attributes_as_vector): Doc fix.
877
0a332240
PJ
878 * w32fns.c (Fx_synchronize): Reindent.
879
ddb67bdc
PJ
880 * fns.c: Doc fix.
881
3467c402
PJ
882 * emacs.c: Doc fix.
883
884 * coding.c: Doc fix.
885
6e1b91d7
PJ
886 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
887 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
888 `new style' [w/`doc:' keyword].
889
f6e34773
PJ
890 * xmenu.c (x-popup-menu): Reindent.
891 (x-popup-dialog): Likewise.
892
fa336b91 893 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 894
c2552f79
PJ
895 * xdisp.c (Fdump_tool_bar_row): Reindent.
896
94c7167b
PJ
897 * minibuf.c (Fminibuffer_complete_word): Reindent.
898 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 899 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
900 (Fminibuffer_message): Likewise.
901
462a5e3a
PJ
902 * fns.c (Freverse): Reindent.
903
b8de5714
PJ
904 * eval.c (Fif): Reindent.
905 (Fand): Likewise.
906
deb8e082
PJ
907 * editfns.c (Fuser_real_login_name): Reindent.
908 (Finsert_buffer_substring): Likewise.
909 (Fcompare_buffer_substrings): Likewise.
910 (Fsubst_char_in_region): Likewise.
911
bacf09b4
PJ
912 * dispnew.c (Fsit_for): Reindent.
913 (Fframe_or_buffer_changed_p): Likewise.
914 (Finternal_show_cursor_p): Likewise.
915 (syms_of_display): Likewise.
916
eae936e2
PJ
917 * alloc.c (Flist): Reindent.
918 (Fvector): Likewise.
919
1c1d3d69
RS
9202001-11-12 Richard M. Stallman <rms@gnu.org>
921
922 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
923 LeaveNotify events. Only FocusIn and FocusOut do that now.
924 (x_display_and_set_cursor): Do display hollow cursors in active
925 minibuffer windows when they are not selected.
926
b6f4c7ba
JR
9272001-11-12 Jason Rumney <jasonr@gnu.org>
928
929 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
930 * w32term.c: Change doc-string comments to `new style'.
931 [w/`doc:' keyword]. Doc fixes.
932
933 * w32fns.c: Don't define max.
934 (Fx_open_connection): Only execute once.
935
a89f435d
PJ
9362001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
937
938 * ccl.c: Change macros to use do-while block instead of if-else.
939 Use braces to follow GNU Coding Standards.
940
a4cd0cd7
RS
9412001-11-11 Richard M. Stallman <rms@gnu.org>
942
eafb659a
RS
943 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
944
945 * lread.c (read_escape): Use end_of_file_error for reporting eof.
946
a4cd0cd7
RS
947 * insdel.c (replace_range): Use adjust_markers_for_replace
948 instead of adjust_markers_for_delete and adjust_markers_for_insert.
949
950 * intervals.h: Declare set_text_properties and set_text_properties_1.
951
952 * textprop.c (set_text_properties_1): New subroutine
953 broken out of set_text_properties.
954 (set_text_properties): Use set_text_properties_1.
955
956 * intervals.c (graft_intervals_into_buffer):
957 Use set_text_properties_1 to clear out properties.
958
959 * search.c (Freplace_match): Use replace_range to insert
960 and delete. Don't request property inheritance from
961 surrounding text.
962
91823618
JR
9632001-11-10 Jason Rumney <jasonr@gnu.org>
964
965 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
966 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 967 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 968
86928dfb
GM
9692001-11-10 Gerd Moellmann <gerd@gnu.org>
970
fa336b91 971 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
972 instead of malloc/free.
973
40ef1eda
PJ
9742001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
975
ab8469eb
PJ
976 * xfaces.c (merge_face_vectors): Use braces to follow GNU
977 Coding Standards.
978 (Finternal_set_lisp_face_attribute): Likewise.
979
a78e0303
PJ
980 * buffer.c (Fbury_buffer): Likewise.
981
40ef1eda
PJ
982 * indent.c (current_column_1): Remove unused variable `prev_col'.
983
fabf4a91
PJ
984 * coding.c (encode_coding): Use precomputed value of `src'.
985 (encode_coding): Remove unused variable `src_end'.
986 (code_convert_region): Remove unused variables `count'.
987
0c99b139
JR
9882001-11-07 Jason Rumney <jasonr@gnu.org>
989
990 * w32term.c (x_display_and_set_cursor): Do not move system caret
991 if cursor_glyph is NULL.
992
830ddd77
PJ
9932001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
994
995 * keymap.c (access_keymap): Fix compilation error.
996
55c6d645
MB
9972001-11-07 Miles Bader <miles@gnu.org>
998
999 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
1000
5de38842
PJ
10012001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1002
7a4564a4
PJ
1003 * intervals.c (graft_intervals_into_buffer):
1004 Remove #ifdef'd-out code.
1005 (graft_intervals_into_buffer): Remove unused variable `middle'.
1006
5de38842
PJ
1007 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
1008 code (eval-current-buffer).
1009 Change doc-string comments to `new style' [w/`doc:' keyword].
1010
4fa23df5
RS
10112001-11-06 Richard M. Stallman <rms@gnu.org>
1012
1013 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
1014
7a6a97d7
SM
10152001-11-06 Stefan Monnier <monnier@cs.yale.edu>
1016
c191d13c
SM
1017 * lread.c (read1): Fix behavior with nested backquoting.
1018
7a6a97d7
SM
1019 * keyboard.c (make_lispy_event): Check integerness and fix
1020 Lisp_Object/int mixup.
1021
44dc78e0
PJ
10222001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1023
1024 * fns.c (copy_hash_table): Remove unused variable `v'.
1025
17893c65
PJ
1026 * fontset.c (fontset_font_pattern): Remove unused variable
1027 `family_registry'.
1028
4d994a79
PJ
1029 * indent.c (current_column_1): Remove unused variable `prev_col'.
1030
d5360cc7
RS
10312001-11-05 Richard M. Stallman <rms@gnu.org>
1032
1033 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
1034
1035 * buffer.c (Fkill_buffer): Don't delete auto save file
1036 if buffer is modified.
1037
96238a5a
AI
10382001-11-05 Andrew Innes <andrewi@gnu.org>
1039
1040 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
1041 CHECK_NUMBER_CDR.
1042
d9d54213
RS
10432001-11-05 Richard M. Stallman <rms@gnu.org>
1044
1045 * unexelf.c (unexec): Minor changes; clean up comments.
1046
b116830b
SS
10472001-11-05 Sam Steingold <sds@gnu.org>
1048
1049 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
1050
3297e2a1
AS
10512001-11-05 Andreas Schwab <schwab@suse.de>
1052
1053 * sound.c (sound_perror): Save errno from being clobbered.
1054
9212319f 10552001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
1056
1057 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1058 the program image directly.
1059
7dd73b78
PJ
10602001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1061
1062 * buffer.h (Fbuffer_local_value): Add prototype.
1063
982f6c7e
RS
10642001-11-04 Richard M. Stallman <rms@gnu.org>
1065
d31053f9
RS
1066 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1067 and CHECK_BUFFER.
1068
1069 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1070 (record_char): Likewise.
1071
1072 * keyboard.c (make_lispy_event): Don't insist a drag event must
1073 move to a different buffer position. Instead, check for moving at
1074 least double_click_fuzz.
1075
1076 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1077
1078 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1079
982f6c7e
RS
1080 * indent.c (current_column_1, Fmove_to_column): Separate the code
1081 for display-table glyphs from the code buffer text, to fix
1082 bugs in the former.
1083
830047fd
RS
10842001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1085
1086 * buffer.c (Fbuffer_local_value): New function.
c191d13c 1087 (syms_of_buffer): Defsubr it.
b116830b 1088
830047fd
RS
1089 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1090 value of `cursor-in-non-selected-windows'.
1091
1092 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1093 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1094 (syms_of_xdisp): Initialize it.
b116830b 1095
2df5238c
PJ
10962001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1097
4e397688
PJ
1098 * xfns.c (Fx_create_frame): Doc fix.
1099
48b0f3ae
PJ
1100 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1101 keyword].
1102
2df5238c
PJ
1103 * eval.c (top_level_value, top_level_set): Remove commented and
1104 #ifdef'd-out code.
1105 (Fdefvar): Fix usage in doc-string.
1106
3ecaf7e5
RS
11072001-11-03 Richard M. Stallman <rms@gnu.org>
1108
1109 * xfns.c: Include unistd.h, if it exists.
1110
1111 * editfns.c: Move the include of ctype.h after unistd.h.
1112
1113 * gmalloc.c: Test BROKEN_PROTOTYPES.
1114
8db2e33b
KR
11152001-11-03 Ken Raeburn <raeburn@gnu.org>
1116
1117 * lisp.h (CHECK_STRING_CAR): New macro.
1118 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1119 treating XCAR and XCDR as lvalues.
1120 (openp): Use CHECK_STRING_CAR.
1121 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1122
aed29b97
EZ
11232001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1124
1125 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1126 (SIGMASKTYPE): Define.
aed29b97
EZ
1127
1128 * syssignal.h (sigunblock): Don't define if already defined.
1129
6cb16f95
PJ
11302001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1131
16b45be4
EZ
1132 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1133 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1134 Fix typos in comments.
1135
020f9b38
PJ
1136 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1137 and #ifdef'd-out code.
1138 Fix and reindent comments.
1139
c191d13c 1140 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1141
6cb16f95
PJ
1142 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1143 argument `i' in macros.
1144
1145 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1146 `i' in macros.
1147
16b45be4
EZ
1148 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1149 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1150 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1151 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1152 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1153 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1154 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1155 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1156 in macros.
1157
1158 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
1159 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1160 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1161 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1162 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1163 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1164 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1165 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1166 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
1167 (remove unused second argument).
1168
7e9d3c2f
SM
11692001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1170
1171 * syntax.c (describe_syntax): New wrapper.
1172 (Finternal_describe_syntax_value): Rename from describe_syntax.
1173 Don't insert space at front and \n at the end.
1174 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1175
1176 * regex.c (re_wctype): Try to fix some warnings.
1177 (regcomp, regexec): Don't forget the __restrict.
1178
e6bff182
RS
11792001-11-02 Richard M. Stallman <rms@gnu.org>
1180
1181 * textprop.c (Fget_char_property): Doc fix.
1182
9ba48103
PJ
11832001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1184
1185 * process.c (Fstart_process): Add usage to doc-string.
1186
1187 * data.c (Fsetq_default): Ditto.
1188
1189 * callint.c (Finteractive): Ditto.
1190
c22e59e1
SM
11912001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1192
1193 * macros.c: Don't include keymap.h any more.
1194
9271ed2c
RS
11952001-11-01 Richard M. Stallman <rms@gnu.org>
1196
e6bff182
RS
1197 * data.c (Fmake_local_variable): Doc fix.
1198
1199 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1200 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1201
9271ed2c
RS
1202 * keymap.c (Fdescribe_buffer_bindings): Print character property
1203 bindings along with or instead of the buffer local map.
1204 Make the overriding maps override what they should.
1205
8b8bd9c6
PJ
12062001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1207
1208 * window.c (grow_mini_window): Fix typo in comment.
1209
27188d11
GM
12102001-11-01 Gerd Moellmann <gerd@gnu.org>
1211
7b49b9d2
GM
1212 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1213 (XTset_vertical_scroll_bar): Likewise.
1214
43f7c3ea
GM
1215 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1216 instead of IMAGE_BACKGROUND.
c22e59e1 1217
b350c2e5
GM
1218 * xfns.c (four_corners_best): Reindent.
1219
c22e59e1 1220 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1221 Handle :box so that it is possible to specify sexprs.
1222
d576358b
PJ
12232001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1224
1225 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1226 (Fface_font): Ditto.
1227 (Finternal_set_alternative_font_registry_alist): Ditto.
1228 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1229
1230 * xfns.c (x-get-resource): Reindent.
1231
bf00d461
EZ
12322001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1233
1234 * s/hpux11.h: New file.
1235
4e10df59
PJ
12362001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1237
2b209b97
PJ
1238 * emacs.c (USAGE1): Show command line option --no-window-system
1239 instead of --no-windows in usage.
1240 (standard_args): Rename --no-windows to --no-window-system.
1241 (bug_reporting_address): Follow Emacs coding conventions.
1242
9dbc9081
PJ
1243 * eval.c (Fcommandp): Doc fix.
1244 Change doc-string comments to `new style' [w/`doc:' keyword].
1245
4e10df59
PJ
1246 * frame.c (Fframe_live_p): Doc fix.
1247
1248 * buffer.c (selective-display-ellipses): Doc fix.
1249
dd387b25
GM
12502001-10-31 Gerd Moellmann <gerd@gnu.org>
1251
fe957e65
GM
1252 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1253
dd387b25
GM
1254 * xfaces.c (realize_x_face): If C is not a single-byte character,
1255 set the face's colors_copied_bitwise_p instead of the defaulted_p
1256 members which have a different meaning.
1257 (free_face_colors): Do nothing for a face whose colors have been
1258 copied bitwise.
1259
c22e59e1 1260 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1261
2e1280f8
PJ
12622001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1263
687784e8
PJ
1264 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1265 [w/`doc:' keyword].
2e1280f8 1266
b9d9a9b9
GM
12672001-10-31 Gerd Moellmann <gerd@gnu.org>
1268
1269 * fns.c (require_unwind): Return Lisp_Object.
1270
48400103
PJ
12712001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1272
fa1361cb
PJ
1273 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1274 (last-input-char): Revert doc-string to be the same as the
1275 doc-string of `last-input-event'.
1276
48400103
PJ
1277 * xdisp.c: Fix typos in comments.
1278
eafa3196
GM
12792001-10-31 Gerd Moellmann <gerd@gnu.org>
1280
1281 * window.c (grow_mini_window): Handle case that the root
1282 window is already smaller than the nominal mininum height.
1283
747d3f2a
SM
12842001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1285
bf9bb76f
SM
1286 * emacs.c (main): Don't call keys_of_macros any more.
1287
1288 * lisp.h (keys_of_macros): Remove.
1289
1290 * macros.c (keys_of_macros): Remove.
1291
747d3f2a
SM
1292 * xfaces.c (Fface_attribute_relative_p): Declare args.
1293
5e905a57
JR
12942001-10-30 Jason Rumney <jasonr@gnu.org>
1295
1296 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1297 (enum_font_cb2): Ignore fonts with vertical orientation.
1298
3a426197
RS
12992001-10-30 Richard M. Stallman <rms@gnu.org>
1300
1301 * keyboard.c (Finput_pending_p): Doc fix.
1302
a742d646
GM
13032001-10-30 Gerd Moellmann <gerd@gnu.org>
1304
259cf6bc
GM
1305 * xterm.c (x_after_update_window_line): Don't run the code
1306 clearing in borders for rows whose visible height is 0.
1307
3f99f948
GM
1308 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1309 resized_p flag is set. If not set, use the much less flickering
1310 method previously used.
1311
1312 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1313
1314 * frame.h (struct frame) <resized_p>: New member.
1315
b4a3be43
GM
1316 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1317 as large as the number of bytes to convert.
747d3f2a 1318
a742d646
GM
1319 * lread.c (to_multibyte): New function.
1320 (read1): Use it.
1321
cacbb9e9
EZ
13222001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1323
1324 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1325
99cb6b2f
GM
13262001-10-30 Gerd Moellmann <gerd@gnu.org>
1327
327f42ee 1328 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1329 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1330 if the row's fill_line_p is set and drawing the last glyph with
1331 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1332
99cb6b2f
GM
1333 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1334
8e8223e2
SM
13352001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1336
1337 * xmenu.c: Include coding.h and charset.h.
1338 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1339 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1340 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1341 Explicitly set wv->help. Use `TRUE' rather than `True'.
1342 (menu_help_callback): Use empty_string.
1343
1344 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1345 (Fx_popup_dialog): Explicitly init f.
1346 (w32_menu_display_help): Use empty_string.
1347
4d083a8f
RS
13482001-10-29 Richard M. Stallman <rms@gnu.org>
1349
b2304472
RS
1350 * fns.c (Frequire): Detect recursive try to require the same
1351 feature 3 or more levels deep, and get error.
1352 (require_unwind): New subroutine.
1353 (require_nesting_list): New variable.
1354 (syms_of_fns): Init and staticpro it.
1355
4d083a8f
RS
1356 * print.c (print_object): Clarify indication of insertion type.
1357
2fe41216
EZ
13582001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1359
90480000
EZ
1360 * coding.c (syms_of_coding): Document that locale-coding-system is
1361 used for decoding input on X.
1362
2fe41216
EZ
1363 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1364
74e79967
PJ
13652001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1366
1367 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1368 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1369
60ebcfe8
GM
13702001-10-29 Gerd Moellmann <gerd@gnu.org>
1371
9a7bdceb
GM
1372 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1373 use NO_CURSOR if cursor_in_non_selected_windows is false.
1374
3f08fcd2
GM
1375 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1376 the slant attribute if FRAME is t.
1377
0ccfdad2
GM
1378 * xfns.c (x_set_internal_border_width): Set frame garbaged
1379 when X window doesn't exist yet.
1380
ef253080
GM
1381 * xterm.c (x_after_update_window_line): Clear internal border
1382 in different circumstances.
b116830b 1383
60ebcfe8
GM
1384 * xterm.c (XTread_socket) <KeyPress>: Don't use
1385 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1386 <handa@etl.go.jp>.
1387
73d25f9c
EZ
13882001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1389
1390 * m/ibms390.h: New file. From Adam Thornton
1391 <athornton@sinenomine.net>.
1392
cac1daf0
GM
13932001-10-28 Gerd Moellmann <gerd@gnu.org>
1394
053b3256 1395 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1396
cac1daf0
GM
1397 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1398 a loop counter.
1399
13b1a09c
PJ
14002001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1401
186486eb
PJ
1402 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1403
4707d2d0
PJ
1404 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1405 keyword].
1406 Fix typos in comments.
b116830b 1407
d883731c
PJ
1408 * emacs.c (bug_reporting_address): New function.
1409 Use it when displaying usage message.
1410
04012254
PJ
1411 * minibuf.c (read_minibuf): Remove unused external declaration of
1412 variable `Qread_only'.
1413
13b1a09c
PJ
1414 * keymap.c (access_keymap): Remove unused variable `charset'.
1415
5bbf4378
MB
14162001-10-28 Miles Bader <miles@gnu.org>
1417
1418 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1419 Remove #ifdef'd-out code.
1420 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1421 (syms_of_xfaces): Initialize them.
1422
1ce1e4ee
JR
14232001-10-27 Jason Rumney <jasonr@gnu.org>
1424
1425 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1426 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1427 position using the system caret.
1428
1429 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1430 (w32_system_caret_height, w32_system_caret_x)
1431 (w32_system_caret_y): New variables for tracking system caret.
1432 (w32_initialize): Initialize them.
c2d53558 1433 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1434
c2d53558
SM
1435 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1436 New messages types.
1ce1e4ee
JR
1437
1438 * w32term.c (note_mouse_highlight): Clear old help_echo.
1439
4e30ce42
PJ
14402001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1441
bb4600a4
PJ
1442 * xterm.c: Fix typo in a comment.
1443
7db35a48
PJ
1444 * emacs.c: Fix typos in comments.
1445 Remove unnecessary spaces.
1446 Change doc-string comments to `new style' [w/`doc:' keyword].
1447 (USAGE2): Fix typos in usage string.
1448
a7248e4f
PJ
1449 * xterm.c: Fix typo in a comment.
1450
4e30ce42
PJ
1451 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1452 emacs.c.
1453
62725a92
GM
14542001-10-27 Gerd Moellmann <gerd@gnu.org>
1455
798dbe1f 1456 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1457 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1458 farther backward when target_y was not reached.
1459
62725a92
GM
1460 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1461 Display errno only if non-zero.
1462 (sound_warning): New function.
1463 (vox_configure): Don't treat failing to set sample rate as error.
1464 (various places): Improve error messages.
1465
d4e34d24
EZ
14662001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1467
944e6f60
EZ
1468 * fileio.c (Faccess_file): Run the argument filename through
1469 Fexpand_file_name, before using it.
1470
d4e34d24
EZ
1471 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1472 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1473
38d2af0c
GM
14742001-10-26 Gerd Moellmann <gerd@gnu.org>
1475
da80a8d5
GM
1476 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1477
38d2af0c
GM
1478 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1479 Fix clearing in the case of scroll bars on the right.
c2d53558 1480
56f508dd
EZ
14812001-10-26 Juanma Barranquero <lektu@terra.es>
1482
1483 * w32gui.h (XImage): Add a dummy typedef.
1484
fbd5ceb2
GM
14852001-10-26 Gerd Moellmann <gerd@gnu.org>
1486
c2d53558 1487 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1488
b23236fb
EZ
14892001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1490
1491 * frame.c (Fframe_parameter): Fix last change.
1492
5d991fc4
EZ
1493 * fileio.c: Revert last change (which removed old commented-out
1494 version of expand-file-name). Add a comment that explains why
1495 this old version should not be removed.
1496
879eadc3
GM
14972001-10-25 Gerd Moellmann <gerd@gnu.org>
1498
75700ff2
GM
1499 * frame.c (Fframe_parameter): Fix a bug whereby some
1500 ``artificial'' frame parameters, like `minibuffer' were not
1501 obtained by calling Fframe_parameters.
1502
dfe92a6a
GM
1503 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1504 cursor differently.
1505
879eadc3
GM
1506 * xdisp.c (move_it_vertically_backward): Compute line height
1507 differently. Add heuristic to try to be more compatible to 20.x.
1508
e1010ebe
SM
15092001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1510
d73a471b
SM
1511 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1512
d6da5a06
GM
1513 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1514 boolean.
e1010ebe 1515
f66bd220
MB
15162001-10-25 Miles Bader <miles@gnu.org>
1517
1518 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1519 BG is a pointer to a structure, not a structure.
1520 (gif_format, png_format): Add missing commas.
1521
d436d538
RS
15222001-10-24 Richard M. Stallman <rms@gnu.org>
1523
1524 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1525 (syms_of_xfaces): Defsubr it.
d436d538 1526
075c507b
PJ
15272001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1528
1529 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1530 variable `area'.
1531
d492b584
PJ
15322001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1533
c2d53558 1534 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1535
e2a57b34
MB
15362001-10-25 Miles Bader <miles@gnu.org>
1537
1538 * dispextern.h (struct image): Add `background',
1539 `background_valid', and `background_transparent' fields.
1540 (image_background, image_background_transparent): New declarations.
1541 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1542 * xfns.c (image_background, image_background_transparent)
1543 (four_corners_best): New functions.
c2d53558 1544 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1545 (gs_format): Add `:background' entry.
1546 (lookup_image): Set IMG's background color if specified.
1547 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1548 when appropriate.
1549 (x_clear_image_1): Reset `background_valid' and
1550 `background_transparent_valid' fields.
1551 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1552 calculating it here. Set IMG's background_transparent field.
1553 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1554 (enum png_keyword_index): Add PNG_BACKGROUND.
1555 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1556 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1557 (enum gif_keyword_index): Add GIF_BACKGROUND.
1558 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1559 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1560 Pre-calculate image background color where necessary.
1561 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1562 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1563 color to use for image glyph reliefs.
1564
b547b6e8
GM
15652001-10-24 Gerd Moellmann <gerd@gnu.org>
1566
d9e3b8c6
GM
1567 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1568 in full-width rows.
c2d53558 1569
b547b6e8
GM
1570 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1571 Fix clearing of area not covered by scroll bar.
1572
2beb36f9
PJ
15732001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1574
1575 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1576 and `real_start'.
c2d53558 1577 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1578 (glyph_rect): Remove unused variable `area'.
1579
76cb5e06
GM
15802001-10-24 Gerd Moellmann <gerd@gnu.org>
1581
bdbdebff 1582 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1583
1584 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1585 (row_containing_pos): Take additional argument DY.
1586 Treat rows ending in middle of char differently.
62e33982
GM
1587 (display_line): Handle tabs on window systems differently.
1588
1589 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1590 with additional argument.
1591
1592 * dispextern.h (row_containing_pos): Adjust prototype.
1593
76cb5e06
GM
1594 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1595 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1596 (try_window_id, try_window_reusing_current_matrix)
1597 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1598 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1599
996fee11
PJ
16002001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1601
c9e60620
PJ
1602 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1603 gnuemacs).
1604 (HAVE_BOXES): Fix typo in comment.
1605 (push_menu_pane): Fix typo in comment.
1606
3b552d56
PJ
1607 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1608 of `Qwhen'.
1609 (single_display_prop_string_p): Remove unused local declarations
1610 of `Qwhen' and `Qmargin'.
1611 (string_buffer_position): Remove unused variable `around'.
1612 (store_frame_title): Remove unused variable `width'.
1613
15c565ac
PJ
1614 * window.c: Don't define max.
1615 (coordinates_in_window): Remove unused variable `uy'.
1616
a8818eb9
PJ
1617 * widget.c: Don't define max.
1618
996fee11
PJ
1619 * process.c: Don't define max.
1620 (create_process): Remove unused variable `buffer'.
1621
496e1a5b
GM
16222001-10-23 Gerd Moellmann <gerd@gnu.org>
1623
c2d53558 1624 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1625
5905ae8b
EZ
16262001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1627
1628 * xfaces.c (Finternal_set_lisp_face_attribute)
1629 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1630 frame is on a windowed display.
1631
24db49fb
GM
16322001-10-23 Gerd Moellmann <gerd@gnu.org>
1633
c2d53558
SM
1634 * dispnew.c (sync_window_with_frame_matrix_rows):
1635 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1636 of marginal areas.
1637
c2d53558 1638 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1639
f0487f05
EZ
16402001-10-23 Andreas Schwab <schwab@suse.de>
1641
1642 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1643 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1644
f0a48a01
GM
16452001-10-23 Gerd Moellmann <gerd@gnu.org>
1646
c2d53558 1647 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1648 REAL_END. Notice if cursor gets overwritten.
1649 (notice_overwritten_cursor): Take X positions as parameters.
1650 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1651 around call to x_draw_glyphs.
1652
a50a10a0
PJ
16532001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1654
fc11dff0
PJ
1655 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1656 instead of C) and usage.
a50a10a0 1657
fc11dff0
PJ
1658 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1659 of C) and usage.
a50a10a0
PJ
1660
1661 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1662 `left', `max_width' and `max_height'.
1663
8738febd
GM
16642001-10-23 Gerd Moellmann <gerd@gnu.org>
1665
1666 * xdisp.c (display_line): For a tab continued to the next line,
1667 set row's ends_in_middle_of_char_p.
1668
653c329b
GM
16692001-10-22 Gerd Moellmann <gerd@gnu.org>
1670
1671 * xdisp.c (display_line): Fix computation of continuation lines
1672 width for TABs.
1673
f958c5ac
PJ
16742001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1675
7ba51063
PJ
1676 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1677 `Qlaplace'.
1678
f958c5ac
PJ
1679 * fileio.c: Remove unused code.
1680
eb360291
MB
16812001-10-22 Miles Bader <miles@gnu.org>
1682
1683 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1684 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1685 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1686
98515cf0
JR
16872001-10-21 Jason Rumney <jasonr@gnu.org>
1688
1689 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1690
93026d88
EZ
16912001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1692
1693 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1694 (Finsert_string): Avoid the multi-line string literals warning.
1695
c9a95b79
MB
16962001-10-22 Miles Bader <miles@gnu.org>
1697
1698 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1699 (Fdocumentation): Don't use it.
1700 (syms_of_doc): Don't initialize it.
1701
1702 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1703 * print.c (Fwith_output_to_temp_buffer): Likewise.
1704 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1705 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1706 (Fsave_restriction): Likewise.
c2d53558
SM
1707 * eval.c (Frun_hooks, Frun_hook_with_args)
1708 (Frun_hook_with_args_until_failure)
1709 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1710 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1711 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1712 (Funwind_protect, Fcondition_case): Likewise.
1713 * coding.c (Ffind_operation_coding_system): Likewise.
1714 * keyboard.c (Ftrack_mouse): Likewise.
1715
a3b10252
MB
17162001-10-21 Miles Bader <miles@gnu.org>
1717
c2d53558 1718 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1719 (Fmake_hash_table): Add usage: string to doc string.
1720 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1721 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1722 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1723 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1724 (Fml_prefix_argument_loop): Likewise.
1725
c6f73eec
PJ
17262001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1727
c2d53558 1728 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1729
c6f73eec
PJ
1730 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1731 style' [w/`doc:' keyword].
1732
1733 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1734 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1735 comments to `new style' [w/`doc:' keyword].
1736
3cf3436e
JR
17372001-10-21 Jason Rumney <jasonr@gnu.org>
1738
1739 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1740
c169b8f1
JR
1741 * w32term.c (remember_mouse_glyph): New function.
1742 (w32_mouse_position): Use it.
1743 (note_mouse_movement): If the mouse moved off the glyph, remember
1744 its new position.
c2d53558 1745
4fdd691b
JR
1746 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1747 (w32_display_info): Add mouse_face_overlay.
1748
c169b8f1
JR
1749 * w32term.c (notice_overwritten_cursor): Renamed from
1750 note_overwritten_text_cursor. Rewritten to take glyph widths into
1751 account.
1752 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1753 (fast_find_string_pos): New function.
1754 (fast_find_position): Return the correct vpos. Add parameter
1755 STOP. In the final row, stop before glyphs having STOP as object.
1756 Don't consider glyphs that are not from a buffer.
1757 (fast_find_position) [0]: Add a presumably more correct version
1758 for after 21.1.
1759 (expose_window_tree, expose_frame): Don't compute intersections here.
1760 (expose_window): Do it here instead.
1761 (expose_window_tree, expose_window, expose_line): Return 1 when
1762 overwriting mouse-face.
1763 (expose_window): If W is the window currently being updated, mark
1764 the frame garbaged.
1765 (expose_frame): If mouse-face was overwritten, redo it.
1766 (x_use_underline_position_properties): New variable.
1767 (syms_of_xterm): DEFVAR_BOOL it.
1768 (x_draw_glyph_string): Add comment to use it in future.
1769 (x_draw_glyph_string): Restore clipping after drawing box.
1770 Fix a computation of the underline position.
1771 (w32_get_glyph_string_clip_rect): Minor cleanup.
1772 (x_fill_stretch_glyph_string): Remove an assertion.
1773 (x_produce_glyphs): Don't convert multibyte characters
1774 to unibyte characters in unibyte buffers.
1775 (cursor_in_mouse_face_p): New function.
1776 (x_draw_stretch_glyph_string): Use it to choose a different GC
1777 when drawing a cursor within highlighted text. Don't draw
1778 background again if it has already been drawn.
1779 (x_draw_glyph_string_box): Don't draw a full-width
1780 box just because the glyph row's full_width_p flag is set.
1781 (x_draw_glyphs): Fix computation of rightmost x for
1782 full-width rows.
1783 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1784 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1785 change bottom shadow accordingly. Some cleanup.
1786 (x_update_window_end): Handle overwritten mouse face
1787 also for tool bar windows.
1788 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1789 DRAW is DRAW_IMAGE_RAISED.
1790 (clear_mouse_face): Return 1 if text with mouse face was
1791 actually redrawn. Make the function static. Reset
1792 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1793 optimize away highlighting if we pass over that same overlay again.
1794 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1795 to detect a case where we have to highlight a different region
1796 despite not having left the currently highlighted region.
1797 Set mouse_face_overlay in the x_display_info. Avoid changing the
1798 mouse pointer shape when show_mouse_face has already done it, or
1799 there is no need. Handle mouse-face and help-echo in strings.
1800 (glyph_rect): New function.
1801 (w32_mouse_position): Use it to raise the threshold for mouse
1802 movement event generation.
1803 (w32_initialize_display_info): Initialize the x_display_info's
1804 mouse_face_overlay.
1805 (w32_set_vertical_scroll_bar): Don't clear a zero height
1806 or width area.
1807 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1808 a widget to zero height.
1809
3cf3436e 1810 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1811 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1812 equivalents in menu_items.
1813 (w32_menu_show): Don't overwrite an item's name with its key
1814 description in case the description is a multibyte string.
1815 (single_submenu): Some cleanup.
1816
1817 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1818 (postprocess_image): New function.
1819 (lookup_image): Call it for all image types except PostScript.
1820 (x_kill_gs_process): Call postprocess_image.
1821 (tiff_error_handler, tiff_warning_handler): New functions.
1822 (tiff_load): Install them as handlers.
1823 (x_kill_gs_process): Recognize if someone has cleared the image
1824 cache under us.
1825 (valid_image_p): Protect better against invalid image
1826 specifications. Previous code could signal an error.
1827 (Fx_hide_tip, Fshow_tip): Doc fix.
1828 (Fv_max_tooltip_size): New variable.
1829 (syns_of_xfns): DEFVAR_LISP it.
1830 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1831 window buffer to *tip* right after creating the frame. Set frame's
1832 window_width. Use a maximum tooltip size specified by
1833 Vx_max_tooltip_size, if that has valid contents.
1834 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1835 Make sure the tooltip is completely visible.
1836 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1837 (Fx_create_frame): Adjust the frame's height for presence
1838 of the tool bar before calling x_figure_window_size.
1839 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1840 when the window gets smaller.
1841 (x_set_foreground_color): Set frame's cursor_pixel.
1842 (x_set_foreground_color, x_set_background_color): Cleaned up.
1843 (x_set_font): Handle case of x_new_fontset returning the same name
1844 as before, although there was a change in fontsets.
1845
386ca361
MB
18462001-10-21 Miles Bader <miles@gnu.org>
1847
c2d53558 1848 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1849 (Flogxor): Add usage: string to doc string.
1850 * charset.c (Fstring): Likewise.
1851 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1852 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1853
14ff1ee0
PJ
18542001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1855
03be2694
PJ
1856 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1857
1858 * alloc.c: Reindent DEFUNs with doc: keywords.
1859
1860 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1861
14ff1ee0
PJ
1862 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1863 keyword].
1864
71431a0e
GM
18652001-10-20 Gerd Moellmann <gerd@gnu.org>
1866
6aa97356 1867 * (Version 21.1 released.)
71431a0e 1868
39f624fa
PJ
18692001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1870
c2d53558 1871 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1872
1873 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1874 0 because unused.
1875
1876 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1877 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1878 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1879
abcce93a
MB
18802001-10-20 Miles Bader <miles@gnu.org>
1881
1882 The following changes remove the glyph_row `inverse_p' field,
1883 which is never set anymore, due to other changes:
1884
1885 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1886 (reassert_line_highlight, change_line_highlight): Declarations removed.
1887 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1888 (line_hash_code, row_equal_p, fake_current_matrices)
1889 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1890 (update_frame_line, update_frame_line, update_frame_line):
1891 Don't use `inverse_p' field.
1892 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1893 change_line_highlight_hook.
1894 (XTreassert_line_highlight, x_change_line_highlight):
1895 Functions removed.
c2d53558 1896 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1897 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1898 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1899 `inverse_p' field.
c2d53558 1900 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1901 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1902 (w32_reassert_line_highlight, x_change_line_highlight):
1903 Functions removed.
1904 * w32console.c (reassert_line_highlight, change_line_highlight):
1905 Functions removed.
1906 (initialize_w32_display): Don't set reassert_line_highlight_hook
1907 or change_line_highlight_hook.
1908 (hl_mode): Function removed.
c2d53558
SM
1909 (reset_terminal_modes, set_terminal_modes, update_begin)
1910 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1911 (clear_frame, ins_del_lines): Don't call it.
1912 * termhooks.h (reassert_line_highlight_hook)
1913 (change_line_highlight_hook): Declarations removed.
1914 * term.c (reassert_line_highlight_hook)
1915 (change_line_highlight_hook): Variables removed.
1916 (reassert_line_highlight, change_line_highlight): Functions removed.
1917 * msdos.c (IT_reassert_line_highlight)
1918 (IT_change_line_highlight): Functions removed.
1919 (internal_terminal_init): Don't set reassert_line_highlight_hook
1920 or change_line_highlight_hook.
1921 (highlight): Variable removed.
c2d53558 1922 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1923 (IT_set_terminal_modes): Don't set or use it.
1924
1925 The following changes remove inverse-video support for terminals
1926 that use a `magic cookie' standout mode. Due to changes in the
1927 way mode-lines are displayed, such support no longer works
1928 anyway, and it's probable that almost no one uses such terminals
1929 anymore:
1930
1931 * term.c (standout_requested): Variable removed.
1932 (update_end, highlight_if_desired): Don't use it.
1933 (chars_wasted, copybuf): Variables removed.
1934 (write_standout_marker): Function removed.
c2d53558 1935 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1936 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1937 Don't use `chars_wasted' or `copybuf'.
1938 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1939 Set `costs_set' to true.
1940 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1941 `chars_wasted'.
1942 (clear_end_of_line): Function removed.
1943 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1944 (clear_to_end): Call `clear_end_of_line' instead of
1945 `clear_end_of_line_raw'.
54800acb
MB
1946 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1947 (term_init): Don't set them.
1948 Turn off any standout/underline modes that require magic cookies.
c2d53558 1949 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1950 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1951 Remove special processing for magic-cookie standout modes.
1952 (turn_off_face, turn_on_face): Remove special processing for
1953 underline magic-cookie glitch.
abcce93a 1954
0b5f679f
RS
19552001-10-19 Richard M. Stallman <rms@gnu.org>
1956
1957 * eval.c (syms_of_eval): Doc fixes.
1958
5a4a5bd4
GM
19592001-10-19 Gerd Moellmann <gerd@gnu.org>
1960
1961 * xdisp.c (redisplay_internal): Don't clear echo area if the
1962 mini-window is selected.
1963
79f1f96c
MB
19642001-10-19 Miles Bader <miles@gnu.org>
1965
b57c2708
MB
1966 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1967 doesn't take precedence if the affected property's value is nil.
1968
1969 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1970
79f1f96c
MB
1971 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1972 with fields and suggest using `forward-line' to avoid them.
1973 * editfns.c (Fline_beginning_position, Fline_end_position):
1974 Clarify documentation.
1975
ef879104
SM
19762001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1977
1978 * keymap.c (current_minor_maps): `override' only shadows its
1979 correspondent in minor-mode-map-alist, not the whole tail.
1980
97f4db8c
AI
19812001-10-18 Andrew Innes <andrewi@gnu.org>
1982
1983 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1984 optimization. The fontp->encoding array was not being initialized
1985 correctly when compiled with optimizations by MSVC.
1986
e6b70fd8
GM
19872001-10-18 Gerd Moellmann <gerd@gnu.org>
1988
30903479 1989 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1990
0e804d38
AI
19912001-10-17 Andrew Innes <andrewi@gnu.org>
1992
1993 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1994
1995 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1996 font_info.charset field.
1997
1998 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1999 rather than working it out by calling w32_codepage_for_font for
2000 every glyph.
2001
66e5868a
AI
20022001-10-17 Andrew Innes <andrewi@gnu.org>
2003
2004 * w32term.c (w32_read_socket): Determine clipping rectangle for
2005 the entire frame, including areas covered by scrollbars and the
2006 menubar. This avoids internal arguments about whether a frame is
2007 fully obscured or not.
2008
15b00083
GM
20092001-10-17 Gerd Moellmann <gerd@gnu.org>
2010
23e8bd86
GM
2011 * xdisp.c (try_window_id): Undo last change. Give up if
2012 window ends in strings.
30903479 2013
9c6ba6d1 2014 * xdisp.c (try_window_id): Don't display lines after the window
30903479 2015 end if the rest of the window after the window end was already blank.
23e8bd86 2016
30903479 2017 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
2018 for the release of 21.1.
2019
30903479 2020 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 2021
945220bd
MB
20222001-10-17 Miles Bader <miles@gnu.org>
2023
2024 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
2025 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
2026 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
2027 Change doc-string comments to `new style' [w/`doc:' keyword].
2028 (DOC_STRINGS_IN_COMMENTS): Macro removed.
2029 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
2030 out make-docfile.
2031
14242528
MB
20322001-10-16 Miles Bader <miles@gnu.org>
2033
2034 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
2035
3ddf952f
GM
20362001-10-16 Gerd Moellmann <gerd@gnu.org>
2037
2038 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
2039 *scratch*.
2040
f3fbd155
KR
20412001-10-16 Ken Raeburn <raeburn@gnu.org>
2042
2043 Avoid the assumption that car and cdr slots of cons cells are
2044 addressable lvalues; this allows for easier experimentation with
2045 other lisp implementations that may not permit such accesses for
2046 various reasons. Not quite complete -- buffer.c still needs some
2047 work, and w32/mac files need rechecking -- so compile-time
2048 enforcement is left disabled for now.
2049
2050 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 2051 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
2052 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
2053 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
2054 (XSETCAR, XSETCDR): New macros.
2055 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2056 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2057 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2058 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2059 XSETCDR.
2060 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
2061 * buffer.c (record_buffer, Fbury_buffer)
2062 (swap_out_buffer_local_variables, recenter_overlay_lists)
2063 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
2064 fields of a cons cell respectively.
2065 * callint.c (quotify_args, Fcall_interactively): Likewise.
2066 * ccl.c (Fregister_code_conversion_map): Likewise.
2067 * coding.c (detect_coding_system): Likewise.
2068 * composite.c (get_composition_id, make_composition_value_copy):
2069 Likewise.
30903479
SM
2070 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2071 (swap_in_symval_forwarding, set_internal, Fset_default)
2072 (Fmake_variable_buffer_local, Fmake_local_variable)
2073 (Fmake_variable_frame_local): Likewise.
f3fbd155 2074 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 2075 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 2076 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
2077 * minibuf.c (get_minibuffer): Likewise.
2078 * search.c (Fmatch_data): Likewise.
2079 * textprop.c (extend_property_ranges): Likewise.
c2d53558 2080 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
2081 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2082 Likewise.
2083 * w32term.c (x_delete_display): Likewise.
2084 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2085 Likewise.
c2d53558 2086 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 2087 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 2088 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
2089 (Fread_file_name): Use XSETCAR.
2090 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2091 CHECK_NUMBER_CDR.
2092 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2093 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2094 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2095 CHECK_NUMBER_CDR.
2096 * keyboard.c (read_char): Alter list traversal to avoid taking the
2097 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2098 (parse_menu_item): Use XSETCAR and XSETCDR.
2099 (reach_char_x_menu_prompt): Use XSETCAR.
2100 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2101 (Fcommand_execute): Use XSETCDR.
2102 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2103 (openp): Change list traversal to avoid using XCAR as lvalue.
2104 (read_list): Use XSETCDR.
2105 * process.c (wait_reading_process_input): Change wait_for_cell
2106 handling to avoid taking addresses of cons cell slots.
30903479
SM
2107 * xselect.c (x_own_selection, x_handle_selection_clear)
2108 (x_clear_frame_selections): Use XSETCDR.
2109 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2110 (x_handle_property_notify, x_get_foreign_selection)
2111 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2112
502150e5
PJ
21132001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2114
018ba359
PJ
2115 * buffer.c: Put doc strings in comments.
2116
30903479 2117 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2118
b56ba8de
SS
21192001-10-15 Sam Steingold <sds@gnu.org>
2120
2121 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2122
6a0b793a
PJ
21232001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2124
30903479
SM
2125 * process.c (process-inherit-coding-system-flag)
2126 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2127 in comment.
2128
a1f17501 2129 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2130 arguments. Put doc strings in comments.
a65da641
PJ
2131
2132 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2133
aa601ad0
GM
21342001-10-15 Gerd Moellmann <gerd@gnu.org>
2135
30903479 2136 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2137
aa601ad0
GM
2138 * window.c (select_window_1): Unfreeze window start. Remove a
2139 doubled test for WINDOW being live.
2140
288148a1
PJ
21412001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2142
dd8d1e71
PJ
2143 * fns.c (Fmapconcat): Fix typo in a doc string.
2144
288148a1
PJ
2145 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2146
9f5eb4a3
GM
21472001-10-15 Gerd Moellmann <gerd@gnu.org>
2148
2149 * xterm.c (x_draw_glyph_string): Restore clipping after
2150 drawing box.
2151
dbae44c8
PJ
21522001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2153
30903479 2154 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2155
0c88c937
SM
21562001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2157
56378db4
GM
2158 * indent.c (skip_invisible): Use new retval of
2159 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2160
845e4cf4
SM
2161 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2162 If a parent is reached and noinherit is set, exit immediately.
2163 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2164
0c88c937
SM
2165 * s/ms-w32.h (EXEC_SUFFIXES):
2166 * s/msdos.h (EXEC_SUFFIXES):
2167 * process.h (EXEC_SUFFIXES): Remove.
2168
2169 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2170 (decode_suffixes): Remove.
2171
2172 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2173 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2174 (invisible_ellipsis_p): Remove.
0c88c937
SM
2175
2176 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2177 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2178 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2179 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2180 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2181
d19be8a9
PJ
21822001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2183
04d7d066
PJ
2184 * lisp.h (Ftop_level): Add prototype.
2185
d624284c
PJ
2186 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2187 (XTread_socket): Improve style of comments to follow other
2188 comments.
2189
a87414f9
PJ
2190 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2191 is already prototyped in included lisp.h).
2192
d19be8a9
PJ
2193 * frame.c (Fset_mouse_position): Improve style of comment to
2194 follow other comments.
2195 (Fset_mouse_pixel_position): Improve style of comment to follow
2196 other comments.
2197 (Fmake_frame_visible): Doc fix and typo in comment.
2198 (Fmake_frame_invisible): Doc fix and typo in comment.
2199 (Ficonify_frame): Fix typo in comment.
2200
c061c855
GM
22012001-10-14 Gerd Moellmann <gerd@gnu.org>
2202
37f6b5b6 2203 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2204 * term.c, alloc.c: Put doc strings in comments.
c061c855 2205
e641b454
GM
22062001-10-13 Gerd Moellmann <gerd@gnu.org>
2207
2208 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2209 Provide definitions for doc strings in comments.
2210
2211 * fns.c: Put doc strings in comments.
2212
51724e26
EZ
22132001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2214
2215 * dired.c (file_name_completion): Ignore a candidate directory if
2216 it matches an element in completion-ignored-extensions that ends
2217 in a slash.
2218 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2219 feature in the doc string.
2220 (Ffile_name_completion): Ditto.
2221
be5fc59b
SM
22222001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2223
5a1373f3
SM
2224 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2225
2226 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2227
2228 * lisp.h (Fprovide): Update prototype.
2229 (Ffeaturep, invisible_p): Remove.
2230
bbc4a3d3 2231 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2232 (DOLIST, LOOP_PROPVAL): New macros.
2233 (invisible_p, invisible_ellipsis_p): Use them.
2234 (invisible_noellipsis_p): New function.
2235 (syms_of_xdisp): Use empty_string.
2236
2237 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2238
2239 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2240 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2241
2242 * print.c (Fwith_output_to_temp_buffer): Align with
2243 internal_with_output_to_temp_buffer.
2244 (print_preprocess): Use traverse_intervals_noorder.
2245 (print_object): Update call to traverse_intervals.
2246
2247 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2248 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2249
2250 * intervals.c (traverse_intervals_noorder): New function.
2251 (search_for_interval, count_intervals): Use it.
2252 (traverse_intervals): Use less stack space and drop `depth' arg.
2253
2254 * fns.c (Ffeaturep): Add new `subfeature' arg.
2255 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2256 (Qsubfeatures): New var.
2257 (syms_of_fns): Initialize it.
2258
026f408d
SM
2259 * keymap.c (Fkey_description): Use empty_string.
2260 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2261 (syms_of_keymap): Setup inheritance between maps.
2262 Don't export Sdescribe_bindings_internal any more.
2263
be5fc59b
SM
2264 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2265
3365175e
GM
22662001-10-12 Gerd Moellmann <gerd@gnu.org>
2267
2268 * xterm.c (notice_overwritten_cursor): Renamed from
2269 note_overwritten_text_cursor. Rewritten to take glyph widths into
2270 account.
2271
2ab7765c
EZ
22722001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2273
2274 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2275 multi-line strings without a trailing "\n\".
2276
311346bb
PJ
22772001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2278
2279 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2280 defined.
2281
2168e04d
SM
22822001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2283
026f408d
SM
2284 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2285
c0ec53ad
SM
2286 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2287 * w32proc.c (sys_spawnve):
2288 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2289 * w32.c (check_windows_init_file):
2290 * sound.c (Fplay_sound):
026f408d 2291 * emacs.c (init_cmdargs):
c0ec53ad
SM
2292 * process.c (Fstart_process): Update calls to openp.
2293
2294 * callproc.c (Vexec_suffixes): New var.
2295 (Fcall_process): Update call to openp.
2296 (decode_suffixes): New function.
2297 (syms_of_callproc): Init exec-suffixes.
2298
2299 * lread.c (Vload_suffixes, default_suffixes): New vars.
2300 (openp): Take a lisp list of suffixes.
2301 Check for file-name-handlers even if the file was absolute already.
2302 (syms_of_lread): Declare load-suffixes.
2303 (Fload): Fix up call to openp.
2304 Don't bother checking for file-name-handler at the very beginning.
2305
f6333468
SM
2306 * keymap.h (Fcopy_keymap): Don't export.
2307
2308 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2309 (Vload_suffixes, Vexec_suffixes): Declare.
2310 (openp): Update prototype.
f6333468
SM
2311
2312 * emacs.c (empty_string): New var.
2313 (syms_of_emacs): Initialize it.
2314
2315 * search.c (wordify): Use it.
2316
2317 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2318 selected window if it's not displayed there. Handle the case
2319 when the window is dedicated.
2320 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2321
2322 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2323
2168e04d
SM
2324 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2325 Remove left_ok and right_ok.
2326 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2327 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2328 new meaning of b_property.
2329
2330 * syntax.c (update_syntax_table): Simplify.
2331 (Fforward_comment): Don't skip quoted chars when going backward.
2332
13d95cc0
GM
23332001-10-11 Gerd Moellmann <gerd@gnu.org>
2334
beb0990f
GM
2335 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2336 in case I is of some unsigned type, in which case
2337 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2338 comparison becomes bogus.
2339
cb938d46
GM
2340 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2341 (Fuser_full_name): Fix bug treating a float as a fixnum.
2342
2343 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2344
2345 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2346
13d95cc0
GM
2347 * lisp.h (circular_list_error): Add prototype.
2348
2349 * data.c (Qcircular_list): New variable.
2350 (circular_list_error): New function.
2351 (syms_of_data): Initialize it Qcircular_list.
2352
e35f6ff7
SM
23532001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2354
2355 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2356 casefiddle.c, buffer.c: Include keymap.h.
2357
619632ac
GM
23582001-10-10 Gerd Moellmann <gerd@gnu.org>
2359
2360 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2361 options. From Dave Love <d.love@dl.ac.uk>.
2362
5e5388f6
GM
23632001-10-09 Gerd Moellmann <gerd@gnu.org>
2364
2365 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2366 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2367
14a3dff7
GM
2368 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2369 unsigned char.
2370 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2371
76ba8daf
AI
23722001-10-08 Andrew Innes <andrewi@gnu.org>
2373
2374 * lisp.h [max]: Undef min and max before redefining them.
2375
2376 * w32gui.h: Do not undef min and max.
2377
2378 * w32heap.h: Do not undef min and max.
2379
2380 * s/ms-w32.h: Do not undef min and max.
2381
166253cb
SM
23822001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2383
2384 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2385
0c4d9527
SS
23862001-10-08 Sam Steingold <sds@gnu.org>
2387
2388 * keymap.c (current-active-maps): Quote newlines (compilation error).
2389
14bfa771
EZ
23902001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2391
2392 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2393 bindings.elc, since otherwise doc strings in bindings.el get wrong
2394 offsets in etc/DOC.
2395
bdb7aa47
SM
23962001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2397
9985827f
SM
2398 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2399
2400 * keyboard.h (map_prompt): Remove.
2401
2402 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2403 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2404
bdb7aa47
SM
2405 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2406
2407 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2408
2409 * keyboard.c (map_prompt): Remove.
2410 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2411 Use Fkeymap_prompt.
2412
2413 * keymap.h: New file. Extracted from lisp.h.
2414
9985827f
SM
2415 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2416 (accessible_keymaps_1): New function.
2417 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2418 (Fwhere_is_internal): Use Fcurrent_active_maps.
2419 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2420 Insert in current buffer rather than standard-output.
2421 Don't call `help-mode'. Export to elisp.
2422 (describe_buffer_bindings): New wrapper.
2423 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2424 and Sdescribe_buffer_bindings.
2425
402c9a51
GM
24262001-10-08 Gerd Moellmann <gerd@gnu.org>
2427
9985827f 2428 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2429 Remove code setting signal handler.
2430
9985827f 2431 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2432 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2433
3fe81fdf
PJ
24342001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2435
2436 * keyboard.c: Don't define min/max.
2437
55fa7820
GM
24382001-10-08 Gerd Moellmann <gerd@gnu.org>
2439
9985827f 2440 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2441 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2442 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2443 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2444 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2445 Don't define min/max.
2446
2447 * lisp.h (min, max): New macros.
2448
55fa7820
GM
2449 * puresize.h (BASE_PURESIZE): Increase to 725000.
2450
1aad31e4
PJ
24512001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2452
9180dc8c
PJ
2453 * xfaces.c (free_frame_menubar): Add prototype.
2454
01f67d2c
PJ
2455 * lisp.h (init_window): Add prototype.
2456
2457 * editfns.c: Include ctype.h.
2458
2459 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2460 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2461 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2462 variable `sb'.
2463
5f351ff1
PJ
2464 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2465 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2466 `popup_activated_flag' and `title'.
2467
479dfe87
PJ
2468 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2469
dff49fc8
PJ
2470 * emacs.c (main): Remove extra `;'.
2471
248ac615
PJ
2472 * atimer.h (struct atimer): Fix typos in a comment.
2473
2474 * atimer.c: Fix typo.
2475
af232c7d
PJ
2476 * Makefile.in: Fix typo.
2477
2478 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2479
d876f455
MB
24802001-10-07 Miles Bader <miles@gnu.org>
2481
2482 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2483
0037e2f2
KR
24842001-10-07 Ken Raeburn <raeburn@gnu.org>
2485
b056f36d
KR
2486 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2487 Lisp_Object.
2488
0037e2f2
KR
2489 * lisp.h (Ffield_end): Declare.
2490
1a4372ef
GM
24912001-10-07 Gerd Moellmann <gerd@gnu.org>
2492
a4a74e8c
GM
2493 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2494
2495 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2496
2497 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2498
2499 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2500
1a4372ef
GM
2501 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2502 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2503
2504 * alloc.c (inhibit_garbage_collection): Simplify.
2505 (Fmemory_use_counts): Ditto.
2506
9985827f 2507 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2508 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2509 most-negative-fixnum.
2510
9985827f 2511 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2512 (FIXNUM_OVERFLOW_P): New macros.
2513
4650e362
MB
25142001-10-06 Miles Bader <miles@gnu.org>
2515
2516 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2517 scroll_bar_bottom_shadow_pixel fields.
2518 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2519 for the shadows, and tell the toolkit about them if we succeed.
2520 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2521 Free scroll-bar shadow colors.
2522 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2523 Free scroll-bar shadow colors when the background color changes.
2524 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2525 Initialize scroll-bar shadow-color fields.
2526
ace64e0a
GM
25272001-10-05 Gerd Moellmann <gerd@gnu.org>
2528
2529 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2530
ec66bdc7
MB
25312001-10-05 Miles Bader <miles@gnu.org>
2532
9985827f
SM
2533 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2534 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2535 New functions (were in simple.el).
9985827f 2536 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2537 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2538 (syms_of_minibuf): Initialize them.
2539
a0fb4492
GM
25402001-10-05 Gerd Moellmann <gerd@gnu.org>
2541
2542 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2543 (tiff_load): Install them as error and warning handler.
2544
0bcf87c1
AI
25452001-10-04 Andrew Innes <andrewi@gnu.org>
2546
2547 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2548 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2549 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2550 (x_to_w32_charset): Handle private format for unknown charsets.
2551 Handle wildcards in charset spec, by ignoring them.
2552 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2553 "*-" prefix from charset.
2554 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2555 handle the truncated font spec form constructed by font_list_1, so
2556 that we correctly identify the charset fields. Don't remove "*-"
2557 prefix from charset.
2558 (w32_list_synthesized_fonts): Fix argument to alloca.
2559
c89e4bc5
GM
25602001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2561
2562 * window.h (MINI_WINDOW_P): Use NILP.
2563
2564 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2565
2566 * termhooks.h (struct input_event): Use proper type for `kind'.
2567
25682001-10-04 Gerd Moellmann <gerd@gnu.org>
2569
2570 This handles unknown keysyms better than before. For example,
2571 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2572 Emacs formerly completely ignored F5. With the change, it derives
2573 a key symbol from the name of the X keysym, `ccaron' in this case.
2574 Reported by Martin Buchholz.
2575
2576 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2577 unknown keysyms.
2578
2579 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2580 that EVENT->code isn't a function key, use the keysym's name.
2581
25822001-10-04 Gerd Moellmann <gerd@gnu.org>
2583
2584 FOREACH is a macro that should make it easier to loop over Lisp
2585 lists with checks for cycles and proper lists.
2586
2587 * lisp.h (LIST_END_P, FOREACH): New macros.
2588
25892001-10-04 Gerd Moellmann <gerd@gnu.org>
2590
2591 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2592 called for a lost connection. Prevent dumping core in this case.
2593 Instead print the X error, and exit. On user request.
2594
2595 * xterm.c (error_msg): New variable.
2596 (x_fatal_error_signal): New function.
2597 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2598 as fatal_error_signal_hook around the call to XtCloseDisplay.
2599
2600 * emacs.c (fatal_error_signal_hook): New variable.
2601 (fatal_error_signal): Call that function.
2602
26032001-10-04 Gerd Moellmann <gerd@gnu.org>
2604
2605 With this, Emacs prints how much pure storage it will
2606 approximately need in case pure storage overflows while dumping.
2607
2608 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2609 New variables.
2610 (init_alloc_once): Initialize new variables.
2611 (PURE_POINTER_P): Use new variables.
2612 (pure_alloc): If pure storage overflows, allocate from the heap.
2613 (check_pure_size): New function.
2614 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2615
2616 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2617 (check_pure_size): Add prototype.
2618
2619 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2620
26212001-10-04 Gerd Moellmann <gerd@gnu.org>
2622
2623 This adds a post-gc-hook that's run with GC inhibited.
2624 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2625
2626 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2627 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2628 (Fgarbage_collect): Run post-gc-hook.
2629
26302001-10-04 Gerd Moellmann <gerd@gnu.org>
2631
2632 This adds `defvaralias' and `indirect-variable'. Changes not
2633 directly related to this feature are there to gain the same
2634 performance again as before variable aliases.
2635
2636 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2637 code to get and set symbol values, to take defvaralias into account.
2638
2639 (Note: the new `constant' bit-flag in symbols would make it
2640 possible to define arbitrary read-only variables, e.g. with
2641 `defconst'.)
2642
2643 Documentation is in lispref/variables.texi. Added to NEWS.
2644
2645 * lisp.h (enum symbol_interned): New enumeration.
2646 (struct Lisp_Symbol): Remove member `obarray', add
2647 `indirect_variable', `constant', and `interned'.
2648 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2649 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2650 (indirect_variable): Add prototype.
2651
2652 * print.c (print_preprocess, print_object): Test internedness of
2653 symbols differently.
2654
2655 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2656 bit-fields.
2657 (init_obarray): Likewise for t and nil.
2658
2659 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2660 (Fdefvaralias): New function.
2661 (specbind): Simplify the test if symbol is a constant.
2662 (syms_of_eval): Defsubr Fdefvaralias.
2663
2664 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2665 (Qcyclic_variable_indirection): New variable.
2666 (Fkeywordp): Check for internedness differently.
2667 (Fmakunbound): Simplify the test if symbol is a constant.
2668 (indirect_variable, Findirect_variable): New functions.
2669 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2670 aliased symbol.
2671 (let_shadows_buffer_binding_p): Check for variable aliases.
2672 (set_internal): Simplify the test if SYMBOL is a constant.
2673 If SYMBOL has a buffer-local value and is an alias, use the aliased
2674 symbol instead.
2675 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2676 Sindirect_variable.
2677
2678 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2679 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2680 set directly.
2681
2682 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2683
2684 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2685 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2686 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2687
ab952a4f
GM
26882001-10-04 Gerd Moellmann <gerd@gnu.org>
2689
2690 * Branch for 21.1.
b56ba8de 2691
ba88ff28
MB
26922001-10-03 Miles Bader <miles@gnu.org>
2693
2694 * callproc.c (syms_of_callproc): Explicitly state in the
2695 documentation for `process-environment' that earlier entries take
2696 precedence over later ones.
2697
ae1a9581
MB
26982001-10-02 Miles Bader <miles@gnu.org>
2699
2700 * textprop.c (Fnext_char_property_change)
2701 (Fprevious_char_property_change): Remove reference to non-existant
2702 argument OBJECT from doc-string.
2703
257e3f57
GM
27042001-10-01 Gerd Moellmann <gerd@gnu.org>
2705
2706 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2707 (try_window_id): Skip back over lines ending in a newline from a
2708 string.
2709
2710 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2711 New bit flag
2712
c1f29759
RS
27132001-10-01 Richard M. Stallman <rms@gnu.org>
2714
2715 * search.c (Freplace_match): Doc fix.
2716
c30dce3d
AI
27172001-09-28 Andrew Innes <andrewi@gnu.org>
2718
2719 * w32menu.c (set_frame_menubar): Take into account that
2720 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2721 <raeburn@gnu.org>.
2722
03be5931
EZ
27232001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2724
2725 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2726
75bec752
PJ
27272001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2728
2729 * s/gnu-linux.h: Fix a typo in comment.
2730
83100e0a
AS
27312001-09-28 Andreas Schwab <schwab@suse.de>
2732
2733 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2734 nocombreloc, in case -z combreloc is the default.
2735
a74b48cf
GM
27362001-09-28 Gerd Moellmann <gerd@gnu.org>
2737
2738 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2739 really going on here.
2740
09c4719e
SM
27412001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2742
2743 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2744
f7d5d963
EZ
27452001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2746
2747 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2748 utf-8, menu-bar, and latin-N.
2749 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2750 unconditionally now.
2751 (lisp): Add latin-N, since they are preloaded.
2752
9240e746
GM
27532001-09-27 Gerd Moellmann <gerd@gnu.org>
2754
14531065
GM
2755 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2756 to the left. Some cleanup.
2757
9240e746
GM
2758 * xdisp.c (display_mode_element): One more case where a string's
2759 multibyteness should be used for display.
2760
edd1e654
GM
27612001-09-26 Gerd Moellmann <gerd@gnu.org>
2762
b02439c8
GM
2763 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2764 reading at EOF.
2765
032906b1 2766 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2767 of the only temporarily set echoing flag for deciding when
032906b1
GM
2768 the cancel echoing.
2769
2770 * keyboard.c (echo_kboard): Make externally visible.
2771
2772 * lisp.h (echo_kboard): Declare extern.
2773
cb617e7c 2774 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2775 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2776 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2777 this round of redisplay if make_cursor_line_fully_visible fails.
2778 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2779 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2780
2781 * dispextern.h (required_matrix_width, required_matrix_height):
2782 Add prototypes.
2783
09c4719e
SM
2784 * dispnew.c (required_matrix_width, required_matrix_height):
2785 New functions.
cb617e7c 2786 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2787 (allocate_matrices_for_frame_redisplay: Use them.
2788 Remove parameters CH_DIM.
cb617e7c 2789
edd1e654
GM
2790 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2791 and selected_window to the frame of the window whose mode-lines
2792 are displayed, and to the window itself.
2793 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2794 here.
edd1e654 2795
924b604c
GM
27962001-09-25 Gerd Moellmann <gerd@gnu.org>
2797
daba7643
GM
2798 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2799 the image cache under us.
2800
b7a22712 2801 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2802 with a string value, use that string's multibyteness for displaying.
b7a22712 2803
ad648212
GM
2804 * keyboard.c (read_char): Don't clear a message for a switch-frame
2805 event. From Stefan Monnier <monnier@cs.yale.edu>.
2806
9f8531e5
GM
2807 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2808 version for after 21.1.
2809
2810 * xdisp.c (row_containing_pos): Make externally visible.
2811
2812 * dispextern.h (row_containing_pos): Add prototype.
2813
924b604c
GM
2814 * process.c (send_process): Disable composition if from_byte < 0.
2815 From Kenichi Handa <handa@etl.go.jp>.
2816
6f3f0db4
GM
28172001-09-24 Gerd Moellmann <gerd@gnu.org>
2818
c69c0ebc
GM
2819 * xterm.c (refreshicon): Function removed.
2820
d1182bc4
GM
2821 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2822
2823 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2824
2825 * xterm.c (toplevel): Remove includes in #if 0.
2826
6f3f0db4
GM
2827 * process.c (sigchld_handler) [LINUX]: Don't return from
2828 the signal handler at the end of the loop.
2829
59957f85
GM
28302001-09-21 Gerd Moellmann <gerd@gnu.org>
2831
09c4719e
SM
2832 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2833 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2834
a0528984
EZ
28352001-09-21 Markus Rost <rost@math.ohio-state.edu>
2836
2837 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2838
db92b288
GM
28392001-09-20 Gerd Moellmann <gerd@gnu.org>
2840
3fed8ad5
GM
2841 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2842 since this function can be called during GC.
2843
db92b288
GM
2844 * callproc.c (Fcall_process): Handle errors from pipe(2).
2845 (child_setup): Delete code in #ifdef vipc.
2846
7121b85a
GM
28472001-09-19 Gerd Moellmann <gerd@gnu.org>
2848
72f62cb5
GM
2849 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2850 (display_mode_element): Display the string from decode_mode_spec
2851 depending on its multibyteness.
2852
a2697022
GM
2853 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2854
7121b85a
GM
2855 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2856
bfc97351
GM
28572001-09-18 Gerd Moellmann <gerd@gnu.org>
2858
c9063433
GM
2859 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2860 recursive_edit_unwind.
2861 (recursive_edit_unwind): Set kboard state according to
2862 SINGLE-KBOARD.
2863
3fbdba3e
GM
2864 * buffer.c (modify_overlay): Don't do nothing if START == END;
2865 This can still be a modification, for example when an overlay has
2866 a before-string or after-string.
2867 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2868 an overlay with before-string or after-string.
2869
1270031d
GM
2870 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2871 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2872
bfc97351
GM
2873 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2874 first_unchanged_at_end_row is in front of
2875 last_unchanged_at_beg_row. This code should be removed after the
2876 release of 21.1.
2877
d8a973aa
GM
28782001-09-17 Gerd Moellmann <gerd@gnu.org>
2879
e18c8b8d
GM
2880 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2881 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2882
d8a973aa
GM
2883 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2884 versions >= 2.95.
2885
ed7d6ba4
EZ
28862001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2887
2888 * dired.c (Ffile_attributes): Doc fix.
2889
551629f9
GM
28902001-09-14 Gerd Moellmann <gerd@gnu.org>
2891
2892 * fileio.c (Ffile_symlink_p): Fix last change.
2893
2894 * filelock.c (current_lock_owner): Fix last change.
2895
4c8c7926
GM
28962001-09-13 Gerd Moellmann <gerd@gnu.org>
2897
620c4704
GM
2898 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2899 take that to mean that the buffer is too small.
2900
81c3310d
GM
2901 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2902 that to mean that the buffer is too small.
2903
06fd3792
GM
2904 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2905 current buffer's multibyteness when discarding the iterator's
2906 stack.
2907
4c8c7926
GM
2908 * xfns.c (Fx_window_property): Handle case that property gets
2909 deleted between the two calls to XGetWindowProperty.
2910
9a72e4c1
GM
29112001-09-11 Gerd Moellmann <gerd@gnu.org>
2912
bd819d14 2913 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2914
a41edd99
GM
2915 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2916 in addition to read-only.
2917
2918 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2919 to t in addition to read-only.
2920
2921 * lisp.h (Qinhibit_modification_hooks): Declare.
2922
2923 * insdel.c (Qinhibit_modification_hooks): New variable.
2924 (syms_of_insdel): Initialize and staticpro it.
2925
d4881c6a
GM
2926 * textprop.c (verify_interval_modification): Don't run
2927 modification-hooks if inhibit_modification_hooks.
2928
2929 * dispnew.c (set_window_cursor_after_update): Fix code
2930 finding glyph row containing cursor when cursor_in_echo_area
2931 is >= 0.
2932
9a72e4c1
GM
2933 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2934 (add_to_log): Use bcopy instead of strcpy.
2935 (init_from_display_pos): Use an explicit loop over bytes in
2936 overlay strings instead of calling index.
2937
f4a374a1
GM
29382001-09-10 Gerd Moellmann <gerd@gnu.org>
2939
300e57bd
GM
2940 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2941
2942 * dispnew.c (direct_output_for_insert): Don't change IT's
2943 stop_charpos to something in front of its current position.
2944
f4a374a1
GM
2945 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2946 `format'.
2947
7e4cbc91
RS
29482001-09-10 Richard M. Stallman <rms@gnu.org>
2949
2950 * frame.c (Fmouse_position): Doc fix.
2951
6afad91e
GM
29522001-09-07 Gerd Moellmann <gerd@gnu.org>
2953
2954 * xdisp.c (init_from_display_pos): Don't compare the result
2955 of calling index with NULL.
2956
f76e0368
GM
29572001-09-06 Gerd Moellmann <gerd@gnu.org>
2958
2959 * xfns.c (x_set_background_color): Don't change the colors
2960 of the X window of scroll bar widgets.
2961
9ead1b60
AI
29622001-09-05 Andrew Innes <andrewi@gnu.org>
2963
2964 * w32fns.c (w32_createwindow): Undo last change.
2965
c3b497b3
GM
29662001-09-05 Gerd Moellmann <gerd@gnu.org>
2967
08e1d6df
GM
2968 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2969
c3b497b3
GM
2970 * xdisp.c (string_buffer_position): Use *single_char_property*
2971 functions instead of the *single_property* functions.
b56ba8de 2972
8f860180
AI
29732001-09-04 Andrew Innes <andrewi@gnu.org>
2974
9a72e4c1
GM
2975 * w32term.c (w32_read_socket): Add more information to debugging
2976 output.
8f860180
AI
2977
2978 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2979 from Emacs frames, so that calls to GetClipBox in w32term.c
2980 correctly report when part of a frame is visible (including
2981 scrollbars, etc). This prevents repeated redrawing of frames when
2982 only a scrollbar is visible.
2983 (w32_wnd_proc): Add more frame information to debugging output.
2984
2ee1aa00
SM
29852001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2986
2987 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2988
e3b22517
GM
29892001-09-03 Gerd Moellmann <gerd@gnu.org>
2990
7e376260
GM
2991 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2992 help-echo for a string which doesn't have help-echo itself, use
2993 get-char-property to obtain the help-echo from the string's buffer
2994 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2995 have mouse-face, look ``under'' the string for mouse-face from an
2996 overlay.
2997 (fast_find_position): Add parameter STOP. In the final row, stop
2998 before glyphs having STOP as object. Don't consider glyphs that
2999 are not from a buffer.
3000
e3b22517
GM
3001 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
3002
9a249bba
EZ
30032001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
3004
3005 * fns.c (Fmd5): Doc fix.
3006
c9979669
GM
30072001-08-31 Gerd Moellmann <gerd@gnu.org>
3008
3009 * composite.c (update_compositions): Do nothing if
3010 inhibit-modification-hooks is set.
3011
9584e63a
GM
30122001-08-30 Gerd Moellmann <gerd@gnu.org>
3013
986ec8f2 3014 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 3015 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
3016 glyph matrices etc. in a core dump.
3017
92a25631
GM
3018 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
3019 (syms_of_xdisp): Initialize them.
3020 (handle_single_display_prop): Don't change point, bind `object',
3021 `position', and `buffer-position' instead to the object having the
2ee1aa00 3022 `display' property, position in the object and position in the buffer.
92a25631 3023
9584e63a
GM
3024 * fileio.c (Finsert_file_contents): Don't change the multibyteness
3025 of the buffer if REPLACE is non-nil.
3026
d38633a3
GM
30272001-08-29 Gerd Moellmann <gerd@gnu.org>
3028
3029 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
3030
f4fccc1e
EZ
30312001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
3032
3033 * w32term.c (x_set_glyph_string_background_width)
3034 (show_mouse_face): Track the last changes in xterm.c.
3035
eaaa65b0
GM
30362001-08-28 Gerd Moellmann <gerd@gnu.org>
3037
7b0870b2
GM
3038 * xterm.c (x_set_glyph_string_background_width): Set the glyph
3039 string's background width so that multi-line mouse-face is drawn
3040 to the right edge of the window.
3041 (show_mouse_face): Set the row's mouse_face_p flag after drawing
3042 glyphs.
3043
6b6e2422 3044 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 3045 before inserting/writing glyphs.
6b6e2422 3046
eaaa65b0
GM
3047 * xdisp.c (display_mode_element): Use string_byte_to_char to
3048 determine character positions in strings, use chars_in_text
3049 instead of strwidth.
3050 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
3051 a matrix as parameter; this is easier to use from GDB.
3052
9ad62cf8
MB
30532001-08-28 Miles Bader <miles@gnu.org>
3054
2ee1aa00
SM
3055 * textprop.c (Fprevious_single_char_property_change)
3056 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 3057
32171635
GM
30582001-08-27 Gerd Moellmann <gerd@gnu.org>
3059
47d57b22
GM
3060 * fileio.c (Finsert_file_contents): Allocate, restore, and
3061 free composition data in the case of REPLACE not being nil.
3062
3063 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3064 there exist overlay strings with newlines at POS.
3065 (text_outside_line_unchanged_p): Return 0 if changes start at
3066 START and overlays exist at START. Likewise for END.
3067 (try_window_id): Give up if init_to_row_end returns 0.
3068
32171635
GM
3069 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3070 unconditionally.
3071
e1249666
GM
30722001-08-24 Gerd Moellmann <gerd@gnu.org>
3073
33954c45
GM
3074 * keymap.c (access_keymap): Return the cdr of the binding of
3075 a generic character instead of its definition (KEY . BINDING).
3076
e1249666
GM
3077 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3078 to 0 also in the REPLACE case.
3079
fb4c6c96
AC
30802001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3081
3082 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3083 open to determine whether file is readable (as for DOS_NT).
3084
59ecf80b
GM
30852001-08-23 Gerd Moellmann <gerd@gnu.org>
3086
3087 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3088 coding.type is coding_type_no_conversion or coding_type_raw_text,
3089 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3090 non-nil instead of just setting enable_multibyte_characters in the
3091 buffer to nil.
3092
40e33037
GM
30932001-08-22 Gerd Moellmann <gerd@gnu.org>
3094
374388c3
GM
3095 * dispextern.h (struct face_cache): Add member
3096 menu_face_changed_p.
3097
3098 * xfaces.c (menu_face_changed_default): New variable.
3099 (menu_face_changed_count): Variable removed.
3100 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3101 the menu_face_changed_default flag, otherwise set the FRAME's
3102 menu_face_changed_p flag if the `menu' face has been changed.
3103 Prevent calling set_font_frame_param if FRAME is t.
3104 (make_face_cache): Initialize cache's menu_face_changed_p
3105 from menu_face_changed_default.
3106 (realize_basic_faces): Look into the frame's face cache to
3107 determine if the menu appearance needs updating.
3108
40e33037
GM
3109 * keymap.c (access_keymap): Fix last change to not consider
3110 IDX when it has modifiers.
3111
859ea4b8
GM
31122001-08-21 Gerd Moellmann <gerd@gnu.org>
3113
3114 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3115 . BINDING) exists, where GENERIC-CHAR is the generic character of
3116 the charset of IDX, return BINDING unless there exists a binding
3117 for IDX itself.
3118
e8660d73
GM
31192001-08-16 Gerd Moellmann <gerd@gnu.org>
3120
cca1b1d7
GM
3121 * xrdb.c (SYSV): Don't define on Solaris 2.
3122 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3123
e8660d73 3124 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3125 of the screen line, not text line, containing IT's current position.
e8660d73 3126
93aba6fc
GM
31272001-08-15 Gerd Moellmann <gerd@gnu.org>
3128
288d4e06
GM
3129 * window.c (window_scroll_pixel_based): Don't recenter if
3130 PT is partially visible in the window.
3131
3452efc2
SM
3132 * xterm.c (expose_window_tree, expose_window, expose_line):
3133 Return 1 when overwriting mouse-face.
82f053ab
GM
3134 (expose_frame): If mouse-face was overwritten, redo it.
3135
93aba6fc
GM
3136 * xfaces.c (x_update_menu_appearance): Don't call
3137 set_frame_menubar, let the next redisplay do it.
3138
858a55c1
AI
31392001-08-14 Andrew Innes <andrewi@gnu.org>
3140
3141 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3142 drawing glyph string.
3143
3a990b67
EZ
31442001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3145
3146 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3147 running HI-UX/MPP.
3148
04386463
GM
31492001-08-14 Gerd Moellmann <gerd@gnu.org>
3150
3151 * xfaces.c (x_update_menu_appearance): Save and restore value of
3152 interrupt_input_blocked.
3153
3e6385a4
GM
31542001-08-13 Gerd Moellmann <gerd@gnu.org>
3155
b0e619b4
GM
3156 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3157 a line start, move back to the line start.
3452efc2 3158
0de73d5a
GM
3159 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3160 exactly when a mini-buffer is active.
3161
3e6385a4
GM
3162 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3163 in units of 1/8 character on non window-system frames.
3164 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3165
d1b5f629
EZ
31662001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3167
3168 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3169 a doc string.
3170
eaa2319f
GM
31712001-08-09 Gerd Moellmann <gerd@gnu.org>
3172
8e3189f0
GM
3173 * keyboard.c (Vpre_help_message): New variable.
3174 (syms_of_keyboard): Initialize and staticpro it.
3175 (show_help_echo): Record current message before displaying a
3176 help-echo, and restore that message when clearing the help.
3177
eaa2319f
GM
3178 * xfns.c (x_create_im): Remove prototype.
3179
3180 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3181
3182 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3183
eaa2319f
GM
31842001-08-08 Gerd Moellmann <gerd@gnu.org>
3185
3186 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3187 windows whose height has changed, disable partially visible lines.
eaa2319f 3188
17fdcfc8
GM
31892001-08-07 Gerd Moellmann <gerd@gnu.org>
3190
22d01aed 3191 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3192 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3193
17fdcfc8
GM
3194 * xdisp.c (start_display): Don't try to determine the continuation
3195 lines width if lines are truncated. It's superfluous and leads to
3196 incorrect results if POS is not visible in the window after
3197 reseating the iterator at the previous line start.
3198
8e3fe78e
GM
31992001-08-06 Gerd Moellmann <gerd@gnu.org>
3200
3201 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3202
98a8938c
GM
32032001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3204
3205 * alloc.c (init_stack): Remove declaration.
3206
18f9986a
GM
32072001-08-03 Gerd Moellmann <gerd@gnu.org>
3208
5e1f85e0
GM
3209 * keyboard.c (read_key_sequence): Check that key is an integer
3210 before comparing it with quit_char.
3211 (add_command_key): Use larger_vector.
3212 (read_char_x_menu_prompt): Instead of converting symbol and
3213 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3214 which cannot be confused with valid events.
5e1f85e0
GM
3215 (read_char): When reading from Vunread_command_events, check for
3216 events of the form (EVENT . disabled) instead of
3217 (EVENT . nil).
3218
18f9986a
GM
3219 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3220 a float, determine the max height from the frame's height.
3221
fbc7f2a6
GM
32222001-08-02 Gerd Moellmann <gerd@gnu.org>
3223
3224 * xdisp.c (redisplay_internal): Take message_cleared_p into
3225 account only if minibuf_level == 0.
3226
81b1a79d
GM
32272001-08-01 Gerd Moellmann <gerd@gnu.org>
3228
e5c60873
GM
3229 * xdisp.c (redisplay_internal): Add a check for the last
3230 displayed message.
3452efc2 3231
6e019995
GM
3232 * xdisp.c (message_cleared_p): New variable.
3233 (clear_message): Set message_cleared_p when clearing the current
3234 message.
3235 (redisplay_internal): Look at message_cleared_p to capture
3236 the case that the echo area should be cleared.
3237
308a74d8
GM
3238 * keyboard.c (command_loop_1): Fix spelling of
3239 resize_echo_area_exactly.
3240
3452efc2 3241 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3242
3243 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3244
81b1a79d
GM
3245 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3246 current matrix when the window gets smaller.
3247
ada329e6
EZ
32482001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3249
3250 * print.c (strout): Cast the character passed to insert_char to
3251 unsigned char, to avoid sign extension when it is promoted to int.
3252
ed86208c
GM
32532001-07-31 Gerd Moellmann <gerd@gnu.org>
3254
3255 * fileio.c (Finsert_file_contents): Don't treat a return value
3256 of 0 from emacs_read as an IO error.
3257
6594ac22
GM
32582001-07-30 Gerd Moellmann <gerd@gnu.org>
3259
cef68af5
GM
3260 * keyboard.c (abs): New macro.
3261 (double_click_fuzz): New variable.
3262 (make_lispy_event): Use it to determine what makes a double-click.
3263 (syms_of_keyboard): DEFVAR_INT it.
3264
6594ac22
GM
3265 * xmenu.c (set_frame_menubar): Take into account that
3266 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3267 <raeburn@gnu.org>.
3268
75c5350a
GM
32692001-07-27 Gerd Moellmann <gerd@gnu.org>
3270
3271 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3272
3273 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3274 of row's visible height.
3275
3276 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3277 deal with the first overlay string having an image `display' property.
3278 (try_window_reusing_current_matrix, compute_line_metrics):
3279 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3280 row is invisible above and part of the row is at the same time
3281 invisible below the window.
3282
ac49effe
GM
32832001-07-26 Gerd Moellmann <gerd@gnu.org>
3284
3285 * xfns.c (x-show-tip): Doc fix.
3452efc2 3286
ac49effe
GM
3287 * xfns.c (Vx_max_tooltip_size): New variable.
3288 (syms_of_xfns): DEFVAR_LISP it.
3289 (Fx_show_tip): Set frame's window_width to the width of the
3290 window. Use a maximum tooltip size specified by
3291 Vx_max_tooltip_size, if that has valid contents.
3292 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3293
8c3b00cb
AI
32942001-07-26 Andrew Innes <andrewi@gnu.org>
3295
3296 * w32term.c (x_display_list): New variable.
3297 (w32_term_init): Set it.
3298
3299 * w32term.h (x_display_list): New extern.
3300
16098288
GM
33012001-07-26 Gerd Moellmann <gerd@gnu.org>
3302
3303 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3304 is non-nil, instead of when redisplaying_p is non-zero.
3305 See comment there.
16098288
GM
3306 (mark_window_display_accurate_1): Add an assertion.
3307
64c5be50
GM
33082001-07-25 Gerd Moellmann <gerd@gnu.org>
3309
e743f599
GM
3310 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3311
563b384d
GM
3312 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3313 events so that we get a chance of processing expose events.
3314
64c5be50
GM
3315 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3316
296808a5
GM
33172001-07-24 Gerd Moellmann <gerd@gnu.org>
3318
3319 * xfns.c (valid_image_p): Protect better against invalid image
3320 specifications. Previous code could signal an error.
3321
5247262a
GM
33222001-07-23 Gerd Moellmann <gerd@gnu.org>
3323
3452efc2 3324 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3325 presence of display table entries.
3326 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3327
dd42b31a
GM
3328 * dispnew.c (adjust_glyph_matrix): In the optimization for
3329 windows whose height has changed, use the new window height
3330 to compute which rows to invalidate.
3331
9e5a7f2a
GM
3332 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3333 (MAX_10_EXP): New macro.
3334 (Fformat): Use it.
3335
5247262a
GM
3336 * coding.c (code_convert_region): Handle the multibyte case if
3337 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3338
177ab8ce
GM
33392001-07-20 Gerd Moellmann <gerd@gnu.org>
3340
6e07c0a5
GM
3341 * dispextern.h (struct face): Change type of `stipple' to
3342 int; it's an ID.
3343
177ab8ce
GM
3344 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3345
b5b80599
GM
33462001-07-19 Gerd Moellmann <gerd@gnu.org>
3347
4e2a256b
GM
3348 * dispnew.c (update_window): Don't set the cursor at the end
3349 of the update if display update has been paused.
3350
3452efc2 3351 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3352
c1fd9232
KR
33532001-07-18 Ken Raeburn <raeburn@gnu.org>
3354
3355 * fns.c (Fset_char_table_default): Check that a charset is defined
3356 before checking its dimension.
3357
928a85c1
KR
33582001-07-17 Ken Raeburn <raeburn@gnu.org>
3359
3360 * coding.c (setup_coding_system): Don't do any designation based
3361 on reg_bits if charset is not yet defined.
3362
fb4c6c96 3363 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3364 pointer, using eassert.
3365
de11c1ea
GM
33662001-07-17 Gerd Moellmann <gerd@gnu.org>
3367
3452efc2
SM
3368 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3369 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3370
467f1209
GM
33712001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3372
3373 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3374
c3d6be34
GM
33752001-07-16 Gerd Moellmann <gerd@gnu.org>
3376
c1d61a7d
GM
3377 * fileio.c (unwind_read): Function removed.
3378 (read_non_regular, read_non_regular_quit): New functions.
3379 (Finsert_file_contents): When reading from non-regular files,
3380 arrange to catch a `quit' and terminate the loop. Rearrange
3381 code so that a `quit' when reading from a regular file doesn't
3382 insert text in the buffer.
3383
c3d6be34
GM
3384 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3385 Clear faces afterwards.
3386 (clear_font_table): Take a x_display_info parameter. Don't free
3387 fonts being the default font of any frame on the given display.
3388
e06aa1f9
GM
33892001-07-13 Gerd Moellmann <gerd@gnu.org>
3390
3391 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3392 instead of CHAR_STRING which can signal an error.
3393
3394 * charset.c (char_to_string_1): Extracted from char_to_string.
3395 Return -1 instead of signaling an error.
3396 (char_to_string): Use it.
3397
3398 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3399
176c92e6
SM
34002001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3401
3402 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3403 is t, don't try to append anything to it.
3404
1c56232f
EZ
34052001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3406
3407 * dired.c (file_name_completion): Pass dp->d_name to
3408 Fstring_match, not elt, which is always nil here.
3409
1d2b2268
GM
34102001-07-12 Gerd Moellmann <gerd@gnu.org>
3411
3412 * xselect.c (x_decline_selection_request): Handle errors
3413 caused by receivers that have vanished.
3414
3415 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3416 ignoring events on foreign windows in #if 0. Always dispatch
3417 the event after checking it with x_handle_property_notify.
3418
3419 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3420 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3421 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3422 (toplevel): Add prototypes for file-local functions.
3423 (x_atom_to_symbol): Remove DPYINFO parameter.
3424
fe5a0162
SM
34252001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3426
3427 * w32menu.c (menubar_selection_callback, w32_menu_show):
3428 Initialize `entry' to nil.
3429 (w32_dialog_show): Remove unused `save_wv' variable.
3430 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3431
a777242c
GM
34322001-07-11 Gerd Moellmann <gerd@gnu.org>
3433
8ee5b6a3
GM
3434 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3435
d0e2444e
GM
3436 * fileio.c (unwind_read): Print a message when discarding inserted
3437 text or switching the buffer to unibyte. Change parameter.
3438 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3439
a777242c
GM
3440 * fileio.c (unwind_read): New function.
3441 (Finsert_file_contents): Record it as unwind-function for
3442 the case that reading is interrupted by C-g.
3443
ae794295
GM
34442001-07-10 Gerd Moellmann <gerd@gnu.org>
3445
fe5a0162 3446 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3447 update when scrolling_window returns 0.
3448
6b05fae3
GM
3449 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3450
3451 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3452 for the case that x_decode_color signals an error.
6b05fae3 3453
ae794295
GM
3454 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3455
bb6e8cee
GM
34562001-07-09 Gerd Moellmann <gerd@gnu.org>
3457
3458 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3459 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3460 around ioctls.
3461
36b40a8a
EZ
34622001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3463
24b97d4b
EZ
3464 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3465 doc string line for dos-timezone-offset.
3466
36b40a8a
EZ
3467 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3468 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3469 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3470 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3471
3472 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3473
0967b4b0
GM
34742001-07-05 Gerd Moellmann <gerd@gnu.org>
3475
f25cfe53
GM
3476 * sound.c: Include Emacs' header files with #include "...".
3477
0967b4b0
GM
3478 * eval.c (specbind): Additionally record the buffer that was
3479 current when a buffer-local or frame-local variable was bound.
3480
c347a1c3
GM
34812001-07-04 Gerd Moellmann <gerd@gnu.org>
3482
3483 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3484 to unibyte characters in unibyte buffers.
3485
6332ca8a
GM
34862001-07-03 Gerd Moellmann <gerd@gnu.org>
3487
38472d44
GM
3488 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3489 the frame on the binding stack. Change format of entries for
3490 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3491 (unbind_to): Handle unbinding a frame-local variable.
3492
6332ca8a 3493 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3494 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3495 (dump_glyph_row): Print row's continuation_lines_width.
3496 (try_window_id): Take the shortcut if ZV is visible in the
3497 window, but there are actually no changes at ZV.
3498
63d1b174
GM
34992001-07-02 Gerd Moellmann <gerd@gnu.org>
3500
4c175203
GM
3501 * xterm.h (x_free_dpy_colors): Add prototype.
3502
3503 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3504 right number of arguments.
3505
0b54ce28
GM
3506 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3507 ($(lwlibdir)TAGS): New target.
4c175203 3508 (TAGS): Fix dependency list.
0b54ce28 3509
63d1b174
GM
3510 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3511 with input blocked.
3512
d827466c
GM
35132001-06-30 Gerd Moellmann <gerd@gnu.org>
3514
3515 * emacs.c (main): Remove extern declaration for sys_nerr, which
3516 isn't used and causes a compilation error with GCC 3.0 on
3517 FreeBSD 4.3.
3518
b5cb1ada
GM
35192001-06-27 Gerd Moellmann <gerd@gnu.org>
3520
a5d3ec3f 3521 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3522 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3523 (toplevel): Include <signal.h> and syssignal.h.
3524
b5cb1ada
GM
3525 * sound.c (vox_configure, vox_close): Turn off atimers
3526 around ioctls.
3527
d9bad487
GM
35282001-06-26 Gerd Moellmann <gerd@gnu.org>
3529
fdbb67fe
GM
3530 * keyboard.c (read_char) <non_reread>: Record the previous idle
3531 start time before calling timer_stop_idle.
3532 (read_char) <reread_first>: After processing a help-echo event,
3533 restore the previous idle start time.
3534
d9bad487
GM
3535 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3536 the start of invisible text.
3537 (setup_for_ellipsis): New function.
3538 (next_overlay_string): After all overlay strings have been
3539 processed, display an ellipsis if necessary.
3540 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3541 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3542
3543 * dispextern.h (struct iterator_stack_entry): Add member
3544 display_ellipsis_p.
3545
2b9c25e0
GM
35462001-06-25 Gerd Moellmann <gerd@gnu.org>
3547
80de57df
GM
3548 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3549 on the value of the wait-for-wm frame parameter.
3550
3551 * xterm.h (struct x_output): Add member wait_for_wm.
3552
3553 * xfns.c (Qwait_for_wm): New variable.
3554 (x_frame_parms): Add entry for `wait-for-wm".
3555 (x_set_wait_for_wm): New function.
3556 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3557 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3558
2b9c25e0
GM
3559 * xdisp.c (try_window_id) <all changes below window end>: Don't
3560 take this shortcut if ZV is visible in the window.
3561 (try_window_id): When checking for window start being in changed
3562 text, don't check that the buffer's size has changed.
3563
f772775c
RS
35642001-06-23 Richard M. Stallman <rms@gnu.org>
3565
3566 * minibuf.c (Fcompleting_read): Doc fix.
3567
fa9090b8
GM
35682001-06-19 Gerd Moellmann <gerd@gnu.org>
3569
3570 * composite.c (Ffind_composition_internal): Accept ZV
3571 and a string's end position as POS.
3572
f6f1beba
GM
35732001-06-18 Gerd Moellmann <gerd@gnu.org>
3574
3575 * composite.c (Ffind_composition_internal): Check POS
3576 for validity.
3577
0ae83348
EZ
35782001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3579
3580 * editfns.c (Fmessage_box): If the frame is not under a window
3581 system, output the message in the echo area.
3582
e4cdc335
RS
35832001-06-14 Richard M. Stallman <rms@gnu.org>
3584
3585 * xdisp.c (try_window_id): When EOB is visible, don't treat
3586 insertion at EOB as if it were "off the bottom of the screen."
3587
a55a5f3c
AI
35882001-06-11 Andrew Innes <andrewi@gnu.org>
3589
3590 * w32proc.c (create_child): Add new parameter is_gui_app.
3591 (w32_executable_type): Add new parameter is_gui_app.
3592 (sys_spawnve): Use it.
3593 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3594 SIGQUIT. This matches better how the signals are interpreted by
3595 MSVC compiled programs.
3596 (syms_of_ntproc): Update docstring.
3597
1b85dc1c
SM
35982001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3599
3600 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3601 well otherwise note_mouse_highlight might optimize away highlighting
3602 if we pass over that same overlay again.
3603
b75f8eab
EZ
36042001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3605
3606 * lread.c (Fload): Document that the argument is run via
3607 substitute-in-file-name.
3608
94843cc1
GM
36092001-05-31 Gerd Moellmann <gerd@gnu.org>
3610
b14659e6
GM
3611 * Makefile.in (bootstrap-doc): New target.
3612 (bootstrap-emacs): Depend on it.
3613
0894672f
GM
3614 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3615 auto-save-list-file-name when shutting down Emacs, because
3616 creating the directory might signal an error, and leaves
3617 Emacs in a strange state.
3618
94843cc1
GM
3619 * term.c: (tty_cursor_hidden): New variable.
3620 (update_begin): Don't call tty_hide_cursor. Clean up.
3621 (update_end, set_terminal_window, set_scroll_region): Clean up.
3622 (ring_bell, reset_terminal_modes): Clean up.
3623 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3624 on tty_cursor_hidden.
3625 (write_glyphs): Call tty_hide_cursor.
3626
db3a49a6
SM
36272001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3628
3629 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3630
8bd189fb
GM
36312001-05-30 Gerd Moellmann <gerd@gnu.org>
3632
6f1be3b9
GM
3633 * xfns.c (enum image_value_type): New enumerator
3634 IMAGE_STRING_OR_NIL_VALUE.
3635 (parse_image_spec): Handle it.
3636 (xbm_format, pbm_format): Use it for :foreground and :background.
3637 (xbm_load, pbm_load): Check for nil color names.
3638
8bd189fb
GM
3639 * xterm.c (note_mouse_highlight): If an overlapping overlay
3640 exists, but we find that we highlight the same overlay as before,
3641 don't do the highlighting again.
3642
7bdba03c
GM
36432001-05-29 Gerd Moellmann <gerd@gnu.org>
3644
4c329aa8
GM
3645 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3646 Protect unibyte strings created by replacing their multibyte
3647 equivalents in menu_items.
3648
e15e2828
GM
3649 * keymap.c (Fsingle_key_description): NUL-terminate the string
3650 buffer before calling build_string.
3651
7bdba03c
GM
3652 * callproc.c (Fcall_process): Deal with decode_coding returning
3653 CODING_FINISH_INCONSISTENT_EOL.
3654
89c8dc6c
GM
36552001-05-28 Gerd Moellmann <gerd@gnu.org>
3656
db3a49a6 3657 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3658 an item's name with its key description in case the description
3659 is a multibyte string.
3660
3661 * keymap.c (Fsingle_key_description): Create a multibyte string
3662 only if necessary.
3663
eb04d6cd
GM
3664 * macros.c (Fstart_kbd_macro): Doc fix.
3665
8bd6307f
GM
3666 * xterm.c (cursor_in_mouse_face_p): New function.
3667 (x_draw_stretch_glyph_string): Use it to choose a different GC
3668 when drawing a cursor within highlighted text.
3669
e26c4089
GM
3670 * editfns.c (char_property_eq): Put in #if 0.
3671
3672 * indent.c (string_display_width): Put in #if 0.
3673
3674 * lread.c (Fload): Remove unused label.
3675
89c8dc6c
GM
3676 * termcap.c (speeds): Put in #if 0.
3677
9a1211f2
GM
36782001-05-18 Gerd Moellmann <gerd@gnu.org>
3679
29148a3f
GM
3680 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3681
9a1211f2
GM
3682 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3683 transformation matrix by 10.
3684
09393d07
GM
36852001-05-16 Gerd Moellmann <gerd@gnu.org>
3686
3687 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3688 only if it's equal to the former foreground pixel color.
db3a49a6 3689 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3690 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3691
460e6bae
GM
36922001-05-16 Dave Love <fx@gnu.org>
3693
3694 * insdel.c (signal_before_change, signal_after_change): Consider a
3695 local change hook which changes the buffer.
99c78ce8
GM
3696
3697 * process.c (read_process_output): Don't call signal_after_change
3698 and update_compositions after insert_from_string_before_markers.
3699
dbcf3c03
GM
37002001-05-16 Gerd Moellmann <gerd@gnu.org>
3701
a90b3d3c
GM
3702 * xfaces.c (split_font_name): Use the right field when
3703 checking for `[...]' syntax.
3704
1b7818b4
GM
3705 * buffer.c (copy_overlays): New function.
3706 (clone_per_buffer_values): Use it.
3707
3708 * buffer.h (OVERLAY_PLIST): New macro.
3709
9bae8781
GM
3710 * keymap.c (Fsingle_key_description): Replace a build_string with
3711 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3712
dbcf3c03
GM
3713 * fontset.c (Ffontset_info): Check that face is non-null
3714 before accessing its fields.
3715
8a1ae4dd
GM
37162001-05-15 Gerd Moellmann <gerd@gnu.org>
3717
18a0a39e
GM
3718 * keyboard.c (read_key_sequence): Prevent generating a fake
3719 prefix key twice.
3720
e335b66a
GM
3721 * xfaces.c (split_font_name): Handle `[...]' for the right
3722 font name fields.
3723
8a1ae4dd
GM
3724 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3725 of CCL_STAT_INVALID_CMD.
3726
3cf80731
SM
37272001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3728
33568849
SM
3729 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3730 in <var> has no default value yet.
3731
3cf80731
SM
3732 * xfaces.c (try_alternative_families): First try the FAMILY.
3733 And if nothing is found in the end, try again with scalable fonts.
3734 (try_font_list): Let try_alternative_families do a bit more of
3735 the work. Only use FAMILY if it is not nil.
3736 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3737
933b0249
GM
37382001-05-14 Gerd Moellmann <gerd@gnu.org>
3739
58e5af83
GM
3740 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3741 pointer shape when show_mouse_face has already done it.
33568849 3742
58e5af83 3743 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3744 full-width rows.
3745
7b16a6bf
GM
3746 * xfaces.c (split_font_name): Make sure to leave the loop
3747 with the right value of `i'.
3cf80731 3748
933b0249
GM
3749 * xfaces.c (split_font_name): Handle matrix transformations
3750 in the pixel and point size fields of XLFD font names.
3751 (xlfd_point_size): Likewise.
3752
dddcbf00
EZ
37532001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3754
3cf80731 3755 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3756 (x_to_w32_font): Add prototype.
3757
7689ef0b
EZ
3758 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3759 redefining, to avoid compiler warnings.
3760
e7c15bba
EZ
3761 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3762
dddcbf00
EZ
3763 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3764 (w32_get_bdf_glyph): Cast between unsigned char and char when
3765 passing arguments to subroutines, to shut up compiler warnings.
3766 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3767 GET_HEX_VAL.
3768
3769 * xfaces.c: Include keyboard.h before frame.h, not after it.
3770
3771 * widget.c: Include keyboard.h before frame.h.
3772
3773 * w32term.h (struct image, struct face): Forward declaration, to
3774 avoid compiler warnings.
3775
7bd2d083
GM
37762001-05-11 Gerd Moellmann <gerd@gnu.org>
3777
47e72862
GM
3778 * keyboard.c (read_key_sequence): Don't modify events when
3779 generating fake prefix keys (mode-line, scroll-bar, ...) since
3780 this prevents proper processing of such events when pushed back
3781 into unread-command-events.
3782
dd5f324b
GM
3783 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3784 actually redrawn. Make the function static.
3785 (note_mouse_highlight): Fix a case where the mouse cursor
3786 was changed back to the text cursor.
3787
3788 * xterm.h (clear_mouse_face): Remove prototype.
3789
d88a79d4
GM
3790 * xdisp.c (try_window_id): Fix the fix and set the right
3791 window_end_vpos.
3792
3793 * xdisp.c (try_window_id): Fix computation of window end in the
3794 case that lines were deleted at the end of the window. Add some
3795 more debug_method_adds.
0416532f 3796
7bd2d083
GM
3797 * xfaces.c (try_alternative_families): New function.
3798 (try_font_list): Use it. If ATTRS specifies a family, check
3799 fonts from that family first.
3800 (choose_face_font): Remove code setting the family part of
3801 the pattern to nil.
3802
23fca891
GM
38032001-05-10 Gerd Moellmann <gerd@gnu.org>
3804
ff9aa2ca
GM
3805 * xdisp.c (try_window_id): Fix case of all changes before
3806 the window start.
7b2654b5 3807
23fca891
GM
3808 * xdisp.c (try_window_id): Add some xasserts.
3809
e9726794
GM
38102001-05-09 Gerd Moellmann <gerd@gnu.org>
3811
3812 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3813
9e53a675
GM
38142001-05-09 Dave Love <fx@gnu.org>
3815
3816 * xdisp.c (GIVE_UP): Fix for K&R C.
3817
0d487c52
GM
38182001-05-09 Gerd Moellmann <gerd@gnu.org>
3819
fe88d421
GM
3820 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3821
0d487c52
GM
3822 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3823 back to the text cursor shape without need.
3824
1e9fc92e
GM
38252001-05-07 Gerd Moellmann <gerd@gnu.org>
3826
a2a6232e
GM
3827 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3828
3829 * dispextern.h (inverse_video): Declare extern.
3830
1e9fc92e
GM
3831 * keyboard.c (delete_kboard): Handle the case that selected_frame
3832 has been deleted in the course of x_connection_closed.
3833
12949a7f
EZ
38342001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3835
7b2654b5
SM
3836 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3837 Fix the change from 2001-04-30.
12949a7f 3838
2fa2f461
GM
38392001-05-03 Gerd Moellmann <gerd@gnu.org>
3840
a779d213
GM
3841 * xfns.c (file_dialog_unmap_cb): New function.
3842 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3843 where a dialog is closed via the window manager.
3844
7b2654b5 3845 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3846 the window start or all below the window end mostly rewritten.
3847 (redisplay_window): Move the tests if try_window_id is
3848 applicable to try_window_id.
3849 (GIVE_UP): New macro.
3850
3356df63
GM
38512001-05-02 Gerd Moellmann <gerd@gnu.org>
3852
a39202f6 3853 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3854 currently being updated, mark the frame garbaged.
3855 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3856 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3857
3356df63
GM
3858 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3859 again if it has already been drawn.
3860
a9d2fd1d
SM
38612001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3862
3863 * syntax.c (update_syntax_table): Check that oldi has the same
3864 properties as old_prop before deciding not to invalidate.
3865
c95fc5f1
GM
38662001-04-30 Gerd Moellmann <gerd@gnu.org>
3867
a9793e45
GM
3868 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3869 read-only text that is so because of text properties.
3870
c95fc5f1 3871 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3872 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3873 windows that are components of a Lucid menu bar.
3874
5a5d9185
GM
38752001-04-27 Gerd Moellmann <gerd@gnu.org>
3876
3877 * term.c (turn_on_face): Fix reverse video handling on terminals
3878 that don't support colors.
3879
ba973f7a
GM
38802001-04-26 Gerd Moellmann <gerd@gnu.org>
3881
3882 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3883 a non-buffer.
3884
8c56a983
GM
38852001-04-25 Gerd Moellmann <gerd@gnu.org>
3886
a728644c
GM
3887 * term.c (toggle_highlight): New function.
3888 (turn_on_face): Change handling of reverse video.
3889
7b2654b5
SM
3890 * process.c (wait_reading_process_input):
3891 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3892
bfd8410f
GM
3893 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3894 of the number of overlays to check.
3895
be2488ca
GM
3896 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3897
8c56a983
GM
3898 * xdisp.c (try_window_id): Fix a case where window_end_pos
3899 and window_end_bytepos were not adjusted.
3900
522d42f7
GM
39012001-04-23 Gerd Moellmann <gerd@gnu.org>
3902
3903 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3904 zero instead of -1.
3905
78c1afb6
EZ
39062001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3907
a9d2fd1d
SM
3908 * process.c (wait_reading_process_input) [!subprocesses]:
3909 Don't reference waiting_for_user_input_p, it's not defined in the
3910 branch without async subprocesses support.
78c1afb6 3911
a2fab450
GM
39122001-04-19 Gerd Moellmann <gerd@gnu.org>
3913
a122a38e
GM
3914 * keyboard.c (delete_kboard): Prevent a dangling reference
3915 from current_kboard to KB, which is freed.
3916
a9d2fd1d
SM
3917 * process.c (wait_reading_process_input):
3918 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3919 read_key_sequence aware of buffer changes from under it.
3920
0f8d6dc7
GM
39212001-04-18 Gerd Moellmann <gerd@gnu.org>
3922
eeffb293
GM
3923 * xfaces.c (Qscalable_fonts_allowed): New variable.
3924 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3925 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3926 removed.
eeffb293 3927 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3928 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3929 for scalable-fonts-allowed to t.
eeffb293 3930
0f8d6dc7
GM
3931 * fileio.c (Finsert_file_contents): If the file size returned from
3932 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3933 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3934
eec2d1de
EZ
39352001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3936
3937 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3938 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3939 (__memalign_hook): Make the two prototypes consistent.
3940
f4f480bd
GM
39412001-04-17 Gerd Moellmann <gerd@gnu.org>
3942
3943 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3944 matrix of mini-windows.
3945
52283633
SM
39462001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3947
3948 * intervals.c (find_interval): Don't rebalance during signal handling.
3949
ec2423c9
GM
39502001-04-11 Gerd Moellmann <gerd@gnu.org>
3951
30cb0001 3952 * fns.c: Include blockinput.h.
52283633 3953
ec2423c9
GM
3954 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3955
719d83ad
GM
39562001-04-10 Gerd Moellmann <gerd@gnu.org>
3957
60f8d735
GM
3958 * fns.c (Fcompare_strings): Fix return values.
3959
afffeb57
GM
3960 * window.c (window_scroll): Change the meaning of N to mean
3961 N screen-fulls or N lines.
3962 (window_scroll_pixel_based, window_scroll_line_based)
3963 (scroll_command, Fscroll_other_window): Change accordingly.
3964
52283633
SM
3965 * window.c (window_scroll_pixel_based, Frecenter):
3966 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3967 height of the window.
3968
3969 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3970 instead of using it.last_visible_y for the height of the window.
52283633 3971
719d83ad 3972 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3973 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3974
3975 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3976 able to write to hidden and system files. From Dan Holmsand
3977 <dan@eyebee.com>.
719d83ad 3978
8ddf3ee1
GM
3979 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3980 Holmsand <dan@eyebee.com>.
719d83ad 3981
522ed7fb
GM
39822001-04-09 Gerd Moellmann <gerd@gnu.org>
3983
9170e5d4
GM
3984 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3985
522ed7fb
GM
3986 * window.c (window_internal_height): Return 1 less if the
3987 window has a header line.
3988
3989 * xdisp.c (try_window_id): When scrolling on a terminal, take
3990 the change of window_internal_height into account.
3991
ceeb3d7d
EZ
39922001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3993
3994 * gmalloc.c (align): If the argument SIZE would overflow
3995 __malloc_ptrdiff_t, fail right away.
3996
63685b9d
GM
39972001-04-06 Gerd Moellmann <gerd@gnu.org>
3998
3999 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
4000 Make sure the tooltip is completely visible.
4001 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
4002
4003 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
4004
4005 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
4006
3ffb33bb
DL
40072001-04-06 Dave Love <fx@gnu.org>
4008
52283633
SM
4009 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
4010 Fix test of `from'.
3ffb33bb 4011
869fb12c
GM
40122001-04-06 Gerd Moellmann <gerd@gnu.org>
4013
52283633 4014 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 4015
869fb12c
GM
4016 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
4017
441bf856
GM
40182001-04-05 Gerd Moellmann <gerd@gnu.org>
4019
4d664b04
GM
4020 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
4021
52283633 4022 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 4023
30ca89f5
GM
4024 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
4025 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
4026
4027 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
4028 shell widget's position only if it is non-null.
4029
52283633
SM
4030 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
4031 Set f->output_data.x->widget to null after destroying it.
30ca89f5 4032
81a81c0f
GM
4033 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
4034 FILENAME to bring it in synch with the documentation.
4035
441bf856
GM
4036 * xfaces.c (realizing_basic_faces_p): Renamed from
4037 realize_default_face_p.
4038 (realize_basic_faces): Set/clear realizing_basic_faces_p.
4039 (realize_default_face): Don't set the flag.
4040
702a1e8e
GM
40412001-04-04 Gerd Moellmann <gerd@gnu.org>
4042
1013f4e3
GM
4043 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
4044
52283633
SM
4045 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
4046
1013f4e3
GM
4047 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
4048 the buffer that was used for echoing.
4049
702a1e8e
GM
4050 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
4051 (first_font_matching): Removed unused function.
4052 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
4053 (may_use_scalable_font_p): Remove parameter FONT; rename
4054 parameter NAME to FONT.
4055 (x_face_list_fonts): Fix missing bounds check.
4056 (realizing_default_face_p): New variable.
4057 (realize_default_face): Set and clear that flag.
4058 (x_face_list_fonts): When called during the realization of the
4059 default face, and no matching fonts are found when ignoring
4060 scalable fonts and fonts matching a regexp from
4061 face-ignored-fonts, try without ignoring fonts.
4062
f9dbcda4
GM
40632001-04-03 Gerd Moellmann <gerd@gnu.org>
4064
ad18ffb1
GM
4065 * xfns.c (postprocess_image): New function.
4066 (lookup_image): Call it for all image types except PostScript.
4067 (x_kill_gs_process): Call postprocess_image.
4068
f9dbcda4
GM
4069 * xterm.c (x_use_underline_position_properties): New variable.
4070 (x_draw_glyph_string): Use it.
4071 (syms_of_xterm): DEFVAR_BOOL it.
4072
651f03b6
GM
40732001-04-02 Gerd Moellmann <gerd@gnu.org>
4074
4075 * xterm.c (x_alloc_nearest_color_1): New function.
4076 (x_alloc_nearest_color): Use it.
4077 (x_color_cells): Take a Display as argument, instead of a frame.
4078 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4079 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4080 (x_initialize): Register cvt_string_to_pixel as resource converter
4081 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4082
73d75a62
GM
40832001-03-30 Gerd Moellmann <gerd@gnu.org>
4084
b2046df8
GM
4085 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4086 (set_iterator_to_next): If a string from a display property ends,
4087 consider the case that this might also be the end of an
4088 overlay string having the display property.
4089
52283633 4090 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 4091
87d8eba4
GM
4092 * xdisp.c (reseat_to_string): Undo last change.
4093
73d75a62
GM
4094 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4095 matrix of a window when the header line changes, when
4096 new rows are allocated, or when the width changes.
4097
911a2406
EZ
40982001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4099
52283633 4100 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 4101
aea51abe
EZ
41022001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4103
4104 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4105 deprecated.
4106
176bc847
GM
41072001-03-29 Gerd Moellmann <gerd@gnu.org>
4108
ed31fabf
GM
4109 * data.c (Fsubr_interactive_form): New function.
4110 (syms_of_data): Defsubr it.
4111
176bc847
GM
4112 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4113 (live_float_p, live_misc_p): Return 1 only if the offset of the
4114 pointer in its block is >= 0.
4115
e59d0e9d
GM
41162001-03-28 Paul Eggert <eggert@twinsun.com>
4117
4118 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4119 microseconds calcuation. Avoid double-rounding problem.
4120 In doc string, warn that the result is approximate.
4121
f827b862
GM
41222001-03-28 Gerd Moellmann <gerd@gnu.org>
4123
30a3f61c
GM
4124 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4125 bind `inhibit-eval-during-redisplay' to t.
4126
4127 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4128
4129 * xdisp.c (inhibit_eval_during_redisplay)
4130 (Qinhibit_eval_during_redisplay): New variables.
4131 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4132 don't eval, return nil instead.
4133 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4134 Initialize Qinhibit_eval_during_redisplay.
4135
e719f5ae
GM
4136 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4137 the iterator's multibyte_p flag.
4138
deb2613a
GM
4139 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4140 instead of setting it to zero; it's incremented for each frame
4141 where the menu face is changed.
4142
52283633
SM
4143 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4144 change bottom shadow accordingly.
4145
4146 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4147 intersections here.
4148 (expose_window): Do it here instead.
52283633 4149 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4150
f827b862
GM
4151 * bytecode.c (BYTE_CODE_QUIT): New macro.
4152 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4153
4bde0ebb
GM
41542001-03-27 Gerd Moellmann <gerd@gnu.org>
4155
607ec83c
GM
4156 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4157 Give up if matrix starts in an ellipsis.
4158 (init_from_display_pos): Do nothing if POS doesn't specify
4159 a dpvec_index but the iterator has such a position.
4160
0245398f
GM
4161 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4162
aba25348
GM
4163 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4164 x/y position is (0, 0) after destroying the menu bar, restore
4165 its original position.
4166
4bde0ebb
GM
4167 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4168 (init_from_display_pos): Use it.
4169 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4170
8cdb267e
GM
41712001-03-26 Gerd Moellmann <gerd@gnu.org>
4172
4173 * xdisp.c (try_window_id): Undo last change.
4174
9948db79
EZ
41752001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4176
4177 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4178
4179 * buffer.c (syms_of_buffer): Doc fix.
4180
2eddf899
GM
41812001-03-26 Gerd Moellmann <gerd@gnu.org>
4182
4183 * xfaces.c (x_update_menu_appearance): Use local variable
4184 popup_path for setting font resources.
4185
6c145d35
EZ
41862001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4187
6a65b1b5
EZ
4188 * frame.c (Fframe_list): Don't reference tip_frame if
4189 HAVE_WINDOW_SYSTEM is not defined.
4190
6c145d35
EZ
4191 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4192 <wl@gnu.org>.
4193
d74c1900
GM
41942001-03-25 Gerd Moellmann <gerd@gnu.org>
4195
20fbd925
GM
4196 * xdisp.c (init_from_display_pos): Test invisible property
4197 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4198
927c5b3b
GM
4199 * xdisp.c (redisplay_internal) <update one window>: Make sure
4200 last_arrow_position and last_arrow_string are set.
4201
d74c1900
GM
4202 * frame.c (Fframe_list): Don't return a tooltip frame.
4203
091f8878
GM
42042001-03-23 Gerd Moellmann <gerd@gnu.org>
4205
52283633
SM
4206 * xdisp.c (mark_window_display_accurate_1): New function,
4207 extracted from mark_window_display_accurate.
4208 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4209 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4210 (mark_window_display_accurate): Use it.
4211 (redisplay_internal): Use it for the selected window.
4212 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4213 for the selected frame.
4214
ac90c44f
GM
4215 * xdisp.c Use make_number, for readability.
4216 (try_window_id): Disable rows below the window end.
4217 (try_window_reusing_current_matrix): Use cursor_row_p.
4218 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4219 of rows.
4220 (init_from_display_pos): If POS specifies a position in a display
4221 vector, maybe get the iterator set up for that ellipsis.
43c09969 4222
091f8878
GM
4223 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4224
991786dd
EZ
42252001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4226
4227 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4228
6c29b43c
GM
42292001-03-23 Gerd Moellmann <gerd@gnu.org>
4230
4231 * xfaces.c (x_update_menu_appearance): Use a different path
4232 for Lucid popup menus.
4233
d8731202
SM
42342001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4235
4236 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4237
4238 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4239 (string_buffer_position): Use `make_number'.
4240
f61a541b
GM
42412001-03-22 Gerd Moellmann <gerd@gnu.org>
4242
3c9e997b
GM
4243 * xfaces.c (x_update_menu_appearance): Renamed from
4244 x_set_menu_face_resources. Use different resources for popups.
4245
4246 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4247 (GC_CHECK_STRING_BYTES): Don't define.
4248
364cd450
GM
4249 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4250 Removed, together with subroutines.
4251 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4252 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4253
d8731202
SM
4254 * dispextern.h (x_set_menu_resources_from_menu_face):
4255 Remove prototype.
364cd450 4256
d8731202 4257 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4258 Remove calls to x_set_menu_resources_from_menu_face.
4259
d8731202
SM
4260 * xfaces.c (xm_set_menu_resources_from_menu_face):
4261 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4262
4263 * xmenu.c: Include widget.h.
4264 (single_submenu): Return int. Some cleanup.
4265 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4266
140330de
GM
42672001-03-21 Gerd Moellmann <gerd@gnu.org>
4268
4269 * xterm.c (x_update_window_end): Handle overwritten mouse face
4270 also for tool bar windows.
4271 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4272 DRAW is DRAW_IMAGE_RAISED.
4273
1741905c
GM
42742001-03-20 Gerd Moellmann <gerd@gnu.org>
4275
fa88947e
GM
4276 * print.c (syms_of_print): Doc fixes.
4277
1741905c
GM
4278 * fns.c (Fmd5): Doc fix.
4279
ade0bee1
GM
42802001-03-19 Gerd Moellmann <gerd@gnu.org>
4281
357e7376
GM
4282 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4283 Clear area of the frame not occupied by the scroll bar.
4284
c2c097cc
GM
4285 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4286 tip frame's root window buffer to *tip* right after creating
4287 the frame.
4288
ade0bee1
GM
4289 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4290 is an integer don't have to be for space characters.
4291
88c6e37e
GM
42922001-03-16 Gerd Moellmann <gerd@gnu.org>
4293
52283633
SM
4294 * indent.c (current_column, current_column_1, Fmove_to_column)
4295 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4296
c62eed76
KH
42972001-03-15 Kenichi Handa <handa@etl.go.jp>
4298
4299 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4300 drawing glyph string.
4301
c899e7e6
GM
43022001-03-15 Gerd Moellmann <gerd@gnu.org>
4303
d0bbfc99
GM
4304 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4305 (command_loop_1): Undo last change.
4306
03d1a189
GM
4307 * xterm.c (fast_find_position): Return the correct vpos.
4308
c899e7e6 4309 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4310 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4311 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4312 Call store_symval_forwarding with BUF null.
4313 (set_internal): Call store_symval_forwarding with the BUF
4314 parameter passed to set_internal. Formerly, the value was always
4315 set in the current buffer; the buffer recorded in specbind for
4316 this case wasn't used.
4317 (arith_driver): Reindent.
4318
52283633
SM
4319 * buffer.c (swap_out_buffer_local_variables):
4320 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4321
4322 * lisp.h (store_symval_forwarding): Change prototype.
4323
4324 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4325
57ac7c81
GM
43262001-03-14 Gerd Moellmann <gerd@gnu.org>
4327
697617d9
GM
4328 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4329 FOR_DELETION. Avoid resizing the mini-window of the selected
4330 frame if FOR_DELETION is set.
4331 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4332 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4333 signature.
4334
4335 * window.c (Fset_window_configuration): Change call to
4336 do_switch_frame to new format.
4337
4338 * keyboard.c (quit_throw_to_read_char): Change call to
4339 do_switch_frame to new format.
4340
4341 * lisp.h (do_switch_frame): Change prototype.
4342
819dce0f
GM
4343 * frame.c (Fframe_parameters): In the `buffer-list' frame
4344 parameter, store the buffer list of FRAME, not the list of the
4345 selected frame.
4346
57ac7c81
GM
4347 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4348 box just because the glyph row's full_width_p flag is set.
4349
65008712
GM
43502001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4351
4352 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4353 skip the padding blanks inserted in extend_face_to_end_of_line,
4354 before checking for trailing whitespace.
4355
159cf431
GM
43562001-03-13 Gerd Moellmann <gerd@gnu.org>
4357
52283633 4358 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4359 Remove special handling for LessTif/Motif.
4360 (toplevel): Don't include Xm/Xm.h.
4361
52283633
SM
4362 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4363 Remove workaround code for LessTif; it doesn't work anymore.
4364
2564ea1b 4365 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4366 Xm/ScrollBarP.h.
afcdc0a1 4367
52283633
SM
4368 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4369 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4370 contemporary LessTif.
4371
52283633
SM
4372 * xfaces.c (xm_set_menu_resources_from_menu_face):
4373 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4374
159cf431
GM
4375 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4376 removing button grabs.
4377
c6f7429a
KH
43782001-03-13 Kenichi Handa <handa@etl.go.jp>
4379
cb82d767
KH
4380 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4381 and clip-large-size-font as obsolete.
4382
c6f7429a
KH
4383 * lread.c (read_multibyte): Check the validity of multibyte
4384 sequence. If invalid, return the first byte.
4385
760cefb5
GM
43862001-03-12 Gerd Moellmann <gerd@gnu.org>
4387
4388 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4389 before running the command; timer functions or process
4390 filters may have set it.
4391
5141f9d0
EZ
43922001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4393
4394 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4395 Doc fix.
4396
b6a15240
GM
43972001-03-12 Gerd Moellmann <gerd@gnu.org>
4398
4399 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4400 to sprintf.
4401
95522746
GM
44022001-03-09 Gerd Moellmann <gerd@gnu.org>
4403
db14cfc5
GM
4404 * dispextern.h (string_buffer_position): Add prototype.
4405
52283633 4406 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4407 (single_display_prop_string_p): New functions.
4408
4409 * xterm.c (note_mouse_highlight): If there's no help-echo on
4410 a string, look at the buffer text ``under'' it.
4411
4412 * keyboard.c (make_lispy_event): Add string info to the event,
4413 analogous to what's done on mode lines.
4414 (read_key_sequence): For a click on a string, consider `local-map'
4415 and `keymap' of that string.
4416
52283633
SM
4417 * keyboard.c (make_lispy_event, make_lispy_movement):
4418 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4419
4420 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4421
4422 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4423 POS; return void.
4424
95522746
GM
4425 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4426 flags argument to emacs_open; it seems to conflict with O_EXCL.
4427
898a399d
KH
44282001-03-09 Kenichi Handa <handa@etl.go.jp>
4429
28cd4910
KH
4430 * composite.h (struct composition): Change types of members;
4431 glyph_len to unsigned, width to unsigned short.
898a399d 4432
4cdf6a6c
AI
44332001-03-08 Andrew Innes <andrewi@gnu.org>
4434
4435 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4436 menu titles.
4437
129004d3
GM
44382001-03-08 Gerd Moellmann <gerd@gnu.org>
4439
221dd3e7
GM
4440 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4441 instead of nil.
4442
52283633 4443 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4444 help-echo in strings.
4445 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4446 (fast_find_string_pos): New function.
4447
52283633
SM
4448 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4449 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4450
4451 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4452 Handle `mouse-face'.
4453
4454 * dispextern.h (face_at_string_position): Change prototype.
4455
52283633 4456 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4457
129004d3
GM
4458 * keyboard.c (make_lispy_event): Avoid generating drag events
4459 if the mouse hasn't actually moved to another buffer position.
52283633 4460
80c8ab8c
DL
44612001-03-08 Dave Love <fx@gnu.org>
4462
129004d3 4463 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4464
989521fd
GM
44652001-03-08 Gerd Moellmann <gerd@gnu.org>
4466
4467 * process.c (Fset_process_window_size): Fix a typo.
4468
bb5c338d
KH
44692001-03-08 Kenichi Handa <handa@etl.go.jp>
4470
4471 * coding.c (detect_coding_sjis): Do more rigid check.
4472 (detect_coding_big5): Likewise.
4473 (decode_coding_sjis_big5): Likewise.
4474 (Fdetect_coding_region): Call detect_coding_system with tailing
4475 anchor byte `\0' for more rigid detection.
52283633 4476 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4477 (Fdetect_coding_string): Likewise.
4478
8b8f9197
SM
44792001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4480
4481 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4482 a string before extracting its data.
4483
3bdf2660
GM
44842001-03-07 Gerd Moellmann <gerd@gnu.org>
4485
4486 * window.c (Frecenter): Rewrite code handling negative values
4487 of ARG on graphical frames.
4488
44892001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4490
4491 * window.c (displayed_window_lines): If W->start is outside the
4492 accessible portion of the buffer, call start_display with BEGV or
4493 ZV instead of W->start.
4494
471f86b9
GM
44952001-03-07 Gerd Moellmann <gerd@gnu.org>
4496
2ab62c6c
GM
4497 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4498
471f86b9
GM
4499 * process.c (Fset_process_filter): Don't crash if the input
4500 file descriptor of PROCESS is closed.
4501 (Fset_process_window_size): Likewise.
4502
101922c3
GM
45032001-03-06 Kenichi Handa <handa@etl.go.jp>
4504
4505 * xterm.c (XTflash): Make the timeout of select shorter, and call
4506 select repeatedly until the desired time expires.
4507
45d051a7
GM
45082001-03-06 Gerd Moellmann <gerd@gnu.org>
4509
4510 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4511
4512 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4513
4514 * lisp.h (Vwindow_list): Declare extern.
4515
8f372c46
EZ
45162001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4517
4518 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4519
f16a7aa5
GM
45202001-03-06 Gerd Moellmann <gerd@gnu.org>
4521
157ae273
GM
4522 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4523 to detect a case where we have to highlight a different region
4524 despite not having left the currently highlighted region.
4525 Set mouse_face_overlay in the x_display_info.
45d051a7 4526 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4527
4528 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4529
4530 * buffer.c (mouse_face_overlay_overlaps): New function.
4531
4532 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4533 (Qmouse_face): Declare extern.
4534
f16a7aa5
GM
4535 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4536 if face_change_count is non-zero.
4537
827afcac
KH
45382001-03-06 Kenichi Handa <handa@etl.go.jp>
4539
4540 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4541 that the source is unibyte.
4542
14c7242e
DL
45432001-03-05 Dave Love <fx@gnu.org>
4544
827afcac 4545 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4546
c28b847b
GM
45472001-03-05 Gerd Moellmann <gerd@gnu.org>
4548
4549 * minibuf.c (read_minibuf): Clean up the binding stack if
4550 called noninteractively.
4551
b86644f2
KH
45522001-03-05 Kenichi Handa <handa@etl.go.jp>
4553
4554 * coding.c (syms_of_coding): Docstring modified.
4555
203682cc 45562001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4557
4558 * charset.c (char_to_string): If a single byte char has modifier
4559 bits that can't be reflected to the character code, ignore them
45d051a7 4560 instead of signaling an error.
b86644f2 4561
e30bd7b7
EZ
45622001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4563
4564 * s/msdos.h: Update copyright notice.
4565
4566 * dosfns.h: Update copyright notice.
4567
4568 * dosfns.c: Update copyright notice.
4569
4570 * msdos.c: Update copyright notice.
4571
b52b65bd
GM
45722001-03-02 Gerd Moellmann <gerd@gnu.org>
4573
4574 * xterm.c (glyph_rect): New function.
4575 (XTmouse_position): Use it to raise the threshold for mouse
4576 movement event generation.
4577
53c4b1e6
EZ
45782001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4579
4580 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4581 specifies (reverse . t), reverse the initial screen colors.
4582 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4583 but we are reversing the colors, set bg_set, not fg_set.
4584 Likewise for setting background-color and reversing: set fg_set.
4585 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4586 in effect.
4587
4588 * xfaces.c (Finternal_set_lisp_face_attribute)
4589 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4590 parameters alist.
4591
f964b4d7
GM
45922001-03-02 Gerd Moellmann <gerd@gnu.org>
4593
ef53d75e
GM
4594 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4595 to a single slash in the middle of file names.
4596
52283633 4597 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4598 Accept only alphanumeric time zone names.
4599
f964b4d7
GM
4600 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4601 or width area.
4602 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4603 a widget to zero height.
52283633 4604
c3c45f65
GM
46052001-03-01 Gerd Moellmann <gerd@gnu.org>
4606
4607 * window.c (Fwindow_end): Call move_it_past_eol only if
4608 ending up on a partially visible line.
4609
028d739a
DL
46102001-03-01 Dave Love <fx@gnu.org>
4611
4612 * ccl.c (Fccl_execute): Doc fix.
4613
57c5889c
GM
46142001-03-01 Gerd Moellmann <gerd@gnu.org>
4615
35f59f6b
GM
4616 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4617 of the tool bar before calling x_figure_window_size.
4618
f84ff02c
GM
4619 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4620 NULL after destroying it, otherwise XTread_socket can access a
4621 destroyed widget when input is unblocked.
4622
8b8f9197 4623 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4624
57c5889c
GM
4625 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4626 same name as before, although there was a change in fontsets.
4627
224227d1
KR
46282001-02-28 Ken Raeburn <raeburn@gnu.org>
4629
4560730a
KR
4630 * lisp.h (Fframe_parameter): Declare.
4631
224227d1 4632 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4633 Lisp_Object.
224227d1 4634
ece93c02
GM
46352001-02-28 Gerd Moellmann <gerd@gnu.org>
4636
11ef99b9
GM
4637 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4638 NULL instead.
4639
4640 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4641 NULL instead.
4642
ece93c02
GM
4643 * alloc.c (toplevel): Include process.h.
4644 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4645 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4646 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4647 (allocate_vector, allocate_hash_table, allocate_window)
4648 (allocate_frame, allocate_process, allocate_other_vector):
4649 New functions.
ece93c02
GM
4650 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4651 (mark_maybe_pointer): New function.
52283633 4652 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4653 remain and not Lisp_Objects.
4654 (min_heap_address, max_heap_address): New variables.
4655 (mem_find): Return MEM_NIL if START is below min_heap_address or
4656 above max_heap_address.
4657 (mem_insert): Compute min_heap_address and max_heap_address.
4658
4659 * process.c (make_process): Use allocate_process.
4660
4661 * frame.c (make_frame): Use allocate_frame.
4662
4663 * window.c (make_window, make_dummy_parent): Use allocate_window.
4664 (Fcurrent_window_configuration): Use allocate_other_vector.
4665
4666 * lisp.h (allocate_vectorlike): Remove prototype.
4667 (allocate_vector, allocate_other_vector, allocate_frame)
4668 (allocate_window, allocate_process, allocate_hash_table):
4669 Add prototypes.
4670
4671 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4672 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4673
063af457
KH
46742001-02-27 Kenichi Handa <handa@etl.go.jp>
4675
4676 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4677 treat the produced bytes as a valid multibyte sequence.
4678
4679 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4680 (ccl_driver) <CCL_WriteMultibyteChar2>:
4681 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4682 <ccl_finish>: Set ccl->eight_bit_control properly.
4683
4684 * ccl.h (struct ccl_program): New member eight_bit_control.
4685
f58c6494
SM
46862001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4687
4688 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4689 accessible_keymaps_char_table.
4690 (accessible_keymaps_char_table): Obey `is_metized'.
4691 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4692 Lisp_Object.
4693
c596c392
GM
46942001-02-26 Gerd Moellmann <gerd@gnu.org>
4695
4696 * dispnew.c: Check HAVE_TERM_H before including term.h.
4697
425de386
AI
46982001-02-24 Andrew Innes <andrewi@gnu.org>
4699
4700 * makefile.w32-in: Update copyright notice.
4701
2ba11bbd
SM
47022001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4703
4704 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4705
66c56ed1
KH
47062001-02-24 Kenichi Handa <handa@etl.go.jp>
4707
4c1593ce
KH
4708 * Makefile.in (lisp): Add international/utf-8.elc.
4709
66c56ed1
KH
4710 * fontset.c (Fnew_fontset): Fix handling of the case that an
4711 element of FONTLIST is a cons of family and registry.
4712
796ead7e
JR
47132001-02-23 Jason Rumney <jasonr@gnu.org>
4714
4715 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4716 to height unconditionally.
4717
4718 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4719 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4720 (x_insert_glyphs): Call window_box_left to obtain the left
4721 x-coordinate of the area to shift.
4722
4723 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4724 safe_run_hooks.
4725
f6839838
AI
47262001-02-22 Andrew Innes <andrewi@gnu.org>
4727
52283633 4728 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4729 ($(BLD)\dispnew.obj):
4730 ($(BLD)\editfns.obj):
4731 ($(BLD)\fileio.obj):
4732 ($(BLD)\filelock.obj):
4733 ($(BLD)\keyboard.obj):
4734 ($(BLD)\w32proc.obj):
4735 ($(BLD)\process.obj):
4736 ($(BLD)\sysdep.obj): Ditto.
4737
4738 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4739 header files.
52283633
SM
4740 ($(BLD)/dispnew.$(O)):
4741 ($(BLD)/editfns.$(O)):
4742 ($(BLD)/fileio.$(O)):
4743 ($(BLD)/filelock.$(O)):
4744 ($(BLD)/keyboard.$(O)):
4745 ($(BLD)/w32proc.$(O)):
4746 ($(BLD)/process.$(O)):
f6839838
AI
4747 ($(BLD)/sysdep.$(O)): Ditto.
4748
c224f70b
GM
47492001-02-22 Gerd Moellmann <gerd@gnu.org>
4750
51695746
GM
4751 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4752 at the start of the function, check that the \n in it->c is
4753 from the iterator's current position.
52283633 4754
a61b7058
GM
4755 * xdisp.c (handle_single_display_prop): Add parameter
4756 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4757 properties which replace the display of text with something else.
4758 (handle_display_prop): Call handle_single_display_prop with
4759 additional argument saying if we already replaced text display
4760 with something else. Use AREF.
52283633 4761 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4762 (decode_mode_spec_coding): Use AREF and ASIZE.
4763
3473f362
GM
4764 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4765 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4766 * vmstime.h: Files removed.
52283633 4767
2bb58df3
GM
4768 * unexencap.c, unexfx2800.c: Files removed.
4769
c224f70b
GM
4770 * dispnew.c (direct_output_for_insert): Give up if we are showing
4771 a message or just cleared the message because we might need to
4772 resize the echo area window or display an empty echo area.
4773
ffc9ff0c
GM
47742001-02-21 Gerd Moellmann <gerd@gnu.org>
4775
0528abe1
GM
4776 * xdisp.c (redisplay_internal): Do the
4777 mark_window_display_accurate after all windows have been
4778 redisplayed because this call resets flags in buffers which are
4779 needed for proper redisplay.
4780
52283633
SM
4781 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4782 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4783 the old names.
4784
52283633
SM
4785 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4786 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4787
4788 * msdos.h (struct x_output): Rename busy_window to
4789 hourglass_window, busy_p to hourglass_p.
4790
52283633
SM
4791 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4792 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4793
4794 * xfns.c: Rename everything containing *busy_cursor* and similar
4795 to *hourglass*.
4796 (syms_of_w32fns): Rename x-busy-pointer-shape to
4797 x-hourglass-pointer-shape, display-busy-cursor to
4798 display-hourglass, busy-cursor-delay to hourglass-delay.
4799
4800 * w32fns.c: Rename everything containing *busy_cursor* and similar
4801 to *hourglass*.
4802 (syms_of_w32fns): Rename x-busy-pointer-shape to
4803 x-hourglass-pointer-shape, display-busy-cursor to
4804 display-hourglass, busy-cursor-delay to hourglass-delay.
4805
4806 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4807 of its busy_p flag.
4808
4809 * dispextern.h (start_hourglass, cancel_hourglass)
4810 (display_hourglass_p): Renamed from *busy_cursor*.
4811
ab2c5f0a
GM
48122001-02-20 Gerd Moellmann <gerd@gnu.org>
4813
d17e49a8
GM
4814 * keyboard.c (read_char): When an event from unread-command-events
4815 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4816
fa97adf6
GM
4817 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4818 equal to the current buffer.
4819
ab2c5f0a
GM
4820 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4821 nil, otherwise we're left with truncate_lines t when a message
4822 is printed with message-truncate-lines bound to t.
4823
aeac019e
GM
48242001-02-19 Gerd Moellmann <gerd@gnu.org>
4825
c8bc6f65
GM
4826 * window.c (Fmove_to_window_line): Undo last change.
4827 (displayed_window_lines): Call line_bottom_y to determine
4828 the line's bottom position.
4829
4830 * dispextern.h (line_bottom_y): Add prototype.
4831
52283633 4832 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4833 (pos_visible_p): Use it.
4834
980a2d69
GM
4835 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4836 set redisplaying_p to 0 here instead of in Frecursive_edit.
4837 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4838 set redisplaying_p.
4839
52283633 4840 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4841 New variables.
4842 (syms_of_xdisp): Initialize new variables.
4843 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4844 Specbind `inhibit-menubar-update' when updating the menu bar.
4845
65048e97
GM
4846 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4847 safe_run_hooks.
4848
4849 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4850 safe_run_hooks.
4851
a57c4026
GM
4852 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4853 is null.
4854
aeac019e
GM
4855 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4856 to the start of the file.
4857
76846b31
GM
48582001-02-16 Gerd Moellmann <gerd@gnu.org>
4859
f3f053f3 4860 * window.c (set_window_buffer): Fix last change.
52283633 4861
f3f053f3
GM
4862 * window.c (set_window_buffer): Set window's vscroll to 0.
4863
dad75588
GM
4864 * window.c (coordinates_in_window): Increase width of area
4865 where the vertical line can be dragged.
4866
c220b753
GM
4867 * xterm.c (x_set_glyph_string_background_width): Extend the
4868 background face to the end of the drawing area in the text
4869 area, only.
4870
c56b1c1b
GM
4871 * xdisp.c (handle_single_display_prop): Set iterator's position
4872 to where the `display' property starts, like for images.
4873 (dump_glyph): New function.
4874 (dump_glyph_row): Use it. Dump info about marginal areas.
4875
4876 * dispnew.c (direct_output_for_insert): Recognize more cases where
4877 glyphs can be written instead of being inserted.
4878
4879 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4880 the left x-coordinate of the area to shift.
4881
76846b31
GM
4882 * dired.c (directory_files_internal): Set result list to nil
4883 before retrying.
4884
0fc71a77
KH
48852001-02-15 Kenichi Handa <handa@etl.go.jp>
4886
4887 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4888 invalid multibyte sequence, treat *SRC as a character of
4889 eight-bit-graphic.
4890
25078b54
EZ
48912001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4892
4893 * textprop.c (Fset_text_properties): Doc fix.
4894
8399f8a0
GM
48952001-02-15 Gerd Moellmann <gerd@gnu.org>
4896
4897 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4898
9a2a6f73
DL
48992001-02-14 Dave Love <fx@gnu.org>
4900
4901 * coding.c: Doc and message fixes.
4902
bf853fee
AI
49032001-02-14 Andrew Innes <andrewi@gnu.org>
4904
4905 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4906 Emacs frame above the screen size.
4907
78c663d8
GM
49082001-02-14 Gerd Moellmann <gerd@gnu.org>
4909
4910 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4911
7cc9f69f
GM
49122001-02-13 Gerd Moellmann <gerd@gnu.org>
4913
0a411995
GM
4914 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4915 case that TO ends up beyond ZV after running before-change-functions.
4916
5ddc1b75
GM
4917 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4918 the selected window if it is showing the buffer in question.
4919
7cc9f69f
GM
4920 * dired.c (directory_files_internal): Initialize errno.
4921 (toplevel): Include errno.h.
4922
2e6621ca
GM
49232001-02-13 Kenichi Handa <handa@etl.go.jp>
4924
4925 * xfaces.c (best_matching_font): New parameter width_ratio.
4926 Multiply avgwidth by width_ratio.
4927 (choose_face_font): Call best_matching_font with width_ratio
4928 calculated from the column width of C.
4929
60222d69
AI
49302001-02-12 Andrew Innes <andrewi@gnu.org>
4931
4932 The following changes are to draw box lines inside characters area
4933 if line-width is negative.
52283633 4934
60222d69
AI
4935 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4936 face->box_line_width is negative.
4937 (x_produce_stretch_glyph): Likewise.
4938 (x_produce_glyphs): Likewise.
4939 (x_estimate_mode_line_height): Likewise.
4940 (x_draw_glyph_string_background): Likewise.
4941 (x_draw_glyph_string_foreground): Likewise.
4942 (x_draw_composite_glyph_string_foreground): Likewise.
4943 (x_draw_glyph_string_box): Likewise.
4944 (x_draw_image_foreground): Likewise.
4945 (x_draw_image_relief): Likewise.
4946 (x_draw_image_foreground_1): Likewise.
4947 (x_draw_image_glyph_string): Likewise.
4948
9804b846
KH
49492001-02-09 Kenichi Handa <handa@etl.go.jp>
4950
4951 The following changes are to draw box lines inside characters area
4952 if line-width is negative.
52283633 4953
9804b846
KH
4954 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4955 face->box_line_width is negative.
4956 (x_produce_stretch_glyph): Likewise.
4957 (x_produce_glyphs): Likewise.
4958 (x_estimate_mode_line_height): Likewise.
4959 (x_draw_glyph_string_background): Likewise.
4960 (x_draw_glyph_string_foreground): Likewise.
4961 (x_draw_composite_glyph_string_foreground): Likewise.
4962 (x_draw_glyph_string_box): Likewise.
4963 (x_draw_image_foreground): Likewise.
4964 (x_draw_image_relief): Likewise.
4965 (x_draw_image_foreground_1): Likewise.
4966 (x_draw_image_glyph_string): Likewise.
4967
4968 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4969 and :line-width can be negative.
52283633 4970 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4971
49be9f70
JR
49722001-02-09 Jason Rumney <jasonr@gnu.org>
4973
4974 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4975 characters the same as ASCII and latin-1.
4976 (x_display_and_set_cursor): Check for the focus frame's selected
4977 window instead of selected_window.
4978 (x_after_update_window_line): Don't clear if frame's internal
4979 border width is zero.
4980 (x_new_font): Don't change a tooltip's size.
4981 (w32_initialize): Set char_ins_del_ok to 1.
4982
4983 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4984 (x_set_font): If font hasn't changed, avoid recomputing
4985 faces and other things.
52283633
SM
4986 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4987 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4988 (x_create_tip_frame): Prevent changing the tooltip's
4989 background color by specifying a color for the default font
4990 in .Xdefaults.
4991 (Qcancel_timer): New variable.
4992 (syms_of_w32fns): Initialize and staticpro it.
4993 (Fx_hide_tip, Fx_show_tip): Use it.
4994 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4995 the timer.
4996 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4997
4998 * w32.c (init_environment): Duplicate local string before putenv.
4999
555e35d2
SZ
50002001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
5001
5002 * charset.c (Fstring): A typo.
5003
19c92c94
KH
50042001-02-09 Kenichi Handa <handa@etl.go.jp>
5005
e47a1c33
KH
5006 * charset.c (Fstring): If all arguments are less than 256, return
5007 a unibyte string.
5008
5009 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
5010 return a unibyte string.
5011
19c92c94
KH
5012 * coding.c (code_convert_region): After detecting a coding, if
5013 nothing found, set coding->composing to COMPOSITION_NO.
5014 (decode_coding_string): Likewise.
5015
d8e675f5
SM
50162001-02-08 Stefan Monnier <monnier@cs.yale.edu>
5017
5018 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
5019 to avoid overflow.
5020
bd503487
KH
50212001-02-07 Kenichi Handa <handa@etl.go.jp>
5022
5023 * charset.c (parse_str_to_multibyte): New function.
5024
5025 * charset.h (parse_str_to_multibyte): Extern it.
5026
5027 * print.c (print_string): If we are going to print a unibyte
5028 string into a multibyte buffer, convert the string to multibyte by
5029 str_to_multibyte.
5030
a8370d72
AI
50312001-02-06 Andrew Innes <andrewi@gnu.org>
5032
5033 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
5034 been created. It seems we can get sent window messages such as
5035 WM_ERASEBKGND before we properly update a frame.
5036
c363a1d6
GM
50372001-02-06 Gerd Moellmann <gerd@gnu.org>
5038
5039 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
5040 Avoid some unnecessary cursor positioning.
5041
a08332c0
GM
50422001-02-05 Gerd Moellmann <gerd@gnu.org>
5043
52283633 5044 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
5045 (LFACE_AVGWIDTH): New macro.
5046 (LFACEP): Use AREF.
5047 (check_lface_attrs): Check LFACE_AVGWIDTH.
5048 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5049 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
5050 (merge_face_vectors): Check LFACE_AVGWIDTH.
5051 (Finternal_make_lisp_face): Use AREF.
5052 (xm_set_menu_resources_from_menu_face)
5053 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
5054 (Finternal_lisp_face_empty_p): Use AREF.
5055 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5056 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5057 Compare average widths..
5058 (best_matching_font): Arrange for comparing average widths.
5059
52283633
SM
5060 * dispextern.h (enum lface_attribute_index):
5061 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5062
5cb3c8d4
DL
50632001-02-05 Dave Love <fx@gnu.org>
5064
5065 * puresize.h: Revert last change following loadup.el change.
5066
193fba87
AI
50672001-02-05 Andrew Innes <andrewi@gnu.org>
5068
5069 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5070 invocation of temacs, to work with Windows 2000.
5071 (bootstrap-emacs): Ditto.
5072
e16f52ce
GM
50732001-02-05 Gerd Moellmann <gerd@gnu.org>
5074
7a58ab59
GM
5075 * xterm.c (x_display_and_set_cursor): Check for the focus
5076 frame's selected window instead of selected_window.
5077
e89aaabd
GM
5078 * xdisp.c (try_scrolling): If point is in the line below the
5079 window, make sure to move the iterator at least a canonical
5080 char height down.
5081
52283633 5082 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 5083
789ce875
KH
50842001-02-05 Kenichi Handa <handa@etl.go.jp>
5085
52283633
SM
5086 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5087 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
5088 (ccl_driver): If the CCL program is terminated because of
5089 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5090 destination instead of throwing them away.
5091
20b28f82
GM
50922001-02-02 Gerd Moellmann <gerd@gnu.org>
5093
79fb38c0
GM
5094 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5095 faces and other things.
5096
20b28f82
GM
5097 * xdisp.c (get_next_display_element): Fix case of empty
5098 display table entry.
5099
5a72551e
EZ
51002001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5101
eb24d0bf
EZ
5102 * editfns.c (Fconstrain_to_field): Doc fix.
5103
6a3f48c7
EZ
5104 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5105 into `thoroughly', to make it consistent with the doc string.
5106
5a72551e
EZ
5107 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5108
01acdb05
GM
51092001-02-01 Gerd Moellmann <gerd@gnu.org>
5110
0353b28f
GM
5111 * search.c (search_buffer): Call set_search_regs with a byte
5112 position, not a character position.
5113
01acdb05
GM
5114 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5115 minibuffer-only,
5116
e86b5133
EZ
51172001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5118
5119 * frame.c (Fmodify_frame_parameters): Doc fix.
5120
7442878f
GM
51212001-01-31 Gerd Moellmann <gerd@gnu.org>
5122
01acdb05
GM
5123 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5124 identifier which is not reserved by Standard C.
52283633 5125
7442878f
GM
5126 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5127
5128 * window.c (enum window_part): New enumeration.
5129 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5130 Qright_bitmap_area.
5131 (coordinates_in_window): Return an enumerator from enum
5132 window_part. Fix handling of right scroll bar.
5133 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5134 `right-fringe' instead of `left-bitmap-area' and
5135 `right-bitmap-area'. Use enumerators from enum window_part
5136 instead of hard-coded integers.
52283633
SM
5137 (check_window_containing, window_from_coordinates):
5138 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5139 (syms_of_window): Replace Qleft_bitmap_area and
5140 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5141
7c132cba
EZ
51422001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5143
5144 * editfns.c (Fformat_time_string): Doc fix.
5145
c359dd9e
SM
51462001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5147
5148 * keymap.c (Fwhere_is_internal): Use the first valid binding
5149 if no ascii binding is found (when firstonly is t).
5150
ce070307
GM
51512001-01-31 Gerd Moellmann <gerd@gnu.org>
5152
b4f30ec5
GM
5153 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5154 instead of Finteractive_p.
5155
5156 * lisp.h (interactive_p): Add prototype.
5157
5158 * eval.c (interactive_p): New function.
5159 (Finteractive_p): Use it.
5160
ce070307
GM
5161 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5162
f57b6e64
DL
51632001-01-31 Dave Love <fx@gnu.org>
5164
d61c7afe
DL
5165 * .gdbinit (hook-run): Define to run xreload.
5166
f57b6e64
DL
5167 * textprop.c (Fset_text_properties): Fix newline in doc string.
5168
eef93f99
GM
51692001-01-30 Gerd Moellmann <gerd@gnu.org>
5170
52283633
SM
5171 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5172 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5173
5174 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5175 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5176 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5177
5178 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5179 height.
5180
d9c1f6f9
DL
51812001-01-30 Dave Love <fx@gnu.org>
5182
5183 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5184 AFTER_POTENTIAL_GC.
5185
e8f044a0
GM
51862001-01-29 Gerd Moellmann <gerd@gnu.org>
5187
52283633
SM
5188 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5189 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5190
8e1db7b3
EZ
51912001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5192
5193 * textprop.c (Fset_text_properties): Doc fix.
5194
4eefd9d2
GM
51952001-01-29 Gerd Moellmann <gerd@gnu.org>
5196
5197 * xdisp.c (forward_to_next_line_start): Remove xassert.
5198
fccb8288
EZ
51992001-01-29 Jason Rumney <jasonr@gnu.org>
5200
4eefd9d2 5201 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5202 returning without releasing it.
5203
76581eab
KH
52042001-01-29 Kenichi Handa <handa@etl.go.jp>
5205
5206 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5207 for '^', '$', and '\0'.
5208
83a96b4d
AC
52092001-01-28 Andrew Choi <akochoi@i-cable.com>
5210
5604ec34
AC
5211 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5212 regex for '^', '$', and '\0'.
5213
83a96b4d
AC
5214 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5215 only if current_sblock has been initialized.
5216
5217 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5218 terminal frame even if it is the only visible frame.
5219
c09a6440
KH
52202001-01-28 Kenichi Handa <handa@etl.go.jp>
5221
5222 * fontset.c (font_family_registry): Even if FONTNAME conform to
5223 XLFD, if it specifies other fields than family and registry,
52283633 5224 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5225 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5226 a signle byte character. Don't set FAMILY part to nil here.
5227 It is handled by the caller choose_face_font.
c09a6440
KH
5228 (Fnew_fontset): Call font_family_registry with FORCE 0.
5229 (Fset_fontset_font): Likewise.
5230
4dcd74e6
GM
52312001-01-27 Gerd Moellmann <gerd@gnu.org>
5232
5233 * xdisp.c (display_line): Don't treat a newline as fitting
5234 on the line.
5235
d2906bf8
GM
52362001-01-26 Gerd Moellmann <gerd@gnu.org>
5237
0130fe1a
GM
5238 * window.c (size_window): Set the window's orig_top to nil when
5239 changing heights, so that a future shrink_mini_window won't
5240 restore a bogus height.
5241
550f0e6a
GM
5242 * frame.c (do_switch_frame): If selected frame has a mini-window,
5243 resize that to exact size.
5244
b7b20fbd
GM
5245 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5246
a47b7816
GM
5247 * xdisp.c (display_line): Simplify check for glyphs fitting
5248 entirely in the line.
5249
d2906bf8
GM
5250 * xfns.c (xic_style): New variable.
5251 (create_frame_xic): Move static variable to global scope for
550f0e6a 5252 the case that `static' gets defined away.
d2906bf8 5253
73df2b1e
KH
52542001-01-26 Kenichi Handa <handa@etl.go.jp>
5255
5256 * coding.c (decode_coding): Set a flag for inhibiting
5257 inconsistent eol.
5258 (code_convert_region): Always set saved_coding_symbol.
5259 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5260 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5261
6613cfc4
GM
52622001-01-25 Gerd Moellmann <gerd@gnu.org>
5263
c5e6e06b
GM
5264 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5265 XClearArea.
5266
5267 * xterm.c (x_after_update_window_line): Don't clear if frame's
5268 internal border width is zero.
5269 (x_clear_area): New function.
5270 (x_after_update_window_line, x_clear_end_of_line)
5271 (x_scroll_bar_create, x_scroll_bar_set_handle)
5272 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5273 instead of XClearArea.
5274
5275 * xterm.h (x_clear_area): Add prototype.
5276
6613cfc4
GM
5277 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5278 which doesn't seem necessary anymore with Lesstif 0.92.
5279
650cc6cc
DL
52802001-01-25 Dave Love <fx@gnu.org>
5281
34ac3367
DL
5282 * puresize.h (BASE_PURESIZE): Up to 720000.
5283
650cc6cc
DL
5284 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5285
5e37dc22
GM
52862001-01-25 Gerd Moellmann <gerd@gnu.org>
5287
e1e441f9
GM
5288 * xdisp.c (echo_area_display): Don't call redisplay_internal
5289 when Emacs is shutting down. We can't run hooks etc. that
5290 would be necessary to do a redisplay.
5291
5e37dc22
GM
5292 * lread.c (read_integer): Use type EMACS_INT instead of int.
5293
0fb94c7f
EZ
52942001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5295
5296 * ccl.c (ccl_driver): Fix last change.
5297
e3778624
KH
52982001-01-25 Kenichi Handa <handa@etl.go.jp>
5299
5300 * ccl.h (sturct ccl_program): New member suppress_error.
5301
bb264518 5302 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5303 insert error message to the output.
5304 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5305
5306 * coding.h (struct coding_system): New member suppress_error.
5307
5308 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5309 (Fset_terminal_coding_system_internal): Set the member
5310 suppress_error to 1.
5311 (Fset_safe_terminal_coding_system_internal): Likewise.
5312
245ed2b1
SM
53132001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5314
5315 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5316 as if it was a `charset'.
5317
f9aaedb6
GM
53182001-01-24 Gerd Moellmann <gerd@gnu.org>
5319
5320 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5321 value in where_is_cache; the next lookup in the cache returns
5322 something bogus if we do.
5323
c3902c3e
EZ
53242001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5325
5326 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5327 if HAVE_WINDOW_SYSTEM isn't defined.
5328
3497f73e
GM
53292001-01-24 Gerd Moellmann <gerd@gnu.org>
5330
e7e41584
GM
5331 * fns.c (sweep_weak_table): Fix code taking items out of
5332 the hash collision chain. Some cleanup.
5333
3497f73e
GM
5334 * xterm.c (x_new_font): Don't change a tooltip's size.
5335
5336 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5337 background color by specifying a color for the default font
5338 in .Xdefaults.
5339
3d48e687
KH
53402001-01-24 Kenichi Handa <handa@etl.go.jp>
5341
96531b20
KH
5342 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5343 a workaround for SunOS 4's cc.
5344 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5345 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5346 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5347 statement.
3d48e687 5348
a30629d2
GM
53492001-01-23 Gerd Moellmann <gerd@gnu.org>
5350
5351 * xterm.c (x_set_window_size_1): New function extracted from
5352 x_set_window_size.
5353 (x_set_window_size): Use it.
5354 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5355 doesn't have a widget, like tooltips.
5356
5a43decf
EZ
53572001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5358
52283633 5359 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5360
b0e98867
KH
53612001-01-23 Kenichi Handa <handa@etl.go.jp>
5362
5363 * fns.c (Fset_char_table_default): Fix to make sub char-table
5364 correctly.
5365
50606b4c
GM
53662001-01-22 Gerd Moellmann <gerd@gnu.org>
5367
cb2ddc53 5368 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5369 a desired tool bar string, even if there are no tool bar items.
5370
57c28064
GM
5371 * xdisp.c (Ftool_bar_lines_needed): New function.
5372 (syms_of_xdisp): Defsubr it.
5373
50606b4c
GM
5374 * editfns.c (Fformat): Don't extend text properties from arguments
5375 to padding chars in the result.
5376
2f169c38
EZ
53772001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5378
5379 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5380
0f32f023
AI
53812001-01-20 Andrew Innes <andrewi@gnu.org>
5382
52283633 5383 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5384 (w32_initialize): Don't set term hooks that aren't actually needed
5385 in windowed mode.
5386
5387 * xfaces.c (realize_default_face):
5388 (realize_face):
5389 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5390
5391 * xdisp.c (handle_single_display_prop): Remove references to
5392 FRAME_W32_CONSOLE_P.
5393
52283633 5394 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5395
5396 * frame.h (output_method): Remove output_w32_console method.
5397 (FRAME_W32_CONSOLE_P): Remove macro.
5398
5399 * frame.c (Qw32_console): Remove variable.
5400 (Fframep): Remove references to it.
5401 (syms_of_frame): Ditto.
5402 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5403
5404 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5405 redefinition.
5406
7173eada
KH
54072001-01-20 Kenichi Handa <handa@etl.go.jp>
5408
5409 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5410
755b45ce
AI
54112001-01-19 Andrew Innes <andrewi@gnu.org>
5412
5413 * w32.c (init_environment): Add a version-independent site-lisp
5414 directory to EMACSLOADPATH, after the version dependent one.
5415
0a949811
GM
54162001-01-19 Gerd Moellmann <gerd@gnu.org>
5417
8501998a
GM
5418 * editfns.c (Fbuffer_substring): Doc fix.
5419
52283633
SM
5420 * xdisp.c (message_dolog, message2, message2_nolog):
5421 Rename parameter LEN to NBYTES.
0a949811 5422
e6ebcbbe
KH
54232001-01-19 Kenichi Handa <handa@etl.go.jp>
5424
200ecca2
KH
5425 * charset.c (strwidth): Use c_string_width.
5426 (c_string_width): New function.
5427 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5428 Caller changed.
5429
5430 * charset.h (c_string_width, lisp_string_width): Extern them.
5431
52283633 5432 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5433
e6ebcbbe
KH
5434 * indent.c (check_composition): Check validity of composition.
5435
200ecca2
KH
5436 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5437 characters by calling c_string_width.
5438 (x_consider_frame_title): Get byte length of frame tile string
5439 correctly.
5440 (display_mode_element): Pay attention to width of non-ASCII
5441 characters by calling strwidth.
5442
8692ca92
GM
54432001-01-18 Gerd Moellmann <gerd@gnu.org>
5444
8962e303
GM
5445 * xfns.c (Qcancel_timer): New variable.
5446 (syms_of_xfns): Initialize and staticpro it.
5447 (Fx_hide_tip, Fx_show_tip): Use it.
5448 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5449 the timer.
5450 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5451
91523be9
GM
5452 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5453
5454 * window.h (WINDOW_LIVE_P): New macro.
5455
b0b7ed0e
GM
5456 * window.c (window_size_fixed): New variable.
5457 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5458 the doc string.
5459
06bccf8e
GM
5460 * eval.c (specbind): If binding a per-buffer variable which
5461 doesn't have a buffer-local value in the current buffer, change
5462 the global value by changing the value of the symbol bound in all
5463 buffers not having their own value, to make it consistent with
5464 what happens with other buffer-local variables.
5465
8692ca92
GM
5466 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5467
5468 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5469 when searching for a newline.
5470
bb3a3b50
KH
54712001-01-18 Kenichi Handa <handa@etl.go.jp>
5472
5473 * xdisp.c (display_string): Fix previous change.
5474
c2cc16fa
JR
54752001-01-18 Jason Rumney <jasonr@gnu.org>
5476
5477 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5478 GLYPH_DEBUG is defined.
5479 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5480 true for images with `:ascent 100'.
5481 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5482 meantime, use face MOUSE_FACE_ID.
5483 If first glyph isn't a character glyph, use the ASCII NUL
5484 character to determine the face.
5485 (expose_area): Do not treat left margin specially.
5486 (note_mode_line_highlight): If no local_map, check global keymap.
5487 (note_mouse_highlight): Initialize overlay.
52283633 5488 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5489 (show_scroll_bars): Remove unused function.
5490 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5491 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5492 Clip to row.
52283633 5493 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5494 (x_free_frame_resources): Unload relief colors.
5495
9c11f79e
GM
54962001-01-17 Gerd Moellmann <gerd@gnu.org>
5497
3aec8722 5498 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5499 get_next_display_element when the newline is already found.
5500 This may change the iterator's position, when its current position is
3aec8722
GM
5501 equal to the iterator's stop_charpos.
5502
f3ffc2c3
GM
5503 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5504 zero, use this method only at the end of a line.
5505
52283633 5506 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5507 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5508 if SCALABLE_FONTS_P is set.
52283633 5509
d26d6fd9
GM
5510 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5511 so that scalable fonts are included.
5512
9c11f79e
GM
5513 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5514 In the cache, use a key containing the information if scalable
5515 fonts are included.
5516 (x_load_font): Adapt to change of keys in the font cache.
5517
55182001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5519
d26d6fd9
GM
5520 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5521 XListFonts to take advantage of font caching.
5522
9c11f79e
GM
5523 * xterm.c (x_list_fonts): Ensure caching font information when
5524 called for a null frame, which is the case frequently when Emacs
5525 starts.
5526
51446987
GM
55272001-01-17 Gerd Moellmann <gerd@gnu.org>
5528
f864120f
GM
5529 * xfns.c (QCconversion): Replaces QCalgorithm.
5530
5531 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5532
5533 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5534 of :algorithm.
52283633 5535
e37d1417
GM
5536 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5537 not everything could be displayed.
5538
51446987
GM
5539 * line.h, x-list-font.c: Files removed because unused.
5540
9ad4f3e5
AI
55412001-01-17 Andrew Innes <andrewi@gnu.org>
5542
5543 * dired.c (directory_files_internal): Convert result from readdir
5544 to a unibyte string initially, to avoid possible misinterpretation
5545 of some bytes as the internal form of Emacs characters.
5546
2eda09b5
KH
55472001-01-17 Kenichi Handa <handa@etl.go.jp>
5548
5549 * fns.c (concat): Be sure to avoid putting the same `composition'
5550 property on the adjacent regions.
5551
826f3788
GM
55522001-01-16 Gerd Moellmann <gerd@gnu.org>
5553
52283633 5554 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5555 (Fscroll_right, Fscroll_left): Set it here instead, if called
5556 interactively.
5557
d57b83b3
GM
5558 * buffer.c (Fset_buffer_modified_p): Set buffer's
5559 prevent_redisplay_optimizations_p flag.
5560
826f3788 5561 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5562 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5563 with additional arg.
5564
5565 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5566 Change prototype.
826f3788 5567
826f3788
GM
5568 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5569 FROM_WHERE, for debugging.
5570
261d788b
KH
55712001-01-16 Kenichi Handa <handa@etl.go.jp>
5572
5573 * ccl.c (Fregister_ccl_program): Handle the return value of
5574 resolve_symbol_ccl_program correctly.
52283633 5575 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5576
bccee4f2
GM
55772001-01-15 Gerd Moellmann <gerd@gnu.org>
5578
e4ded23c
GM
5579 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5580 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5581
5582 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5583 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5584 the display; we didn't open it.
5585
bccee4f2
GM
5586 * dispnew.c (save_or_restore_current_matrices): Function removed.
5587 (save_current_matrix, restore_current_matrix): New functions.
5588 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5589 restore the frame's current matrix. Due to the glyph pointer
5590 setup done in adjust_glyph_matrix, there is no easy way to make
5591 saving the current matrix in the desired matrix generally correct,
5592 so don't try it.
5593
ebeccffa
KH
55942001-01-15 Kenichi Handa <handa@etl.go.jp>
5595
5596 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5597 truncation glyphs.
5598 (display_line): Optimize for wide characters.
e4ded23c 5599 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5600 partially. On ttys, produce more than one truncation glyph for
5601 multi-column characters that don't fit on the line.
5602
64388126
KH
56032001-01-13 Kenichi Handa <handa@etl.go.jp>
5604
52283633
SM
5605 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5606 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5607
8edb0a6f
JR
56082001-01-13 Jason Rumney <jasonr@gnu.org>
5609
5610 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5611 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5612 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5613 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5614
52283633
SM
5615 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5616 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5617 (x_draw_image_glyph_string): Adapt to change of image margins.
5618
5619 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5620 variables.
5621
5622 * w32bdf.c (search_file_line, get_cached_font_char)
5623 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5624
5625 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5626
5627 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5628 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5629 (Fw32_send_sys_command): Remove unused variables.
5630 (w32_msg_pump): Add parentheses.
5631
5632 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5633 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5634 Add parentheses.
5635
4956d1ef
GM
56362001-01-12 Gerd Moellmann <gerd@gnu.org>
5637
b30623be
GM
5638 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5639 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5640 being a pair of margins.
5641 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5642 to DEFVAR_LISP. Extend doc.
5643
5644 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5645 margins.
5646 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5647 pair of integers `(X . Y)', use X for the horizontal and Y for the
5648 vertical margin.
5649 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5650 (parse_image_spec): Check it.
52283633
SM
5651 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5652 (tiff_format, gif_format, gs_format):
5653 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5654
52283633
SM
5655 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5656 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5657 (x_draw_image_glyph_string): Adapt to the change of image margins.
5658
5659 * dispextern.h (struct image): Replace member `margin' with
5660 `hmargin' and `vmargin'.
5661
4554cc79
GM
5662 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5663 and GLYPHS.
5664
5665 * dispnew.c (update_text_area): Put code which decrements the
5666 stop position when the row's face extends to the end of the
3bffc665 5667 line in #if 0.
4554cc79 5668
3cccce8d
GM
5669 * xfns.c (x_set_mouse_color): Fix color allocation.
5670
4956d1ef
GM
5671 * keyboard.c: Call get_local_map with new argument list.
5672
5673 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5674
5675 * intervals.h (enum map_property): Removed.
5676 (get_local_map): Change prototype.
5677
5678 * keymap.c: Call get_local_map with new argument list.
5679 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5680
2c2ff7f2
GM
56812001-01-11 Gerd Moellmann <gerd@gnu.org>
5682
a23887b9
GM
5683 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5684 of the size needed for the tool bar string. For the last image,
5685 use a `display' property that reaches to the end of the string.
5686
a7ee2d2e
GM
5687 * xselect.c (selection_request_dpyinfo): New variable.
5688 (x_handle_selection_request): Set it.
5689 (x_selection_request_lisp_error): Don't call
5690 x_decline_selection_request if selection request's display has
5691 been closed.
5692
52283633
SM
5693 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5694 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5695
457b792c
GM
56962001-01-10 Dave Love <fx@gnu.org>
5697
5698 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5699 ${SOME_MACHINE_LISP}, not ${lisp}.
5700
c1efd260
GM
57012001-01-10 Gerd Moellmann <gerd@gnu.org>
5702
52283633
SM
5703 * xdisp.c (display_line): On ttys, produce more than one truncation
5704 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5705
ac95a621
GM
5706 * xselect.c (x_reply_selection_request): Add a comment.
5707
c1efd260
GM
5708 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5709 XkbGetNames instead of XkbGetKeyboard.
5710
1bfb1345
DL
57112001-01-10 Dave Love <fx@gnu.org>
5712
5713 * sysdep.c (random): Revert the declaration.
5714
38119822
GM
57152001-01-09 Gerd Moellmann <gerd@gnu.org>
5716
52283633
SM
5717 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5718 Call function string_bytes.
35f464a7
GM
5719 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5720
5721 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5722 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5723 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5724 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5725 the current sblock.
5726 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5727 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5728 after sweeping strings, and at the end.
5729 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5730
38119822
GM
5731 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5732 ensure that pop_message is called.
5733
5734 * keyboard.c (Fexecute_extended_command): Use a
5735 record_unwind_protect to ensure that pop_message is called.
5736
5737 * lisp.h (push_message_unwind): Add prototype.
5738
5739 * xdisp.c (push_message_unwind): New function.
5740
5741 * fileio.c (do_auto_save_unwind): Do the pop_message here
5742 instead of in Fdo_auto_save.
5743 (Fdo_auto_save): Don't call pop_message.
5744
f47a9ec4
KR
57452001-01-08 Ken Raeburn <raeburn@gnu.org>
5746
5747 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5748 in inner block.
5749
a758f97d
GM
57502001-01-08 Gerd Moellmann <gerd@gnu.org>
5751
6d0afc03
GM
5752 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5753 when increasing window's vscroll.
5754
a758f97d
GM
5755 * macros.c (Qkbd_macro_termination_hook): New variable.
5756 (syms_of_macros): Initialize and staticpro it.
5757 (pop_kbd_macro): Run kbd-macro-termination-hook.
5758
5759 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5760
1bfb1345 57612001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5762
5763 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5764 arglist, for documentation's sake.
5765
0dac6924
AI
57662001-01-06 Andrew Innes <andrewi@gnu.org>
5767
5768 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5769 of *.pdb.
5770
8182406a
AI
57712001-01-05 Andrew Innes <andrewi@gnu.org>
5772
5773 * term.c (update_end): Don't check updating_frame; for some reason
5774 this can be 0 sometimes, such as after dismissing a popup menu,
5775 and isn't necessary given the explicit frame argument.
5776
3828218c
GM
57772001-01-05 Gerd Moellmann <gerd@gnu.org>
5778
5779 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5780 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5781
2f5ded21
GM
57822001-01-04 Gerd Moellmann <gerd@gnu.org>
5783
52283633 5784 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5785
5786 * xfns.c (x_create_tip_frame): Preserve the value of
5787 face_change_count around the creation of the tip frame.
52283633 5788
2f5ded21
GM
5789 * xfns.c (last_show_tip_args): New variable.
5790 (compute_tip_xy): New function.
5791 (Fx_show_tip): Reuse an existing tip frame, if possible.
5792 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5793
dfad65fa
DL
57942001-01-04 Dave Love <fx@gnu.org>
5795
64d4ec0f
DL
5796 * editfns.c (Fformat): Doc fix.
5797
dfad65fa
DL
5798 * systime.h (set_file_times): Prototype.
5799
5800 * widget.h (EmacsFrameSetCharSize_): Prototype.
5801
5802 * sysdep.c (random, srandom): Declare explicitly.
5803
5804 * dispextern.h (move_it_vertically_backward): Declare.
5805
85fe3b5e
GM
58062001-01-04 Gerd Moellmann <gerd@gnu.org>
5807
0f2ac578
GM
5808 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5809 like in Fx_create_frame.
5810
482cca61
GM
5811 * xfaces.c (set_font_frame_param): Don't do anything for
5812 non-graphical frames.
5813
85fe3b5e
GM
5814 * window.c (Fdelete_other_windows): Set window's window_end_valid
5815 to nil when changing the window's start. Don't change the
5816 window's start when its top position hasn't changed. If we do,
5817 this will set the window's optional_new_start, which act's like a
5818 force_start during redisplay with C-x 1 M-> under particular
5819 circumstances (see report from Per Starback to emacs-pretest-bug
5820 from 2000-12-13.).
5821
3e99d3b4
GM
58222001-01-03 Gerd Moellmann <gerd@gnu.org>
5823
a77dc1ec
GM
5824 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5825 short cut at the start of the function. Add an assertion.
5826 (reseat_at_next_visible_line_start): Add an assertion.
5827
2f3cad6c
GM
5828 * window.c (Frecenter): When changing the window start, set the
5829 window's window_end_valid to nil.
5830 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5831
5832 * dispextern.h (move_it_past_eol): Add prototype.
5833
5834 * xdisp.c (move_it_past_eol): New function.
5835
3e99d3b4
GM
5836 * window.c (Fwindow_end): Doc fix.
5837
58382001-01-03 Dave Love <fx@gnu.org>
5839
52283633 5840 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5841
bafb434c
GM
58422001-01-03 Gerd Moellmann <gerd@gnu.org>
5843
5844 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5845 the enabled_p flag of the glyph row at window_end_vpos to 0.
5846 (handle_single_display_prop): Fix last change.
5847
5297fb00
RS
58482001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5849
5850 * window.c (Frecenter): Doc fix.
5851
13d6a61c
AI
58522001-01-02 Andrew Innes <andrewi@gnu.org>
5853
5854 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5855
5856 * frame.h (output_method): Add output_w32_console method.
5857 (FRAME_W32_CONSOLE_P): New macro.
5858
5859 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5860 use output_w32_console method.
5861 (Qw32_console): New Lisp_Object.
5862 (Fframep): Return it.
5863 (syms_of_frame): Init it.
52283633 5864 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5865
5866 * xfaces.c (realize_default_face): Set face foreground and
5867 background to unspecified for w32_console frames.
5868 (realize_face): Realize face cache for w32_console frames.
5869 (realize_tty_face): Accept w32_console frames.
5870
52283633 5871 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5872 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5873 necessary, even if running interactively.
5874
5875 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5876 w32_console frames.
5877
52283633
SM
5878 * w32term.c (x_update_begin):
5879 (x_update_end):
5880 (x_clear_frame):
5881 (x_ins_del_lines):
5882 (x_change_line_highlight):
5883 (x_delete_glyphs):
5884 (w32_ring_bell):
5885 (x_update_begin):
5886 (x_update_end):
5887 (w32_reassert_line_highlight):
5888 (w32_frame_rehighlight):
13d6a61c
AI
5889 (w32_frame_raise_lower): Do nothing if not w32 frame.
5890
5891 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5892
5893 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5894 system doesn't tell us directly.
5895 (Fx_display_visual_class): Implement properly.
5896
d6bb0c0d
GM
58972001-01-02 Gerd Moellmann <gerd@gnu.org>
5898
5899 * window.c (Frecenter): Handle centering in graphical frames
5900 specially. Centering on the basis of line counts doesn't work
5901 reliably with variable-height lines.
52283633 5902
315f5865
EZ
59032001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5904
5905 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5906 and al[].
5907
52283633 5908 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5909 (update_compositions): Remove unused variable `hook'.
5910
5911 * intervals.c (get_local_map): Remove unused variable `tem'.
5912
5913 * doprnt.c (doprnt1): Remove unused variable `size'.
5914
5915 * fns.c (Flength): Remove unused variable `tail'.
5916 (Fdelete): Remove unused variable `size'.
5917
5918 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5919 and `gcpro2'.
5920
52283633 5921 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5922
5923 * data.c (find_symbol_value): Remove extra 3rd argument in the
5924 call to swap_in_symval_forwarding.
5925
52283633 5926 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5927
5928 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5929 (trivial_regexp_p): Remove unused variable `c'.
5930 (boyer_moore): Remove unused variable `k'.
5931
5932 * indent.c (current_column): Remove unused variable `stopchar'.
5933 (Fcompute_motion): Remove unused variable `contin'.
5934
5935 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5936
5937 * dired.c (directory_files_internal): Fix a typo in a comment.
5938 Remove an unused variable `handler'.
52283633 5939 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5940 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5941 on BSD4_2.
5942
52283633 5943 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5944
5945 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5946 and `buf'.
5947 (Fmarker_insertion_type): Remove unused variable `buf'.
5948
5949 * insdel.c (make_gap): Remove unused variable `result'.
5950
52283633 5951 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5952 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5953 (menu_bar_items): Remove unused function-scope variable `tem'.
5954
5955 * fontset.c (fontset_ref): Remove unused variable `i'.
5956 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5957 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5958 (make_fontset_for_ascii_face): Remove unused variable `name'.
5959 (fs_load_font): Remove unused variable `font_idx'.
52283633 5960 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5961 (list_fontsets): Remove unused variable `tail'.
5962 (Fnew_fontset): Remove unused variables `family' and `registry'.
5963 (accumulate_font_info): Remove unused variable `tmp'.
5964 (Ffontset_font): Remove unused variable `id'.
5965 (syms_of_fontset): Remove unused variable `i'.
5966
5967 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5968 to x_term_init.
5969 (lookup_image): Remove unused variable `file'.
5970 (xbm_load): Remove unused variables `bitmap_data', `height', and
5971 `width'. Remove function-local variable `i', leave the
5972 block-local one.
5973 (gif_load): Remove unused variable `inc'.
5974
52283633 5975 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5976 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5977 leave only the one in the inner block.
5978
5979 * xfaces.c (face_fontset, realize_default_face): Remove unused
5980 variable `fontset'.
5981 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5982
5983 * term.c (encode_terminal_code): Remove unused variable `c'.
5984
5985 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5986 char *' instead of `char *'.
5987
5988 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5989 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5990 (Fchar_category_set): Remove unused variables `val', `charset',
5991 `c1' and `c2'.
5992
52283633
SM
5993 * coding.c (detect_coding_iso2022, setup_coding_system):
5994 Remove unused variable `i'.
315f5865
EZ
5995 (detect_coding_mask): Remove unused variable `idx'.
5996 (detect_coding): Remove unused variable `i'.
5997 (ccl_coding_driver): Remove unused variable `result'.
5998 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5999 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
6000 (encode_coding_string): Remove unused variables `gcpro1' and
6001 `saved_coding_symbol'.
6002 (Ffind_coding_systems_region_internal): Remove function-local
6003 variable args[], leave only the block-local one.
6004 (code_convert_region1): Remove unused variable `len'.
6005
6006 * charset.c (char_printable_p): Remove unused variable `chars'.
6007 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
6008 (str_to_multibyte): Remove unused variable `c'.
6009
6010 * window.c (size_window): Remove block-local variable `min_size'.
6011
6012 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
6013 `header_line_height'.
6014 (append_space, extend_face_to_end_of_line): Declare `saved_what'
6015 enum display_element_type.
6016
1a8a9daf
GM
60172001-01-02 Gerd Moellmann <gerd@gnu.org>
6018
6dde6abc 6019 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
6020 statements that call X. Save away the error message in a local copy.
6021
1883b2c6
GM
6022 * xterm.c (x_connection_closed): Set handling_signal to 0 at
6023 the start.
6024
a13be207
GM
6025 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
6026 in or at the start of invisible text.
6027
1a8a9daf
GM
6028 * dispnew.c (update_window): Don't check_current_matrix_flags.
6029
3608c0f9
JR
60302001-01-01 Jason Rumney <jasonr@gnu.org>
6031
6032 * w32fns.c (x_figure_window_size): Do not allow new_height and
6033 new_width of frame to override specified values.
6034
abb1acc4
KH
60352000-12-30 Kenichi Handa <handa@etl.go.jp>
6036
52283633 6037 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 6038
762a68ec
GM
60392000-12-29 Gerd Moellmann <gerd@gnu.org>
6040
52283633 6041 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
6042 (update_window) [GLYPH_DEBUG]: Call it.
6043 (scrolling_window): Prevent including current rows which are below
6044 what's displayed in the window.
6045
6046 * xdisp.c (try_window_reusing_current_matrix)
6047 <new start <= old start>: Disable rows in the current matrix
6048 which are below the window after scrolling.
52283633 6049
762a68ec
GM
6050 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
6051 is zero. It's not worth the complexity.
6052 (invisible_text_between_p): Put in #if 0 because unused.
6053
2d5912c1
GM
60542000-12-28 Gerd Moellmann <gerd@gnu.org>
6055
46f6a258
GM
6056 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6057 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6058
89f93679
GM
6059 * keyboard.c (echo_char): If C is an integer, always call
6060 push_key_description. Former code could signal an invalid
6061 character error.
6062
6063 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6064 If set, print multibyte text.
6065 (Fsingle_key_description): Call push_key_description with
6066 FORCE_MULTIBYTE set.
6067 (describe_buffer_bindings): Likewise.
6068
6069 * lisp.h (push_key_description): Add prototype.
6070
c06017fb
GM
6071 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6072 around the call to redisplay_internal.
6073
f1d2ce7f
GM
6074 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6075
2d5912c1
GM
6076 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6077
9371f831
KH
60782000-12-28 Kenichi Handa <handa@etl.go.jp>
6079
6080 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6081 (ccl_driver): New local variable `extra_bytes'.
6082
6083 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6084
52283633
SM
6085 * coding.c (setup_coding_system):
6086 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
6087 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6088
0c80628a
KH
60892000-12-28 Kenichi Handa <handa@etl.go.jp>
6090
6091 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6092 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6093 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6094 (decode_composition_emacs_mule): New function.
6095 (decode_coding_emacs_mule): Decode composition sequence by calling
6096 decode_composition_emacs_mule.
6097 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
6098 (encode_coding_emacs_mule): Changed from macro to function.
6099 If a text contains compositions, encode them correctly.
0c80628a
KH
6100 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6101 that decoding and encoding are required.
6102
3e32cc27
GM
61032000-12-27 Gerd Moellmann <gerd@gnu.org>
6104
5e25feee
GM
6105 * xfaces.c (PT_PER_INCH): New macro.
6106 (xlfd_point_size): Compute real point size from font's pixel size.
6107 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6108 instead of 72.
6109
892d8fcd
GM
6110 * .gdbinit: Comment out the line pointing to the Lesstif source
6111 directory.
6112
12c8b416
GM
6113 * window.c (Frecenter): Use displayed_window_lines instead
6114 of window_internal_height.
6115
6061fbf0
GM
6116 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6117 instead of x-toolkit-scroll-bars-p.
6118 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6119
6120 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6121 instead of x-toolkit-scroll-bars-p.
6122 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6123
3e32cc27
GM
6124 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6125 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6126 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6127 New variables.
6128 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6129 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6130 (build_frame_matrix_from_leaf_window): Remove unused code.
6131 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6132 redisplay history.
6133 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6134 (update_window) [GLYPH_DEBUG]: Likewise.
6135 (syms_of_display): Defsubr dump-redisplay-history.
6136
31798cfe
GM
61372000-12-23 Gerd Moellmann <gerd@gnu.org>
6138
f717c2ba
GM
6139 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6140 the end of the prompt. Set echo_after_prompt to the offset
6141 of echoptr in echobuf.
6142
aeb2b8fc
GM
6143 * xdisp.c (init_from_display_pos): Pop until the iterator's
6144 stack is empty; there may be frames for stretch or images
6145 on the stack.
6146
31798cfe
GM
6147 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6148 (save_or_restore_current_matrix): New function for the same
6149 purpose, but more efficient.
6150 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6151
f8156156
EZ
61522000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6153
6154 * xdisp.c (syms_of_xdisp): Fix last change.
6155
bdd6d4e8
GM
61562000-12-23 Gerd Moellmann <gerd@gnu.org>
6157
6158 * xdisp.c (syms_of_xdisp): Doc fix.
6159
6160 * xdisp.c (redisplay_window): Remove label restore_buffers;
6161 use finish_scroll_bars instead to make sure that scroll bars
6162 are redeemed. If we don't do this, flickering can result from
6163 scroll bars being destroyed and recreated.
6164
9436cdf9
JR
61652000-12-22 Jason Rumney <jasonr@gnu.org>
6166
6167 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6168 in the wrong colors when the foreground is not black.
6169 (expose_window): Don't redraw the window that's currently being
6170 updated.
6171
951f9df5
GM
61722000-12-22 Gerd Moellmann <gerd@gnu.org>
6173
856ff7a7
GM
6174 * window.c (size_window): When setting the window's too_small_ok
6175 flag, compare old size with minimum size depending on WIDTH_P,
6176 don't compare with window_min_width.
52283633 6177
951f9df5
GM
6178 * window.c (delete_window): Simplify somewhat.
6179 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6180 freeing window matrices. The flag windows_or_buffers_changed is
6181 set, so the next redisplay will consider all windows; this should
6182 suffice.
6183
886bc933
KH
61842000-12-22 Kenichi Handa <handa@etl.go.jp>
6185
6186 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6187
6188 * ccl.h (struct ccl_program): New member cr_consumed.
6189
6190 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6191 (CCL_READ_CHAR): Handle EOL conversion here.
6192 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6193
177f4e88
GM
61942000-12-21 Gerd Moellmann <gerd@gnu.org>
6195
52283633 6196 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6197
6198 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6199 otherwise tabs of different size compare equal.
6200
6201 * callint.c (Fcall_interactively): Prevent a compiler warning.
6202
6203 * print.c (print_unwind): Return nil.
6204 (PRINTDECLARE): Initialize all local variables.
6205 (print_preprocess): Add a default case.
6206
8e15274f
GM
6207 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6208
6209 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6210
52283633 6211 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6212 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6213
6214 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6215
6216 * dispnew.c (ensure_frame_matrix): Removed.
6217 (save_frame_matrix, restore_frame_matrix): New functions.
6218 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6219
6220 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6221 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6222
99012074
AI
62232000-12-21 Andrew Innes <andrewi@gnu.org>
6224
6225 * w32term.c (x_update_begin): Regenerate the palette here, rather
6226 than for each window.
6227
6228 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6229 palette is NULL, since this corrupts memory! Also get
6230 display_info reference from frame.
6231
29ef7d2d
JR
62322000-12-21 Jason Rumney <jasonr@gnu.org>
6233
6234 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6235
6236 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6237 to avoid returning without releasing it.
3e27fa1f 6238
3f9d67a6
KH
62392000-12-21 Kenichi Handa <handa@etl.go.jp>
6240
587fc3f9
KH
6241 * keymap.c (push_key_description): Don't convert eight-bit-control
6242 and eight-bit-graphic to multibyte character.
6243
3f9d67a6
KH
6244 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6245 generic character and CODE1 is nil, return the smallest character
6246 in CHARSET.
6247
774ba8c9
DL
62482000-12-20 Dave Love <fx@gnu.org>
6249
6250 * s/osf5-0.h (NSIG): Don't redefine.
6251
88416888
SM
62522000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6253
6254 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6255 excluding menu-bar and tool-bar.
6256 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6257 (menu_item_p): Remove.
6258 (where_is_internal_1): Don't ignore menu-items.
6259
a6426c6f
GM
62602000-12-20 Gerd Moellmann <gerd@gnu.org>
6261
03ff8aab
GM
6262 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6263 into account.
6264
6265 * window.c (make_window): Initialize window's min_hscroll.
6266 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6267 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6268 to zero.
6269 (struct saved_window): New member min_hscroll.
6270 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6271 (Fset_window_configuration): Set window's min_hscroll.
6272 (save_window_save): Save window's min_hscroll.
6273 (compare_window_configurations): Compare min_hscroll values.
6274
6275 * window.h (struct window): New member min_hscroll.
6276
6277 * keyboard.c (echo_prompt): Prevent a compiler warning.
6278
8de4aaf8
GM
6279 * xdisp.c (try_cursor_movement): Fix last change. The real
6280 condition is that PT is at the end of the row, and should
6281 be displayed at the start of the next row.
52283633 6282
3f7e3031
GM
6283 * xdisp.c (try_cursor_movement): If we end on a partially
6284 visible line, end we already decided to scroll, return -1.
6285
a6426c6f
GM
6286 * dispextern.h (ensure_frame_matrix): Add prototype.
6287
6288 * window.c (delete_window, Fsplit_window)
6289 (Fset_window_configuration): Call ensure_frame_matrix.
6290
52283633
SM
6291 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6292 New functions.
a6426c6f
GM
6293 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6294 completed, call fake_current_matrices instead of marking frame
6295 garbaged.
6296
57fa2774
JR
62972000-12-20 Jason Rumney <jasonr@gnu.org>
6298
6299 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6300
d925df90
EZ
63012000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6302
6303 * fns.c (Frequire): Doc fix.
6304
7b93a85b
GM
63052000-12-19 Gerd Moellmann <gerd@gnu.org>
6306
52283633 6307 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6308
c74e645b
GM
6309 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6310 currently displaying a message.
6311
7b93a85b
GM
6312 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6313 xterm.h.
6314 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6315
90d97e64
AI
63162000-12-18 Andrew Innes <andrewi@gnu.org>
6317
6318 * w32.c (w32_strerror): New function.
6319
6320 * w32.h (w32_strerror): New extern.
6321
6322 * w32fns.c (Fw32_shell_execute): Use it.
6323
91c9e6ce
GM
63242000-12-18 Gerd Moellmann <gerd@gnu.org>
6325
6326 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6327
6f4745e2
EZ
63282000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6329
6330 * msdos.c (IT_set_face): Obey inverse_video.
6331
c9e088ce
KH
63322000-12-18 Kenichi Handa <handa@etl.go.jp>
6333
6334 * dired.c (directory_files_internal): Always return decoded filenames.
6335
c3695f5f
GM
63362000-12-18 Gerd Moellmann <gerd@gnu.org>
6337
52d8e4ff
GM
6338 * xterm.c (x_connection_closed): Prevent being called recursively
6339 because of an error condition in XtCloseDisplay.
52283633 6340
62be9979
GM
6341 * xdisp.c (init_iterator): If noninteractive, and the frame's
6342 face cache is null, make one.
6343
52283633 6344 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6345
c3695f5f
GM
6346 * process.c (wait_reading_process_input): Check for pending
6347 input when running timers.
6348
78555fbe
EZ
63492000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6350
52283633 6351 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6352
b2b36264
KH
63532000-12-18 Kenichi Handa <handa@etl.go.jp>
6354
6355 * process.c (read_process_output): Don't run a filter if the code
6356 decoder produces nothing but carryover.
6357
9c543fbf
AI
63582000-12-17 Andrew Innes <andrewi@gnu.org>
6359
6360 * w32.c (sys_rename): Only check errno against EEXIST, and not
6361 EACCES, when determining whether rename failed because the target
6362 exists. This was resulting in indefinite looping on Windows 9x if
6363 the source file was locked by another process.
6364
6365 * w32fns.c (Ffile_system_info): New function.
6366 (syms_of_w32fns): Defsubr it.
6367
10c2b5a8
GM
63682000-12-17 Gerd Moellmann <gerd@gnu.org>
6369
b0228ace
GM
6370 * window.c (coordinates_in_window): Fix computation for
6371 position on vertical line between mode lines.
6372
10c2b5a8
GM
6373 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6374 Don't alter tip_frame or tip_window.
6375 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6376 was deleted.
6377
c844a81a
GM
6378 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6379 Don't alter tip_frame or tip_window.
6380 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6381 was deleted.
6382
6c825f8e
EZ
63832000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6384
6385 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6386 be consistent with the doc string. Reported by NAKAJIMA Mikio
6387 <minakaji@osaka.email.ne.jp>.
6388
af4bb4c8
KH
63892000-12-16 Kenichi Handa <handa@etl.go.jp>
6390
6391 * xfaces.c (Vface_ignored_fonts): New variable.
6392 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6393 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6394
8062e53a
GM
63952000-12-15 Gerd Moellmann <gerd@gnu.org>
6396
e87b8809
GM
6397 * dispnew.c (update_window): Detect pending input every nth line
6398 updated, i.e. do it depending on real work done, and not on the
6399 vpos of the line.
6400
6401 * xterm.c (expose_window): Don't redraw the window that's
6402 currently being updated.
6403
a6768cc5
GM
6404 * window.c (Fset_window_point): Remove test for
6405 cursor_in_non_selected_windows.
6406
4ea7fdca
GM
6407 * lread.c (read1): Recognize end of file after `\\'.
6408
8062e53a
GM
6409 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6410 not unwind_create_frame.
6411
bb7959c1
GM
64122000-12-15 Dave Love <fx@gnu.org>
6413
6414 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6415 bcopy & al.
6416
6417 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6418
ced04c42
KH
64192000-12-15 Kenichi Handa <handa@etl.go.jp>
6420
c5443913
KH
6421 * coding.c (setup_coding_system): Clear all members of the struct
6422 coding_system at first.
bc137305
KH
6423 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6424 argument.
6425 (code_convert_region): Don't override coding->src_multibyte and
6426 coding->dst_multibyte.
c5443913 6427
ced04c42
KH
6428 * fns.c (Fmd5): Docstring improved.
6429
c2d7f289
MB
64302000-12-15 Miles Bader <miles@gnu.org>
6431
6432 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6433 are actually marked as mode-lines; otherwise use
6434 estimate_mode_line_height.
6435
9d7d9263
GM
64362000-12-14 Gerd Moellmann <gerd@gnu.org>
6437
6438 * editfns.c (Fformat): Prevent a buffer overrun when the format
6439 specifies a precision.
6440
7cf0153a
EZ
64412000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6442
6443 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6444 argument is outside the range [2..3].
6445
1de0f662
AI
64462000-12-14 Andrew Innes <andrewi@gnu.org>
6447
6448 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6449 nothing to do. Bind inhibit-quit.
6450 (tip_frame): Make it a Lisp_Object.
6451 (x_create_tip_frame): Set tip_frame after it has been added to
6452 Vframe_list.
6453 (Fx_show_tip): Don't set tip_frame here.
52283633 6454 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6455 (unwind_create_frame, unwind_create_tip_frame): New functions.
6456 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6457 while a frame is only partially constructed.
6458
6459 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6460 (x_free_frame_resources): New function.
6461 (x_destroy_window): Use it.
6462
02387dcc
GM
64632000-12-14 Gerd Moellmann <gerd@gnu.org>
6464
6465 * xfns.c (Fx_backspace_delete_keys_p): New function.
6466 (syms_of_xfns): Defsubr it.
6467
6468 * config.in (HAVE_XKBGETKEYBOARD): Add.
6469
0544ef49
KH
64702000-12-14 Kenichi Handa <handa@etl.go.jp>
6471
98d62747
KH
6472 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6473 Always store string in multibyte representation in echobuf.
6474 (echo_char): Always store string in multibyte representation in
6475 echobuf.
6476 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6477 (read_key_sequence): Adjusted for the change of echo_prompt.
6478
a20193cd
KH
6479 * fns.c (Fmd5): Docstring improved.
6480
191b83b6
KH
6481 * lisp.h (detect_coding_system): Prototype adjusted.
6482
0544ef49
KH
6483 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6484 (detect_coding_emacs_mule, detect_coding_iso2022,)
6485 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6486 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6487 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6488 (detect_coding_mask, detect_coding_system): New argument
6489 MULTIBYTEP. Callers changed.
1da1bb05
KH
6490 (decode_coding_string): Set coding->src_multibyte and
6491 coding->dst_multibyte before calling detect_coding and detect_eol.
6492 Update them after some coding system is detected.
52283633 6493
d5b3eb1b
SM
64942000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6495
6496 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6497
6498 * keyboard.c (menu_bar_items, tool_bar_items):
6499 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6500
f7f8bb69
GM
65012000-12-13 Gerd Moellmann <gerd@gnu.org>
6502
52283633 6503 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6504 New variables.
6505 (unwind_create_frame, unwind_create_tip_frame): New functions.
6506 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6507 while a frame is only partially constructed.
6508
6509 * xterm.h (x_free_frame_resources): Declare.
6510
6511 * xterm.c (x_free_frame_resources): New function.
6512 (x_destroy_window): Use it.
6513
e10da507
GM
6514 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6515 don't interrupt the update for pending input initially, i.e.
6516 update at least some lines.
6517
6518 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6519
d5b3eb1b 6520 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6521
6522 * xfns.c (gray_bitmap_bits): Declare `char *'.
6523
90aa2856
GM
65242000-12-12 Gerd Moellmann <gerd@gnu.org>
6525
6526 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6527 lines start with a relief line.
6528
a308c9cd
DL
65292000-12-12 Dave Love <fx@gnu.org>
6530
6531 * window.c (Fdisplay_buffer): Doc fix.
6532 (Fwindow_list): Remove unused var.
6533
6534 * buffer.h (mmap_set_vars): Declare.
6535
6536 * window.h (Fset_window_point): Declare.
6537
d575011f
EZ
65382000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6539
bf6282d2 6540 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6541 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6542 variable `area'. When looking for a row under (X,Y), give up if some
6543 of the previous rows is not enabled.
d575011f 6544
ecf4d726
GM
65452000-12-12 Gerd Moellmann <gerd@gnu.org>
6546
2ebf6139
GM
6547 * window.c (Fset_window_point): If displaying cursors in windows
6548 other than the selected window, make sure redisplay updates
6549 other windows to show the new value of point in the window.
6550
6551 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6552
bfdb75ee
GM
6553 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6554 the buffer is the sole visible buffer when in the mini-buffer.
6555
52283633 6556 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6557 Bind `inhibit-read-only' to t.
6558 (unwind_with_echo_area_buffer): Use AREF.
6559
c0006262
GM
6560 * xfns.c (Fx_hide_tip): Simplified.
6561
52283633
SM
6562 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6563 instead of `1'.
e9a59cad 6564
ecf4d726
GM
6565 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6566
e5959a9a
GM
65672000-12-11 Gerd Moellmann <gerd@gnu.org>
6568
a3642e49 6569 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6570
44b5a125
GM
6571 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6572 nothing to do. Bind inhibit-quit.
6573 (tip_frame): Make it a Lisp_Object.
6574 (x_create_tip_frame): Set tip_frame after it has been added to
6575 Vframe_list.
6576 (Fx_show_tip): Don't set tip_frame here.
6577
6578 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6579
6580 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6581 Lisp_Object.
6582
6583 * dispextern.h: Change external declaration of tip_frame.
6584
d990421f
GM
6585 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6586 return an empty string.
6587
4db87380
GM
6588 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6589 of the window's update_mode_line flag, since the former is set by
6590 force-mode-line-update, not the latter. This makes
6591 column-number-mode slightly faster.
52283633 6592
e5959a9a
GM
6593 * xdisp.c (try_window_id) <all changes above window start>:
6594 Set the cursor.
6595
169fe44e
GM
65962000-12-11 Paul Eggert <eggert@twinsun.com>
6597
6598 * config.in (HAVE_FTELLO): Remove.
6599 (HAVE_FSEEKO): Add.
6600 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6601 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6602 HAVE_FTELLO.
6603 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6604 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6605
59ec59ae
MB
66062000-12-11 Miles Bader <miles@gnu.org>
6607
6608 * window.c (displayed_window_lines): Don't round up when
6609 converting empty space at bottom to lines.
ff904dd6
MB
6610 Handle non-newline-terminated final lines properly.
6611 (Fwindow_text_height): New function (used to be in lisp).
6612 (syms_of_window): Initialize it.
59ec59ae 6613
42ebfa31
SM
66142000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6615
6616 * syntax.c (scan_lists): Check that the right quote char has the
6617 right Sstring syntax when jumping over strings.
6618 (init_syntax_once): Use Smax rather than 13.
6619
5cdb3cf3
MB
66202000-12-09 Miles Bader <miles@gnu.org>
6621
6622 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6623 with PARTIALLY, inverting the sense.
6624 (window_scroll_pixel_based): Scroll partially visible lines into
6625 place if we hit the beginning or end of the buffer.
a12167c5
MB
6626 (displayed_window_lines): Don't include partially visible lines.
6627 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6628
842b2a94
GM
66292000-12-08 Gerd Moellmann <gerd@gnu.org>
6630
6631 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6632
6633 * tparam.c (tparam1): Change the way buffers are reallocated to be
6634 portable and less obfuscated.
6635
6636 * termcap.c (tgetent): Change the way buffers are reallocated to
6637 be portable and less obfuscated.
6638
6639 * macros.c (store_kbd_macro_char): Change the way buffers are
6640 reallocated to be portable and less obfuscated.
6641
6642 * lread.c (read1): Change the way buffers are reallocated to be
6643 portable and less obfuscated.
6644
6645 * doc.c (Fsubstitute_command_keys): Change the way buffers
6646 are reallocated so that it is portable.
6647
137cad7c
EZ
66482000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6649
6650 * dosfns.c (Ffile_system_info): New function.
6651 (syms_of_dosfns): Defsubr it.
6652
5c7f629c
SM
66532000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6654
6655 * alloc.c (gc_sweep): Add comment.
6656
959e647d
GM
66572000-12-07 Gerd Moellmann <gerd@gnu.org>
6658
52283633
SM
6659 * sound.c (vox_configure): Change order of ioctls.
6660 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6661 Ignore errors when changing volume.
6662 (vox_close): Don't reset the device.
6663
926b7e5e
GM
6664 * process.c (read_process_output): Make sure the process marker's
6665 position is valid when the process buffer is changed in
6666 after-change functions. W3 does that.
52283633 6667
959e647d
GM
6668 * xfns.c (x_free_gcs): New function.
6669
6670 * xterm.h (x_free_gcs): Add prototype.
6671
6672 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6673 freeing GCs here.
6674
6675 * xterm.c (x_destroy_window): Call x_free_gcs so that
6676 resources of non-toolkit X windows will be freed.
6677
478ea067
AI
66782000-12-07 Andrew Innes <andrewi@gnu.org>
6679
6680 * w32fns.c (xlfd_charset_of_font): Fix last change.
6681
fbee3231
DL
66822000-12-06 Dave Love <fx@gnu.org>
6683
67292061
DL
6684 * md5.h (__P): Don't define -- it comes from config.h.
6685
fbee3231
DL
6686 * strftime.c: Change some #if foo to #ifdef foo.
6687
4ee87dbb
AI
66882000-12-06 Andrew Innes <andrewi@gnu.org>
6689
6690 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6691
52283633 6692 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6693 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6694 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6695
9765b4a4
GM
66962000-12-06 Gerd Moellmann <gerd@gnu.org>
6697
d285b373
GM
6698 * alloc.c (gc_sweep): Prevent symbols read during loadup
6699 from being freed.
6700
384333ee
GM
6701 * xdisp.c (underlying_face_id): New function.
6702 (handle_face_prop, face_before_or_after_it_pos): Use it
6703 to determine the face ``under'' a string. Let strings inherit
6704 the face of the buffer under them.
6705
6706 * xfaces.c (face_at_string_position): Update function comment.
52283633 6707
d4b72d58
GM
6708 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6709 matrix if the window's left position has changed; we need to
6710 redraw it in this case.
6711
6712 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6713
e1d05387
GM
6714 * window.c (coordinates_in_window): Check mouse on mode-line or
6715 header-line first.
6716
eb1b0c74
GM
6717 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6718 advertized by the function documentation.
6719
d94d636f
GM
6720 * window.c (syms_of_window): Doc fix.
6721
3887b449
GM
6722 * sound.c (vox_configure): Set volume for left and right channel.
6723 (sound_cleanup): Return nil.
6724
efc8f57a
GM
6725 * xdisp.c (move_it_by_lines): Fix paren typo.
6726
9765b4a4
GM
6727 * xterm.c (x_load_font): Don't use the font's max_bounds for
6728 computing the height of the font. If max_bounds' ascent or
6729 descent are greater than the font's ascent or descent, this means
6730 glyphs overlap, which should be handled now by redisplay.
6731
6529ed87
GM
6732 * window.c (Veven_window_heights): New variable.
6733 (syms_of_window): DEFVAR_LISP it.
6734 (Fdisplay_buffer): Check Veven_window_heights before evening the
6735 window heights.
52283633 6736
0eb2ecde
MB
67372000-12-06 Miles Bader <miles@gnu.org>
6738
6739 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6740 update `default-frame-alist' instead of setting no frame parameters.
6741
03d7a167
KH
67422000-12-06 Kenichi Handa <handa@etl.go.jp>
6743
6744 * composite.c (update_compositions): Fix typo (use the correct
6745 variable).
6746
5f8803c2
JR
67472000-12-05 Jason Rumney <jasonr@gnu.org>
6748
6749 * md5.h: Remove underscores from function declarations.
6750 (__attribute__, __alignof__) [!__GNUC__]: Define.
6751
6752 * md5.c: Delay include of md5.h until after namespace cleaning.
6753
c28a075b
JR
6754 * makefile.w32-in (fns.o): Depend on md5.h
6755 (md5.o): New target.
6756 (sunfns.o): Remove.
6757
6758 * makefile.nt: Likewise.
6759
ff3c7056
JR
67602000-12-05 Jason Rumney <jasonr@altavista.net>
6761
6762 * w32term.c (expose_area): Complete last change.
6763
0c21eeeb
KR
67642000-12-05 Ken Raeburn <raeburn@gnu.org>
6765
6766 * minibuf.c: Include intervals.h.
6767
f201d732
JR
67682000-12-05 Jason Rumney <jasonr@gnu.org>
6769
6770 * w32term.c (x_produce_glyphs): If a font for a component of
6771 a composition is not found, use 1 pixel dot ascent and 0 dot
6772 descent value to avoid displaying terribly tall empty boxes.
6773 (expose_area): Pass x-coordinate relative to the exposed
6774 area to x_draw_glyphs instead of a window-relative coordinate.
6775
21999ab9
GM
67762000-12-05 Gerd Moellmann <gerd@gnu.org>
6777
4d2036e4
GM
6778 * xdisp.c (next_element_from_ellipsis): Save face before selective
6779 display in saved_face_id, and set face_before_selective_p.
6780 (reseat_1): Reset face_before_selective_p.
6781 (append_space, extend_face_to_end_of_line): If iterator's
6782 face_before_selective_p is set, use the face from saved_face_id.
6783 (extend_face_to_end_of_line): For tty frames, make sure to
6784 use the right face id when producing spaces at the end of
6785 the line.
6786
6787 * dispextern.h (struct it): Add face_before_selective_p.
6788
52be17cc
GM
6789 * keyboard.c (record_char): Don't record identical help-echo
6790 events in recent_keys.
6791
8a4f36cc
GM
6792 * xterm.c [USE_X_TOOLKIT]: Close the display.
6793 (xim_close_dpy): Handle case that the display has been closed.
6794
57d6e381
GM
6795 * xterm.c (x_destroy_window): Reset the frame's X window after
6796 destroying it.
6797
21999ab9
GM
6798 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6799 variable window_width.
6800 (line_draw_cost): Fix code skipping over spaces at the end of the
6801 line when must_write_spaces is not set.
6802 (scrolling_window): Fix code inserting runs in list of all runs.
6803
91372bb7
KH
68042000-12-05 Kenichi Handa <handa@etl.go.jp>
6805
6806 * coding.c (setup_coding_system): Be sure to initialize
6807 coding->category_idx.
6808
6c083b4c
GM
68092000-12-04 Gerd Moellmann <gerd@gnu.org>
6810
0c68ce6f 6811 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6812
6452929e
GM
6813 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6814 area to x_draw_glyphs instead of a window-relative coordinate.
6815
d7f31e22
GM
6816 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6817 error in the message.
6818
ae18aa3b
GM
6819 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6820 timer after having read a key. It's not good for code reading
6821 several keys in a loop, like an input method.
6822
caa15ef7
GM
6823 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6824 record undo information for format-decode.
6825
6826 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6827 current buffer is read-only, not if it isn't.
6828
6c083b4c
GM
6829 * keyboard.c (record_char): Record `help-echo' input events
6830 in recent_keys only if they display some help. Don't record
6831 `help-echo' events as macro char.
6832
caa15ef7
GM
68332000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6834
6835 * editfns.c (save_excursion_restore): Don't move point
6836 in another window if it is showing the wrong buffer.
6837 Avoid the call to Fwindow_live_p, for speed.
6838
5a13529b
KH
68392000-12-04 Kenichi Handa <handa@etl.go.jp>
6840
e225faa7
KH
6841 * xfaces.c (struct font_name): New member registry_priority.
6842 (split_font_name): Initialize the above member to zero.
6843 (concat_font_list): New function.
6844 (font_list): Include fonts of all alternative registries.
6845 (FONT_POINT_SIZE_QUANTUM): New macro.
6846 (better_font_p): Ignore point size difference less than
6847 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6848
e89648b4
KH
6849 * xterm.c (x_produce_glyphs): If a font for a component of
6850 a composition is not found, use 1 pixel dot ascent and 0 dot
6851 descent value to avoid displaying terribly tall empty boxes.
6852
5a13529b
KH
6853 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6854
d7935eb6
KR
68552000-12-03 Ken Raeburn <raeburn@gnu.org>
6856
6857 * coding.h (code_convert_string1): Declare.
6858
6859 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6860
52283633 6861 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6862
0dd5e255
JR
68632000-12-02 Jason Rumney <jasonr@gnu.org>
6864
6865 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6866 correctly for single byte character case.
6867 (w32_per_char_metric): Do not try to make any assumptions about
6868 the metrics of BDF fonts.
250cfece 6869 (x_estimate_mode_line_height): If `mode-line' face
52283633 6870 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6871 (note_mouse_highlight): Change the cursor shape on the vertical
6872 border between windows [not enabled].
6873
6874 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6875
6876 * w32fns.c (Fx_create_frame): Reintroduce the call to
6877 face-set-after-frame-defaults.
6878 (Vx_window_horizontal_drag_shape): New variable.
6879 (syms_of_xfns): DEFVAR_LISP it.
6880 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6881 enabled].
0dd5e255 6882
b5d8d2ca
GM
68832000-12-02 Simon Josefsson <simon@josefsson.org>
6884
6885 * fns.c (Fmd5): Use a different logic to decide the coding system
6886 to use.
6887
6888 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6889
fbb87147
EZ
68902000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6891
52283633 6892 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6893
447e9da0
GM
68942000-12-01 Gerd Moellmann <gerd@gnu.org>
6895
7708ced0
GM
6896 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6897 height for YNegative.
6898 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6899 height; also see comment there.
6900
447e9da0
GM
6901 * window.c (coordinates_in_window): Handle computations for
6902 positions on the vertical bar and fringes differently for
6903 window-system frames. Consider some pixels near the vertical bar
6904 as on the bar if the frame doesn't have vertical scroll bars.
6905 Associate positions between mode or header lines with the
6906 right window, the left one.
6907
86d1db20
JR
69082000-12-01 Jason Rumney <jasonr@gnu.org>
6909
6910 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6911
6912 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6913 invalid frame.
6914
a1d58e5b
GM
69152000-12-01 Gerd Moellmann <gerd@gnu.org>
6916
52283633 6917 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6918 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6919 (save_window_save, Fset_window_configuration): Save/restore
6920 window's orig_top and orig_height.
6921
89c609af
JR
69222000-12-01 Jason Rumney <jasonr@gnu.org>
6923
4d177746 6924 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6925
89c609af
JR
6926 * w32fns.c (x_set_cursor_color): Fix last change.
6927
eccc05db
GM
69282000-11-30 Gerd Moellmann <gerd@gnu.org>
6929
31b6671b
GM
6930 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6931 sure that the next redisplay displays the minibuffer, so that
6932 the cursor will be replaced with what the minibuffer wants.
6933
eccc05db
GM
6934 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6935 #ifndef instead of using #if.
6936 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6937 USE_TOOLKIT_SCROLL_BARS is defined.
6938
162de750
JR
69392000-11-30 Jason Rumney <jasonr@gnu.org>
6940
6941 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6942 x_display_cursor.
6943
693c4692
GM
69442000-11-30 Gerd Moellmann <gerd@gnu.org>
6945
6946 * fns.c (Fmd5): Doc fix.
6947
b5d8d2ca 69482000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6949
6950 * fns.c (Fmd5): New function.
6951 (syms_of_fns): Defsubr md5.
6952
6953 * Makefile.in (obj): Add md5.o
6954
b02cd40b
GM
69552000-11-30 Gerd Moellmann <gerd@gnu.org>
6956
edfb795e
GM
6957 * md5.h, md5.c: New files, taken from glibc.
6958
df3aedcf
GM
6959 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6960
b02cd40b 6961 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6962 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6963
8b5176cd
SM
69642000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6965
6966 * eval.c (Frun_hooks): Allow 0 arguments.
6967
346598f1
GM
69682000-11-29 Gerd Moellmann <gerd@gnu.org>
6969
f9396e03
GM
6970 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6971 is over the menu bar widget, say it's not on the frame.
6972
4a967a9b
GM
6973 * xfns.c (Fx_create_frame): Reintroduce the call to
6974 face-set-after-frame-defaults.
6975
346598f1
GM
6976 * eval.c (Fsignal): Reset handling_signal.
6977
222456a1
JR
69782000-11-28 Jason Rumney <jasonr@gnu.org>
6979
6980 * w32menu.c (add_menu_item): Reset menu item text when changing
6981 type to radio button.
6982
8049ddc0
GM
69832000-11-28 Gerd Moellmann <gerd@gnu.org>
6984
346598f1 6985 * xselect.c: Update copyright.
f4f4ee4d 6986
bebe4a2c
GM
6987 * window.c (coordinates_in_window): If on a mode or header line,
6988 but sufficiently close to its start, return ``on vertical
6989 border''. This gives us a way to drag windows horizontally when
6990 using toolkit scroll bars.
6991
6992 * xterm.c (note_mouse_highlight): Change the cursor shape
6993 on the vertical border between windows.
6994
6995 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6996
6997 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6998 (syms_of_xfns): DEFVAR_LISP it.
6999 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
7000
8d2c2642
GM
7001 * textprop.c (text_read_only): New function.
7002 (verify_interval_modification): Use it instead of signaling
7003 `text-read-only'. This makes it easier to catch this error
52283633 7004 with a breakpoint.:
8d2c2642 7005
52283633 7006 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
7007 not end of line, which includes CR.
7008
5a2bae6c
KH
70092000-11-28 Kenichi Handa <handa@etl.go.jp>
7010
7011 * coding.c (Ffind_coding_systems_region_internal): Be sure to
7012 include no-conversion.
7013
ae31f84d
JR
70142000-11-27 Jason Rumney <jasonr@gnu.org>
7015
7016 * w32fns.c (w32_load_system_font): Always mark font as double byte
7017 if codepage is unicode.
7018
67f1cf4c
GM
70192000-11-27 Gerd Moellmann <gerd@gnu.org>
7020
4a74d071 7021 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 7022 just consume it to avoid unintended skipping over invisible text below.
4a74d071 7023
902ae620
GM
7024 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
7025 `vertical-line', `mode-line' and `header-line' events.
7026
7027 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
7028 of a character, a TAB for instance. This is easier than to set
7029 up the iterator exactly, and it's not a frequent case, so the
7030 additional effort wouldn't really pay off.
7031
c1e279c2
AC
70322000-11-26 Andrew Choi <akochoi@i-cable.com>
7033
67f1cf4c 7034 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
7035 init_window_once.
7036
a609568a
JR
70372000-11-25 Jason Rumney <jasonr@gnu.org>
7038
52283633
SM
7039 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
7040 Args to window_from_coordinates should be pixel coordinates.
48b21762 7041
a609568a
JR
7042 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
7043 redisplay handles them properly.
7044
a658d039
MB
70452000-11-25 Miles Bader <miles@gnu.org>
7046
7047 * indent.c (compute_motion): Keep pos_byte in sync with pos.
7048
d3416cca
JR
70492000-11-24 Jason Rumney <jasonr@gnu.org>
7050
7051 * w32.c (init_environment): Set LANG environment variable based on
7052 locale settings, if not set.
7053
7054 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
7055 making tool bar smaller. When clearing the frame, also
7056 clear current matrices. Clear frame when tool bar disappears.
7057 Don't use more lines for the tool-bar than is available.
7058 (x_change_window_heights): New function.
7059
ba193890
GM
70602000-11-24 Gerd Moellmann <gerd@gnu.org>
7061
2be8f184
GM
7062 * xdisp.c (init_from_display_pos): If POS says we're already after
7063 an overlay string ending at POS, make sure to pop the iterator
7064 because it will be in front of that overlay string. When POS is
7065 ZV, we've thereby also ``processed'' overlay strings at ZV.
7066
ba193890
GM
7067 * xfaces.c (lface_from_face_name): Function comment fix.
7068
1862a24e
MB
70692000-11-24 Miles Bader <miles@gnu.org>
7070
7071 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7072 apply `mode-line-inverse-video' -- zero means force display using
7073 the default face, non-zero means display using the specialized face.
7074 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7075
f07fa1b8
KH
70762000-11-23 Kenichi Handa <handa@etl.go.jp>
7077
7078 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7079 hard coded `4'.
7080
2bcdf662
EZ
70812000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7082
7083 * coding.c (decode_coding_emacs_mule): Fix the case of
7084 CODING_EOL_LF, which used uninitialized value of c.
7085
ba8299ff
SM
70862000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7087
7088 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7089
f4117c4d
GM
70902000-11-22 Gerd Moellmann <gerd@gnu.org>
7091
03e757c1
GM
7092 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7093 buffer object.
7094
f4117c4d
GM
7095 * frame.h (struct frame): Replace desired_tool_bar_items,
7096 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 7097 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
7098
7099 * frame.c (make_frame): Change initialization of tool bar
7100 items accordingly.
7101
7102 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 7103 Change references to members deleted from struct frame to use the
f4117c4d
GM
7104 new ones.
7105
7106 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7107 references to members deleted from struct frame to use the new ones.
f4117c4d 7108
52283633 7109 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7110
7111 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7112
7113 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7114 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7115 from struct frame to use the new ones.
7116
f8e2f3f2
MB
71172000-11-23 Miles Bader <miles@gnu.org>
7118
7119 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7120 the face's inverse-video attribute, rather than overriding it.
7121
60e8e0a5
GM
71222000-11-22 Gerd Moellmann <gerd@gnu.org>
7123
7124 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7125 making tool bar smaller.
7126
92dd1b29
DL
71272000-11-22 Dave Love <fx@gnu.org>
7128
7129 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7130
e672fdce
MB
71312000-11-22 Miles Bader <miles@gnu.org>
7132
3a17d6cc
MB
7133 * keyboard.c (Vminibuffer_message_timeout): New variable.
7134 (command_loop_1): Use it to determine message timeout.
7135 (syms_of_keyboard): Initialize it.
7136
60e8e0a5 7137 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7138
e9655d81
KH
71392000-11-22 Kenichi Handa <handa@etl.go.jp>
7140
7141 * sysdep.c: Move the code for declaring h_errno after #include
7142 <netdb.h>.
7143
77270fac
GM
71442000-11-21 Gerd Moellmann <gerd@gnu.org>
7145
cd913aae
GM
7146 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7147 the menu bar when the tooltip is unmapped.
7148
77270fac
GM
7149 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7150 sole visible buffer when we're currently in the mini-buffer, and
7151 give up if so.
52283633 7152
556635d6
JR
71532000-11-21 Jason Rumney <jasonr@gnu.org>
7154
7155 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7156 put on the clipboard.
7157 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7158 copy of what Emacs last put there. If they are the same, do not
52283633 7159 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7160
5b7bde64
MB
71612000-11-22 Miles Bader <miles@gnu.org>
7162
7163 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7164 (syms_of_minibuf): Initialize it.
7165 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7166 to prompt, don't make read-only.
7167
ff23e1dd
GM
71682000-11-21 Gerd Moellmann <gerd@gnu.org>
7169
52283633
SM
7170 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7171 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7172
7aaf4388
GM
7173 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7174
f5f47add 7175 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7176
ff23e1dd
GM
7177 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7178
37c35586
KH
71792000-11-21 Kenichi Handa <handa@etl.go.jp>
7180
7181 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7182 ... #endif scope.
7183
ff9ab414
GM
71842000-11-20 Gerd Moellmann <gerd@gnu.org>
7185
52283633 7186 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7187 screen supports it.
7188
29a01b72
GM
7189 * s/gnu-linux.h: Don't use `#cpu'.
7190
09dfdf85
GM
7191 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7192 not defined in mman.h.
7193
52283633 7194 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7195 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7196 and store an index in the XClientMessageEvent. Storing a
7197 Lisp_Object or pointer can fail on a 64 bit system, since X only
7198 transfers 32 bits.
52283633
SM
7199 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7200
81459ac9
DL
72012000-11-20 Dave Love <fx@gnu.org>
7202
7203 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7204
56c13ae6
GM
72052000-11-20 Gerd Moellmann <gerd@gnu.org>
7206
7207 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7208
495a6df3
KH
72092000-11-20 Kenichi Handa <handa@etl.go.jp>
7210
2bcf3714
KH
7211 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7212 by WIDTH.
7213
495a6df3
KH
7214 * alloc.c (make_string): Fix previous change. Be sure to make
7215 unibyte string correctly.
7216
6d950f4c
GM
72172000-11-19 Gerd Moellmann <gerd@gnu.org>
7218
39b39373
GM
7219 * window.c (Fwindow_list): Change parameter list to be XEmacs
7220 compatible.
7221 (window_list_1): New function.
7222 (window_loop): Use it instead of Fwindow_list.
7223
b95b34e5
GM
7224 * sysdep.c (emacs_ospeed): New variable.
7225 (toplevel): Don't declare ospeed extern.
7226 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7227
7228 * termcap.c (ospeed): Remove.
7229 (tputs) [!emacs]: Remove unused code.
7230 (tgetent): Avoid a compiler warning.
7231
e83dc917
GM
7232 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7233 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7234 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7235
7236 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7237 removed.
7238 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7239 Take the X display as additional argument.
7240 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7241 `Widget' is a pointer type that's not easily stored in Lisp_Object
7242 form in a portable way.
52283633 7243
6d950f4c
GM
7244 * dispnew.c (update_text_area): Fix last change.
7245
e47306e6
GM
72462000-11-18 Gerd Moellmann <gerd@gnu.org>
7247
fb3cd89b
GM
7248 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7249
7250 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7251 clear current matrices.
7252
edaa9aed
GM
7253 * buffer.c (mmap_enlarge): Don't print a message on stderr
7254 if mapping new memory at the end of the existing region fails.
7255
e47306e6
GM
7256 * dispnew.c (update_text_area): Don't skip over equal glyphs
7257 when the last current glyph overlaps the glyph to its right.
7258
509633e3
MB
72592000-11-18 Miles Bader <miles@gnu.org>
7260
7261 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7262 lines that *end* with "..." too (that's the most common case!).
7263
d392e9c5
GM
72642000-11-18 Gerd Moellmann <gerd@gnu.org>
7265
67988445
GM
7266 * xdisp.c (resize_mini_window): Temporarily change to the
7267 mini-window's buffer if necessary.
1bfdbe43 7268
d392e9c5
GM
7269 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7270 the tooltip obscures less text under it.
7271
72722000-11-17 Gerd Moellmann <gerd@gnu.org>
7273
7274 * puresize.h (BASE_PURESIZE): Increase to 700000.
7275
92bb977f
JR
72762000-11-18 Jason Rumney <jasonr@gnu.org>
7277
7278 * w32term.c (w32_draw_bitmap): Use face to set colors.
7279
26fbf20b
DL
72802000-11-17 Dave Love <fx@gnu.org>
7281
7282 * lread.c (Fload): Fix #ifdef for pcc.
7283
100b593b
GM
72842000-11-17 Gerd Moellmann <gerd@gnu.org>
7285
7286 * xdisp.c (pos_visible_p): Compute the default character height
7287 differently.
7288
a288d0d1
GM
72892000-11-16 Gerd Moellmann <gerd@gnu.org>
7290
cac94de6 7291 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7292 knowing the line's height; use the default font's height in that case.
cac94de6 7293
a288d0d1
GM
7294 * xfaces.c (weight_table): Add `demi' with the same meaning as
7295 `demibold'.
7296
981fb6f6
KH
72972000-11-16 Kenichi Handa <handa@etl.go.jp>
7298
2cca872d 7299 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7300 (clear_glyph_row): Delete local static variable null_row.
7301
e5fa381b
JR
73022000-11-15 Jason Rumney <jasonr@gnu.org>
7303
7304 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7305 (w32_alloc_lighter_color): Use new brightness calculations from
7306 xterm.c. Scale delta to be in the range expected by W32.
7307 (w32_draw_relief_rect): Use frame relief colors.
7308
8e42f043
GM
73092000-11-15 Gerd Moellmann <gerd@gnu.org>
7310
6d133d1f
GM
7311 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7312 (Qinhibit_default_face_x_resources): New variable.
7313 (syms_of_frame): Initialize it.
7314 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7315
7316 * xdisp.c (pos_visible_p): Improve function comment.
7317
7318 * lisp.h (BINDING_STACK_SIZE): New macro.
7319
8e42f043
GM
7320 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7321 reading the directory if readdir returns null and errno is EAGAIN
7322 or EINTR.
7323
e8c87124
SM
73242000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7325
7326 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7327 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7328 Set amount_to_scroll to max of dx and scroll_step so that
7329 scroll-conservatively doesn't defeat scroll-step>1.
7330 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7331 scroll-conservatively for line-at-a-time scrolling.
7332
5f0c971d
GM
73332000-11-14 Gerd Moellmann <gerd@gnu.org>
7334
7335 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7336 extra argument.
7337
7338 * xdisp.c (current_mode_line_height, current_header_line_height):
7339 New variables.
7340 (init_xdisp): Initialize them.
7341 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7342 and use exact mode line heights if it is set.
7343
7344 * lisp.h (pos_visible_p): Change prototype.
7345
7346 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7347 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7348 and current_header_line_height first.
52283633
SM
7349 (current_mode_line_height, current_header_line_height):
7350 Declare extern.
5f0c971d 7351
d7361edf
MB
73522000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7353
7354 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7355 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7356 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7357
ee5e440a
MB
73582000-11-14 Miles Bader <miles@gnu.org>
7359
7360 * xterm.c (x_alloc_lighter_color): Include an additive component
7361 too for dark colors, because FACTOR isn't enough.
7362 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7363 New macros.
7364
5ca020fc
GM
73652000-11-13 Gerd Moellmann <gerd@gnu.org>
7366
7367 * keyboard.c (show_help_echo): Call message3_nolog with number of
7368 bytes in the help string as 2nd parameter, instead of the number
7369 of characters.
7370
9d348294
MB
73712000-11-13 Miles Bader <miles@gnu.org>
7372
7373 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7374 (Fload): Use new openp return protocol.
7375 Don't try to use Vload_source_file_function to load .elc files.
7376 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7377 openp return protocol.
7378 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7379
1729bb9a
KH
73802000-11-11 Kenichi Handa <handa@etl.go.jp>
7381
4e677396
KH
7382 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7383
7384 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7385 Defined these macros.
7386 (NLIST_STRUCT): Avoid re-defining it.
7387
1729bb9a
KH
7388 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7389 -I/usr/contrib/X11R6/include.
7390 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7391
a82fe213
JR
73922000-11-10 Jason Rumney <jasonr@gnu.org>
7393
7394 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7395
7396 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7397 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7398
7399 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7400 (Qw32_charset_vietnamese): New symbol.
7401 (xlfd_charset_of_font): New function.
7402 (w32_load_system_font): Use it.
7403 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7404 when Vw32_charset_info_alist is nil to ensure default face always
7405 has font. Use Fcar and Fcdr for safety.
7406 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7407 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7408 pseudo-codepages for special cases.
7409 (w32_to_x_font): New parameter to allow charset portion to be
7410 specified where there is many to one mapping. Callers changed.
7411 (w32_list_fonts): Avoid listing fonts that won't display.
7412
52d89894
GM
74132000-11-10 Gerd Moellmann <gerd@gnu.org>
7414
7415 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7416 (font_list_1): Renamed from font_list.
7417 (font_list): New function, trying alternative registries from
7418 Vface_alternative_font_registry_alist.
7419 (Finternal_set_alternative_font_registry_alist): New function.
7420 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7421 Vface_alternative_font_registry_alist.
7422 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7423
651cd3da
KR
74242000-11-09 Ken Raeburn <raeburn@gnu.org>
7425
7426 * lisp.h (Flooking_at): Declare.
7427
388ac098
GM
74282000-11-09 Gerd Moellmann <gerd@gnu.org>
7429
778fbc46 7430 * dired.c (directory_files_internal): Fix a braino.
52283633 7431
388ac098
GM
7432 * dired.c (directory_files_internal): Add missing GCPRO's.
7433 Some cleanup.
7434
ecaedde1
GM
74352000-11-08 Gerd Moellmann <gerd@gnu.org>
7436
f7eb32aa
GM
7437 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7438 (resize_mini_window): Return quickly if Vresize_mini_window is
7439 nil. Don't return if Vmax_mini_window_height is nil.
7440
7441 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7442 (syms_of_xdisp): Initialize them.
7443 (resize_mini_window): Act according to the setting of
7444 Vresize_mini_window.
7445 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7446
ecaedde1
GM
7447 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7448 scroll bar widget after configuring it, so that it will appear at
7449 the right position from the start.
7450 (XTredeem_scroll_bar): Cleaned up.
7451
3747ef2c
KH
74522000-11-08 Kenichi Handa <handa@etl.go.jp>
7453
7454 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7455 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7456 division by two.
7457
7458 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7459
03391420
DL
74602000-11-07 Dave Love <fx@gnu.org>
7461
7758f1c1 7462 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7463
7464 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7465
b5de343d
GM
74662000-11-07 Gerd Moellmann <gerd@gnu.org>
7467
acad3c0b
GM
7468 * window.c (Fset_window_configuration): Don't try to preserve
7469 point in the current buffer, if that buffer is displayed in more
7470 than one window.
7471
b5de343d
GM
7472 * xfaces.c (lookup_named_face): If default face isn't realized,
7473 try to realize it. Return -1 if not successful.
7474 (Fx_list_fonts): Handle case that face cannot be determined.
7475 (Fface_font): Likewise.
7476
cdb1fe49
GM
74772000-11-06 Gerd Moellmann <gerd@gnu.org>
7478
7479 * window.c (displayed_window_lines): Detect partially
7480 visible lines at the bottom correctly.
7481
d3a67486
SM
74822000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7483
7484 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7485 when ensuring we don't do visit in indirect buffer.
7486
ff8dd5d5
KH
74872000-11-06 Kenichi Handa <handa@etl.go.jp>
7488
7489 * composite.h (compose_chars_in_text): Add prototype.
7490
7491 * composite.c (Vcomposition_function_table): New variable.
7492 (Qcomposition_function_table): New variable.
7493 (run_composition_function): Call
7494 Vcompose_chars_after_function with three arguments.
7495 (compose_chars_in_text): New function.
7496 (syms_of_composite): Modified the doc-string of
7497 Vcompose_chars_after_function. Declare composition-function-table
7498 as a lisp variable, and initialize it.
7499
7500 * xfns.c (x_encode_text): Suppress producing escape sequences for
7501 composition.
7502
7503 * xselect.c: Include composite.h.
7504 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7505
d1145f85
AI
75062000-11-05 Andrew Innes <andrewi@gnu.org>
7507
7508 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7509
7510 * sysdep.c (read_input_waiting): Remove extraneous argument to
7511 read_socket_hook.
7512
7513 * w32fns.c (Fx_server_version): Include w32_build_number in the
7514 return list.
7515
7516 * w32heap.c (w32_build_number): New variable.
7517 (cache_system_info): Set it.
7518
7519 * w32heap.h (w32_build_number): Add extern.
7520
7521 * emacs.c (syms_of_emacs): Update docstring for
7522 system-configuration, to reflect the actual usage on MS-Windows.
7523
e85ee976
GM
75242000-10-31 Gerd Moellmann <gerd@gnu.org>
7525
26dcb81b
GM
7526 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7527 process idle timers while waiting for another event.
7528
52283633 7529 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7530 the default face are colored.
7531
e85ee976
GM
7532 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7533 window height hasn't changed.
7534
01b220b6
JR
75352000-10-31 Jason Rumney <jasonr@gnu.org>
7536
7537 * w32term.c (x_produce_glyphs): Handle composite characters.
7538 (x_draw_glyph_string_foreground)
7539 (x_draw_composite_glyph_string_foreground): Restore old font.
7540
4e6b7204
MB
75412000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7542
7543 * minibuf.c (read_minibuf): Reset the undo history just before
7544 starting the recursive-edit.
7545
d4358b37
GM
75462000-10-30 Gerd Moellmann <gerd@gnu.org>
7547
563f68f1
GM
7548 * xfaces.c (menu_face_change_count): New variable.
7549 (Finternal_set_lisp_face_attribute): Increment it for changes
7550 of the `menu' face.
7551 (realize_basic_faces): Reflect changes in the `menu' faces
7552 in menu bars.
7553
82e274d1
GM
7554 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7555 dy obtained from the iterator's y-position after moving from
7556 scroll_margin_pos to PT; see comment there.
52283633 7557
0dbf9fd2
GM
7558 * xdisp.c (safe_eval_handler): Call add_to_log.
7559
906b3b14
GM
7560 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7561 is not a symbol or string.
7562
d4358b37
GM
7563 * xdisp.c (echo_area_display): Don't perform a display update from
7564 inside redisplay. The update will happen anyway at the end of
7565 redisplay, and it can confuse redisplay (GC messages while
7566 redisplaying, for instance.)
7567
70c825df
SM
75682000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7569
cf9b4b0b
SM
7570 * xrdb.c (x_load_resources): Use the class name in the defaults.
7571
70c825df
SM
7572 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7573 (regex_compile): Catch bogus \(\1\).
7574
a1d34b1e
GM
75752000-10-30 Gerd Moellmann <gerd@gnu.org>
7576
cae71efe
GM
7577 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7578 RGB values.
52283633 7579
35efe0a1
GM
7580 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7581 we have a color cache, check that the cached color equals the
7582 allocated color. If not, clear the color cache.
7583
1d3baf74
GM
7584 * window.c (displayed_window_lines): Change buffers if necessary.
7585 Fix computation of displayed lines.
7586
a1d34b1e
GM
7587 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7588 update_menu_bindings to DEFVAR_BOOL.
7589
70737ea9
KH
75902000-10-30 Kenichi Handa <handa@etl.go.jp>
7591
70c825df 7592 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7593
fa0cb51d
KH
7594 * puresize.h (BASE_PURESIZE): Increase to 680000.
7595
70737ea9
KH
7596 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7597
0e4c08e8
JR
75982000-10-29 Jason Rumney <jasonr@gnu.org>
7599
7600 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7601
7602 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7603 (w32_cache_char_metrics): Handle possibility that 'x' does not
7604 exist in a BDF font.
7605 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7606
7607 * w32bdf.h (bdffont): Add nchars.
7608
7609 * w32bdf.c (set_bdf_font_info): Set it.
7610 (w32_BDF_TextOut): Swap byte order of double byte characters.
7611 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7612
45b84006
EZ
76132000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7614
7615 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7616 don't override the colors in frame's param_alist, unless they are
7617 unspecified.
7618
7619 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7620 reverse the effect of the highlight flag.
7621
caf9deee
KR
76222000-10-27 Ken Raeburn <raeburn@gnu.org>
7623
7624 * window.h (Fwindow_live_p): Declare.
7625
ae0b9b46
KR
7626 * undo.c (record_delete): Check that last_undo_buffer is really a
7627 buffer before applying XBUFFER to it.
7628
7629 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7630 Faref.
7631
02067692
SM
76322000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7633
7634 * lisp.h (KEYMAPP): New macro.
7635 (get_keymap): Remove.
7636 (get_keymap_1): Rename get_keymap.
7637
7638 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7639
7640 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7641
7642 * xmenu.c (single_submenu): Use KEYMAPP.
7643 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7644 Use KEYMAPP rather than Fkeymapp.
7645
7646 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7647
7648 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7649 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7650 Use KEYMAPP rather than Fkeymapp.
7651 (single_submenu): Use KEYMAPP.
7652 (w32_menu_show, w32_dialog_show): Use TRUE.
7653
7654 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7655
7656 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7657 (Fkeymapp): Use KEYMAPP.
7658 (get_keymap): Rename from get_keymap_1. Remove old def.
7659 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7660 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7661 (Fminor_mode_key_binding): Don't raise an error if the binding
7662 is not a keymap.
7663 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7664 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7665
7666 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7667 Allow Vspecial_event_map to be autoloaded.
7668 (menu_bar_items): Fetch the keymap rather than using keymapp.
7669 (menu_bar_one_keymap): No need to follow func-indirect any more.
7670 (parse_menu_item): get_keymap_1 -> get_keymap.
7671 (tool_bar_items): Fetch the keymap rather than using keymapp.
7672 (read_key_sequence): Use KEYMAPP.
7673
7674 * intervals.c (get_local_map): Use get_keymap rather than following
7675 function-indirections explicitly.
7676
7677 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7678
f9d80af3
JR
76792000-10-27 Jason Rumney <jasonr@gnu.org>
7680
7681 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7682 point, as Windows has oversized fonts.
7683
7684 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7685
a3ba27da
GM
76862000-10-27 Gerd Moellmann <gerd@gnu.org>
7687
7688 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7689 (freehook, reallochook): Handle null pointer arguments.
7690 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7691
aa3b80cc
SM
76922000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7693
7694 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7695 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7696 Giving in to popular pressure to shut up the compiler with casts.
7697
e24e84cc
GM
76982000-10-27 Gerd Moellmann <gerd@gnu.org>
7699
7700 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7701 signed value, and use a default value computed from the font's
7702 maximum descent.
7703
05ea7ef2
MB
77042000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7705
7706 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7707 that specify a negative underline position can still use underlines.
7708
7709 * window.c (Fpos_visible_in_window_p): Make POS default to
7710 WINDOW's point, not the current buffer's point.
7711
0b95284b
DL
77122000-10-26 Dave Love <fx@gnu.org>
7713
7714 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7715 when it's necessary.
7716
6c5b90af
GM
77172000-10-26 Gerd Moellmann <gerd@gnu.org>
7718
8b6d9dc9
GM
7719 * window.c (size_window): Compute size difference from sum of old
7720 child window sizes instead of from parent's size.
7721
6bc92b2e
GM
7722 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7723 Handle obscured lines at the top of the window.
7724
7725 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7726 down after the last error condition check.
7727
6c5b90af
GM
7728 * frame.c (Fdelete_frame): Run delete-frame-hook.
7729
42f92d4d
KH
77302000-10-26 Kenichi Handa <handa@etl.go.jp>
7731
7732 * coding.c (decode_coding): Fix previous change (check also
7733 CODING_MODE_LAST_BLOCK).
7734
d97151cb
SM
77352000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7736
e7efc503
SM
7737 * regex.c: More `unsigned char' -> `re_char' changes.
7738 Also change several `int' into `re_wchar_t'.
7739 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7740 (PUSH_FAILURE_POINTER): Don't cast any more.
7741 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7742 We want GCC to complain, since this piece of code makes
7743 re_match non-reentrant, which *should* be fixed.
7744 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7745 (EXTEND_BUFFER): Use RETALLOC.
7746 (SET_LIST_BIT): Don't cast.
7747 (re_wchar_t): New type.
7748 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7749 that those two functions will always properly return.
7750 (IMMEDIATE_QUIT_CHECK): Cast to void.
7751 (analyse_first): Use recursion rather than an explicit stack.
7752 (re_compile_fastmap): Can't fail anymore.
7753 (re_search_2): Don't check re_compile_fastmap for failure.
7754 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7755 Now also sets the new value (passed in a new argument).
7756 (re_match_2_internal): Use it.
7757 Also, use a new var `reg' of type size_t when looping through regs
7758 rather than reuse the inappropriate `mcnt'.
7759
d97151cb
SM
7760 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7761 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7762 (where_is_internal): Renamed from Fwhere_is_internal.
7763 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7764 (Fwhere_is_internal): New function wrapping where_is_internal.
7765 (where_is_internal_1): Handle the case where we're filling the cache.
7766 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7767
d5789b65
MB
77682000-10-25 Miles Bader <miles@gnu.org>
7769
7770 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7771
4ecda532
GM
77722000-10-25 Gerd Moellmann <gerd@gnu.org>
7773
7774 * window.c (pos_fully_visible_p): Removed.
7775 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7776 if position is visible and/or fully visible.
7777
7778 * lisp.h (pos_visible_p): Add prototype.
7779
7780 * xdisp.c (pos_visible_p): New function.
7781
68c3a137
KH
77822000-10-25 Kenichi Handa <handa@etl.go.jp>
7783
7784 * process.c (send_process): If OBJECT is t, it means that the data
7785 is from C string, but we should encode it. Before calling
7786 setup_raw_text_coding_system, be sure to flush out data by the
7787 previous coding system.
7788
7ae1c032
MB
77892000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7790
ff4dcd4b
MB
7791 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7792 assignment of startpos to prev when startpos == pos.
7793
7ae1c032
MB
7794 * editfns.c (find_field): Set the field stickiness correctly from
7795 overlay fields. Use renamed `text_property_stickiness'.
7796 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7797 Only check text properties, not overlays.
7ae1c032
MB
7798 * textprop.c (get_char_property_and_overlay): New function.
7799 (Fget_char_property): Use it.
7800 * intervals.h (get_char_property_and_overlay): Add declaration.
7801
49801145
SM
78022000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7803
7804 * keymap.c: Use AREF, ASET and ASIZE macros.
7805 (Fmake_sparse_keymap): Docstring fix.
7806 (synkey): Remove.
7807 (shadow_lookup): Move up.
7808 Handle the case where lookup-key returns an integer.
7809 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7810 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7811 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7812 Simplify/rewrite the keymap-finding code.
7813 Add check for command shadowing, using shadow_lookup.
7814
39e776cd
SM
78152000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7816
7817 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7818 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7819 a symbol.
7820
2488aba5
AI
78212000-10-24 Andrew Innes <andrewi@gnu.org>
7822
7823 * dired.c (directory_files_internal_unwind): New function.
7824 (directory_files_internal): Use it to ensure closedir is called
7825 even if expand-file-name or file-attributes throw, eg. because of
7826 a user interrupt. Also enable immediate_quit while calling
7827 re_search, so that matching can be interrupted as well.
7828
b94fdf61
AI
78292000-10-24 Andrew Innes <andrewi@gnu.org>
7830
7831 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7832 NT-Emacs only.
7833 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7834 so that re_search functions only quit when callers expect them to.
7835
78362000-10-24 Kenichi Handa <handa@etl.go.jp>
7837
7838 * regex.c (regex_compile): Change the way of handling a range from
7839 a char less than 256 to a char not less than 256.
7840
1946f901
GM
78412000-10-24 Gerd Moellmann <gerd@gnu.org>
7842
7ae2f10f
GM
7843 * window.c (size_window): Prevent setting window's width or
7844 height to a negative value (esp. with XSETFASTINT).
7845
5dcab13e
GM
7846 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7847 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7848 (protect_malloc_state) [GC_MALLOC_CHECK &&
7849 GC_PROTECT_MALLOC_STATE]: New function.
7850 (PROTECT_MALLOC_STATE): New macro.
7851 (__malloc_initialize, morecore, _malloc_internal)
7852 (_free_internal) _realloc_internal): Use it to make _heapinfo
7853 read-only outside of gmalloc.
7854
63e1b552
GM
7855 * keymap.c: Update copyright.
7856
1946f901
GM
7857 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7858 a symbol.
7859
4fa09beb
GM
78602000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7861
7862 * filelock.c (unlock_all_files): Use unlock_file to expand each
7863 buffer's file_truename before trying remove its lock file.
7864
23afac01
EZ
78652000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7866
7867 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7868 or CRLF, decode EOLs.
7869
04448b95
KH
78702000-10-24 Kenichi Handa <handa@etl.go.jp>
7871
7872 * window.c (Fdisplay_buffer): Fix doc.
7873
3090a5a5
JR
78742000-10-23 Jason Rumney <jasonr@gnu.org>
7875
7876 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7877 ASCII font of default fontset on Windows.
7878
7879 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7880 xterm.c comment below).
7881
7882 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7883
a83fee2c
GM
78842000-10-23 Gerd Moellmann <gerd@gnu.org>
7885
7886 * xterm.c (x_connection_closed): Reset handling_signal.
7887
52283633 7888 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7889
6ffdb539
MB
78902000-10-23 Miles Bader <miles@gnu.org>
7891
7892 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7893 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7894 maintain old behavior.
7895 * minibuf.c (Fminibuffer_complete): Likewise.
7896
7f1c969b
MB
78972000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7898
7899 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7900 that when a font can't be exactly centered, it errs up rather than
7901 down.
7902
23afac01 79032000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7904
52283633 7905 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7906
1a578e9b
AC
79072000-10-23 Andrew Choi <akochoi@i-cable.com>
7908
7909 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7910
7911 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7912 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7913
7914 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7915 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7916 syms_of_search, x_term_init, and init_keyboard before calling
7917 init_window_once. Also, call syms_of_xmenu.
7918
7919 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7920 default fontset to Monaco.
7921
7922 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7923 NewMacWindow and DisposeMacWindow.
7924 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7925 instead of calling NewMacWindow and setting fields of
7926 f->output_data.mac directly. Call init_frame_faces.
7927 (Fdelete_frame) [macintosh]: Remove unused code.
7928 (Fmodify_frame_parameters) [macintosh]: Call
7929 x_set_frame_parameters instead of mac_set_frame_parameters.
7930
7931 * frame.h [macintosh]: Define menu_bar_lines field in struct
7932 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7933
7934 * keyboard.c [macintosh]: Include macterm.h.
7935 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7936 and menu_bar_activate_event type events as for X and NT.
7937 (make_lispy_event) [macintosh]: Construct lisp events of type
7938 MENU_BAR_EVENT as for X and NT.
7939
7940 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7941 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7942 (sys_subshell) [macintosh]: Remove definition entirely.
7943 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7944 Vwindow_system_version here. Remove initialization of
7945 Vx_bitmap_file_path.
7946 (read_input_waiting): Correct the number of parameters passed to
7947 read_socket_hook.
7948 Move all Macintosh functions to mac/mac.c.
7949
7950 * term.c [macintosh]: Include macterm.h.
7951
7952 * window.c [macintosh]: Include macterm.h.
7953
7954 * xdisp.c [macintosh]: Include macterm.h. Declare
7955 set_frame_menubar and pending_menu_activation.
7956 (echo_area_display) [macintosh]: Do not return if terminal frame
7957 is the selected frame.
7958 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7959 Allow only the selected frame to set menu bar.
7960 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7961 calling FRAME_EXTERNAL_MENU_BAR (f).
7962 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7963
7964 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7965 and check_x. Declare XCreateGC. Define x_create_gc and
7966 x_free_gc. Initialize font_sort_order.
7967 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7968 but call x_list_fonts instead of w32_list_fonts.
7969 (Finternal_face_x_get_resource) [macintosh]: Do not call
7970 display_x_get_resource.
7971 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7972 (realize_x_face) [macintosh]: Load the font if it is specified in
7973 ATTRS.
52283633 7974 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7975
1ffbabe3
SM
79762000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7977
7978 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7979 is nil: since we go to the end of submap anyway, we'd end up
7980 setting nil to nil.
7981 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7982 doesn't obey autoload.
7983
bed43f1d
EZ
79842000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7985
1ffbabe3 7986 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7987
ea4233a7
JR
79882000-10-21 Jason Rumney <jasonr@gnu.org>
7989
7990 * w32term.c (w32_cache_char_metrics): Double check that font is
7991 really fixed pitch before trusting tmPitchAndFamily.
7992
f3d3c491
AI
79932000-10-21 Andrew Innes <andrewi@gnu.org>
7994
7995 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7996
7997 * w32term.h: Extern decl for w32_cache_char_metrics.
7998
7999 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
8000
8001 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
8002 (w32_unload_font): Free per_char array if present.
8003
8004 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
8005 cached information in emulated XFontStruct to handle common cases
8006 quickly. Do not allocate XCharStruct for return.
8007 (w32_native_per_char_metric): New function.
8008 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
8009 allocating one.
8010 (x_produce_glyphs): Don't get an HDC. Change calls to
8011 w32_per_char_metric to match arg change above. Remove calls to
8012 free results.
8013 (w32_get_glyph_overhangs): Ditto.
8014 (w32_cache_char_metrics): New function.
8015
8016 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
8017 ($(BLD)/casefiddle.$(O)): Remove compile command.
8018 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
8019 ($(BLD)/dispnew.obj):
8020 ($(BLD)/keyboard.obj):
8021 ($(BLD)/w32inevt.obj):
8022 ($(BLD)/w32bdf.obj):
8023 ($(BLD)/alloc.obj):
8024 ($(BLD)/buffer.obj):
8025 ($(BLD)/editfns.obj):
8026 ($(BLD)/emacs.obj):
8027 ($(BLD)/fileio.obj):
8028 ($(BLD)/fns.obj):
8029 ($(BLD)/indent.obj):
8030 ($(BLD)/insdel.obj):
8031 ($(BLD)/intervals.obj):
8032 ($(BLD)/minibuf.obj):
8033 ($(BLD)/print.obj):
8034 ($(BLD)/scroll.obj):
8035 ($(BLD)/sysdep.obj):
8036 ($(BLD)/textprop.obj):
8037 ($(BLD)/widget.obj):
f3d3c491
AI
8038 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
8039 ($(BLD)/term.obj): Add dependency on dispextern.h.
8040
52283633
SM
8041 * makefile.nt ($(BLD)\dispnew.obj):
8042 ($(BLD)\keyboard.obj):
8043 ($(BLD)\w32inevt.obj):
8044 ($(BLD)\w32bdf.obj):
8045 ($(BLD)\alloc.obj):
8046 ($(BLD)\buffer.obj):
8047 ($(BLD)\editfns.obj):
8048 ($(BLD)\emacs.obj):
8049 ($(BLD)\fileio.obj):
8050 ($(BLD)\fns.obj):
8051 ($(BLD)\indent.obj):
8052 ($(BLD)\insdel.obj):
8053 ($(BLD)\intervals.obj):
8054 ($(BLD)\minibuf.obj):
8055 ($(BLD)\print.obj):
8056 ($(BLD)\scroll.obj):
8057 ($(BLD)\sysdep.obj):
8058 ($(BLD)\textprop.obj):
8059 ($(BLD)\widget.obj):
f3d3c491
AI
8060 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8061 ($(BLD)\term.obj): Add dependency on dispextern.h
8062
18ad4821
EZ
80632000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8064
8065 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8066 with an additional argument of Qt.
8067
de54681a
MB
80682000-10-21 Miles Bader <miles@gnu.org>
8069
8070 * window.c (pos_fully_visible_in_window_p): New function.
8071 (Fpos_visible_in_window_p): Add FULLY argument.
8072 Use pos_fully_visible_in_window_p.
8073 (window_scroll_pixel_based, window_scroll_line_based): Update
8074 calls to Fpos_visible_in_window_p.
8075 * lisp.h (Fpos_visible_in_window_p): Update prototype
8076
13c844fb
GM
80772000-10-20 Gerd Moellmann <gerd@gnu.org>
8078
8079 * alloc.c (toplevel): Conditionalize compilation of mem_*
8080 functions differently.
52283633 8081
d9506268
JR
80822000-10-20 Jason Rumney <jasonr@gnu.org>
8083
8084 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8085 mem_init where it used to be. mem_z etc not defined otherwise.
8086
8094989b
GM
80872000-10-20 Gerd Moellmann <gerd@gnu.org>
8088
8089 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8090 GC_MALLOC_CHECK.
8091 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8092 structure definition and related variabled to the top of the file.
8093 Include this code when GC_MALLOC_CHECK is defined.
8094 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8095 register/unregister allocated region.
8096 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8097 which isn't allocated.
8098 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8099 something which is already in use.
8100 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8101 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8102 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8103 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8104
8105 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8106 _malloc_internal instead of malloc.
8107 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8108 of free.
8109
ea456eb4
AI
81102000-10-20 Andrew Innes <andrewi@gnu.org>
8111
8112 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8113 Windows.
8114 (my_strftime) <macro>: Don't use macro arg list when redefining as
8115 _strftime_copytm.
8116 (my_strftime) <function>: Supply 0 as ut argument.
8117
e64c3a75
JR
81182000-10-19 Jason Rumney <jasonr@altavista.net>
8119
8120 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8121 including dispextern.h, as it stops faces from working.
8122
8123 * w32fns.c (Fx_create_frame): Don't bother calling
8124 face-set-after-frame-default since the caller does it for us
8125 anyway. Clean up calls to x_get_arg to be consistent with X.
8126
8127 * w32term.c (x_produce_glyphs): Handle
8128 unibyte_display_via_language_environment correctly.
8129 (w32_draw_box_rect): Fix the calculation of width and height.
8130
8131 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8132 as it has stopped working.
8133 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8134 menu-bar.
8135
17401c97
GM
81362000-10-19 Gerd Moellmann <gerd@gnu.org>
8137
8138 * eval.c (skip_debugger): Prevent a compiler warning.
8139 (Fcondition_case): Likewise.
8140 (Fbacktrace_frame): Use a null interactive spec.
8141
773272d8
KH
81422000-10-19 Kenichi Handa <handa@etl.go.jp>
8143
8144 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8145
a42943e9
GM
81462000-10-18 Gerd Moellmann <gerd@gnu.org>
8147
e50517d9
GM
8148 * strftime.c: Sync with glibc, file version 1.78.
8149 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8150 should no longer be used according to ISO 8601.
8151
9035a35a
GM
8152 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8153 no map for meta_prefix_char, don't try to use it as a keymap.
8154 Instead, if T_OK is non-zero, look up a default binding, if any,
8155 otherwise, if T_OK is zero, return nil.
8156
a42943e9
GM
8157 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8158 (x_to_xcolors, png_load): Use x_query_color.
8159
52283633
SM
8160 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8161 New functions.
a42943e9
GM
8162 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8163 which can be slow.
8164 (x_copy_color, x_alloc_lighter_color): Likewise.
8165
8166 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8167 (x_query_color, x_query_colors): Add prototype.
8168
8169 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8170 check_string_bytes only if not noninteractive, increase count to 50.
8171
00de2987
MB
81722000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8173
8174 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8175 markers correctly.
8176
54918e2b
GM
81772000-10-17 Gerd Moellmann <gerd@gnu.org>
8178
1f0b3fd2
GM
8179 * alloc.c (pure_bytes_used): Renamed from pureptr.
8180 (ALIGN): New macro.
8181 (pure_alloc): New function.
8182 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8183 Use it.
8184 (Fpurecopy): Use PURE_POINTER_P.
8185
68c5d1db
GM
8186 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8187 PT has moved backward.
52283633 8188
9a038881
GM
8189 * xdisp.c (cursor_row_p): Take continued lines into account.
8190
361b097f
GM
8191 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8192 string's size_byte.
8193 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8194 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8195 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8196 string allocated.
8197
54918e2b
GM
8198 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8199 of selective display off while searching for the next line start.
8200
03ed0806
KH
82012000-10-17 Kenichi Handa <handa@etl.go.jp>
8202
8203 * Makefile.in (term.o): Depend on dispextern.h.
8204
7e05cdaf
SM
82052000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8206
8207 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8208
a6801fd1
GM
82092000-10-16 Gerd Moellmann <gerd@gnu.org>
8210
483de32b
GM
8211 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8212 the iterator at the beginning, so that they can be set later on,
8213 for instance in reseat_at_next_visible_line_start, without being
8214 overwritten.
8215
a6801fd1
GM
8216 * xfns.c (pbm_format): Add :foreground and :background keywords.
8217 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8218 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8219
dbf1fcc1
EZ
82202000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8221
8222 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8223
52283633 8224 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8225
8226 * msdos.c (IT_set_face): Compare highlighted face with the default
8227 face, and invert colors if these faces' colors are identical.
8228 (Fmsdos_remember_default_colors): Don't swap foreground and
8229 background colors in initial_colors[].
8230 (IT_set_frame_parameters): Don't swap frame's foreground and
8231 background pixels. If ALIST includes "(reverse . t)", swap
8232 foreground-color and background-color properties in frame's
8233 param_alist. If the original frame's param_alist doesn't specify
8234 the colors, store unspecified-fg and unspecified-bg, reversed if
8235 required.
8236
8237 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8238 the colors are unspecified and reversed, reverse fore- and back-
8239 ground in the returned value.
8240 (Fframe_parameter): Ditto.
8241
b41fe2c3 82422000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8243
3a6b59d9
GM
8244 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8245 get_last_unchanged_at_beg_row.
8246 (find_first_unchanged_at_end_row): Renamed from
8247 get_first_unchanged_at_end_row.
8248 (find_first_unchanged_at_end_row): Convert assertions to
8249 unconditional tests which abort. When looking for a row in
8250 unchanged text, don't go further back than first_text_row.
8251
b41fe2c3
GM
8252 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8253 Don't add in the last line's height when deciding if the new
8254 position is below the scroll margin.
9d1af64f 8255
b41fe2c3 82562000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8257
8258 * editfns.c (Fconstrain_to_field): Check carefully for field
8259 boundaries if either OLD_POS or NEW_POS has a non-nil field
8260 property, even if they're the same.
8261
c412cb7b
KH
82622000-10-16 Kenichi Handa <handa@etl.go.jp>
8263
8264 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8265 height for XFillRectangle.
8266
5586f3eb
SM
82672000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8268
8269 * syntax.c (Fstring_to_syntax): New function extracted from
8270 Fmodify_syntax_entry.
8271 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8272 (skip_chars, Fforward_comment): Remove unused variables.
8273 (syms_of_syntax): Add defsubr for string-to-syntax.
8274 (describe_syntax): Add code for comment and string fences.
8275
db785038
SM
82762000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8277
8278 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8279 Do the meta->esc mapping. Call get_keyelt before returning.
8280 Start scanning from the second element (the first is always `keymap')
8281 to make it easier to detect when we reach a parent map.
8282 Handle the case of inheriting from a symbol whose function is a map.
8283 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8284 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8285 (get_keyelt, Flookup_key): Update call to access_keymap.
8286 Remove the meta->esc mappings.
8287 (define_as_prefix): Delete old disabled code.
8288 (menu_item_p): New function.
8289 (where_is_internal_1): Skip over the few remaining menu items.
8290 * lisp.h (access_keymap): Update prototype.
8291 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8292 Update call to access_keymap.
8293 (follow_key, read_key_sequence): Update calls to access_keymap.
8294 Remove the meta->esc mappings.
8295
cafafe0b
GM
82962000-10-13 Gerd Moellmann <gerd@gnu.org>
8297
a2e2a7f6
GM
8298 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8299 with additional argument.
8300
cafafe0b
GM
8301 * xdisp.c (cursor_row_p): New function.
8302 (try_cursor_movement, display_line): Use it.
52283633 8303
cafafe0b
GM
8304 * xdisp.c (append_space): Also save/restore iterator's current
8305 character and its length.
8306
8307 * xdisp.c (init_from_display_pos): Add an assertion.
8308 (handle_stop): Don't set iterator's add_overlay_start.
8309 (handle_invisible_prop): Likewise.
8310 (load_overlay_strings): If text under an overlay is invisible,
8311 take both before- and after-strings into account when the iterator
8312 is positioned either at the start or at the end of the overlay.
8313 (forward_to_next_line_start): Rewritten.
8314 (reseat_at_next_visible_line_start): Rewritten.
8315 (set_iterator_to_next): Add parameter RESEAT_P.
8316
8317 * dispextern.h (struct it): Remove member add_overlay_start.
8318 (set_iterator_to_next): Change prototype.
8319
c744452b
KH
83202000-10-13 Kenichi Handa <handa@etl.go.jp>
8321
8322 * coding.c (code_convert_region): Be sure to initialize
8323 coding->category_idx.
e4a3f4e1
KH
8324 (decode_coding_string): Set coding->src_multibyte and
8325 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8326 (encode_coding_string): Set coding->src_multibyte and
8327 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8328
321fd26f
SM
83292000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8330
8331 * xfns.c (Fx_create_frame): Don't bother calling
8332 face-set-after-frame-default since the caller does it for us anyway.
8333
76832439
EZ
83342000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8335
8336 * window.c (coordinates_in_window): Fix detection of vertical line
8337 on character terminals.
8338
2483cf58
GM
83392000-10-12 Gerd Moellmann <gerd@gnu.org>
8340
8341 * editfns.c (save_excursion_save): Additionally record the
8342 selected window.
8343 (save_excursion_restore): If buffer was visible in a window, and a
8344 different window was selected, and the old selected window is
8345 still live, restore point in that window.
8346
eb991b25
KH
83472000-10-12 Kenichi Handa <handa@etl.go.jp>
8348
8a0eba09
KH
8349 * xterm.c (x_produce_glyphs): Handle
8350 unibyte_display_via_language_environment correctly.
8351
20401fcc
KH
8352 * regex.c (regex_compile): Change the way of handling a range from
8353 unibyte char to multibyte char.
8354
8355 * syntax.c (skip_chars): Change the way of handling a range from
8356 unibyte char to multibyte char.
8357
eb991b25
KH
8358 * process.c (read_process_output): Cancel previous change.
8359
365dd325
EZ
83602000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8361
c1b096cb
EZ
8362 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8363
365dd325
EZ
8364 * charset.c (Ffind_charset_string): Doc fix.
8365 (Ffind_charset_region): Doc fix.
8366
eb483c2b
KH
83672000-10-11 Kenichi Handa <handa@mule.m17n.org>
8368
8369 * process.c (read_process_output): Fix previous change. Adjust
8370 multibyteness of text to insert in a buffer by
52283633 8371 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8372
b40bfb99
AS
83732000-10-10 Andreas Schwab <schwab@suse.de>
8374
8375 * alloc.c (mark_object): Remove all workarounds installed on
8376 1993-08-08.
8377
caff31d4
KH
83782000-10-10 Kenichi Handa <handa@etl.go.jp>
8379
52283633 8380 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8381 (base64_encode_1): Make it work for a text of multibyte form.
8382 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8383 case. Don't call str_to_multibyte because base64_decode_1
8384 produces correct multibyte form for eight-bit codes.
52283633 8385 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8386 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8387 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8388 codes.
8389
8390 * charset.h (CHAR_STRING): Optimized for single byte characters.
8391
cba026ef
AS
83922000-10-09 Andreas Schwab <schwab@suse.de>
8393
8394 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8395 -1 after socket is closed, to fall through to error processing.
8396
1e21fe48
EZ
83972000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8398
8399 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8400 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8401 background-color, change also the colors of the default face for
8402 this frame.
8403
a640322e
EZ
84042000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8405
8406 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8407 them extern (they are defined on xfaces.c).
8408 (syms_of_msdos): Don't intern and don't staticpro
8409 Qbackground_color and Qforeground_color.
8410
a115794c
EZ
84112000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8412
8413 * frame.c (Fframe_parameter): For non-windowed frames, if
8414 f->param_alist says foreground or background color is unspecified,
8415 call tty_color_name to return the color name computed from the
8416 frame's current colors.
8417
f5533b63
DL
84182000-10-06 Dave Love <fx@gnu.org>
8419
8420 * terminfo.c (ospeed): Don't declare.
8421
8422 * sysdep.c: Don't include string.h.
8423 (h_errno): Declare conditional also on TRY_AGAIN.
8424
8425 * charset.c (Ffind_charset_string): Doc fix.
8426
52283633 8427 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8428 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8429 error messages.
8430
2b06561a
DL
84312000-10-05 Dave Love <fx@gnu.org>
8432
8433 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8434 position like menu-bar.
8435
ca839c85
GM
84362000-10-05 Gerd Moellmann <gerd@gnu.org>
8437
8438 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8439
8440 * xdisp.c (handle_single_display_prop): Use safe_call1.
8441 (safe_call): Renamed from call_function.
8442 (safe_call1): New function.
8443 (handle_fontified_prop): Use safe_call1 instead of call1.
8444 (safe_eval): Renamed from eval_form.
8445 (safe_eval_handler): Renamed from eval_handler.
8446 (handle_single_display_prop, display_mode_element): Use safe_eval
8447 instead of eval_form.
8448
8449 * xfaces.c (merge_face_heights): Use safe_call instead of
8450 call_function.
8451
8452 * keyboard.c (show_help_echo): Use safe_call instead of
8453 call_function; use safe_eval instead of eval_form.
8454
8455 * lisp.h (safe_call): Renamed from call_function.
8456 (safe_eval): Renamed from eval_form.
8457 (safe_call1): Add prototype.
8458
a3489ece
MB
84592000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8460
8461 * xfns.c (image_ascent): Rearrange ascent calculation for the
8462 has-a-font case.
8463
35810b6f
SM
84642000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8465
8466 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8467 (where_is_internal_1): Don't bother ignoring menu-items any more.
8468
3dc78168
GM
84692000-10-04 Gerd Moellmann <gerd@gnu.org>
8470
8471 * keyboard.c (update_menu_bindings): New variable.
8472 (parse_menu_item): Use AREF. If update_menu_bindings
8473 is 0, don't update menu bindings.
8474 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8475
1efc2bb9
EZ
84762000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8477
8478 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8479 to `mark_object'.
8480
3f679f55
SM
84812000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8482
8483 * syntax.c (forw_comment): Match nestedness of ender/starter.
8484 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8485 (prev_char_comstart_first): Remove.
8486 (back_comment): Check two-char comment markers more carefully
8487 to better handle overlapping cases like *//* or /* */* */ ...
8488 Match nestedness of ender/starter.
8489
2021ab61
DL
84902000-10-02 Dave Love <fx@gnu.org>
8491
8492 * config.in (HAVE_GAI_STRERROR): Add undef.
8493
8494 * process.c (Fopen_network_stream): Use it.
8495
8496 * m/alpha.h (NO_REMAP): Don't define.
8497
64e6cc18
GM
84982000-10-02 Gerd Moellmann <gerd@gnu.org>
8499
8500 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8501 return with a string converted to an integer or vice versa when
8502 Vmocklisp_arguments is t.
8503 (Fsignal): Likewise. The function can return for `quit'.
8504 (struct gcpro): Declare member `var' to point to a volatile
8505 Lisp_Object.
8506
8507 * eval.c (error): Prevent compiler warning.
8508
b1904cd9
SM
85092000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8510
8511 * keymap.c (keymap_memberp): New function.
8512 (Fset_keymap_parent): Use it.
8513 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8514 Use keymap_memberp to avoid creating cycles.
8515 (access_keymap): Use KEYMAPP.
8516
71c9ec51
GM
85172000-09-30 Gerd Moellmann <gerd@gnu.org>
8518
8519 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8520 gai_strerror. Make sure xerrno is set if connect fails. Improve
8521 error recovery.
71c9ec51 8522
c70c6b58
JR
85232000-09-29 Jason Rumney <jasonr@gnu.org>
8524
8525 * w32term.c (w32_char_font_type, w32_encode_char)
8526 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8527 (w32_bdf_per_char_metric): New function.
8528 (w32_per_char_metric): Use it.
8529 (x_draw_glyph_string_background): Always draw background for BDF
8530 glyphs.
8531
8532 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8533 GDI object which is a scarce resource.
8534
8535 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8536 (get_quoted_string): Fix limit on memchr search.
8537 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8538 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8539 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8540 (get_cached_font_char, cache_char_offset): Use macro
8541 BDF_CODEPOINT_RANGE_COVER_P.
8542 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8543 (clear_cached_bitmap_slots): New function.
8544 (GET_HEX_VALUE): G-Z, g-z are not hex.
8545 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8546 (get_bitmap_with_cache): Use new cache implementation.
8547 (create_offscreen_bitmap): New function.
8548 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8549
8550 * w32term.c (x_produce_glyphs): If the distance from the current
8551 position to the next tab stop is less than a canonical character
8552 width, use the tab stop after that.
8553 (x_draw_glyphs): Handle case START and END are out of bounds more
8554 carefully.
8555 (x_clear_mouse_face): Block/unblock input.
8556 (x_display_and_set_cursor): Don't show a hollow box cursor for
8557 buffers whose cursor_type is nil.
8558
fe01239f
GM
85592000-09-29 Gerd Moellmann <gerd@gnu.org>
8560
52283633 8561 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8562
8563 * dispextern.h (updating_frame): Declare extern.
8564
e7c52f1f
AS
85652000-09-29 Andreas Schwab <schwab@suse.de>
8566
8567 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8568
de6e1f7c
GM
85692000-09-29 Gerd Moellmann <gerd@gnu.org>
8570
25126faa
GM
8571 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8572 use its function definition.
8573 (tool_bar_items): Likewise.
8574
de6e1f7c 8575 * lisp.h (fatal): Declare NO_RETURN.
52283633 8576
454ee39b
KH
85772000-09-29 Kenichi Handa <handa@etl.go.jp>
8578
8579 * keymap.c: Remove the line "#undef NULL".
8580
96301c5f
GM
85812000-09-28 Gerd Moellmann <gerd@gnu.org>
8582
52283633 8583 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8584
efffeeb4
DL
85852000-09-28 Dave Love <fx@gnu.org>
8586
ecb8b666
DL
8587 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8588
dc3cd20f
DL
8589 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8590
8591 * .gdbinit (xreload): Note its need on GNU/Linux.
8592
efffeeb4
DL
8593 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8594 r_alloc, r_alloc_free.
8595
8610d903
KH
85962000-09-28 Kenichi Handa <handa@etl.go.jp>
8597
8598 * syntax.c (skip_chars): Handle negation correctly.
8599
8901d1ac
GM
86002000-09-27 Gerd Moellmann <gerd@gnu.org>
8601
6f22f1ad
GM
8602 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8603 with non-zero FORCE_P argument.
8604
52283633 8605 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8606 Add assertions.
8607
8608 * xdisp.c (window_box_height): Add an assertion.
8609
8610 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8611 tool-bar than is available.
8612 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8613
36f1966f
DL
86142000-09-27 Dave Love <fx@gnu.org>
8615
efffeeb4 8616 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8617
31d929e5
GM
86182000-09-26 Gerd Moellmann <gerd@gnu.org>
8619
c98863bf
GM
8620 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8621 instead of BITS_PER_INT.
8622 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8623 EMACS_UINT, respectively.
8624 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8625
8626 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8627
8628 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8629
77072ab1
GM
8630 * window.c (freeze_window_starts): Construct last argument for
8631 foreach_window differently.
8632
8633 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8634
8635 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8636 EMACS_UINT instead of `int' and `unsigned int'.
8637 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8638
8639 * frame.h (struct frame): Make the `nothing' member of union
8640 output_data an EMACS_INT.
8641
52283633 8642 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8643 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8644 size in the sdata structure.
8645 (SDATA_NBYTES, SDATA_DATA): New macros.
8646 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8647 differently for the different layout of the sdata structure.
8648 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8649 in sdata.
8650 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8651 Check that size recorded in the string size and size recorded in
8652 the sdata structure agree.
8653
3e60b029
DL
86542000-09-25 Dave Love <fx@gnu.org>
8655
8656 * buffer.c: Include stdio.h.
8657
8658 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8659
3e60b029
DL
8660 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8661
8662 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8663 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8664 (__malloc_extra_blocks): Declare as __malloc_size_t.
8665
8ff16b4e
GM
86662000-09-25 Gerd Moellmann <gerd@gnu.org>
8667
755a2ccd
GM
8668 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8669
d8b4516f
GM
8670 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8671 (read_char): If help-echo is showing, preserve the echo area
8672 when redisplaying.
8673
8674 * xdisp.c (help_echo_showing_p): New variable.
8675 (set_message): Reset it to 0.
8676 (init_xdisp): Initialize help_echo_showing_p.
8677
8678 * dispextern.h (help_echo_showing_p): Declare extern.
8679
8680 * config.in: Fix typo in __GNUC_MINOR__.
8681
8682 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8683
b11af2dd
GM
8684 * s/freebsd.h (POSIX_SIGNALS): Define.
8685
8ff16b4e
GM
8686 * xterm.c (x_clear_mouse_face): Block/unblock input.
8687
844eb643
DL
86882000-09-24 Dave Love <fx@gnu.org>
8689
8690 * fns.c (base64_encode_1): Fix last change.
8691
b30ab1b3
GM
86922000-09-22 Gerd Moellmann <gerd@gnu.org>
8693
8694 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8695
8696 * xdisp.c (try_window_reusing_current_matrix): More fixes
8697 for the case window has a header-line.
8698
c6cbe5f0
DL
86992000-09-22 Dave Love <fx@gnu.org>
8700
4c7c1f3f
DL
8701 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8702 a doc string.
8703
8704 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8705
c6cbe5f0
DL
8706 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8707
550a625e
GM
87082000-09-21 Gerd Moellmann <gerd@gnu.org>
8709
4c7c1f3f 8710 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8711 for GCC >= 2.5.
8712
52283633
SM
8713 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8714 Declare NO_RETURN.
fca99116 8715
80d26f99
GM
8716 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8717 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8718 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8719 warnings.
52283633 8720
80d26f99
GM
8721 * marker.c (byte_char_debug_check): Return void.
8722
623a0aae
GM
8723 * xfns.c (Fx_create_frame): Set default frame parameter value
8724 for tool-bar-lines to 1.
8725
8726 * dispnew.c (scrolling_window): Compare y-positions of rows
8727 equal at the start. Some simplification.
8728
8729 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8730 reused rows' y-position in the case window has a header-line, and
8731 new window start is greater than old window start.
8732
42ac0ae5
GM
8733 * process.c (process_sent_to): New variable.
8734 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8735 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8736 Declare more parameters volatile.
8737
550a625e
GM
8738 * lread.c (Vrecursive_load_depth_limit): New variable.
8739 (Fload): Check recursive loads whose recursion depth exceeds
8740 Vrecursive_load_depth_limit.
8741 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8742
8320414c
GM
87432000-09-20 Gerd Moellmann <gerd@gnu.org>
8744
f46c275e
GM
8745 * fileio.c (Fread_file_name): Doc fix.
8746
8747 * editfns.c (Fmessage_or_box): Doc fix.
8748
8749 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8750
b7e11c5b 8751 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8752
8320414c
GM
8753 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8754 symbols are specified, add color translations to the cache.
52283633 8755 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8756 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8757 xpm_cache_color.
8758 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8759 structures to xpm_init_color_cache.
8760
da1608d9
GM
87612000-09-19 Gerd Moellmann <gerd@gnu.org>
8762
52283633 8763 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8764
6badfa25
AI
87652000-09-19 Andrew Innes <andrewi@gnu.org>
8766
8767 * makefile.nt (bootstrap-emacs): Don't change directory.
8768
3a5f42bb
KH
87692000-09-19 Kenichi Handa <handa@etl.go.jp>
8770
1b7649bd
KH
8771 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8772
3a5f42bb
KH
8773 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8774 If output buffer is too small, signal an appropriated error.
8775
9f83cf0b
DL
87762000-09-18 Dave Love <fx@gnu.org>
8777
52283633 8778 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8779 (current_active_maps): Remove redundant get_local_map call.
8780
28c7826c
GM
87812000-09-18 Gerd Moellmann <gerd@gnu.org>
8782
5cefa566
GM
8783 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8784 cursor for buffers whose cursor_type is nil.
52283633 8785
6fed3546
GM
8786 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8787 a feature to implement that is already implemented.
8788 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8789 warnings.
8790
8791 * xfns.c (x_clear_image_1): New function.
8792 (x_clear_image): Use it.
52283633 8793 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8794
05b1f851
GM
8795 * dispnew.c (update_window): Move test for invisible lines
8796 at the top to update_window_line.
8797 (update_window_line): Handle invisible lines here.
8798
f4779de9
GM
8799 * xfns.c (clear_image_cache): Clear current matrices of all
8800 frames sharing an image cache. Block input while freeing
8801 images. Fix timestamp comparison.
8802 (x_clear_image): Also free the mask.
8803
28c7826c
GM
8804 * xfns.c (lookup_image): Block input while loading the image so
8805 that we won't get interrupted in a state where the image isn't yet
8806 set up completely.
8807 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8808 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8809 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8810 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8811
b7412313
GM
88122000-09-16 Gerd Moellmann <gerd@gnu.org>
8813
8814 * dispnew.c (update_window): Make sure to make desired rows
8815 current even if they are completely invisible at the top
8816 of a window.
8817
47e351a3
GM
88182000-09-15 Gerd Moellmann <gerd@gnu.org>
8819
7f8f1edc
GM
8820 * xfns.c (lookup_image): Build mask before applying an algorithm.
8821 Recognize algorithm `disabled'.
8822 (cross_disabled_images): New variable.
8823 (COLOR_INTENSITY): New macro.
8824 (x_detect_edges): Use COLOR_INTENSITY.
8825 (x_disable_image): New function.
8826 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8827
8828 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8829 disabled state, don't apply an image transformation algorithm if
8830 the user specified an image for the disabled state. Use
28c7826c 8831 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8832 user hasn't specified an image.
8833
ebb8f116
GM
8834 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8835 allocation functions with the XPM lib.
8836 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8837 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8838 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8839 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8840 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8841 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8842 functions, if possible, because these handle color allocation
8843 failure more gracefully.
8844 (Fimage_mask_p): New function.
8845
47e351a3
GM
8846 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8847 (Qedge_detection, Qheuristic): New symbols.
8848 (syms_of_xfns): Initialize new symbols.
8849 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8850 `algorithm (edge-detection ...)'.
8851 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8852 (tiff_format, gif_format, gs_format): Add `:mask'.
8853 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8854 (GIF_MASK, GS_MASK): New enumerators.
8855 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8856 (emboss_matrix, laplace_matrix): New variables.
8857 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8858 (x_edge_detection): New functions.
8859 (x_laplace): Rewritten in terms of x_detect_edges.
8860 (x_build_heuristic_mask): If image has a mask, free it.
8861
fe83b953
AI
88622000-09-14 Andrew Innes <andrewi@gnu.org>
8863
8864 * makefile.w32-in: Revert to Unix line endings.
8865
3021e816
AI
88662000-09-14 Andrew Innes <andrewi@gnu.org>
8867
8868 * makefile.w32-in: Standardize indentation somewhat.
8869 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8870 cater for differences between shells.
8871
8872 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8873
2a32b5ea
GM
88742000-09-14 Gerd Moellmann <gerd@gnu.org>
8875
8876 * xterm.c (x_produce_glyphs): If the distance from the current
8877 position to the next tab stop is less than a canonical character
8878 width, use the tab stop after that.
8879
b4331e96
DL
88802000-09-14 Dave Love <fx@gnu.org>
8881
8882 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8883
ef9e4345
GM
88842000-09-14 Gerd Moellmann <gerd@gnu.org>
8885
085536c2
GM
8886 * xdisp.c (handle_fontified_prop): While running fontification
8887 functions, bind `fontification-functions' and
8888 `after-change-functions' to nil.
8889
ef9e4345
GM
8890 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8891 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8892
8893 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8894
8895 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8896 USE_MMAP_FOR_BUFFERS.
8897
8898 * insdel.c (make_gap): Use enlarge_buffer_text.
8899
8900 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8901 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8902 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8903 from former r_alloc_* functions in ralloc.c.
52283633 8904 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8905 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8906 (mmap_init) [REL_ALLOC_MMAP]: New function.
8907 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8908 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8909 BUFFER_FREE.
8910
8911 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8912 (enlarge_buffer_text): Add prototype.
8913
8914 * ralloc.c: Remove everything having to do with the use of mmap.
8915
f8608968
GM
89162000-09-13 Gerd Moellmann <gerd@gnu.org>
8917
2a494b2d
GM
8918 * sound.c (Fplay_sound): Doc fix.
8919
8c907a56
GM
8920 * keyboard.c: Avoid some more compiler warnings.
8921 (parse_tool_bar_item): Ignore cached key bindings.
8922
f8608968
GM
8923 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8924 and allocation of Lisp data.
8925
6ab70e9a
GM
89262000-09-12 Gerd Moellmann <gerd@gnu.org>
8927
d12d0a9b
GM
8928 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8929 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8930 defaults first.
8931
6ab70e9a
GM
8932 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8933
63c36c3c
KH
89342000-09-12 Miyashita Hisashi <himi@meadowy.org>
8935
8936 * ccl.c: Comment fixed.
8937 (MAX_MAP_SET_LEVEL): Increased to 30.
8938 (PUSH_MAPPING_STACK): Enclose with do-while block.
8939 (POP_MAPPING_STACK): Likewise.
8940 (stack_idx_of_map_multiple): New variable.
8941 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8942 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8943 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8944 (ccl_driver) <CCL_MapSingle>: Likewise.
8945 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8946 with the case where looking up process reaches to the end of
8947 map-set, and call CCL programs as the above change.
8948
7ee3bd7b
GM
89492000-09-11 Gerd Moellmann <gerd@gnu.org>
8950
8ec8a5ec
GM
8951 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8952 that might be clobbered by longjmp.
8953 (check_x_display_info, x_decode_color, create_frame_xic)
8954 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8955 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8956
f74b0705
GM
8957 * lread.c (init_lread): Set Vloads_in_progress to nil.
8958 (Fload): Show list of recursively loaded files, when signaling an
8959 error.
8960
7ee3bd7b
GM
8961 * lread.c (Vloads_in_progress): New variable.
8962 (record_load_unwind): New function.
8963 (Fload): Check for recursive loads.
8964 (syms_of_lread): Initialize Vloads_in_progress.
8965 (read_integer, read1): Avoid some compiler warnings.
8966
8967 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8968 compiler warnings.
8969
974e1e5b
MB
89702000-09-11 Miles Bader <miles@gnu.org>
8971
8972 * editfns.c (Fbuffer_string): Doc fix.
8973
9824c4e3
GM
89742000-09-10 Gerd Moellmann <gerd@gnu.org>
8975
8976 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8977
6a72fdd1
KR
89782000-09-09 Ken Raeburn <raeburn@gnu.org>
8979
8980 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8981 whether to include other header files.
8982
28e6fb66
GM
89832000-09-09 Gerd Moellmann <gerd@gnu.org>
8984
52283633 8985 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8986 by Fmemq as a boolean.
28e6fb66 8987
7f8b6551
SM
89882000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8989
8990 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8991
a8710abf
GM
89922000-09-08 Gerd Moellmann <gerd@gnu.org>
8993
d1a02881
GM
8994 * ralloc.c (mmap_fd): Remove initializer which can make it
8995 read-only in a dumped Emacs.
8996 (mmap_fd_1): New variable.
8997 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8998 restore it from there.
8999 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
9000 unconditionally so that mmap_fd can be initialized there.
9001 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
9002 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
9003 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
9004
c454aac1
GM
9005 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
9006
9007 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 9008 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 9009
fc653ef2
GM
9010 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
9011
3015eec0
GM
9012 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
9013 inheritance.
9014
bfe0ee88
GM
9015 * xdisp.c (try_window_id): When trying to locate cursor in
9016 unchanged rows at the top, handle the case that we can't find it.
9017
a8710abf
GM
9018 * xterm.c (x_draw_glyphs): Handle case START and END are out
9019 of bounds more carefully.
9020
6b7d4ae4
DL
90212000-09-08 Dave Love <fx@gnu.org>
9022
423193c5
DL
9023 * s/sol2.h (REL_ALLOC_MMAP): Define.
9024 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
9025
9026 * ralloc.c: Don't include string.h (redundant).
9027 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
9028 [!MAP_ANON]: Include fcntl.h.
9029 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
9030 (r_alloc, r_re_alloc, r_alloc_free)
9031 (mmap_enlarge, mmap_set_vars): Use it.
9032 (r_alloc_init_fd): New function.
9033 (__morecore) [SYSTEM_MALLOC]: Don't declare.
9034 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
9035 malloc type.
9036
9037 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
9038 Remove vm-limit.o.
9039
6b7d4ae4
DL
9040 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
9041 change to __NetBSD__.
9042
44d31981
KH
90432000-09-08 Kenichi Handa <handa@etl.go.jp>
9044
9045 * search.c (compile_pattern): Check the multibyteness of cached
9046 string and PATTERN.
9047
aad40737
MB
90482000-09-08 Miles Bader <miles@gnu.org>
9049
9050 * xfaces.c (default_face_vector): Function removed.
9051 (Finternal_merge_in_global_face): Restore old global/local
9052 attribute override order. Use inline loop instead of calling
9053 default_face_vector.
9054
91a211b5
GM
90552000-09-07 Gerd Moellmann <gerd@gnu.org>
9056
9057 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9058 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9059 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9060 where necessary, in case POINTER_TYPE is `void'.
9061
03419440
EZ
90622000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9063
9064 * frame.c (make_terminal_frame): Initialize frame foreground and
9065 background colors to unspecified, for the initial instance of an
9066 MSDOS frame.
9067
f46f845b
GM
90682000-09-07 Gerd Moellmann <gerd@gnu.org>
9069
24f76fbf
GM
9070 * ralloc.c (mmap_find): Fix overlap computation.
9071 (mmap_enlarge): Compute nbytes before trying to find an
9072 overlapping region.
9073
f46f845b
GM
9074 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9075 instead of `!='.
9076
9077 * lread.c (syms_of_lread): Change value of regexp
9078 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9079
9080 * xmenu.c (xdialog_show): When looking up the selection in
9081 menu_items, take `quote' boundaries into account; this corresponds
9082 to a nil ITEM in x-popup-dialog.
9083
3c014385
KH
90842000-09-07 Kenichi Handa <handa@etl.go.jp>
9085
fd6f711b
KH
9086 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9087 not 0x81.
9088 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9089
3c014385 9090 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
9091 encoding, not decoding. Fix the handling of latin-jisx0201.
9092 Check for the charset katakana-jisx0201 too.
3c014385 9093 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 9094 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 9095
0da3ecef
GM
90962000-09-07 Gerd Moellmann <gerd@gnu.org>
9097
ab0ee409
GM
9098 * xfaces.c (Vparam_value_alist): New variable.
9099 (syms_of_xfaces): Initialize it.
9100 (Finternal_set_lisp_face_attribute): Avoid more consing.
9101
9102 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9103 specially.
9104 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9105 (Qbackground_mode): New variable.
9106 (syms_of_frame_1): Initialize Qbackground_mode.
9107
9108 * lisp.h (Qdisplay): Declare extern.
1091dd67 9109
0da3ecef
GM
9110 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9111 change face on all frames, and change the default for new frames.
9112
b14654b9
DL
91132000-09-07 Dave Love <fx@gnu.org>
9114
9115 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9116
d24fd56f
KH
91172000-09-07 Kenichi Handa <handa@etl.go.jp>
9118
794f3670
KH
9119 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9120
0fddd0dc
KH
9121 * charset.c: Include composite.h
9122 (lisp_string_width): New function.
9123 (Fstring_width): Call lisp_string_width instead of strwidth.
9124
9125 * Makefile.in (charset.o): Depends on composite.h.
9126
d24fd56f
KH
9127 * process.c (read_process_output): Before inserting the decoded
9128 text in the buffer, adjust the multibyteness.
9129
fa0b693c
GM
91302000-09-06 Gerd Moellmann <gerd@gnu.org>
9131
52283633 9132 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9133 buffer's text buffer is null, map new memory.
9134
0a58f946
GM
9135 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9136 POINTER_TYPE and size_t.
9137 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9138 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9139 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9140 [REL_ALLOC_MMAP]: New macros.
9141 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9142 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9143 [REL_ALLOC_MMAP]: New functions.
9144
9145 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9146 before and after unexec.
9147
9148 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9149 text buffers if necessary.
9150
9151 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9152 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9153 in prototypes.
9154
fa0b693c
GM
9155 * config.in (HAVE_MMAP): Add #undef.
9156
877055f6
GM
91572000-09-05 Gerd Moellmann <gerd@gnu.org>
9158
08ba3862
GM
9159 * frame.c (Qdisplay_type): New variable.
9160 (syms_of_frame_1): Initialize it.
9161 (Fframe_parameter): New function that avoids consing.
9162 (syms_of_frame): Defsubr it.
9163
66ffe51c
GM
9164 * buffer.c (Fother_buffer): Consider buffers as invisible when
9165 they are displayed in a window on an invisible frame.
9166
877055f6
GM
9167 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9168 get-largest-window always return nil.
9169
bb970e67
GM
91702000-09-04 Gerd Moellmann <gerd@gnu.org>
9171
9172 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9173 variable; recognize Emacs 19 elc files.
9174
7a3d0e0e
MB
91752000-09-04 Miles Bader <miles@gnu.org>
9176
9177 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9178 before initially popping up the menu, so the menu doesn't flash
52283633 9179 when the face settings are significantly different from the defaults.
7a3d0e0e 9180
14473664
SM
91812000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9182
9183 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9184 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9185 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9186 (BIT_UNIBYTE): Remove.
9187 (re_match_2_internal): Delete corresponding code and streamline the
9188 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9189 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9190 (re_wctype_t): New type.
9191 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9192 (regex_compile): Use them and fix handling of overly long char classes.
9193
c1174479
AI
91942000-09-03 Andrew Innes <andrewi@gnu.org>
9195
f8803e97
AI
9196 * makefile.w32-in: Change to DOS line endings.
9197
c1174479
AI
9198 * s/ms-w32.h (ORDINARY_LINK): New define.
9199
9200 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9201 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9202
9203 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9204 (distclean): Delete them here instead.
9205
44ef7cf6
AI
9206 * w32proc.c (compare_env): Convert to uppercase for comparison,
9207 not lowercase, to match how the native Windows shell works.
9208
49b3bd82
JR
92092000-09-03 Jason Rumney <jasonr@gnu.org>
9210
9211 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9212 CVS changes the line-ends when checking in/out on DOS/Windows.
9213
9214 * makefile.nt (emacs): Do not change directory to run temacs, as
9215 the load-path is set relative to current directory.
9216
a3d35a39
MB
92172000-09-03 Miles Bader <miles@gnu.org>
9218
9219 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9220
d276b0cf
GM
92212000-09-02 Gerd Moellmann <gerd@gnu.org>
9222
715e84c9
GM
9223 * xdisp.c (redisplay_mode_lines): New function.
9224 (display_mode_lines): Return number of mode lines displayed.
9225 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9226 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9227
8892f40b
GM
9228 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9229 string.h and strings.h.
9230 (index) [HAVE_INDEX]: Add prototype.
9231
d276b0cf
GM
9232 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9233 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9234
9235 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9236 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9237
38404229
GM
92382000-09-01 Gerd Moellmann <gerd@gnu.org>
9239
9240 * lread.c (read1): Accept `?' as symbol constituent, for
9241 compatiblity with XEmacs.
9242
c0f9ea08
SM
92432000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9244
9245 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9246 (struct re_pattern_buffer): Remove newline_anchor.
9247 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9248 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9249 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9250 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9251 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9252 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9253 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9254 Get rid of references to newline_anchor.
9255 (regcomp): Allocate and precompute a fastmap.
9256
8c0f83fe
GM
92572000-08-31 Gerd Moellmann <gerd@gnu.org>
9258
9259 * lread.c (openp): GCPRO local variable `filename'.
9260
4bb91c68
SM
92612000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9262
9263 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9264
9265 * regex.c: Merge some changes from GNU libc. Add prototypes.
9266 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9267 Use memcmp and memcpy instead of bcopy and bcmp.
9268 (init_syntax_once): Use ISALNUM.
9269 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9270 (REG_UNSET_VALUE): Remove. Use NULL instead.
9271 (REG_UNSET, re_match_2_internal): Use NULL.
9272 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9273 New macros.
9274 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9275 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9276 (regex_compile): In handle_interval, return an error rather than try to
9277 unfetch the interval if we can't find the closing brace.
9278 Obey the RE_NO_GNU_OPS syntax bit.
9279 (TOLOWER): New macro.
9280 (regcomp): Use it.
9281 (regexec): Allocate regs.start and regs.end as one block.
9282
5226a931
GM
92832000-08-30 Gerd Moellmann <gerd@gnu.org>
9284
868dd24b
GM
9285 * xdisp.c (echo_area_display): Check display_completed instead
9286 of calling detect_input_pending.
9287
9288 * dispnew.c (update_frame): Only set display_completed here; move
9289 the update_begin and update_end calls here from update_frame_1.
9290 (update_frame_1): Don't set display_completed here, don't call
9291 update_begin/update_end.
9292
5226a931
GM
9293 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9294 instead of store_frame_param.
9295
2a8bd25f
GM
92962000-08-29 Gerd Moellmann <gerd@gnu.org>
9297
9298 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9299 desired window matrix hasn't been displayed, use the current row
9300 instead. Make sure that only those frame rows are updated for
9301 which there exists a corresponding enabled desired row.
52283633 9302
ba3478d9
MB
93032000-08-29 Miles Bader <miles@gnu.org>
9304
9305 * xfaces.c (default_face_vector): New function.
9306 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9307
87d0f685
GM
93082000-08-29 Gerd Moellmann <gerd@gnu.org>
9309
9310 * lread.c (openp): Prevent temporary string passed to
9311 Ffile_readable_p from being garbage collected.
9312
6fa86045
DL
93132000-08-28 Dave Love <fx@gnu.org>
9314
9315 * keymap.c (store_in_keymap): Add `static' to declaration.
9316
bb17930d
GM
93172000-08-28 Gerd Moellmann <gerd@gnu.org>
9318
9319 * emacs.c, callint.c, doc.c, editfns.c
9320 (toplevel) [HAVE_STRING_H]: Include string.h.
9321 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9322 (index): Remove prototypes which might conflict with non-standard
9323 definitions of index/strchr.
9324
9325 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9326 (rindex): Define only if !HAVE_RINDEX.
9327
9328 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9329
9330 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9331
87188200
MB
93322000-08-28 Miles Bader <miles@gnu.org>
9333
9334 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9335 made inconsistent by a font-related attribute in FROM.
9336 (merge_face_inheritance): Add function comment.
9337
41a68aef
KH
93382000-08-28 Kenichi Handa <handa@etl.go.jp>
9339
9340 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9341 the 4th arg (PREV_EVENT) Qt to suppress input method.
9342
f7c436c1
SM
93432000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9344
0b32bf0e
SM
9345 * regex.c: Indent cpp directives and remove parens after `defined'.
9346 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9347 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9348 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9349 (re_compile_pattern): Use size_t for length.
9350 (init_syntax_once): Move to a better place.
9351 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9352 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9353
f7c436c1
SM
9354 * syntax.c (back_comment): Detect cases where a comment-starter is
9355 actually inside another comment as in: /* a // b */ c // d \n.
9356 Make it clear that `comstart_pos' is unused for nested comments.
9357
9358 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9359 (KEYMAPP): New macro.
9360 (Fkeymap_parent, Fset_keymap_parent): Use it.
9361 (fix_submap_inheritance): Mark it static.
9362 (define_as_prefix, describe_buffer_bindings, describe_command)
9363 (describe_translation, describe_map): Complete prototypes.
9364
9365 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9366
9367 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9368 to better match the key-lookup behavior.
9369
6288c62f
GM
93702000-08-27 Gerd Moellmann <gerd@gnu.org>
9371
9372 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9373 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9374
e931344e
EZ
93752000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9376
9377 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9378 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9379 (xterm.o): Depend on coding.h
9380
d10dfeef
KH
93812000-08-26 Kenichi Handa <handa@etl.go.jp>
9382
9383 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9384 the corresponding '#endif'.
9385
2d73e8d3
MB
93862000-08-26 Miles Bader <miles@gnu.org>
9387
9388 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9389 * xfaces.c (QCinherit): New variable.
9390 (syms_of_xfaces): Initialize it.
9391 (LFACE_INHERIT): New macro.
9392 (Finternal_get_lisp_face_attribute)
52283633 9393 (merge_face_vector_with_property)
2d73e8d3
MB
9394 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9395 (check_lface_attrs): Allow new types of face height. Check
9396 inherit attribute.
9397 (CYCLE_CHECK): New macro.
9398 (merge_face_inheritance): New function.
9399 (merge_face_vectors): Merge inherited faces too. Add F and
9400 CYCLE_CHECK arguments.
9401 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9402 (lookup_named_face, lookup_derived_face, realize_named_face)
9403 (face_at_string_position, face_at_buffer_position): Supply
9404 new F and CYCLE_CHECK arguments to merge_face_vectors.
9405 (merge_face_heights): New function.
52283633 9406 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9407 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9408 handle relative face heights.
9409 (lface_same_font_attributes_p): Compare heights using EQ.
9410
6ce974d4
KH
94112000-08-26 Kenichi Handa <handa@etl.go.jp>
9412
9413 * charset.c (char_to_string): Check the character validity.
52283633 9414 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9415
dc1e502d
SM
94162000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9417
9418 * regex.c (PUSH_FAILURE_COUNT): New macro.
9419 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9420 Handle popping of a register's or a counter's data.
9421 (POP_FAILURE_POINT): Use the new name.
9422 (re_match_2_internal): Push counter data on the stack for succeed_n,
9423 jump_n and set_number_at and remove misleading dead code in succeed_n.
9424
bd9d0f3f
GM
94252000-08-25 Gerd Moellmann <gerd@gnu.org>
9426
9427 * xdisp.c (redisplay_internal): If considering all windows on all
9428 frames, update the display for each frame as soon as possible,
9429 instead of first building all desired matrices for all frames, and
9430 then updating them all.
9431 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9432
aa5b8e15
GM
94332000-08-24 Gerd Moellmann <gerd@gnu.org>
9434
17494071
GM
9435 * bytecode.c (mark_byte_stack): Add a comment.
9436
52283633
SM
9437 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9438 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9439 a graphical frame.
9440
c543db81
KH
94412000-08-24 Kenichi Handa <handa@etl.go.jp>
9442
d246d5f5
KH
9443 * minibuf.c (do_completion): Always use compare-string, not
9444 string-equal because the latter doesn't pay attention to
9445 multibyteness of strings.
9446
c543db81
KH
9447 * process.c (create_process): Don't setup raw-text coding here.
9448 (Fopen_network_stream): Don't set coding->src_multibyte and
9449 coding->dst_multibyte here.
9450 (read_process_output): For process filter, return unibyte string
9451 if default-enable-multibyte-characters is nil.
9452 (send_process): If OBJECT is multibyte text, be sure to encoded it
9453 by the specified coding system for the process. Otherwise, setup
9454 raw-text coding.
52283633 9455 (init_process): Don't initialize default-process-coding-system here.
c543db81 9456
9b47cfe0
EZ
94572000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9458
9459 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9460 <scroll-down-aggressively>: Likewise.
9461
f5a36960
KH
94622000-08-23 Kenichi Handa <handa@etl.go.jp>
9463
9464 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9465 zero. Set coding->produced_char correctly.
9466
69a7ffa7
AI
94672000-08-22 Andrew Innes <andrewi@gnu.org>
9468
9469 * makefile.w32-in: New file.
9470
9471 * unexw32.c (unexec): Ignore old_name, and use the actual location
9472 of the current executable instead. Base new_name on this.
9473
9474 * w32proc.c (create_child): Remove reference to security
9475 descriptor, which isn't needed and doesn't compile with mingw32.
9476
9477 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9478 up dllimport attributes.
9479 (x_update_window_end): Update prototype.
9480
9481 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9482 extern, which screws up dllimport attributes.
9483
9484 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9485 up dllimport attributes.
9486
9487 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9488 screws up dllimport attributes.
9489
9490 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9491 up dllimport attributes.
9492 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9493 screws up dllimport attributes.
9494
9495 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9496 up dllimport attributes.
9497
9498 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9499 screws up dllimport attributes.
9500
9501 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9502 screws up dllimport attributes.
9503
9504 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9505 up dllimport attributes.
9506
9507 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9508 unnecessary extern, which screws up dllimport attributes.
9509 (main): Ditto.
9510
9511 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9512 up dllimport attributes.
9513
9514 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9515 unnecessary extern, which screws up dllimport attributes.
9516
9517 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9518 screws up dllimport attributes.
9519
9520 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9521 up dllimport attributes.
9522
9523 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9524
52283633
SM
9525 * w32bdf.c (search_file_line):
9526 (set_bdf_font_info):
9527 (seek_char):
9528 (w32_get_bdf_glyph):
69a7ffa7
AI
9529 (w32_BDF_to_x_font): Fix compile warnings.
9530
52283633 9531 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9532
9533 * w32select.c: Include keyboard.h before frame.h.
9534
9535 * w32fns.c (max): Define macro.
9536 (JOHAB_CHARSET): Define if not known.
9537 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9538 (Fx_show_tip): Synch with X version.
9539
9540 * w32xfns.c: Include keyboard.h before frame.h.
9541
9542 * w32fns.c: Include keyboard.h before frame.h.
9543
9544 * w32term.c: Include keyboard.h before frame.h.
9545
9546 * fontset.c: Include keyboard.h before frame.h.
9547
9548 * w32inevt.c: Include keyboard.h before frame.h.
9549 (MOUSE_MOVED): Define if not known.
9550
9551 * minibuf.c: Include keyboard.h before frame.h.
9552
9553 * keyboard.c: Include keyboard.h before frame.h.
9554
9555 * indent.c: Include keyboard.h before frame.h.
9556
9557 * dispnew.c: Include keyboard.h before frame.h.
9558
9559 * buffer.c: Include keyboard.h before frame.h.
9560
9561 * alloc.c: Include keyboard.h before frame.h.
9562
9563 * print.c: Include keyboard.h before frame.h.
9564
9565 * process.c: Include keyboard.h before frame.h.
9566
9567 * scroll.c: Include keyboard.h before frame.h.
9568
9569 * sysdep.c: Include keyboard.h before frame.h.
9570
9571 * term.c: Include keyboard.h before frame.h.
9572
9573 * window.c: Include keyboard.h before frame.h.
9574
9575 * xdisp.c: Include keyboard.h before frame.h.
9576 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9577
9578 * frame.c: Include keyboard.h before frame.h.
9579
9580 * w32heap.h: Undefine min, max.
9581
9582 * w32gui.h: Undefine min, max.
9583
9584 * unexw32.c: Change PUCHAR to PCHAR.
9585 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9586 (relocate_offset):
9587 (get_section_info):
69a7ffa7
AI
9588 (copy_executable_and_dump_data): Remove unnecessary static defs.
9589 (copy_executable_and_dump_data): Fix compile warnings.
9590
9591 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9592
9593 * w32console.c (min): Define macro.
9594 (clear_frame, write_glyphs): Fix compile warning.
9595
52283633 9596 * w32proc.c (compare_env):
69a7ffa7
AI
9597 (find_child_console): Fix compile warning.
9598
9599 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9600 sys_errlist instead of _sys_errlist.
9601 (get_emacs_configuration_options): New function.
9602
9603 * s/ms-w32.h (sys_nerr): Provide default definition.
9604 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9605 name with _ prepended.
9606 (NSIG): Define if not known.
9607 (get_emacs_configuration): Provide extern declaration.
9608 (get_emacs_configuration_options): Provide extern declaration.
9609 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9610
9611 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9612 (map_w32_filename):
69a7ffa7
AI
9613 (read_unc_volume): Fix compile warning.
9614
9615 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9616 definitions from being used.
9617
9618 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9619
52283633 9620 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9621 (open_unc_volume): Make arg const.
9622
9623 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9624 (read_input_waiting): Remove excess parameter.
9625
9626 * w32.c (init_environment): Call _access.
9627 (check_windows_init_file): Call _close.
9628 (init_user_info): Call _putenv.
9629 (init_environment): Call _putenv and _strdup.
9630 (init_ntproc): Reset volume info cache on startup.
9631
9632 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9633 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9634 cannot override the CRT malloc.
9635
9636 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9637 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9638
9639 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9640 unless we are linking with a static CRT.
9641 (RVA_TO_PTR): Cast result to unsigned char*.
9642
9643 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9644 (add_volume_info): Use xstrdup.
9645
25060080
SM
96462000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9647
9648 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9649 (do_completion, Fminibuffer_complete_word): Use it.
9650 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9651 var so it can take non-boolean values.
9652
6917e6bb
GM
96532000-08-21 Gerd Moellmann <gerd@gnu.org>
9654
acb7cc89 9655 * editfns.c (find_field): Formatting changes.
52283633 9656 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9657 changed to prototypes, some new protypes added, some functions
9658 made static.
9659
9660 * lisp.h (set_time_zone_rule): Add prototype.
9661 (use_dialog_box): External declaration.
9662
0bbfdc25
GM
9663 * keyboard.c (gen_help_event): Add parameter SIZE.
9664 (kbd_buffer_events_waiting): Slightly rewritten.
9665 (clear_event): New function.
9666 (kbd_buffer_get_event): Use it, and clear the input_events of
9667 HELP_EVENTs.
9668 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9669 don't fill the newly created array with nils.
9670 (toplevel): Convert some old-style function forward declarations
9671 to prototypes.
9672
9673 * keyboard.h (gen_help_event): Change prototype.
9674
9675 * xterm.c (XTread_socket): Change calls to gen_help_event.
9676
9677 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9678
6917e6bb
GM
9679 * eval.c (Fmacroexpand): Doc fix.
9680
e5cd3d11
JR
96812000-08-20 Jason Rumney <jasonr@gnu.org>
9682
9683 * w32term.h (x_display_info_for_display): Remove as this function
9684 does not exist on W32.
9685
9686 * w32term.c (help_echo_window): New variable.
9687 (syms_of_w32term): staticpro it.
9688 (note_mode_line_highlight): Set it.
9689 (XTextExtents16): Removed as there is no equivalent on W32.
9690 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9691 the X way of doing this will not work for W32.
9692 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9693 (x_draw_image_foreground): Avoid drawing outside of the clip area
9694 when image doesn't have a mask.
9695 (note_mouse_highlight): Process overlays in the right order of
9696 priority. Set help_echo_window.
9697 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9698 because that's more visible for large images.
9699
9700 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9701 name to single_keymap_panes.
9702 (w32_menu_show): Set wv->title when dealing with titles.
9703 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9704
6e69ab8c
MB
97052000-08-21 Miles Bader <miles@gnu.org>
9706
9707 * minibuf.c (do_completion): Try again if we rewrite the input
9708 string, but no completion was done, so that any completion message
9709 will be correct.
9710
511bd4eb
GM
97112000-08-20 Gerd Moellmann <gerd@gnu.org>
9712
9713 * xfaces.c (lface_equal_p): Compare strings differently.
9714 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9715 (realize_tty_face): Use them.
9716 (syms_of_xfaces): Initialize new variables.
9717 (map_tty_color): New function, extracted from realize_tty_face.
9718 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9719 foreground or background color, store the new color name in the
9720 realized face; previous code trying to do this had no effect.
9721 (realize_tty_face): Use map_tty_color.
9722 (Fclear_face_cache): Set face_change_count and ensure thorough
9723 redisplay.
9724
1433385f
GM
97252000-08-19 Gerd Moellmann <gerd@gnu.org>
9726
511bd4eb
GM
9727 * undo.c (record_first_change, record_marker_adjustment): Don't
9728 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9729
419ac0a2
KH
97302000-08-18 Kenichi Handa <handa@etl.go.jp>
9731
9732 * coding.c (decode_coding_string): Set members consumed,
9733 consumed_char, produced, produced_char of *coding correctly. If
9734 decode_coding doesn't consume any byte, don't try anymore.
9735 (encode_coding_string): Likewise.
9736
7eb9e30d
GM
97372000-08-18 Gerd Moellmann <gerd@gnu.org>
9738
511bd4eb
GM
9739 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9740 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9741
9742 * xdisp.c (redisplay_internal): Compare windows for equality with
9743 EQ, instead of applying XWINDOW to something that might not
9744 be a window.
52283633 9745
dd34a735
KH
97462000-08-18 Kenichi Handa <handa@etl.go.jp>
9747
9748 * fontset.c (Finternal_char_font): Search only the selected frame
9749 for a window of the current buffer.
9750
385ff9e3
GM
97512000-08-18 Gerd Moellmann <gerd@gnu.org>
9752
511bd4eb 9753 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9754 Lisp_Objects.
9755
385ff9e3
GM
9756 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9757 second half of a HELP_EVENT is found at the start of kbd_buffer.
9758
d6abb4c7
MB
97592000-08-18 Miles Bader <miles@gnu.org>
9760
4618074a
MB
9761 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9762
d6abb4c7
MB
9763 * editfns.c (save_restriction_save): Rewrite to use markers.
9764 (save_restriction_restore): Rewrite to understand new form of data
9765 saved by save_restriction_save.
9766 (Fsave_restriction): Remove cautionary note in doc-string.
9767
a7b28523
GM
97682000-08-17 Gerd Moellmann <gerd@gnu.org>
9769
9770 * fileio.c (build_annotations): Add a comment explaining the
9771 return value of format-annotate-function. Replace a spurious call
9772 to Flength with a CONSP test. Call format-annotate-function with
9773 a fifth arg specifying how many times the function is been called
9774 in a row, to let it choose temporary buffers appropriately.
9775
03c9ed77
DL
97762000-08-17 Dave Love <fx@gnu.org>
9777
9778 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9779 declare make_temp_name twice.
9780
52283633 9781 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9782 (unreadpure): Give it an arg.
9783
9784 * unexalpha.c: Prototype fatal_unexec, mark_x,
9785 update_dynamic_symbols. Declare unexec as void.
9786
9787 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9788 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9789
9790 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9791 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9792
9793 * alloca.c: Use #error.
9794 [POINTER_TYPE]: Use it.
9795
9796 * eval.c (Fdefvar): Doc fix.
9797
9798 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9799 INITIALIZE_INTERVAL.
9800
9801 * buffer.h: Avoid DECLARE_INTERVALS.
9802
9803 * config.in: Add size_t.
9804
aae41d97
EZ
98052000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9806
9807 * w16select.c (set_clipboard_data): If there's not enough memory
9808 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9809 expects. In case of other failures, return 3.
9810 (system_error_msg): New error message.
9811 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9812 system_error_msg.
9813
65aa5e85
GM
98142000-08-16 Gerd Moellmann <gerd@gnu.org>
9815
9816 * term.c (write_glyphs): Also turn off inverse video after turning
9817 off other appearances in case TS_exit_attribute_mode is not equal
9818 to TS_end_standout_mode.
9819 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9820 with the same face.
9821 (turn_off_face): Reset standout_mode only if
9822 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9823 is equal to TS_end_standout_mode.
9824
ece23901
KH
98252000-08-16 Kenichi Handa <handa@etl.go.jp>
9826
9d7bcb2e
KH
9827 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9828 sequence at the end of the source block.
9829
ece23901
KH
9830 * ccl.c (Fccl_program_p): Docstring modified.
9831 (Fccl_execute): Likewise.
9832 (Fccl_execute_on_string): Likewise.
9833
5e30eaa2
EZ
98342000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9835
9836 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9837
290602fd
KH
98382000-08-16 Kenichi Handa <handa@etl.go.jp>
9839
9840 The following changes are mainly to fix bugs of
9841 encode/decode-coding-string failing if encoding/decoding return
9842 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9843 variable conversion_buffer.
9844
9845 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9846 decrement dst_end to avoid buffer overflow in the later call of
9847 string_as_multibyte
9848
9849 * coding.h (conversion_buffer_size, conversion_buffer)
9850 (get_conversion_buffer): Extern deleted.
9851
9852 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9853 (conversion_buffer, conversion_buffer_size): Variables deleted.
9854 (get_conversion_buffer): Function deleted.
9855 (struct conversion_buffer): New structure.
9856 (MAX_ALLOCA): New macro.
9857 (allocate_conversion_buffer): New macro.
9858 (extend_conversion_buffer, free_conversion_buffer): New functions.
9859 (ccl_coding_driver): Set coding->result.
9860 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9861 this is the last block of source.
9862 (encode_coding): Likewise. Handle the source block as the last
9863 one only when the whole source text is consumed.
9864 (decode_coding_string): Handle the case that the output buffer is
9865 too small to decode the whole source text. Use
9866 allocate_conversion_buffer, extend_conversion_buffer and
9867 free_conversion_buffer, not get_conversion_buffer.
9868 (encode_coding_string): Likewise.
9869 (init_coding): Function deleted.
52283633 9870 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9871
9872 * emacs.c (main): Don't call init_coding.
9873
52283633 9874 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9875
9876 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9877 (insert_glyphs): Likewise.
9878
9879 * w32console.c (write_glyphs): Use a locally declared
9880 conversion_buffer.
9881
b9f80d41
EZ
98822000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9883
9884 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9885 member of display_info is NULL.
9886
32dc52f7
GM
98872000-08-15 Gerd Moellmann <gerd@gnu.org>
9888
52283633 9889 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9890
32dc52f7 9891 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9892 appearances with capability `me'.
32dc52f7
GM
9893 (write_glyphs): Switch on inverse video before each face change.
9894
4eb22d33
DL
98952000-08-14 Dave Love <fx@gnu.org>
9896
9897 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9898 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9899 (lisp_free): Declare and make static.
9900
9901 * window.c: Fix embedded comment.
9902 (syms_of_window): Fix doc string.
9903
90cbf47e
GM
99042000-08-14 Gerd Moellmann <gerd@gnu.org>
9905
52283633 9906 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9907 make sure to print `C-' before `M-', like in the manual.
9908
440fc135
GM
99092000-08-11 Gerd Moellmann <gerd@gnu.org>
9910
9911 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9912 since they aren't relocated anymore.
52283633 9913 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9914
9915 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9916 partially visible line which is smaller than the window's height.
440fc135 9917
6e264fad
KH
99182000-08-11 Kenichi Handa <handa@etl.go.jp>
9919
9920 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9921 the multibyte form of eight-bit-control characters.
6e264fad
KH
9922 (Fccl_execute_on_string): Initialize ccl->multibyte.
9923
9924 * ccl.h (struct ccl_program): New member multibyte.
9925
9926 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9927
c371f69a
KH
99282000-08-11 Kenichi Handa <handa@etl.go.jp>
9929
9930 * regex.c (regex_compile) <normal_char>: Pay attention to
9931 multibyteness.
9932 (analyse_first) <exactn>: Setup fastmap correctly for
9933 eight-bit-control characters.
9934
99352000-08-11 Kenichi Handa <handa@etl.go.jp>
9936
52283633 9937 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9938
9939 * keyboard.c (make_lispy_event): Handle the new event type
9940 multibyte_char_keystroke.
9941
9942 * xterm.c: Include coding.h.
9943 (XTread_socket): Work around a bug of XmbLookupString. If the
9944 input is from XIM, decode it according to the current locale. In
9945 that case, generate multibyte_char_keystroke events.
9946
b8ddbe71
KH
99472000-08-11 Kenichi Handa <handa@etl.go.jp>
9948
9949 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9950 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9951
47589c8c
GM
99522000-08-10 Gerd Moellmann <gerd@gnu.org>
9953
9954 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9955 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9956 (move_it_in_display_line_to): Record iterator's ascent and descent
9957 before producing glyphs, and restore them when we know the glyph
9958 doesn't fit on the line.
9959 (move_it_to): Restructured so that it's easier to debug. If
9960 moving to a vpos, and not moving to an x or character position,
9961 stop as soon as the specified vpos is reached; don't move further
9962 into that line because that might change the computed line height.
9963 (try_cursor_movement): New function, extracted from the cursor
9964 movement branch of redisplay_window. If ending on a partially
9965 visible line, don't try to scroll if the cursor line is taller
9966 than the window.
9967 (redisplay_window): Use try_cursor_movement.
9968
9969 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9970 because that function doesn't cope with variable-height lines.
9971
9972 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9973 box cursor because that's better visible for large images.
52283633 9974
c51bacd6
MB
99752000-08-10 Miles Bader <miles@gnu.org>
9976
9977 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9978
bea56df7
GM
99792000-08-10 Gerd Moellmann <gerd@gnu.org>
9980
9981 * xdisp.c (Vmessages_buffer_name): New variable.
9982 (message_dolog): Use it.
9983 (syms_of_xdisp): Initialize it.
9984
99cd7364
EZ
99852000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9986
52283633 9987 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9988 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9989 redundant now that keyboard.h is included.
9990
7d093d56
EZ
99912000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9992
9993 * keyboard.c (kbd_buffer_events_waiting): New function.
9994
9995 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9996
9997 * msdos.c: Include keyboard.h.
9998 (XMenuActivate): Empty no_event events from the event buffer. If
9999 no events are left after that, call clear_input_pending.
10000 (mouse_clear_clicks): New function, code moved from mouse_init.
10001 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
10002 mouse driver to ``forget'' any past clicks.
10003
10004 * Makefile.in (msdos.o): Depend on keyboard.h.
10005
41e757a6
GM
100062000-08-09 Gerd Moellmann <gerd@gnu.org>
10007
8e7bd231
GM
10008 * lisp.h (input_pending): External declaration.
10009
10010 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 10011
8e7bd231
GM
10012 * xdisp.c (echo_area_display): Display thoroughly if input is
10013 pending. Bind redisplay-dont-pause to t during the redisplay.
10014 in case input is pending.
10015
10016 * dispnew.c (Qredisplay_dont_pause): New variable.
10017 (syms_of_display): Initialize and staticpro it.
10018 (update_frame_1): Don't interrupt the display for pending input if
10019 redisplay_dont_pause is set.
52283633 10020
43028b7e
GM
10021 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
10022
41e757a6
GM
10023 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10024
2f2174fa
KH
100252000-08-09 Miles Bader <miles@lsi.nec.co.jp>
10026
10027 * callproc.c (Fcall_process): Terminate the unwind-protect around
10028 the post-read-conversion of coding system.
10029
0a6fd67e
MB
10030 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
10031 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
10032 * buffer.h (overlays_at): Update prototype.
10033 * xdisp.c (next_overlay_change): Update call to overlays_at.
10034 * xfaces.c (face_at_buffer_position): Likewise.
10035 * textprop.c (Fget_char_property): Likewise.
10036 * xterm.c (note_mouse_highlight): Likewise.
10037
0c80756e
MB
10038 * minibuf.c (do_completion): Don't consider a simple change of
10039 case as `completion'.
10040
975f250a
KR
100412000-08-08 Ken Raeburn <raeburn@gnu.org>
10042
52283633 10043 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
10044 * undo.c (record_delete): Make sure last_point_position_buffer is
10045 a buffer before comparing pointers.
10046
10047 * coding.h (decode_coding_string): Declare.
10048
10049 * intervals.h (Fprevious_single_char_property_change): Declare.
10050
10051 * textprop.c (Fprevious_single_char_property_change): Don't do
10052 arithmetic directly on lisp objects.
10053
52283633 10054 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
10055
10056 * keyboard.h (menu_item_eval_property): Declare.
10057
10058 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10059 reuse as buffer name, instead of recreating (and discarding) every
10060 time a message is logged.
10061 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
10062 (current_message_1, truncate_message_1, set_message_1)
10063 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10064 (current_message, truncate_echo_area, display_echo_area)
10065 (resize_echo_area_axactly): Changed calls.
b347b3fd 10066
975f250a 10067 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 10068 Lisp object.
975f250a 10069 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 10070 must be an integer, not a Lisp object.
975f250a 10071
46dc9912
KH
100722000-08-08 Kenichi Handa <handa@etl.go.jp>
10073
10074 * charset.c (Fchar_width): Doc fix.
10075
9f6d1a6c
GM
100762000-08-08 Gerd Moellmann <gerd@gnu.org>
10077
10078 * charset.c (Fstring_width): Doc fix.
10079
ff3d9573
GM
100802000-08-07 Gerd Moellmann <gerd@gnu.org>
10081
41e757a6 10082 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
10083 line, clear ascent and descent members of the iterator structure;
10084 the height of the continued line does not affect the height of the
10085 continuation line.
10086 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10087 line taller than the window.
10088 (redisplay_window) <forced window start>: Handle case that the
10089 middle of the window is not found in any row.
10090 (dump_glyph_row): Show more information.
10091 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10092 first text line in a glyph matrix.
10093
10094 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10095 of the clip area when image doesn't have a mask.
10096
70fc58b3
GM
10097 * fns.c (sweep_weak_table): Fix survival conditions for
10098 key-or-value and key-and-value weakness.
10099
10100 * .gdbinit (xhashtable): New command.
10101
ac0e96ee
GM
10102 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10103 tables out of the list of all weak hash tables.
10104
ff3d9573
GM
10105 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10106 a new buffer is created, make sure echo_area_buffer[] references
10107 the new buffer.
10108
e0d8827b
EZ
101092000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10110
10111 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10112 the doc string.
10113
c6f35378
KH
101142000-08-07 Kenichi Handa <handa@etl.go.jp>
10115
10116 * syntax.c (skip_chars): Fix previous change. Make the handling
10117 of unibyte string consistent with that of regex search.
10118
1fd4c450
GM
101192000-08-05 Gerd Moellmann <gerd@gnu.org>
10120
e49aa397
GM
10121 * xmenu.c (popup_get_selection): Use xfree instead of free.
10122
10123 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10124
10125 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10126
10127 * callproc.c (child_setup): Use xfree instead of free.
10128
10129 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10130 instead of malloc.
10131 (run_mac_command, closedir): Use `xfree' instead of `free'.
10132
10133 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10134
10135 * eval.c (error): Use xfree instead of free.
10136
1fd4c450
GM
10137 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10138
10139 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10140 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10141
82d497fc
KH
101422000-08-05 Kenichi Handa <handa@etl.go.jp>
10143
10144 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10145 conversion.
10146
59f953a2
NF
101472000-08-04 Noah Friedman <friedman@splode.com>
10148
10149 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10150 docstring.
10151
688351f2
GM
101522000-08-04 Gerd Moellmann <gerd@gnu.org>
10153
10154 * syntax.c (skip_chars): Fix typo in error message.
10155
2dad51cc
AS
101562000-08-04 Andreas Schwab <schwab@suse.de>
10157
10158 * m/ia64.h: Moved from s/ia64.h.
10159
99bb2c60
KH
101602000-08-04 Kenichi Handa <handa@etl.go.jp>
10161
082a1df2
KH
10162 * process.c (read_process_output): Big simplification. Handle
10163 composition and post-read-conversion of coding system correctly.
10164 (send_process): Handle composition correctly.
10165
10166 * callproc.c (Fcall_process): Handle post-read-conversion of
10167 coding system if any.
10168
99bb2c60
KH
10169 * coding.c (decode_coding_iso2022): More strict check for handling
10170 single shifting.
082a1df2
KH
10171 (coding_restore_composition): Pay attention to the case that
10172 cmp_data is not set properly (because of invalid code in the
10173 source text).
10174 (run_pre_post_conversion_on_str): Include text properties in the
10175 resulting string.
10176 (decode_coding_string): Set members of coding correctly.
99bb2c60 10177
f4988be7
GM
101782000-08-03 Gerd Moellmann <gerd@gnu.org>
10179
10180 * s/ia64.h: New file.
10181
10182 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10183 Use NULL instead of 0 at the end of variable argument list of
10184 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10185 sizeof (int) < sizeof (void *).
10186
10187 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10188 of variable argument lists of XtVaGetValues and XtVaSetValues.
10189
10190 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10191 variable argument lists of XtVaGetValues and XtVaSetValues.
10192
ead53494
GM
101932000-08-02 Gerd Moellmann <gerd@gnu.org>
10194
10195 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10196 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10197
10198 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10199 prototype.
10200
10201 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10202 in call to Fsingle_key_description.
10203
10204 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10205 Callers changed.
10206
102072000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10208
10209 * window.c (display_buffer_reuse_frames): New variable.
10210 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10211 frames displaying BUFFER.
52283633 10212 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10213
10b0f752
MB
102142000-08-01 Miles Bader <miles@gnu.org>
10215
10216 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10217 when to constrain NEW_POS (they were pretty screwed up before).
10218
16425c4a
EZ
102192000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10220
10221 * msdos.c (run_msdos_command): Save and restore the master
10222 environment, for the case that child_setup signals an error.
10223 When mirroring slashes in DOS shell commands, don't fail when
10224 argv[2] has embedded blanks.
da288c14
EZ
10225 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10226 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10227 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10228
10229 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10230 using alloca; free it after run_msdos_command returns.
10231
27f73852
DL
102322000-07-27 Dave Love <fx@gnu.org>
10233
52283633
SM
10234 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10235 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10236
10237 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10238
c0261b5e
EZ
102392000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10240
10241 * editfns.c (lisp_time_argument): Fix last change.
10242
b548072f
GM
102432000-07-27 Gerd Moellmann <gerd@gnu.org>
10244
3ab82477
GM
10245 * fns.c (Fdelete): Make it work on vectors and strings in addition
10246 to lists.
10247
b548072f
GM
10248 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10249 (syms_of_fns): Initialize new variables.
52283633 10250 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10251 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10252 weakness, with t meaning the same as `key-and-value'.
10253
91ae8751
KH
102542000-07-27 Kenichi Handa <handa@etl.go.jp>
10255
10256 * coding.h (struct coding_system): Member safe_charset deleted.
10257
10258 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10259 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10260 New variables.
91ae8751
KH
10261 (coding_safe_chars): New function.
10262 (CODING_SAFE_CHAR_P): New macro.
10263 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10264 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10265 (detect_coding_iso2022): New local variable safe_chars.
10266 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10267 safe_charsets member of the coding system.
10268 (decode_coding_iso2022): New local variable safe_chars.
10269 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10270 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10271 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10272 (ENCODE_UNSAFE_CHARACTER): New macro.
10273 (encode_coding_iso2022): New local variable safe_chars. Check
10274 unsafe chars.
10275 (setup_coding_system): Delete the code to initialize
10276 coding->safe_charses
10277 (intersection, find_safe_codings): New functions.
10278 (Ffind_coding_systems_region_internal): New function.
10279 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10280 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10281 variable and initialize it.
10282
10283 * fns.c (char_table_ref_and_index): New function.
10284
10285 * lisp.h (char_table_ref_and_index): Add prototype.
10286
34a7a267
SS
102872000-07-26 Sam Steingold <sds@gnu.org>
10288
10289 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10290 (Ffloat_time): New built-in Lisp function.
34a7a267 10291
a95cb10a
GM
102922000-07-26 Gerd Moellmann <gerd@gnu.org>
10293
3353ef5a
GM
10294 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10295 for the character code.
10296
10297 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10298 GNU/Linux.
10299
a95cb10a
GM
10300 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10301 if called for a popup menu.
10302 (xmenu_show): Store help string in widget values.
10303
b4a12321
DL
103042000-07-26 Dave Love <fx@gnu.org>
10305
10306 * syswait.h: Move some definitions.
10307 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10308 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10309 perspicuous definitions.
10310 (WTERMSIG): Fix bit pattern used.
10311
13f5ad37
KH
103122000-07-26 Kenichi Handa <handa@etl.go.jp>
10313
10314 * print.c (print_object): If vector printing is truncated, print
10315 "..." to indicate it as well as the case of list printing.
10316
070fe99c
GM
103172000-07-25 Gerd Moellmann <gerd@gnu.org>
10318
969065c3
GM
10319 * xdisp.c (next_element_from_display_vector): Improve comments.
10320
10321 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10322 for the character code, and the rest for the face id as in 20.x.
10323 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10324
10325 * window.c (window_display_table): Cleaned up.
10326
070fe99c
GM
10327 * syntax.c (Fforward_word): Add last arg nil in call of
10328 Fconstrain_to_field.
10329
bad77ef7
EZ
103302000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10331
969065c3 10332 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10333 identical but for the letter-case, don't call
10334 barf_or_query_if_file_exists.
bad77ef7 10335
c28da489
MB
103362000-07-25 Miles Bader <miles@gnu.org>
10337
10338 * editfns.c (find_field): Honor special `boundary' fields.
10339 (Qboundary): New variables.
10340 (syms_of_editfns): Initialize Qboundary.
10341 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10342 Use scan_buffer instead of find_before_next_newline, because it
10343 allows us to detect the boundary case where there's a newline at
10344 the search limit.
10345 * lisp.h (Fconstrain_to_field): Update external declaration.
10346
e3c31fd5
GM
103472000-07-24 Gerd Moellmann <gerd@gnu.org>
10348
10349 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10350 if that is nil.
c28da489 10351
c66c29a2
DL
103522000-07-24 Dave Love <fx@gnu.org>
10353
10354 * s/sunos4-0.h, s/sol2.h:
10355 (LIBS_TERMCAP): Move from m/sparc.h.
10356
10357 * m/sparc.h (TERMINFO): Moved to system files (probably only
10358 relevant for sunos4 judging by its vintage).
10359 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10360 __arch64__.
10361
fbe0a958
EZ
103622000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10363
10364 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10365 name to single_keymap_panes.
10366
7d88e5c9
AS
103672000-07-24 Andreas Schwab <schwab@suse.de>
10368
10369 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10370
e024b101
GM
103712000-07-24 Gerd Moellmann <gerd@gnu.org>
10372
10373 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10374 parameters instead of using int parameters. Expect FN to accept
10375 EMACS_INT parameters.
10376 (display_echo_area, resize_echo_area_axactly, current_message)
10377 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10378 with new argument list.
10379 (resize_mini_window_1): New callback function.
10380 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10381 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10382
25c1a9ce
KH
103832000-07-24 Kenichi Handa <handa@etl.go.jp>
10384
10385 * fontset.c (fontset_ref): Remove INLINE declaration.
10386 (fontset_ref_via_base): Likewise.
10387 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10388 to downcase.
10389
7f987ac0
EZ
103902000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10391
10392 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10393 correct order of priority. If help echo was found in an overlay,
10394 use that overlay as the object in which the help echo was found.
10395
e2db3069
MB
103962000-07-22 Miles Bader <miles@gnu.org>
10397
10398 * textprop.c (Fprevious_single_char_property_change): The initial
10399 property value should be from the position preceding POSITION, not
10400 following it.
10401
5e3203e4
EZ
104022000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10403
10404 * coding.c (syms_of_coding): Doc fix for
10405 inhibit-iso-escape-detection.
10406
62145073
GM
104072000-07-21 Gerd Moellmann <gerd@gnu.org>
10408
c20aeb83
GM
10409 * xterm.c (note_mouse_highlight): Process overlays in the right
10410 order of priority.
34a7a267 10411
743934db
GM
10412 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10413
10414 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10415 overlay, use that overlay as the object in which the help was found.
743934db 10416
d1dc7e43 10417 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10418
62145073
GM
10419 * window.c (foreach_window): Instead of a fake variable argument
10420 list, take one USER_DATA argument.
10421 (foreach_window_1): Likewise, and call callback functions with two
10422 args, the window and USER_DATA.
10423 (struct check_window_data): New struct.
10424 (check_window_containing): Use it.
10425 (window_from_coordinates): Set up a struct check_window_data for
10426 foreach_window.
10427 (add_window_to_list, freeze_window_start): Change parameters
10428 according to new calling convention.
10429
10430 * window.h (foreach_window): Change prototype.
10431
10432 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10433
104342000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10435
10436 * xmenu.c (menu_help_callback): Call show_help_echo with
10437 additional arguments OBJECT and POS.
10438
11270583
KH
104392000-07-21 Kenichi Handa <handa@etl.go.jp>
10440
07b14857
KH
10441 * data.c (Faset): Allow storing any multibyte character in a
10442 string. Convert unibyte string to multibyte if necessary.
10443
11270583
KH
10444 * xfns.c (x_encode_text): New function.
10445 (x_set_name): Use x_encode_text.
10446 (x_set_title): Likewise.
10447
10448 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10449
10450 * xterm.h (x_encode_text): Add prototype.
10451
bc75b4fd
DL
104522000-07-20 Dave Love <fx@gnu.org>
10453
10454 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10455 xfree, not free.
10456
48c14970
EZ
104572000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10458
10459 * msdos.c (help_echo_window): New variable.
10460 (syms_of_msdos): Initialize and staticpro it.
10461 (IT_note_mode_line_highlight): Set help_echo_window.
10462 (IT_note_mouse_highlight): Ditto.
10463 (dos_rawgetc): Store help_echo_window in the second event produced
10464 for HELP_EVENTs.
10465
10466 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10467 Record the object that generated the help echo and the position of
10468 that object in help_echo_object and help_echo_pos. Record that
10469 some glyphs in a row are displayed in mouse-face.
10470 (IT_update_begin): Don't clear mouse highlight unless one of the
10471 enabled glyph rows is marked as being displayed in mouse-face.
10472 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10473 and position recorded in help_echo_object and help_echo_pos to the
10474 event queue.
10475 (IT_menu_display): Accept a new argument PN: the pane number of
10476 the current menu pane. Record the pane number and the item
10477 number of the item which has associated help string.
10478 (XMenuActivate): Update the prototype for help_callback in
10479 function declaration. Call IT_menu_display with the current menu
10480 pane number as an additional argument. Call help_callback with
10481 two additional arguments: the pane number and the item number of
10482 the menu item associated with the help text.
10483 (help_echo_object, help_echo_pos): New variables.
10484 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10485
10486 * msdos.h (XMenuActivate): Update prototype.
10487
4279296d
GM
104882000-07-19 Gerd Moellmann <gerd@gnu.org>
10489
47db06aa
GM
10490 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10491 Add some more prototypes.
10492
10493 * xterm.c, xterm.h: Add some more prototypes.
10494
10495 * lisp.h (Fnext_single_char_property_change): Add prototype.
10496
10497 * dispnew.c (direct_output_for_insert): Remove confusing
10498 outer local variable mouse_face_overwritten_p.
10499 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10500
4279296d
GM
10501 * alloc.c (allocate_string_data): Don't copy old string contents.
10502
670acd62
KH
105032000-07-19 Kenichi Handa <handa@etl.go.jp>
10504
10505 * coding.c (code_convert_region): Delete text properties before
10506 shrinking the conversion region.
10507
7cea38bc
GM
105082000-07-18 Gerd Moellmann <gerd@gnu.org>
10509
dc1cac59
GM
10510 * dispnew.c (update_text_area): Write the whole row if it
10511 has mouse-face in it.
10512
85a8aca9
GM
10513 * xfaces.c (face-alternative-font-family-alist): Remove
10514 DEFVAR_LISP; staticpro instead.
10515
34a7a267 10516 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10517 new arguments.
10518
10519 * keyboard.c (show_help_echo): Add parameter WINDOW.
10520 (read_char): Call show_help_echo with window extracted from Lisp
10521 help event.
10522 (gen_help_event): Add parameter WINDOW.
10523
10524 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10525
10526 * xterm.c (help_echo_window): New variable.
52283633 10527 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10528 (XTread_socket): Pass help_echo_window to gen_help_event.
10529 (syms_of_xterm): Initialize and staticpro help_echo_window.
10530
f8276b77
DL
105312000-07-18 Dave Love <fx@gnu.org>
10532
52283633 10533 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10534
088831a6
GM
105352000-07-18 Gerd Moellmann <gerd@gnu.org>
10536
3d6cd763
GM
10537 * alloc.c (allocate_string_data): If string had already data
10538 assigned, copy old contents to new string data.
10539
10540 * coding.c (syms_of_coding): Fix typo in spelling of variable
10541 `inhibit-iso-escape-detection'.
10542
088831a6
GM
10543 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10544
10545 * Makefile.in: Add dependencies on dispextern.h.
10546 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10547 `free'; both can conflict with system header files.
10548
bc8a8d55
KH
105492000-07-18 Kenichi Handa <handa@etl.go.jp>
10550
10551 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10552 undefined.
10553
069f5950
DL
105542000-07-18 Dave Love <fx@gnu.org>
10555
10556 * window.c (Fwindow_list): Declare arg `window'.
10557
aa96c820
KH
105582000-07-18 Kenichi Handa <handa@etl.go.jp>
10559
10560 * coding.c (setup_coding_system): Don't override the explicitly
10561 specified designations.
10562
06be8d32
MB
105632000-07-15 Miles Bader <miles@gnu.org>
10564
10565 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10566 from `text_property_eq' and `text_property_stickiness', respectively.
10567 (find_field, Fconstrain_to_field, char_property_eq)
10568 (char_property_stickiness): Changed to call char-property functions
10569 instead of text-property-only ones.
10570
10571 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10572 `next_single_char_property_change'). Do more error checking, and
10573 cleanup limit behavior.
10574 (Fprevious_single_char_property_change): New function.
10575 (syms_of_textprop): Initialize new subrs.
10576
10577 * xdisp.c (display_prop_end, invisible_text_between_p):
10578 Call Fnext_single_char_property_change instead of
10579 next_single_char_property_change.
10580
3fddcdc3
JR
105812000-07-15 Jason Rumney <jasonr@gnu.org>
10582
10583 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10584 after menu is finished with.
10585 (add_menu_item): Only consider wv->title as a menu title.
10586 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10587
10588 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10589 null title.
10590 (FONT_REGEXP): Remove unused macro, and its sub-components.
10591 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10592
10593 * w32term.c (help_echo_object, help_echo_pos): New variables.
10594 (note_mode_line_highlight): Store additional information about the
10595 help-echo in help_echo_object and help_echo_pos. Check both
10596 `local-map' and `keymap' properties for changing the cursor
10597 (note_mouse_highlight): Store additional information about the
10598 help-echo in help_echo_object and help_echo_pos.
10599 (note_tool_bar_highlight): Set help_echo_object to nil and
10600 help_echo_pos to -1.
10601 (w32_read_socket): Use gen_help_event instead of filling
10602 input_events manually.
10603 (syms_of_w32term): Staticpro help_echo_object.
10604 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10605 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10606 (x_clear_mouse_face): New function.
10607 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10608 (x_update_window_begin): No need to turn off the mouse
10609 highlight here.
10610 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10611 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10612 (x_fill_stretch_glyph_string): Consume runs of stretch
10613 glyphs instead of a single one.
10614 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10615 with new argument list.
10616 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10617 (x_append_glyph, x_append_composite_glyph)
10618 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10619 changes in struct glyph starting 1999-12-27. See comments for
10620 xterm.c on 2000-07-05.
10621
178c5d9c
SS
106222000-07-14 Sam Steingold <sds@gnu.org>
10623
10624 * xfaces.c (realize_x_face): Fix the last patch:
10625 check `default_face' before dereferencing.
10626
6fe533f6
DL
106272000-07-14 Dave Love <fx@gnu.org>
10628
069f5950 10629 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10630
dd7b81cf
KH
106312000-07-14 Kenichi Handa <handa@etl.go.jp>
10632
0693904a 10633 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10634 default_face's fontset, not using the default fontset.
0693904a 10635
dd7b81cf
KH
10636 * coding.c (inhibit_iso_escape_detection): New variable.
10637 (syms_of_coding): Make it a Lisp variable.
10638 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10639 nonzero, ignore ISO2022's escape sequence.
10640
d5aa31d8
GM
106412000-07-14 Gerd Moellmann <gerd@gnu.org>
10642
e5acf0ca
GM
10643 * alloca.c (malloc) [emacs]: Define as xmalloc.
10644
bd23a692
GM
10645 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10646 use that instead of the mouse position. Add parameters DX and DY.
10647
10648 * dispextern.h (Fx_show_tip): Adjust number of parameters
10649 in prototype.
10650
9662da0b
GM
10651 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10652 if HELP is a function, call it with OBJECT and POS as parameters
10653 to get the help to display.
10654 (gen_help_event, kbd_buffer_store_help_event): New functions.
10655 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10656 (read_char): Call show_help_echo with new parameters.
10657
178c5d9c 10658 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10659 Add prototypes.
10660
10661 * xterm.c (help_echo_object, help_echo_pos): New variables.
10662 (note_mode_line_highlight): Store additional information about the
10663 help-echo in help_echo_object and help_echo_pos. Check both
10664 `local-map' and `keymap' properties for changing the cursor
10665 (note_mouse_highlight): Store additional information about the
10666 help-echo in help_echo_object and help_echo_pos.
10667 (note_tool_bar_highlight): Set help_echo_object to nil and
10668 help_echo_pos to -1.
10669 (XTread_socket): Use gen_help_event instead of filling
10670 input_events manually.
10671 (syms_of_xterm): Staticpro help_echo_object.
10672
10673 * xmenu.c (menu_highlight_callback): Use
10674 kbd_buffer_store_help_event instead of setting up and input_event
10675 structure manually.
10676
10677 * xdisp.c (eval_form): GCPRO argument sexpr.
10678 (call_function): New function.
10679 (handle_single_display_prop): Use call_function and FUNCTIONP
10680 instead of checking whether if font_height is a symbol and
10681 using eval_form.
10682
10683 * eval.c (internal_condition_case_2): New function.
10684
10685 * lisp.h (FUNCTIONP): New macro.
10686 (internal_condition_case_2, call_function): Add prototypes.
10687
d5aa31d8
GM
10688 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10689 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10690 Always set `arg' member of input_events.
10691 (construct_menu_click): Unused function removed.
10692
10693 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10694
10695 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10696 (construct_drag_n_drop, x_scroll_bar_handle_click)
10697 (w32_read_socket): Always set `arg' member of input_events.
10698
10699 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10700
10701 * lisp.h (eval_form): Add prototype.
10702
10703 * xdisp.c (eval_form): Make it externally visible.
10704
0f1a9b23
GM
107052000-07-13 Gerd Moellmann <gerd@gnu.org>
10706
10707 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10708 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10709 consing. For prefix events, store the frame in the `arg' slot of
10710 the event, otherwise store the key there.
10711 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10712 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10713
10714 * xmenu.c (menu_highlight_callback): Store help string in the
10715 `arg' member of the input event; don't cons.
10716 (menubar_selection_callback): Use the `arg' slot of input events
10717 to queue additional information, instead of consing.
10718
10719 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10720
10721 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10722 TOOL_BAR_EVENTs.
10723 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10724
10725 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10726 input events to queue additional information, instead of consing.
10727
10728 * keyboard.c (kbd_buffer_gcpro): Renamed from
10729 kbd_buffer_frame_or_window. Now used for all Lisp objects
10730 referenced from the input queue.
10731 (kbd_buffer_store_event): Always use structure assignment for
10732 copying input events. Record all Lisp objects referenced from
10733 events in kbd_buffer_gcpro.
10734 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10735 differently from input events. Test for prefix menu_bar_events
10736 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10737 event in kbd_buffer_gcpro to nil.
10738 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10739 frame_or_window is equal to its arg member as prefix events.
10740 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10741 used by an input event to nil.
10742 (init_keyboard): Use two times the size of the input queue
10743 for kbd_buffer_gcpro.
10744 (syms_of_keyboard): Likewise.
10745
52283633
SM
10746 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10747 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10748
10749 * termhooks.h (struct input_event): Add member `arg'.
10750 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10751 (USER_SIGNAL_EVENT): Renamed from user_signal.
10752
10753 * xfaces.c (ASET): Remove definition.
10754
10755 * lisp.h (AREF, ASET, ASIZE): New macros.
10756
10757 * fontset.c (AREF, ASIZE): Remove definitions.
10758
10759 * fns.c (AREF): Remove definition.
178c5d9c 10760
0f1a9b23
GM
10761 * composite.c (AREF): Remove definition.
10762
712eaef2
GM
107632000-07-12 Gerd Moellmann <gerd@gnu.org>
10764
d8ee7803
GM
10765 * dispnew.c (redraw_overlapped_rows): Add missing local.
10766 (scrolling_window): Remove debug code.
10767
712eaef2
GM
10768 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10769 Before scrolling, turn off a mouse-highlight in the window
10770 being scrolled.
10771
10772 * xterm.c (x_update_window_end): Add parameter
10773 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10774 redisplay in XTframe_up_to_date.
10775 (x_clear_mouse_face): New function.
10776 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10777
10778 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10779 current glyph row.
10780 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10781 it when any row is written to that contains glyphs highlighted in
10782 mouse-face.
10783 (update_window): Call the window update end hook with new
10784 parameter MOUSE_FACE_OVERWRITTEN_P.
10785 (direct_output_for_insert): Give up if row contains mouse-face.
10786
10787 * dispextern.h (struct redisplay_interface): Add parameter
10788 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10789 (clear_mouse_face): New function pointer member.
10790
02010917
SM
107912000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10792
10793 * syntax.c (back_comment): Use one switch rather than a few `if's.
10794 Obey open_paren_in_column_0_is_defun_start.
10795 When reverting to the `slow' method, try to nicely handle the case
10796 of nested comments by checking that the comment-starter we found
10797 does indeed match the comment-ender.
10798 (scan_sexps_forward, scan_sexps_forward):
10799 Ignore excessive opening parenthesis rather than throwing an error.
10800
d76c03ea
GM
108012000-07-11 Gerd Moellmann <gerd@gnu.org>
10802
10803 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10804 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10805
10806 * dispnew.c (direct_output_forward_char): Give up if currently
10807 displaying a message instead of the minibuffer contents.
10808
10809 * xterm.c (x_update_window_begin): No need to turn off the mouse
10810 highlight here.
10811 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10812 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10813
10814 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10815 compare the mouse_face_p flags of both rows.
10816
10817 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10818
d55ead18
EZ
108192000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10820
10821 * keyboard.c (show_help_echo): Accept additional parameter
10822 ok_to_overwrite_keystroke_echo.
10823 (read_char): Call show_help_echo with a zero
10824 ok_to_overwrite_keystroke_echo argument.
52283633 10825 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10826 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10827 ok_to_overwrite_keystroke_echo argument.
10828 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10829 non-zero ok_to_overwrite_keystroke_echo argument.
10830
df75b1a3
GM
108312000-07-10 Gerd Moellmann <gerd@gnu.org>
10832
4b92c49a
GM
10833 * xdisp.c (try_window_id): If changes are all below what is
10834 displayed in the window, and point is in the window, we still
10835 might have to find point on the display.
10836
10837 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10838 glyphs instead of a single one.
10839 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10840 with new argument list.
10841 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10842
df75b1a3
GM
10843 * keymap.c (get_keymap_1): Add comment that this function can GC.
10844 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10845 comment that functions can GC.
10846 (Fset_keymap_parent): GCPRO arg KEYMAP.
10847
4314cf3e
EZ
108482000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10849
10850 * msdos.c (XMenuActivate): After exiting the menu, restore the
10851 echo area message and erase it.
10852
ab49ce15
KH
108532000-07-10 Kenichi Handa <handa@etl.go.jp>
10854
10855 * fontset.c (Ffontset_info): Make the return value more compatible
10856 with that of Emacs 20.
10857
090a072f
GM
108582000-07-07 Gerd Moellmann <gerd@gnu.org>
10859
10860 * eval.c (Fsignal): Handle case that backtrace_list is null.
10861
f92de4a6
KH
108622000-07-07 Kenichi Handa <handa@etl.go.jp>
10863
10864 * ccl.c (Fccl_execute): Typo fixed.
10865
dd8888a1
GM
108662000-07-06 Gerd Moellmann <gerd@gnu.org>
10867
e5c81191 10868 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10869
dd8888a1
GM
10870 * window.c (Fwindow_list): Reverse list at the end.
10871 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10872 means allow windows on OWINDOW's frame, only.
10873 (window_loop): Simplified; use Fwindow_list.
10874
10875 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10876
485266d0
GM
108772000-07-05 Gerd Moellmann <gerd@gnu.org>
10878
10879 * xterm.c (XTread_socket): Increment handling_signal at the start,
10880 decrement it at the end.
10881
10882 * eval.c (handling_signal): New variable.
10883 (Fsignal): Abort if handling_signal is non-zero.
10884
10885 * lisp.h (handling_signal): External declaration.
178c5d9c 10886
485266d0
GM
10887 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10888
80fcd514
KR
108892000-07-05 Ken Raeburn <raeburn@gnu.org>
10890
10891 Sound support for NetBSD through "Linux emulation" support:
10892 * config.in (HAVE_SOUNDCARD_H): Undef.
10893 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10894 * Makefile.in (LIBSOUND): New variable.
10895 (LIBES): Include it.
52283633
SM
10896 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10897 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10898 (vox_open): Use DEFAULT_SOUND_DEVICE.
10899 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10900
d5c5cddd
GM
109012000-07-05 Gerd Moellmann <gerd@gnu.org>
10902
10903 * print.c (print_error_message): If Vsignaling_function is set,
10904 show it in *Messages*.
10905
10906 * lisp.h (Vsignaling_function): External declaration.
10907
10908 * eval.c (Vsignaling_function): New variable.
10909 (Fsignal): Compute it.
10910 (syms_of_eval): Staticpro it.
10911
65171e3a
DL
109122000-07-05 Dave Love <fx@gnu.org>
10913
10914 * syswait.h: Use the autoconf recommended approach. Old code
10915 #if'd out in case we need to revert.
10916
178c5d9c 10917 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10918
e2c46326
AI
109192000-07-05 Andrew Innes <andrewi@gnu.org>
10920
10921 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10922 when non-NULL instead of __morecore, to take account of buffer
10923 memory. This also solves a problem with spurious memory warnings
10924 on Windows.
10925
10926 * ralloc.c: Make real_morecore non-static.
10927
10928 * eval.c (internal_condition_case): Comment out abort if
10929 interrupt_input_blocked is not zero.
10930
10931 * makefile.nt: Add support for `bootstrap' and related targets.
10932 Include minimal debug info in emacs.exe in release build.
10933 Remove all dependencies on lisp.h, and fixup some others.
10934
10935 * w32.c (init_environment): Install code from 20.7 for providing
10936 default values for environment variables, based on the
10937 executable's own location.
52283633 10938 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10939 (sys_socket): Install socket inheritance bug fix from 20.7.
10940
10941 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10942 here via blockinput.h).
10943
a027a91b
SM
109442000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10945
e4b31601
SM
10946 * w32menu.c (w32_menu_display_help):
10947 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10948
10949 * keyboard.h (show_help_echo): Declare.
10950
10951 * keyboard.c (show_help_echo): New function, extracted from read_char.
10952 Feval its `msg' argument if it's a cons cell.
10953 (read_char): Use it.
4cf8d9d5 10954 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10955
178c5d9c 10956 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10957 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10958 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10959 (dos_rawgetc):
10960 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10961 (note_tool_bar_highlight, w32_read_socket):
10962 Do not gratuitously ignore non-string `help-echo' properties.
10963
88d75730
GM
109642000-07-05 Gerd Moellmann <gerd@gnu.org>
10965
969f7e79
GM
10966 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10967
71201b00
GM
10968 * window.c (delete_all_subwindows): Reset Vwindow_list.
10969
88d75730
GM
10970 * xterm.c (x_append_glyph, x_append_composite_glyph)
10971 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10972 changes in struct glyph starting 1999-12-27. Some bit-fields of
10973 struct glyph were not set, which made glyphs unequal when compared
10974 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10975 effects were the result. This also depended on the contents of
10976 memory returned by xmalloc. If flickering happens again, activate
10977 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10978 gone with that, chances are that it is caused by something similar.
88d75730
GM
10979
10980 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10981
88d75730
GM
10982 * dispextern.h: Add some comments.
10983
10984 * window.c (add_window_to_list): Add parameter LIST.
10985 (window_list): Order list so that, for each frame, windows are
10986 in canonical order, and so that frames appear in the list in
10987 the order given by Vframe_list.
10988 (next_window): Reverse the handling of NEXT_P.
10989
53654733
GM
109902000-07-04 Gerd Moellmann <gerd@gnu.org>
10991
87efd256
GM
10992 * window.c (Vwindow_list): New variable.
10993 (make_window, delete_window): Set Vwindow_list to nil.
10994 (check_window_containing): New function.
10995 (window_from_coordinates): Rewritten.
10996 (add_window_to_list, window_list, candidate_window_p)
10997 (decode_next_window_args, next_window): New functions.
52283633 10998 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10999 (Fwindow_list): New function.
11000 (Fother_window): Cleaned up.
11001 (foreach_window): Add a longer "variable argument list". Let
11002 callback function return 0 to indicate that cycling over windows
11003 should stop.
11004 (foreach_window_1): Likewise.
11005 (freeze_window_start): Return int.
11006 (init_window): New function.
11007 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
11008
11009 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
11010 input_event with bzero.
11011 (main): Call init_window.
11012
53654733
GM
11013 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
11014 a menu filter.
11015
4a8c194f
KH
110162000-07-04 Kenichi Handa <handa@etl.go.jp>
11017
11018 * composite.h (make_composition_value_copy): Extern it.
11019
11020 * composite.c (make_composition_value_copy): New function.
11021
11022 * editfns.c (Fformat): While copying text properties, make each
11023 composition property value a copy.
11024
11025 * fns.c (concat): While copying text properties, make each
11026 composition property value a copy.
11027
831a6cb0
GM
110282000-07-03 Gerd Moellmann <gerd@gnu.org>
11029
2f516940
GM
11030 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
11031
178c5d9c 11032 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
11033 marked already.
11034
831a6cb0
GM
11035 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
11036 include those frames as candidates which have their focus
11037 redirected to the minibuffer frame.
11038
d9c4f922
SM
110392000-07-03 Stefan Monnier <monnier@cs.yale.edu>
11040
11041 * fns.c (Fputhash): Return `value' rather than nil.
11042
3780bc22
GM
110432000-06-30 Gerd Moellmann <gerd@gnu.org>
11044
97d176db
GM
11045 * frame.c (next_frame): Don't check focus redirection in case
11046 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
11047 unless their focus is redirected, which contradicts the
11048 specification of next-frame, and leads to infinite loops in
11049 certain situations when cycling through windows with next-window.
11050
dca9961d
KH
110512000-06-30 Kenichi Handa <handa@etl.go.jp>
11052
11053 * coding.c (code_convert_region): Even if the length of text is
11054 zero, try to convert it if coding->type is coding_type_ccl.
11055 (decode_coding_string, encode_coding_string): Likewise.
11056
d5483ab1
GM
110572000-06-28 Gerd Moellmann <gerd@gnu.org>
11058
af5c25e1 11059 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 11060 the display if windows_or_buffers_changed.
af5c25e1
GM
11061
11062 * dispnew.c (struct row_entry): New structure.
11063 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11064 (row_table_size, old_lines, new_lines, old_lines_size)
11065 (new_lines_size, run_pool, runs_size, runs): New variables.
11066 (add_row_entry): New function.
11067 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 11068 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
11069 holding them in local variables. Use a larger hash table whose
11070 size depends on glyph matrix sizes. Don't use bzero to clear the
11071 hash table; instead, clear used slots only.
11072
11073 * fns.c (next_almost_prime): Make it externally visible.
11074
11075 * lisp.h (next_almost_prime): Add prototype.
11076
d5483ab1
GM
11077 * s/isc4-0.h (sigunblock): Define.
11078
11079 * s/sco5.h (sigunblock): Define.
11080
93e40f40
DL
110812000-06-27 Dave Love <fx@gnu.org>
11082
11083 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11084 (moved to osf5-0.h).
11085 [!NOT_C_CODE]: Protect string.h stuff.
11086
11087 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11088 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11089
3c4b7685
GM
110902000-06-27 Gerd Moellmann <gerd@gnu.org>
11091
97d176db 11092 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
11093 below the last line from the needed window height.
11094
32cad0aa
SM
110952000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11096
11097 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11098 (Fwidget_get): Use it.
11099 (syms_of_fns): Defsubr it.
11100
2c69ced2
GM
111012000-06-26 Gerd Moellmann <gerd@gnu.org>
11102
178c5d9c 11103 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
11104 display info for XIM.
11105 (xim_open_dpy): Likewise.
11106 (xim_close_dpy): Don't free the display info's XIM.
11107
11108 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11109
11110 * config.in (USE_XIM): New define.
11111
3fc720e4
GM
11112 * keymap.c (get_keyelt): For menu-items containing a `:filter
11113 FILTER', apply FILTER to the menu-item's definition to get the
11114 real definition to use.
11115
11116 * lisp.h (QCfilter): External declaration.
11117
2c69ced2
GM
11118 * xfns.c (Fimage_size): New function.
11119 (syms_of_xfns): Defsubr it.
11120
f978b2a2
AS
111212000-06-26 Andreas Schwab <schwab@suse.de>
11122
11123 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11124 Fstring_as_unibyte.
11125
94cc7892
DL
111262000-06-25 Dave Love <fx@gnu.org>
11127
52283633 11128 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11129
11130 * Makefile.in (blockinput.h): Depend on atimer.h.
11131 (atimer.h): Depend on systime.h.
11132
52283633 11133 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11134
52283633 11135 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11136
11137 * lisp.h (swap_in_global_binding): Declare.
11138
b8c24556
KR
111392000-06-24 Ken Raeburn <raeburn@gnu.org>
11140
11141 * process.c (Fopen_network_stream): Turn off atimers for duration
11142 of call to connect. (Patch from Gerd.)
11143
8cf8560b
DL
111442000-06-23 Dave Love <fx@gnu.org>
11145
511c7541
DL
11146 * ralloc.c: Maybe include unistd.h
11147
8cf8560b
DL
11148 * emacs.c (setgrp): Undefine before defining.
11149 (malloc_warning, set_time_zone_rule, index): Prototype.
11150
11151 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11152 HAVE_STRUCT_TIMEZONE.
11153
11154 * s/osf1.h: Move string.h hack here from alpha.h and make it
11155 conditional.
11156 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11157 _XOPEN_SOURCE.
11158 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11159 (SOCKLEN_TYPE): Don't define.
11160
11161 * m/alpha.h: Remove string.h hack.
11162
11163 * s/osf5-0.h: New file.
11164
11165 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11166 include time.h, done by systime.h.
11167 [__FreeBSD__]: Remove redundant includes.
11168
3fc720e4 11169 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11170 (delete_temp_file): Return Qnil to avoid warning.
11171
11172 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11173
11174 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11175 HAVE_X_WINDOWS.
11176
11177 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11178
11179 * composite.h (compose_text): Declare.
11180
11181 * xterm.c: Don't include sys/types.h unconditionally. Don't
11182 protect its inclusion with !USG (following xmenu.c).
11183
ea055732
GM
111842000-06-23 Gerd Moellmann <gerd@gnu.org>
11185
11186 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11187 in x_create_frame.
11188
74b01b80
EZ
111892000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11190
11191 * coding.c (decode_eol_post_ccl): Special handling for undecided
11192 and inconsistent EOL types.
11193
64f3a166
GM
111942000-06-22 Gerd Moellmann <gerd@gnu.org>
11195
16cf31f7
GM
11196 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11197 trough color and main window's background color.
11198
52283633 11199 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11200
11201 * xterm.h (Xt_app_con): External declaration.
11202
11203 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11204
486a103d
GM
11205 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11206
64f3a166
GM
11207 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11208 (handle_invisible_prop): Record the start of invisible text in
11209 it->add_overlay_start.
11210 (struct overlay_entry): Add member `overlay'.
11211 (handle_overlay_change): Simplify.
11212 (next_overlay_string): After having processed overlay strings at the
11213 end of the buffer, record that fact in
11214 it->overlay_strings_at_end_processed_p.
11215 (compare_overlay_entries): If before- and after-strings come
11216 from the same overlay, let before-strings come first.
11217 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11218 (load_overlay_strings): Take it->add_overlay_start into account
11219 when adding overlay strings.
11220
11221 * dispextern.h (struct it): Add member add_overlay_start.
11222
bb746ea6
DL
112232000-06-22 Dave Love <fx@gnu.org>
11224
11225 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11226
11227 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11228
a8f573f3
KH
112292000-06-22 Kenichi Handa <handa@etl.go.jp>
11230
11231 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11232 is greater than 0.
11233
9f2bbc92
DL
112342000-06-21 Dave Love <fx@gnu.org>
11235
178c5d9c 11236 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11237
3ee5041c
SM
112382000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11239
11240 * syntax.c (back_comment): Simplify string-parity counting (with
11241 the added benefit of handling multiple string-styles as long as
11242 they are not intertwined).
11243 Jump to the slow code as soon as a comment starter is found in
11244 a "string_lossage" position. Fixes the case: " /* " /* " */.
11245
4c343001
DL
112462000-06-21 Dave Love <fx@gnu.org>
11247
11248 * Makefile.in: Use GETLOADAVG_LIBS.
11249
11250 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11251 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11252
e6365855
SM
112532000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11254
11255 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11256 (Fforward_comment, scan_lists):
11257 Check the comstyle of single-char comment-starters.
11258 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11259 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11260 Check the comstyle of single-char comment-starters.
11261 Clarify control-flow around the Scomment case.
e6365855 11262
5700d2cc
DL
112632000-06-20 Dave Love <fx@gnu.org>
11264
d355bd8a
SM
11265 * fns.c (make_hash_table, maybe_resize_hash_table):
11266 Cast arg of next_almost_prime.
5700d2cc 11267
178c5d9c 11268 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11269
11270 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11271 and unistd.h.
11272
4a27bdfb
GM
112732000-06-20 Gerd Moellmann <gerd@gnu.org>
11274
a61d762c 11275 * keyboard.c (adjust_point_for_property): Check if display
52283633 11276 property should be treated as intangible by looking at its value.
a61d762c 11277
178c5d9c 11278 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11279 (display_prop_intangible_p): New functions.
11280
11281 * dispextern.h (display_prop_intangible_p): Add prototype.
11282
11283 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11284
4a27bdfb
GM
11285 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11286 argument to sigprocmask.
11287
11288 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11289 argument to sigprocmask.
11290
11291 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11292 sigprocmask_set, and pass a pointer to it to sigprocmask.
11293
11294 * sysdep.c (sigprocmask_set): New variable.
11295
11296 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11297 report_file_error.
11298
427ec082
SS
112992000-06-20 Sam Steingold <sds@gnu.org>
11300
11301 * xrdb.c: Don't declare xmalloc, xrealloc.
11302
8972fe79 113032000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11304
11305 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11306 (re_comp): Cast gettext return value to avoid complaints when
11307 !HAVE_LIBINTL.
11308
074b6efe
DL
113092000-06-20 Dave Love <fx@gnu.org>
11310
52283633 11311 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11312
5700d2cc 11313 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11314
d355bd8a 11315 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11316
11317 * m/alpha.h: Don't declare xmalloc, xrealloc.
11318
0af4f205
DL
11319 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11320
11321 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11322
11323 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11324
11325 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11326 HAVE_GETWD.
11327
074b6efe
DL
11328 * keyboard.h (poll_for_input_1): Declare.
11329
11330 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11331
11332 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11333
11334 * doprnt.c: Don't declare xmalloc, xrealloc.
11335
11336 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11337 (getenv, ctime, getwd): Removed.
11338 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11339
11340 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11341 x_set_tool_bar_lines.
11342
11343 * config.in: Add HAVE_GETWD. Move some definitions above
11344 machine/system includes.
11345
68a5e97b
KH
113462000-06-20 Kenichi Handa <handa@etl.go.jp>
11347
95417e1e
KH
11348 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11349
68a5e97b
KH
11350 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11351 contain information about ENCODING.
11352
11353 * fontset.c (FONTSET_ASCII): Use the first element of char table
11354 for an ASCII font, not defalt slot.
11355 (fontset_ref_via_base): If FONTSET doesn't contain information for
11356 C, try the default fontset.
11357 (make_fontset): Don't copy the default fontset.
11358 (fontset_font_pattern): Likewise.
11359 (accumulate_font_info): If ELT is nil, use the corresponding
11360 element in the default fontset.
11361
3b4fa1b2
DL
113622000-06-19 Dave Love <fx@gnu.org>
11363
943e731c
DL
11364 * syntax.c (Fparse_partial_sexp): Doc fix.
11365
11366 * regex.h: Test PROTOTYPES as well as __STDC__.
11367
3b4fa1b2
DL
11368 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11369 errno, strerror. Put text after #endif in comment.
11370
52283633 11371 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11372
11373 * xterm.c (x_frame_of_widget): Likewise.
11374
cdf0357b
GM
113752000-06-19 Gerd Moellmann <gerd@gnu.org>
11376
11377 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11378 to Vfundamental_mode_abbrev_table.
11379
11380 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11381 bogus objects are marked. This slows down GC by ~80 percent, but
11382 it might be worth trying when debugging GC-related problems.
11383 This feature requires conservative stack marking to be enabled.
11384
11385 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11386 returns XLookupChars, reset `modifiers' to zero.
11387
998e9f8c
DL
113882000-06-19 Dave Love <fx@gnu.org>
11389
11390 * mktime.c: Unprotoized.
11391
18e21ce8 113922000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11393
11394 * data.c (set_internal): If variable is frame-local,
11395 store the new value immediately into the frame parameter alist.
11396
140c4ac6
KR
113972000-06-19 Ken Raeburn <raeburn@gnu.org>
11398
14358466
KR
11399 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11400 in the custom handler pointer.
11401
140c4ac6
KR
11402 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11403 value, or checks for CHAR_META can fail when Lisp_Object is a
11404 union type.
11405 * keymap.c (get_keyelt): Likewise.
11406
10d7bf84
KH
114072000-06-19 Kenichi Handa <handa@etl.go.jp>
11408
11409 * ccl.h (struct ccl_program): New member eol_type.
11410 (struct ccl_spec): New member cr_carryover.
11411
11412 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11413 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11414
11415 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11416 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11417 (decode_eol_post_ccl): New function.
11418 (decode_coding): Don't detect EOL format here for CCL based coding
11419 systems.
11420 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11421 decode_eol_post_ccl after running the CCL program.
11422 (code_convert_region): Don't detect EOL format here for CCL based
11423 coding systems.
11424 (decode_coding_string): Likewise.
11425
52e386c2
KR
114262000-06-18 Ken Raeburn <raeburn@gnu.org>
11427
11428 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11429 when treating it as an integer.
11430
11431 * coding.h (encode_coding_string): Declare.
11432
11433 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11434 it as an integer.
11435
11436 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11437 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11438 to be passed to get_local_map.
11439
11440 * sound.c (Fplay_sound): Don't call make_number on
11441 Frun_hook_with_args count argument.
11442
11443 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11444 for lisp objects in X event structure data field, when lisp
11445 objects are represented with unions.
11446 (x_scroll_bar_to_input_event): Ditto.
11447
b357b9d4
KR
114482000-06-16 Ken Raeburn <raeburn@gnu.org>
11449
11450 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11451 termination of string. Fix sense of test whether
11452 Vline_number_display_limit is an integer.
b357b9d4 11453
a871441d
GM
114542000-06-16 Gerd Moellmann <gerd@gnu.org>
11455
a9021acd
GM
11456 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11457 only if HAVE_X_WINDOWS.
11458
6344985d
GM
11459 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11460 of titles.
11461
427ec082 11462 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11463 out of bounds.
11464
228b083e
EZ
114652000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11466
11467 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11468 of its headers.
11469
c25b53a2
KH
114702000-06-15 Kenichi Handa <handa@etl.go.jp>
11471
11472 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11473 start of the while loop.
11474
a6981b11
GM
114752000-06-15 Gerd Moellmann <gerd@gnu.org>
11476
e9924e52
GM
11477 * atimer.c (alarm_signal_handler): Add forward declaration.
11478
a6981b11
GM
11479 * data.c (set_internal): Remove debug code.
11480
25fa6deb
GM
114812000-06-14 Gerd Moellmann <gerd@gnu.org>
11482
dce6b995
GM
11483 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11484
9f817ea4
GM
11485 * unexec.c (toplevel) [COFF]: Include coff.h.
11486
11487 * s/lynxos.h: New file.
11488
11489 * keymap.c (Fsingle_key_description): Enclose function key and
11490 event symbol names in angle brackets.
11491
8a4e3c0c
GM
11492 * xdisp.c (setup_echo_area_for_printing): Call
11493 message_log_maybe_newline if message_buf_print is not set.
11494
11495 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11496 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11497 function does something useful even when message_buf_print is
11498 already set.
11499
52283633
SM
11500 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11501 New variables.
25fa6deb
GM
11502 (ensure_echo_area_buffers): Initialize echo buffer's
11503 truncate lines setting to nil.
11504 (with_echo_area_buffer): Don't set the echo buffer's truncate
11505 lines setting here.
8a4e3c0c 11506 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11507 of message_truncate_lines.
11508 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11509 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11510 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11511
11512 * keyboard.c (read_char): Bind message-truncate-lines to t
11513 while displaying a help-echo.
11514
11515 * lisp.h (Qmessage_truncate_lines): External declaration.
11516
163dcff3
GM
115172000-06-13 Gerd Moellmann <gerd@gnu.org>
11518
1681ead6
GM
11519 * xdisp.c (Vline_number_display_limit): Renamed from
11520 line_number_display_limit.
11521 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11522 Extend documentation string. Initialize
11523 Vline_number_display_limit to nil meaning no limit.
11524 (decode_mode_spec): Use Vline_number_display_limit with its new
11525 meaning.
11526
163dcff3
GM
11527 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11528
18e21ce8 115292000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11530
11531 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11532
163dcff3
GM
11533 * xfns.c (x_set_frame_parameters): Comment fix.
11534
11535 * frame.c (store_frame_param): Call swap_in_global_binding if the
11536 variable's current binding was chosen based on this frame.
11537
11538 * data.c (swap_in_global_binding): New function.
11539
a704139d
EZ
115402000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11541
11542 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11543 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11544
9b6610db
EZ
115452000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11546
11547 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11548
c68833d2
JR
115492000-06-12 Jason Rumney <jasonr@gnu.org>
11550
11551 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11552
11553 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11554
11555 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11556
11557 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11558
ed1056b3
GM
115592000-06-12 Gerd Moellmann <gerd@gnu.org>
11560
11561 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11562 (syms_of_xfaces): Defsubr Sdump_colors.
11563 (x_free_colors): Don't treat b&w specially on default visual.
11564 (x_free_dpy_colors): New function.
11565 (free_face_colors): Don't check visual class; it's done
11566 in x_free_colors.
11567
11568 * xterm.c (x_frame_of_widget): New function.
11569 (x_alloc_nearest_color_for_widget): Use it.
11570 (x_copy_dpy_color): New function.
11571 (x_destroy_window): Free various colors.
11572
5050a2ef
KH
115732000-06-12 Kenichi Handa <handa@etl.go.jp>
11574
11575 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11576
11577 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11578
11579 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11580
11581 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11582
11583 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11584
fb1b041d
DL
115852000-06-11 Dave Love <fx@gnu.org>
11586
11587 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11588
ff96b5f4
EZ
115892000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11590
11591 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11592
db8eeecd
GM
115932000-06-11 Gerd Moellmann <gerd@gnu.org>
11594
ed1056b3 11595 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11596 to `XEvent *'.
11597
49b71c5f
KH
115982000-06-10 Kenichi Handa <handa@etl.go.jp>
11599
c479bd55
KH
11600 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11601 (regex_compile): Fix the code for handling the case of single byte
11602 char and multibyte char being mixed in a range within [...].
11603
ff6a65c2
KH
11604 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11605 and dst_multibyte members of coding.
11606
49b71c5f
KH
11607 * charset.c (update_charset_table): Update the table
11608 bytes_by_char_head.
11609 (init_charset_once): Initialize elements of bytes_by_char_head to
11610 1 except for leading codes for private charases.
11611
11612 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11613 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11614
9e80b57d
KR
116152000-06-09 Ken Raeburn <raeburn@gnu.org>
11616
11617 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11618 access the data it doesn't point to.
11619
f83fe4b4
GM
116202000-06-08 Gerd Moellmann <gerd@gnu.org>
11621
11622 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11623 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11624 event queue. This is necessary because Emacs otherwise won't
11625 perform a switch-frame to a new frame until some other event, for
11626 example a keystroke event, forces it to do so. This has various
11627 effects, one visible being that the cursor of a frame created with
11628 C-x 5 2 or switched to with a window manager key binding like
11629 A-TAB stays hollow because selected_window isn't on the newly
11630 focused frame until the switch-frame is performed.
11631
11632 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11633 generating a switch-frame event if necessary.
11634
11635 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11636
11637 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11638 it's an integer.
11639
0890801b
KH
116402000-06-08 Kenichi Handa <handa@etl.go.jp>
11641
52283633 11642 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11643
173cbca8
GM
116442000-06-07 Gerd Moellmann <gerd@gnu.org>
11645
3091c2a6
GM
11646 * window.c (displayed_window_lines): Take empty lines at
11647 the bottom of a window into account.
427ec082 11648
f38952fe
GM
11649 * window.c (displayed_window_lines): New function.
11650 (Fmove_to_window_line): Use displayed_window_lines to determine
11651 the number of lines to move, instead of using the window's height.
11652
11653 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11654 to stop reading, even if the form read sets point to a different
11655 value when evaluated.
11656
427ec082 11657 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11658 put the cursor.
11659
6ba6c818
KH
116602000-06-07 Kenichi Handa <handa@etl.go.jp>
11661
11662 * fileio.c (e_write): Free composition data if stored in
11663 coding->cmp_data.
11664
5f1aea9a
GM
116652000-06-06 Gerd Moellmann <gerd@gnu.org>
11666
666852af
GM
11667 * xdisp.c (display_line): Set row's and iterator's
11668 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11669 Set cursor even if row ends in the middle of a character.
11670 (dump_glyph_row): Print values of new flags.
11671 (redisplay_window) <cursor movement in unchanged window>: When
11672 point has been moved forward, and PT is at the end of the cursor
11673 row, don't place the cursor in the next row if the cursor row ends
11674 in the middle of a character or at ZV.
11675
11676 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11677 (struct glyph_row): Add starts_in_middle_of_char_p and
11678 ends_in_middle_of_char_p.
11679 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11680 ends_in_middle_of_char_p flag.
11681 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11682
d13f3e2e
GM
11683 * term.c (append_glyph): Revert change of 2000-06-06.
11684
11685 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11686 padding glyph not fitting on line as whole character not
11687 fitting on line.
11688
5f1aea9a
GM
11689 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11690 this isn't true for images with `:ascent 100'.
11691
10cda9b0
KH
116922000-06-06 Kenichi Handa <handa@etl.go.jp>
11693
ed00559d
KH
11694 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11695 as modified if it is originally unmodified.
11696
10cda9b0
KH
11697 * term.c (encode_terminal_code): Change the way to check if
11698 terminal coding does any conversion.
11699 (append_glyph): Set glyph->pixel_width correctly.
11700
11701 * xdisp.c (display_line): While checking line continuation, pay
11702 attention to a padding glyph.
11703
1969fae2
GM
117042000-06-05 Gerd Moellmann <gerd@gnu.org>
11705
11706 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11707
162ccef4
DL
117082000-06-05 Dave Love <fx@gnu.org>
11709
f19f32dd
DL
11710 * xdisp.c: Include fontset.h.
11711
11712 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11713
11714 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11715
11716 * dispnew.c: Conditionally include term.h.
11717
11718 * coding.h: Declare code_convert_string_norecord.
11719
11720 * frame.h (struct frame): Use volatile unconditionally.
11721
11722 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11723
11724 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11725
11726 * systime.h: Protect against multiple inclusion.
11727 (timezone) [USG5_4]: Define as time_t.
11728
11729 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11730 (Foptimize_char_table, make_temp_name): Declare.
11731
11732 * Makefile.in (xdisp.o): Depend on fontset.h.
11733
11734 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11735
11736 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11737 (Foptimize_char_table, make_temp_name): Declare.
11738
427ec082 11739 * s/irix4-0.h:
162ccef4
DL
11740 * s/irix5-0.h:
11741 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11742
2082fe81
DL
117432000-06-02 Dave Love <fx@gnu.org>
11744
11745 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11746
dcf671d2
GM
117472000-06-02 Gerd Moellmann <gerd@gnu.org>
11748
11749 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11750 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11751 be freed.
11752
11753 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11754 glyph, use the ASCII NUL character to determine the face.
11755
d42122a3
DL
117562000-06-02 Dave Love <fx@gnu.org>
11757
11758 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11759 (VFORK_RETURN_TYPE): Remove.
427ec082 11760
d42122a3
DL
11761 * config.in: Add NO_MATHERR.
11762
dd432f16
DL
117632000-06-01 Dave Love <fx@gnu.org>
11764
90aa4ea8
DL
11765 * cmds.c (internal_self_insert): Don't check
11766 Vbefore_change_function, Vafter_change_function.
11767
11768 * insdel.c (signal_before_change, signal_after_change): Likewise.
11769
11770 * buffer.c (Vbefore_change_function, Vafter_change_function):
11771 Variables and their initializations deleted.
11772
2330c9d4
DL
11773 * callint.c (Fcall_interactively): Doc fix.
11774
dd432f16
DL
11775 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11776
bf9e8804
DL
117772000-05-31 Dave Love <fx@gnu.org>
11778
11779 * textprop.c: Revert last change -- duplicated.
11780
3694b4ab
GM
117812000-05-31 Gerd Moellmann <gerd@gnu.org>
11782
11783 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11784 in #if 0.
11785
11786 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11787
f14156cd
JR
117882000-05-31 Jason Rumney <jasonr@gnu.org>
11789
8119aab8
JR
11790 * search.c (Fre_search_forward, Fre_search_backward)
11791 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11792
f14156cd
JR
11793 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11794
4aab9be3
JR
117952000-05-30 Jason Rumney <jasonr@gnu.org>
11796
11797 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11798 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11799
52283633 11800 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11801
11802 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11803 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11804 expand a nil default_filename.
11805
11806 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11807 pointer to glyph_to_pixel_coords, not a frame.
11808
11809 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11810 coding.h to dependencies.
11811
11812 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11813
11814 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11815 window pointer to be consistent with w32term.c and xterm.c.
11816
11817 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11818 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11819 (Qline_spacing, Qcenter): New variables.
11820 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11821 (x_set_line_spacing): New function.
52283633 11822 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11823 (x_specified_cursor_type): New function.
11824 (x_set_cursor_type): Use it.
11825 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11826 and icon strings.
11827 (validate_x_resource_name, x_get_resource_string): Measure lengths
11828 of external strings in bytes.
11829 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11830 GetTextExtentPoint32 with NULL title.
11831 (Fx_create_frame): Initialize Qline_spacing.
11832 (w32_load_system_font): Initialize font->double_byte_p.
11833 (x_to_w32_charset): Use Vw32_charset_info_alist.
11834 (Image, busy cursor, tooltip functions): Merged changes from
11835 xfns.c. Not yet functional on Windows.
11836
11837 * w32gui.h (W32FontStruct): Add double_byte_p member.
11838
11839 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11840 (emacs_button_translation): Use it.
11841 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11842 in `mask' to be set.
11843
11844 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11845 menu strings.
11846
11847 * w32term.c: Format and doc changes to bring closer to xterm.c.
11848 (w32_char_font_type): New enum.
11849 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11850 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11851 (w32_encode_char): New function.
11852 (x_encode_char): Removed.
11853 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11854 x_encode_char and w32_font_is_double_byte.
11855 (x_produce_image_glyph): Use image_ascent.
11856 (x_produce_glyphs): Use new version of w32_per_char_metric and
11857 handle NULL return value. Allow extra line spacing.
11858 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11859 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11860 w32_font_type member of glyph instead.
11861 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11862 (fast_find_position): Make sure not to consider rows not visible
11863 in the window.
11864 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11865 w32_menu_display_help with input blocked, as it can abort.
11866 (x_display_and_set_cursor): Choose cursor depending
11867 on buffer-local value of cursor_type.
11868 (x_draw_bar_cursor): Add parameter WIDTH.
11869
11870 * w32term.h (CP_DEFAULT): Define.
11871 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11872
10fc3187
GM
118732000-05-30 Gerd Moellmann <gerd@gnu.org>
11874
11875 * search.c (Fre_search_forward, Fre_search_backward)
11876 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11877
d0555360
KH
118782000-05-30 Kenichi Handa <handa@etl.go.jp>
11879
11880 * coding.c (detect_coding_iso2022): Fix code for checking
11881 CODING_CATEGORY_MASK_ISO_8_2.
11882
f1ad044f
SM
118832000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11884
11885 * regex.c (PREFETCH_NOLIMIT): New function.
11886 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11887
84ec3b4b
GM
118882000-05-29 Gerd Moellmann <gerd@gnu.org>
11889
66254a13
GM
11890 * syntax.c (find_defun_start): Move test for
11891 open_paren_in_column_0_is_defun_start outside of the loop.
11892
49e70dec
GM
11893 * xdisp.c (redisplay_window): Really switch buffers when
11894 displaying mode lines, and temporarily set selected_frame to the
11895 frame of the window that's redisplayed.
11896
84ec3b4b
GM
11897 * xfaces.c (free_realized_faces): Block/unblock input.
11898 (free_realized_multibyte_face): Ditto.
11899
869a3a14
DL
119002000-05-29 Dave Love <fx@gnu.org>
11901
11902 * textprop.c (Qkeymap): New variable.
11903 (syms_of_textprop): Intern it.
11904
11905 * keymap.c: Include intervals.h.
11906 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11907
11908 * Makefile.in (keymap.o): Depend on intervals.h.
11909
11910 * keyboard.c (menu_bar_items, tool_bar_items)
11911 (Fexecute_extended_command): Deal with `keymap' property.
11912 (read_key_sequence): Track map from `keymap' property as well as
11913 `local_map'.
11914
11915 * intervals.c (get_local_map): Extra arg to allow looking for
11916 `keymap' too.
11917
11918 * intervals.h (map_property): New enum.
11919 (get_local_map): Extra arg using it.
11920 (Qkeymap): Declare.
11921
84ec3b4b 11922 * lisp.h (get_local_map): Don't declare here.
869a3a14 11923
89d0c844
KH
119242000-05-29 Kenichi Handa <handa@etl.go.jp>
11925
11926 * Makefile.in (callproc.o): Depend on composite.h.
11927
11928 * callproc.c: Include composite.h.
11929 (Fcall_process): Handle composition correctly.
11930
11931 * coding.h (coding_allocate_composition_data): Extern it.
11932 (coding_restore_composition): Likewise.
11933
11934 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11935 yet allocated, finish decoding with result
11936 CODING_FINISH_INSUFFICIENT_CMP.
11937 (coding_allocate_composition_data): Make it non-static.
11938 (coding_restore_composition): Likewise.
11939
797a084a
EZ
119402000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11941
11942 * charset.c (syms_of_charset): Revert last change.
11943
cf872af5
EZ
119442000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11945
11946 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11947 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11948 Handa.
cf872af5 11949
5b1ae051
EZ
119502000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11951
11952 * charset.c (syms_of_charset): Set width of character sets
11953 eight-bit-control and eight-bit-graphic to 1 column.
11954
34ec9ebe
GM
119552000-05-26 Gerd Moellmann <gerd@gnu.org>
11956
11957 * config.in (HAVE_SPEED_T): New define.
11958
11959 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11960 `extern speed_t'.
11961
dd854dc2
DL
119622000-05-26 Dave Love <fx@gnu.org>
11963
11964 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11965
11966 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11967 (Fsubr_arity): New function.
11968 (syms_of_data): Install them.
11969
ba9f8f95
KH
119702000-05-26 Kenichi Handa <handa@etl.go.jp>
11971
0f3e0672
KH
11972 * charset.c (init_charset_once): Set the table bytes_by_char_head
11973 correctly.
11974
cebefb44
KH
11975 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11976 the default fontset to what Emacs uses by default.
0f3e0672
KH
11977 (check_registry_encoding): This function deleted.
11978 (Fset_fontset_font): Remove the adhoc condition for the default
11979 fontset. Allow cons in FONTNAME.
cebefb44 11980
0f3e0672
KH
11981 * fns.c (map_char_table): Ignore char-table entries for
11982 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11983
7a18af49
KR
119842000-05-25 Ken Raeburn <raeburn@gnu.org>
11985
11986 * emacs.c (main): Initialize keyboard syms before initializing
11987 window code, so face names are available.
11988
d2af47df
SM
119892000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11990
11991 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11992 of an anchor at the beginning of a shy-group.
11993
fc6a6a4e
GM
119942000-05-25 Gerd Moellmann <gerd@gnu.org>
11995
11996 * xdisp.c (handle_invisible_prop): Don't try to skip over
11997 invisible text if end of text is already reached.
11998
005f0d35
DL
119992000-05-25 Dave Love <fx@gnu.org>
12000
02513cdd
DL
12001 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
12002
005f0d35
DL
12003 * coding.c (encode_eol): Add null statement after label.
12004
89f6ca4e
EZ
120052000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
12006
12007 * w16select.c (Fw16_set_clipboard_data): Fix the change from
12008 2000-05-20.
12009
a4e1759e
KH
120102000-05-25 Kenichi Handa <handa@etl.go.jp>
12011
12012 * ccl.c (ccl_driver): Fix previous change.
12013
eacfd7fe
KH
120142000-05-25 Kenichi Handa <handa@etl.go.jp>
12015
46ab33a9
KH
12016 * coding.c (run_pre_post_conversion_on_str): Set point to the
12017 beginning of buffer before calling coding->post_read_conversion.
12018 (decode_coding_string): Give correct args to
12019 run_pre_post_conversion_on_str.
12020 (encode_coding_string): Likewise.
12021
eacfd7fe
KH
12022 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
12023 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
12024 eight-bit-graphic correctly.
12025
f8569325
DL
120262000-05-24 Kenichi HANDA <handa@etl.go.jp>
12027
12028 * fileio.c (Finsert_file_contents): Even if a file is not found,
12029 execute codes for setting up coding system. Call
12030 after-insert-file-functions unconditionally.
12031
04545643
GM
120322000-05-24 Gerd Moellmann <gerd@gnu.org>
12033
12034 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
12035 BSD_PGRPS are not defined.
12036
747d90ea
KH
120372000-05-24 Kenichi Handa <handa@etl.go.jp>
12038
12039 * charset.c (update_charset_table): Accept nil in LONG_NAME and
12040 DESCRIPTION.
12041 (syms_of_charset): Avoid building same strings.
12042
716e3b88
GM
120432000-05-23 Gerd Moellmann <gerd@gnu.org>
12044
12045 * lread.c (Fload): Add a comment about the meaning of
12046 Vuser_init_file being t.
12047
12048 * puresize.h (BASE_PURESIZE): Increase to 675000.
12049
12050 * s/gnu-linux.h (setpgrp): Don't define it here because this
12051 prevents compilation on GNU/Linux systems with glib 2.2.
12052
12053 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
12054 as setpgid.
427ec082 12055
9aeb39fa
EZ
120562000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12057
12058 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12059 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12060 version.
12061 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12062
29ced61b
KH
120632000-05-23 Kenichi Handa <handa@etl.go.jp>
12064
52283633 12065 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 12066
3d80f24d
KH
12067 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12068
52283633 12069 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 12070
29ced61b
KH
12071 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12072
d7e00792
KH
120732000-05-22 Kenichi Handa <handa@etl.go.jp>
12074
c9d80d38
KH
12075 * keyboard.c (read_char): Allow character codes 128..255 to be
12076 handled by input-method-function.
12077
d7e00792
KH
12078 * insdel.c (adjust_markers_for_replace): Fix previous change.
12079 (adjust_after_replace): If PREV_TEXT is nil, call
12080 adjust_markers_for_insert, not adjust_markers_for_replace.
12081
087121cc 120822000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 12083
087121cc
GM
12084 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12085 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12086 [HAVE_GRANDPT]: Define.
12087 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12088
12089 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12090 like SYSV_PTYS.
12091
12092 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12093
12094 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12095
c9671f81
KH
120962000-05-20 Kenichi Handa <handa@etl.go.jp>
12097
12098 The following changes are to handle 8-bit characters in a
12099 multibyte buffer/string without facing with byte combining
12100 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12101 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12102
12103 * Makefile.in (fns.o): Depend on charset.h.
12104
12105 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12106 convert it to unibyte.
12107 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12108
12109 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12110 apparent char boundary.
12111 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12112 0x80..0x9F to/from multibyte form.
12113
12114 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12115 to unibyte.
12116
12117 * callproc.c (Fcall_process): Always encode an argument string if
12118 it is multibyte. Setup src_multibyte and dst_multibyte members of
12119 process_coding properly.
ce75fd23 12120
c9671f81
KH
12121 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12122 SPLIT_NON_ASCII_CHAR.
12123
12124 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12125 as is.
12126 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12127
52283633 12128 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12129 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12130 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12131 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12132 and eight-bit-graphic.
12133 (char_to_string): Likewise. Signal an error for too large
12134 character code.
12135 (char_printable_p): Return 0 for 8-bit characters.
12136 (update_charset_table): Update iso_charset_table only when a final
12137 character is non-negative.
12138 (find_charset_in_text): Renamed from find_charset_in_str.
12139 Arguments and return value changed. Callers changed.
12140 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12141 be -1 if CHARSET is used only internally.
12142 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12143 eight-bit-graphic.
12144 (Fcharset_after): Simplified.
12145 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12146 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12147 (multibyte_chars_in_text): Simplified by assuming there's no
12148 invalid multibyte sequence.
52283633
SM
12149 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12150 (str_as_unibyte): New functions.
12151 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12152 (init_charset_once): Initialization for
12153 LEADING_CODE_8_BIT_CONTROL.
12154 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12155 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12156 eight-bit-control and eight-bit-graphic.
12157
52283633
SM
12158 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12159 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12160 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12161 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12162 (CHARSET_REVERSE_CHARSET): Likewise.
12163 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12164 eight-bit-graphic.
12165 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12166 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12167 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12168 encounter an invalid multibyte sequence.
12169 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12170 sequence is always valid.
12171 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12172 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12173 (CHAR_STRING): For 8-bit characters, call char_to_string.
12174 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12175 multibyte sequence is always valid.
12176 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12177 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12178 (str_as_unibyte): Extern them.
c9671f81 12179 (BCOPY_SHORT): Fix a bug.
52283633 12180 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12181 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12182 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12183 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12184
bd4bde7f 12185 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12186 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12187 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12188 (EMIT_BYTES): New macros.
12189 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12190 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12191 macros deleted.
12192 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12193 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12194 check the validity of multibyte sequence.
12195 (decode_coding_emacs_mule): New function.
12196 (encode_coding_emacs_mule): New macro.
12197 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12198 the source.
12199 (DECODE_ISO_CHARACTER): Just return a character code.
12200 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12201 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12202 EMIT_CHAR to produced decoded characters. Exit the loop only by
12203 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12204 block here.
12205 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12206 only position codes for an invalid character.
12207 (encode_designation_at_bol): Return new destination pointer. 5th
12208 arg DSTP is changed to DST.
12209 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12210 from the source by ONE_MORE_CHAR. Don't handle the case of last
12211 block here.
12212 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12213 macros deleted.
52283633
SM
12214 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12215 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12216 TWO_MORE_BYTES to fetch a byte from the source.
12217 (encode_eol): Pay attention to coding->src_multibyte.
12218 (detect_coding, detect_eol): Preserve members src_multibyte and
12219 dst_multibyte.
12220 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12221 (encoding_buffer_size): Set magnification to 3 for all coding
12222 systems that require encoding.
12223 (ccl_coding_driver): For decoding, be sure that the result is
12224 valid multibyte sequence.
12225 (decode_coding): Initialize coding->errors and coding->result.
12226 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12227 and raw-text, always call decode_eol. Handle the case of last
12228 block here. If not coding->dst_multibyte, convert the resulting
12229 sequence to unibyte.
12230 (encode_coding): Initialize coding->errors and coding->result.
12231 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12232 and raw-text, always call encode_eol. Handle the case of last
12233 block here.
12234 (shrink_decoding_region, shrink_encoding_region): Detect cases
12235 that we can't skip data more rigidly.
12236 (code_convert_region): Setup src_multibyte and dst_multibyte
12237 members of coding. For decoding, if the buffer is multibyte,
12238 convert the source sequence to unibyte in advance. For encoding,
12239 if the buffer is multibyte, convert the resulting sequence to
12240 multibyte afterward.
12241 (run_pre_post_conversion_on_str): New function.
12242 (code_convert_string): Deleted and divided into the following two.
12243 (decode_coding_string, encode_coding_string): New functions.
12244 (code_convert_string1, code_convert_string_norecord): Call one of
12245 above.
12246 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12247 MAKE_NON_ASCII_CHAR.
52283633
SM
12248 (Fset_terminal_coding_system_internal)
12249 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12250 and dst_multibyte members.
12251 (init_coding_once): Initialize iso_code_class with new enum
12252 ISO_control_0 and ISO_control_1.
12253
12254 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12255 devided into ISO_control_0 and ISO_control_1.
12256 (struct coding_system): New members src_multibyte, dst_multibyte,
12257 errors, and result. Delete member fake_multibyte.
12258 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12259 nonzero.
12260 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12261 nonzero.
12262
12263 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12264 (Faset): Likewise.
12265
12266 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12267 multibyte form.
12268 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12269 combining occurs.
12270 (Ftranspose_region): Delete codes for handling byte combining.
12271
12272 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12273 dst_multibyte members of coding. On handling REPLACE on unibyte
12274 buffer, convert the result of decode_coding to unibyte. On
12275 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12276 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12277 multibyteness of the source (buffer or string).
12278
12279 * fns.c (concat): Handle 8-bit characters correctly.
12280 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12281 unibyte in the result.
12282 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12283 valid multibyte form in the result.
12284 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12285 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12286 return -1, signal an error.
12287 (base64_encode_1): New arg MULTIBYTE. Get each character by
12288 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12289 character is found, return -1.
12290 (Fbase64_decode_region): Delete codes for handling byte-combining.
12291 Treat each decoded byte as a unibyte character.
12292 (Fbase64_decode_string): Return unibyte string.
12293 (Fcompare_strings, concat, string_byte_to_char): Use
12294 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12295 FETCH_STRING_CHAR_ADVANCE.
12296 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12297 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12298
12299 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12300 SPLIT_NON_ASCII_CHAR.
12301 (fontset_ref_via_base, fontset_set): Likewise
12302
12303 * insdel.c (adjust_markers_for_record_delete): Deleted.
12304 (adjust_markers_for_insert): Argument changed. Caller changed.
12305 (adjust_markers_for_replace): Likewise.
52283633
SM
12306 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12307 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12308 (copy_text): Delete unused local varialbe c_save. For converting
12309 to multibyte, be sure to make all 8-bit characters in valid
12310 multibyte form.
12311 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12312 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12313 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12314 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12315 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12316 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12317 handling byte combining.
12318 (adjust_before_replace): Deleted.
427ec082 12319
c9671f81
KH
12320 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12321 SPLIT_NON_ASCII_CHAR.
12322 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12323 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12324 (Fkey_description): Likewise.
12325
12326 * lread.c (read1): On reading multibyte string, be sure to make
12327 all 8-bit chararacters in valid multibyte form.
12328 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12329
12330 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12331 unconditionally.
12332
12333 * process.c (Fstart_process): GCPRO current_dir before calling
12334 Ffind_operation_coding_system. Encode arguments here.
12335 (create_process): Don't encode arguments here. Setup
12336 src_multibyte and dst_multibyte members of struct coding.
12337 (read_process_output): Setup src_multibyte and dst_multibyte
12338 members of struct coding. If the output is to multibyte buffer,
12339 always decode the output of the process. Adjust the
52283633 12340 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12341 (send_process): Setup coding->src_multibyte according to the
12342 multibyteness of the source.
12343
52283633 12344 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12345 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12346 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12347
52283633 12348 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12349
12350 * w16select.c (Fw16_set_clipboard_data): Setup members
12351 src_multibyte and dst_multibyte of coding. Adjusted for the
12352 change for find_charset_in_str.
12353 (Fw16_get_clipboard_data): Likewise.
12354
12355 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12356 dst_multibyte of coding.
12357 (x_to_w32_font): Likewise.
12358
12359 * w32select.c (Fw32_set_clipboard_data): Setup members
12360 src_multibyte and dst_multibyte of coding. Adjusted for the
12361 change for find_charset_in_str.
12362 (Fw32_get_clipboard_data): Likewise.
12363
12364 * xdisp.c (get_next_display_element): Handle 8-bit characters
12365 correctly.
52283633
SM
12366 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12367 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12368
12369 * xselect.c (selection_data_to_lisp_data): Setup members
12370 src_multibyte and dst_multibyte of coding. Adjusted for the
12371 change for find_charset_in_str.
12372 (lisp_data_to_selection_data): Likewise.
12373
5f64c9e0
GM
123742000-05-19 Gerd Moellmann <gerd@gnu.org>
12375
52283633 12376 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12377
5f64c9e0
GM
12378 * dispextern.h (Vimage_types): Add extern declaration.
12379
12380 * xdisp.c (Vimage_types): Moved here from xfns.c.
12381 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12382
12383 * xfns.c (Vimages_types): Moved to xdisp.c.
12384 (syms_of_xfns): Move `image-types' to xdisp.c.
12385
12386 * w32fns.c (Vimage_types): Removed.
12387 (syms_of_w32fns): Remove `image-types'.
12388
813086ea
KH
123892000-05-18 Kenichi Handa <handa@etl.go.jp>
12390
12391 * fns.c (map_char_table): Pay attention to character number of
12392 charset. Check the validity of charset at the first level. For
12393 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12394 the default value.
12395
12396 * fontset.c: Include "buffer.h".
12397 (fs_load_font): If the face has fontset, record the face ID in
12398 that fontset.
12399 (Finternal_char_font): New function.
12400 (accumulate_font_info): New function.
12401 (Ffontset_info): Rewritten for the new fontset implementation.
12402 (syms_of_fontset): Register Vdefault_fontset in the first element
12403 of Vfontset_table. Include Vdefault_fontset in
12404 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12405 function.
12406
bdaebbf0
DL
124072000-05-16 Dave Love <fx@gnu.org>
12408
12409 * m/iris5d.h: Deleted -- unused.
12410
cb613bb8
GM
124112000-05-16 Gerd Moellmann <gerd@gnu.org>
12412
b15f3b77
GM
12413 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12414 `invalid' instead of `illegal'.
12415
12416 * indent.c (Fmove_to_column): When ending within a tab, insert
12417 spaces first so that markers at the end of the tab get adjusted.
12418
835c1b36
GM
12419 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12420 buffer list that wasn't selected in that frame.
12421
cb613bb8
GM
12422 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12423 is needed on mescaline, use a 2 char prefix, and call
12424 make_temp_name with second arg non-zero.
12425
12426 * fileio.c (make_temp_name): New function, extracted from
12427 Fmake_temp_name.
12428 (Fmake_temp_name): Use it.
12429
f685bea9
EZ
124302000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12431
52283633 12432 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12433
a1b8d58b
GM
124342000-05-15 Gerd Moellmann <gerd@gnu.org>
12435
12436 * Makefile.in (lisp): Add env.elc.
12437
12438 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12439
a265079f
GM
124402000-05-12 Gerd Moellmann <gerd@gnu.org>
12441
12442 * search.c (Freplace_match): Handle case of `\N' in the
12443 replacement when there's no group N.
12444
da4496b6
GM
124452000-05-11 Gerd Moellmann <gerd@gnu.org>
12446
0ace421a
GM
12447 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12448 of the message to message_dolog.
12449
1172eb8d
GM
12450 * keyboard.c (read_char): Don't clear current message for help
12451 events; let the code handling help events handle this. Change
12452 code detecting help events that should be ignored.
12453
da4496b6
GM
12454 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12455 we're interating over a string.
12456
0623e40f
DL
124572000-05-09 Dave Love <fx@gnu.org>
12458
12459 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12460 that offset before writing. Move gcpro region past call of
12461 Ffile_regular_p.
12462
bae2503b
DL
124632000-05-04 Dave Love <fx@gnu.org>
12464
12465 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12466
ec82fb2f
GM
124672000-05-04 Gerd Moellmann <gerd@gnu.org>
12468
12469 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12470 of inserted characters when BUF equals the current buffer, and PT
12471 is in front of or equal to FROM.
12472
cbf18892
GM
124732000-05-03 Gerd Moellmann <gerd@gnu.org>
12474
4ff40dd0
GM
12475 * xdisp.c (handle_single_display_prop): If display property value
12476 is invalid, or something not supported on the frame, restore
12477 iterator's position to what it was initially. Make sure to return
12478 0 for invalid and unsupported property values.
12479
cbf18892
GM
12480 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12481 that x_per_char_metric returns null.
12482
1b0672c3
GM
124832000-05-02 Gerd Moellmann <gerd@gnu.org>
12484
576da55d
GM
12485 * xterm.h (struct face): Add forward declaration.
12486 (struct image): Ditto.
12487 (image_ascent): Add prototype.
12488
12489 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12490 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12491 image_ascent instead of using IMAGE_ASCENT.
12492
12493 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12494 (IMAGE_ASCENT): Removed.
12495
12496 * xfns.c (Qcenter): New variable.
12497 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12498 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12499 (image_ascent): New function.
12500 (lookup_image): Recognize `:ascent center'.
12501 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12502 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12503 (xbm_load): Don't set image's ascent here.
12504 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12505 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12506 check ascent values here.
12507 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12508 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12509 (syms_of_xfns): Initialize Qcenter.
12510
1b0672c3
GM
12511 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12512 to the limits, increase the limits.
12513
0d7811ed
KH
125142000-05-01 Kenichi Handa <handa@etl.go.jp>
12515
12516 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12517 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12518
a943a5ca
GM
125192000-04-28 Gerd Moellmann <gerd@gnu.org>
12520
12521 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12522 taller than the window.
12523
5dba1e29
KH
125242000-04-28 Kenichi Handa <handa@etl.go.jp>
12525
12526 * xfaces.c (realize_x_face): Fix the argument of the second
12527 xassert. BASE_FACE may not be a face for ASCII.
12528
353964e3
GM
125292000-04-27 Gerd Moellmann <gerd@gnu.org>
12530
c76e04a8
GM
12531 * print.c (print_object): Treat print-length < 0 as nil.
12532
12533 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12534
12535 * s/freebsd.h (TERMCAP_OBJ): Removed.
12536 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12537
12538 * lread.c (read1): Don't treat period followed by certain
12539 characters as symbol start.
12540
12541 * xfns.c (slurp_file): New function.
12542 (xbm_image_p): Handle case of in-memory XBM files.
12543 (xbm_scan): Rewritten to work on memory buffers instead of files.
12544 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12545 Work on memory buffers instead of files. If DATA is null test
12546 if buffer looks like an in-memory XBM file.
12547 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12548 memory buffers instead of files.
12549 (xbm_file_p): New function.
12550 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12551
353964e3
GM
12552 * lread.c (end_of_file_error): New function.
12553 (read1): Call it instead of signaling `end-of-file' directly.
12554
427ec082 12555 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12556 with Fprinc instead of Fprin1.
12557
24d744ac
KR
125582000-04-26 Ken Raeburn <raeburn@gnu.org>
12559
12560 * window.c (freeze_window_start): Check that minibuffer scroll
12561 window isn't nil before extracting the window structure pointer
12562 from it.
12563
12564 * undo.c (record_delete): If we hit the end of the undo list, stop
12565 picking elements apart.
12566
7464346d
GM
125672000-04-26 Gerd Moellmann <gerd@gnu.org>
12568
12569 * xdisp.c (display_line): If lines are continued, restore
12570 iterator's ascent/descent information to the values before the
12571 first glyph not fitting on the line.
12572
612839b6
GM
125732000-04-25 Gerd Moellmann <gerd@gnu.org>
12574
12575 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12576 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12577
12578 * dispnew.c (increment_matrix_positions): Renamed from
12579 increment_glyph_matrix_buffer_positions.
12580 (increment_row_positions): Renamed from
12581 increment_glyph_row_buffer_positions.
12582
12583 * dispextern.h: Change names of renamed functions from dispnew.c
12584 in prototypes.
12585
cc181e95
GM
125862000-04-24 Gerd Moellmann <gerd@gnu.org>
12587
abfcc168
GM
12588 * fileio.c (Fdo_auto_save): Create directories for auto-save
12589 list file if necessary.
12590
cc181e95
GM
12591 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12592 from buffer or frame.
12593 (automatic_hscrolling_p): New variable.
12594 (hscroll_windows): Scroll windows horizontally only if automatic
12595 hscrolling is allowed.
12596 (syms_of_xdisp): New variable `automatic-hscrolling'.
12597
12598 * frame.h (struct frame): Add member extra_line_spacing.
12599
12600 * xfns.c (x_set_line_spacing): New function.
12601 (Fx_create_frame): Set line spacing from resources.
12602 (Qline_spacing): New variable.
12603 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12604
cc181e95
GM
12605 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12606
12607 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12608 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12609 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12610 extra_line_spacing from default value.
12611 (init_buffer_once): Initialize default value of extra_line_spacing.
12612
12613 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12614 and extra3.
12615
12616 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12617 prompt_width. Add extra line spacing.
12618
12619 * term.c (produce_glyphs): Remove reference to struct it's
12620 prompt_width.
12621
12622 * dispextern.h (struct it): Remove member prompt_width, add
12623 extra_line_spacing.
12624
58827478
GM
126252000-04-22 Gerd Moellmann <gerd@gnu.org>
12626
12627 * dispnew.c (update_frame_line): When writing a whole line, make
12628 sure cursor is in the right row afterwards, otherwise a use of
12629 capability `ch' in cmgoto might leave the cursor in the row below.
12630
25a87f42
GM
126312000-04-21 Gerd Moellmann <gerd@gnu.org>
12632
12633 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12634
12635 * keyboard.c (timer_check): Fix typo in comment.
12636
54edf5c2
KH
126372000-04-21 Kenichi Handa <handa@etl.go.jp>
12638
12639 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12640 name change: ch -> character.
12641
3a64eef5
GM
126422000-04-20 Gerd Moellmann <gerd@gnu.org>
12643
12644 * keyboard.c (echo_message_buffer): New variable.
12645 (echo_now): Set echo_message_buffer to the echo area buffer used
12646 to display the echo.
12647 (cancel_echoing): Reset echo_message_buffer to nil.
12648 (read_char): Code rewritten that handles canceling an echo or
12649 echoing a dash, respectively.
12650
12651 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12652 directory doesn't exist.
12653
6142fdcb
DL
126542000-04-19 Dave Love <fx@gnu.org>
12655
12656 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12657 (concat): Don't allow numeric args.
12658 (Fconcat): Doc change.
6142fdcb 12659
ac6b5352
SM
126602000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12661
12662 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12663 instead define end_match(1|2) more carefully.
12664 Use GET_CHAR_BEFORE_2 for `begline'.
12665
cb9215e4
GM
126662000-04-19 Gerd Moellmann <gerd@gnu.org>
12667
5e3dac3f
GM
12668 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12669 on 64-bit systems where NULL is defined as `0'.
12670
12671 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12672 the `variable argument list' to make it work on Alpha.
12673
cb9215e4
GM
12674 * m/alpha.h (_LP64) [!_LP64]: Define.
12675 (ORDINARY_LINK): Define for NetBSD.
12676
12677 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12678
f532dca0
DL
126792000-04-19 Dave Love <fx@gnu.org>
12680
c750667e
DL
12681 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12682 change.
12683
12684 * Makefile.in (LIBS): Don't use.
12685 (GETLOADAVG_OBJ): Define again.
12686 (otherobj): Add GETLOADAVG_OBJ.
12687
f532dca0
DL
12688 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12689
1c7e22fd
GM
126902000-04-18 Gerd Moellmann <gerd@gnu.org>
12691
f6d3257b
GM
12692 * lread.c (read_filtered_event): Cancel and start busy cursor.
12693
427ec082 12694 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12695 that the per-character metrics may be null.
12696
e10f64e7
GM
126972000-04-17 Gerd Moellmann <gerd@gnu.org>
12698
0daee095
GM
12699 * buffer.c (clone_per_buffer_values): New function.
12700 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12701 clone_per_buffer_values if CLONE is not nil.
12702
e10f64e7
GM
12703 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12704
38687d43
DL
127052000-04-16 Dave Love <fx@gnu.org>
12706
12707 * Makefile.in: Remove obsolete localcpp stuff.
12708 (GETLOADAVG_OBJ): Don't define.
12709 (obj): Move LIBOBJS...
12710 (otherobj): ... to here.
12711 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12712 whitespace-only lines after the continuation (Irix).
12713
c21c7262
GM
127142000-04-14 Gerd Moellmann <gerd@gnu.org>
12715
12716 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12717
12718 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12719
314767c0
DL
127202000-04-14 Dave Love <fx@gnu.org>
12721
12722 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12723 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12724 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12725 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12726 NLIST_STRUCT.
12727
12728 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12729 autoconfiscated HAVE_GETLOADAVG.
12730
12731 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12732 BROKEN_MKTIME.
12733
a2522dca
GM
127342000-04-14 Gerd Moellmann <gerd@gnu.org>
12735
12736 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12737 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12738
33744b5d
DL
127392000-04-14 Dave Love <fx@gnu.org>
12740
c21c7262 12741 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12742 (INTERVAL_SRC): Convert to make variable.
12743 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12744 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12745 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12746 add LIBOBJS.
12747 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12748 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12749 (shortlisp): Add facemenu, float-sup, frame.
12750 (SOME_MACHINE_LISP): Remove them from here.
12751 (LIBES): Change unused LDLIBS to autoconf LIBS.
12752
12753 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12754
9d3d5916
KH
127552000-04-14 Kenichi Handa <handa@etl.go.jp>
12756
12757 * composite.c (update_compositions): If FROM and TO are not in a
12758 valid range, do nothing.
12759
198e3c7a
GM
127602000-04-13 Gerd Moellmann <gerd@gnu.org>
12761
52283633 12762 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12763
52283633 12764 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12765
12766 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12767 as TERMCAP_OBJ.
12768
055a28c9
EZ
127692000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12770
12771 * fileio.c (a_write): Remove redundant semi-colons.
12772 (e_write): Return -1 if failed to write all the data.
12773 This fixes the changes made at 1999-12-15.
12774
f5c75033
DL
127752000-04-12 Dave Love <fx@gnu.org>
12776
12777 * fns.c (mapcar1): Test for null vals to support mapc.
12778 (Fmapc): New function.
12779
0c3cfc51
EZ
127802000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12781
12782 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12783 (IT_frame_up_to_date): Support the buffer local value of
12784 cursor-type, if defined.
12785
33465a31
DL
127862000-04-10 Dave Love <fx@gnu.org>
12787
12788 * editfns.c (preceding-char, following-char): Doc fix.
12789
6ed56568
KR
127902000-04-10 Ken Raeburn <raeburn@gnu.org>
12791
12792 * Makefile.in (temacs): Revert 2000-03-12 change.
12793
7cf80d4e
JR
127942000-04-10 Jason Rumney <jasonr@gnu.org>
12795
12796 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12797
34f3f342
GM
127982000-04-10 Gerd Moellmann <gerd@gnu.org>
12799
1a1b1895
GM
12800 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12801 area buffer, if it's not set up yet.
12802
34f3f342
GM
12803 * indent.c (compute_motion): Set immediate_quit.
12804
be0dbdab
GM
128052000-04-09 Gerd Moellmann <gerd@gnu.org>
12806
52283633 12807 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12808 (realize_tty_face): Suppress boldness if colors are the inverse of
12809 the default colors, and tty_suppress_bold_inverse_default_colors_p
12810 is set.
12811 (Ftty_suppress_bold_inverse_default_colors): New function.
12812 (syms_of_xfaces): Defsubr it.
12813
be0dbdab
GM
12814 * buffer.c (Frestore_buffer_modified_p): New function.
12815 (syms_of_buffer): Defsubr it.
12816
e8413c3b
KR
128172000-04-08 Ken Raeburn <raeburn@gnu.org>
12818
87f67317
KR
12819 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12820 charset id (int) argument, not a charset (Lisp_Object).
12821
e8413c3b
KR
12822 * coding.h (code_convert_string): Declare.
12823 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12824 object, as the fourth argument to code_convert_string.
12825
52283633 12826 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12827 (Fset_fontset_font): Use EQ to compare lisp objects.
12828
7c752c80
KR
128292000-04-05 Ken Raeburn <raeburn@gnu.org>
12830
c0333abc
KR
12831 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12832 a pointer that looks like a lisp object.
12833 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12834 zero, instead see whether it's an integer object, since they can't
12835 have intervals.
12836 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12837
52283633
SM
12838 * dispnew.c (allocate_matrices_for_frame_redisplay)
12839 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12840 to convert between (unsigned) int values and lisp integers.
12841 * keyboard.c (read_key_sequence): Likewise.
12842 * lread.c (substitute_object_recurse): Likewise.
12843 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12844 * minibuf.c (do_completion, Fminibuffer_complete_word)
12845 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12846 * term.c (produce_special_glyphs): Likewise.
12847
12848 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12849 * print.c (print_preprocess, print_object): Likewise.
12850
12851 * search.c (compile_pattern): Use NILP when checking for nil.
12852
74e49b38
KR
12853 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12854 __OPTIMIZE__]: Provide a GNU C macro version that handles
12855 lisp-object unions.
12856 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12857 field, to better cope with ENABLE_CHECKING and calls that modify a
12858 Lisp_Object using its old value.
12859
685e5ed2
GM
128602000-04-04 Gerd Moellmann <gerd@gnu.org>
12861
c407c570
GM
12862 * window.c (compare_window_configurations): Signal an error
12863 if parameters C1 or C2 aren't window configurations.
12864
685e5ed2
GM
12865 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12866 AFTER_POTENTIAL_GC calls around calls to functions that can
12867 signal an error and thus invoke the debugger.
12868
587a49ab
GM
128692000-04-03 Gerd Moellmann <gerd@gnu.org>
12870
62f20204
GM
12871 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12872 an error if decoding fails.
12873
587a49ab
GM
12874 * keyboard.c (lispy_mouse_names): Variable removed.
12875 (Vlispy_mouse_stem): New variable.
12876 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12877 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12878 for any mouse button number. Increase size of mouse_syms and
12879 button_down_location as needed. Call modify_event_symbol with
12880 different arguments.
12881 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12882 Call modify_event_symbol with different arguments.
12883 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12884 for any button number. Call modify_event_symbol with different
12885 arguments.
12886 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12887 Accept a string for NAME_ALIST_OR_STEM.
12888
12889 * lisp.h (larger_vector): Add prototype.
12890
12891 * fns.c (larger_vector): Make externally visible.
12892
12893 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12894
2d1675e4
SM
128952000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12896
12897 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12898 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12899 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12900 we are between str1 and str2.
12901 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12902 (PATFETCH): Use `TRANSLATE'.
12903 (PATFETCH_RAW): Fetch multibyte char if applicable.
12904 (PATUNFETCH): Remove.
12905 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12906 When writing a char, write it directly into the pattern buffer rather
12907 than going needlessly through a temp char-array.
12908 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12909 multibyte magic and remove the useless `#ifdef emacs'.
12910 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12911 buffer.
12912
12913 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12914 conditional on `emacs'.
12915
12916 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12917
cc2d8c6b
KR
129182000-04-01 Ken Raeburn <raeburn@gnu.org>
12919
12920 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12921 non-union-type versions of XMARK and friends here, because XMARK
12922 and friends won't work on an integer field if NO_UNION_TYPE is not
12923 defined.
52283633 12924 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12925
52283633 12926 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12927 (syms_of_composite): Delete local var NARGS, pass an int as first
12928 argument to Fmake_hash_table.
12929
2387b382
KR
12930 * editfns.c (text_property_stickiness): Use NILP to test
12931 Lisp_Object boolean value.
12932 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12933 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12934 problems reading from and changing the same lisp value in an
12935 XSETSTRING call.
12936
27660e89
GM
129372000-04-01 Gerd Moellmann <gerd@gnu.org>
12938
12939 * term.c (TN_no_color_video): New variable.
12940 (term_init): Intitialize TN_no_color_video.
12941 (enum no_color_bit): New enumeration.
12942 (MAY_USE_WITH_COLORS_P): New macro.
12943 (turn_on_face): Use it to determine if attributes may be used
12944 combined with colors.
12945
3578db3c
KR
129462000-04-01 Ken Raeburn <raeburn@gnu.org>
12947
12948 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12949 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12950 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12951 proper accessor macros.
12952 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12953 (grow_mini_window): Fix typo getting int value of root->height.
12954
6fc556fd
KR
12955 * xdisp.c (compute_string_pos): Fix order of arguments to
12956 string_pos_nchars_ahead.
12957 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12958 count arg to variable-arg routines like Frun_hook_with_args and
12959 Fformat.
587a49ab
GM
12960 (back_to_previous_visible_line_start)
12961 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12962 fixed-arg routines like Fget_char_property and Fmake_string.
12963 (reconsider_clip_changes): Use XINT when comparing integer lisp
12964 objects, or passing them as int arguments.
587a49ab
GM
12965 (mark_window_display_accurate, insert_left_trunc_glyphs)
12966 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12967 storing or passing integer values as lisp objects.
12968 (set_cursor_from_row, highlight_trailing_whitespace): Use
12969 INTEGERP, not implicit test against zero, for glyph object.
12970 (try_window_id): Don't use make_number when we want an int value.
12971
12972 * xfaces.c (xlfd_symbolic_value): Make last argument a
12973 Lisp_Object, to be consistent with callers.
12974 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12975 (lface_hash): Apply XFASTINT to lisp values before folding in.
12976
12977 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12978 fill in window width and height. Pass an int, not a lisp object,
12979 as first arg to Finsert.
12980
6e7b2457
GM
129812000-04-01 Gerd Moellmann <gerd@gnu.org>
12982
610d841e
GM
12983 * xfaces.c (realize_basic_faces): Block input while realizing
12984 the faces.
12985
6e7b2457
GM
12986 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12987
12988 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12989
aa110c0c
GM
129902000-03-31 Gerd Moellmann <gerd@gnu.org>
12991
12992 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12993 or ASCII, handle case that per-char metric is null.
aa110c0c 12994
8801a864
KR
129952000-03-30 Ken Raeburn <raeburn@gnu.org>
12996
c6129d7e
KR
12997 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12998
52283633
SM
12999 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
13000 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
13001 pointer, using eassert.
13002 * frame.h (XFRAME): Likewise.
13003
52283633
SM
13004 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
13005 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
13006 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 13007 * data.c (set_internal): Likewise.
52283633
SM
13008 * dispextern.h (WINDOW_WANTS_MODELINE_P)
13009 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
13010 * fileio.c (auto_save_1): Likewise.
13011 * insdel.c (check_markers): Likewise.
13012 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
13013 * undo.c (record_insert): Likewise.
13014 * vmsproc.c (child_sig): Likewise.
13015 * window.c (unshow_buffer, window_loop): Likewise.
13016 * xterm.c (x_erase_phys_cursor): Likewise.
13017
8e7af858
GM
130182000-03-30 Gerd Moellmann <gerd@gnu.org>
13019
13020 * xfns.c (free_image_cache): Free the cache structure itself
13021 last, after all its members have been freed.
13022
13023 * lisp.h (xstrdup): Add prototype.
13024
13025 * alloc.c (xstrdup): Moved here from xfaces.c.
13026 (allocating_for_lisp): Variable removed.
52283633 13027 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
13028
13029 * xfaces.c (realize_tty_face): Use find_symbol_value instead
13030 of Fsymbol_value.
13031 (xstrdup): Moved to alloc.c.
13032
e0b8c689
KR
130332000-03-29 Ken Raeburn <raeburn@gnu.org>
13034
b96f9fb7
KR
13035 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
13036
13037 * emacs.c (main): Fix sense of no-loadup test.
13038
e0b8c689
KR
13039 * config.in (ENABLE_CHECKING): Undef.
13040
13041 * lisp.h (struct interval): Replace "parent" field with a union of
13042 interval pointer and Lisp_Object; add new bitfield to use as
13043 discriminant. Change other flag fields to bitfields.
13044 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
13045 is defined and the supplied test fails, print a message and abort.
13046 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
13047
13048 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
13049 pointers; abort if the value looks like a lisp object.
52283633
SM
13050 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
13051 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
13052 Modify for new interval parent definition.
13053
52283633
SM
13054 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
13055 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
13056 addressable lisp object in the interval structure.
13057 (die): New function.
13058 (suppress_checking): New variable.
13059
13060 * intervals.c (interval_start_pos): Just return 0 if there's no
13061 parent object.
13062
f83c5440
GM
130632000-03-29 Gerd Moellmann <gerd@gnu.org>
13064
13065 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13066 and earlier Emacs versions.
13067
13068 * keyboard.c (Ftop_level): Cancel busy-cursor.
13069
13070 * eval.c (call_debugger): Cancel busy-cursor.
13071
fdce64ff
KH
130722000-03-29 Kenichi Handa <handa@etl.go.jp>
13073
13074 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 13075 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 13076
f6a3f532
SM
130772000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13078
13079 * regex.c (analyse_first): New function obtained by ripping out most
13080 of re_compile_fastmap and generalizing it a little bit so that it
13081 can also just return whether a given (sub)pattern can match the empty
13082 string or not.
13083 (regex_compile): Use `analyse_first' to decide whether the loop-check
13084 needs to be done or not for *, +, *? and +? (the loop check is costly
13085 for non-greedy repetition).
13086 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13087
e9b309ac
DL
130882000-03-28 Dave Love <fx@gnu.org>
13089
52283633 13090 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 13091
e9b309ac
DL
13092 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13093
ed0767d8
SM
130942000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13095
13096 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13097 an expression.
13098 (enum re_opcode_t): Update description of succeed_n.
13099 (PATFETCH): Always define.
13100 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13101 operators, char classes, shy-groups and intervals).
13102 Optimize special cases of intervals so as to only use succeed_n and
13103 jump_n when really needed.
13104 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13105 that we don't have to handle the special cases any more.
13106 Simplify on_failure_jump handling as well.
13107
e11e7e46
JR
131082000-03-28 Jason Rumney <jasonr@gnu.org>
13109
13110 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13111
88faab89
GM
131122000-03-27 Gerd Moellmann <gerd@gnu.org>
13113
182ff242
GM
13114 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13115
13116 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13117
182ff242
GM
13118 * alloc.c (mark_maybe_object): New function.
13119 (mark_memory): Use it.
13120 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13121 (setjmp_tested_p, longjmp_done): New variables.
13122 (test_setjmp): New function.
13123 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13124 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13125
c1005d06
GM
13126 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13127 to DEC_TEXT_POS and INC_TEXT_POS.
13128
13129 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13130 with parameter MULTIBYTE_P.
13131
52283633 13132 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13133
7439e5b9 13134 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13135 buffers because it looks for multibyte character byte sequences
13136 which don't exist in unibyte text.
7439e5b9 13137
d9c545da
GM
13138 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13139
11fd416e 13140 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13141 [DEBUG_X_COLORS]: New functions.
13142 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13143
13144 * xfns.c (x_set_cursor_color): Get color reference counts right.
13145
13146 * xterm.c (x_copy_color): New function.
13147 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13148
13149 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13150 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13151 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13152 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13153 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13154 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13155 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13156 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13157 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13158 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13159
11fd416e
GM
13160 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13161 names for handling per-buffer variables.
d9c545da
GM
13162
13163 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13164 instead of MAX_BUFFER_LOCAL_VARS.
13165 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13166
13167 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13168
88faab89
GM
13169 * xfns.c (x_specified_cursor_type): New function.
13170 (x_set_cursor_type): Use it.
13171
13172 * buffer.h (struct buffer): Add cursor_type.
13173
d80f42b7
SM
131742000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13175
13176 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13177 (print_partial_compiled_pattern, re_compile_fastmap):
13178 Handle new opcode.
d80f42b7
SM
13179 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13180 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13181 executing it as well as when popping it off the stack to find infinite
13182 loops in non-greedy repetition operators.
13183
89e80928
GM
131842000-03-26 Gerd Moellmann <gerd@gnu.org>
13185
3d4ff2dd
GM
13186 * doc.c (Qfunction_documentation): New variable.
13187 (syms_of_doc): Initialize Qfunction_documentation.
13188 (Fdocumentation): If FUNCTION is a symbol with non-nil
13189 `function-documentation' property, return a documentation derived
13190 from that.
13191
bd96bd79
GM
13192 * buffer.c (syms_of_buffer): Add default-cursor-type.
13193 (init_buffer_once): Don't let cursor_type have a local value
13194 in every buffer.
13195
19d1bc27
GM
13196 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13197 on buffer-local value of cursor_type.
13198 (x_draw_bar_cursor): Add parameter WIDTH.
13199
13200 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13201 (init_buffer_once): Set default cursor_type value to t.
13202 Mark cursor_type as local everywhere.
13203 (syms_of_buffer): New per-buffer variable cursor-type.
13204
89e80928
GM
13205 * buffer.h (struct buffer): Remove member local_var_flags,
13206 add local_flags.
13207 (MAX_BUFFER_LOCAL_VARS): New macro.
13208 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13209 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13210 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13211 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13212
52283633 13213 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13214
13215 * category.c (Fset_category_table): Use new macros for per-buffer
13216 variables.
13217
13218 * buffer.c (buffer_permanent_local_flags): Make a char array.
13219 (max_buffer_local_idx): New variable.
13220 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13221 for new handling of per-buffer variables.
13222 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13223 (init_buffer_once): Initialize per-buffer vars differently.
13224 Set max_buffer_local_idx.
13225
13226 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13227 variables.
13228
52283633 13229 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13230
13231 * data.c (do_symval_forwarding, store_symval_forwarding)
13232 (find_symbol_value, set_internal, default_value, Fset_default)
13233 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13234 per-buffer variables.
13235
13236 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13237
9a0dd3dc
GM
132382000-03-24 Gerd Moellmann <gerd@gnu.org>
13239
b68c375f
GM
13240 * xterm.c (x_term_init): Unblock input around call1 of
13241 Qvendor_specific_keysyms.
13242
9a0dd3dc
GM
13243 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13244 (find_defun_start): Consider an open parenthesis in column 0
13245 a defun start only if open_paren_in_column_0_is_defun_start is set.
13246 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13247
7973e637
SM
132482000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13249
13250 * eval.c (Fautoload): Add entry in load-history (if after dump).
13251 * lread.c (load-history): Update docstring.
13252
39210e90
GM
132532000-03-24 Gerd Moellmann <gerd@gnu.org>
13254
13255 * indent.c (Fvertical_motion): Always use the current buffer.
13256 Temporarily change the window's buffer, if necessary.
13257
72db3ab5
GM
132582000-03-23 Gerd Moellmann <gerd@gnu.org>
13259
13260 * xterm.c (fast_find_position): Make sure not to consider rows
13261 not visible in the window.
13262
990b2375
SM
132632000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13264
13265 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13266 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13267
ff4df011
JR
132682000-03-22 Jason Rumney <jasonr@gnu.org>
13269
13270 * w32menu.c (single_submenu): Set help string to NULL if none.
13271 (w32_menu_show): Set help string correctly.
13272 (add-menu-item): Set help string in MIIM_DATA for menu item.
13273 Load SetMenuItemInfoA explicitly.
13274 (w32_menu_display_help): New function.
427ec082 13275
ff4df011
JR
13276 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13277 (QCdata): Moved to xdisp.c.
13278
13279 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13280 (Vw32_charset_to_codepage_alist): Removed.
13281 (Vw32_charset_info_alist): New variable.
52283633
SM
13282 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13283 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13284 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13285 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13286 with TODO comment.
13287 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13288 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13289 Define Vw32_charset_info_alist and w32_charset symbols.
13290
132912000-03-22 Jason Rumney <jasonr@gnu.org>
13292
13293 * makefile.nt (w32bdf.obj): Update dependencies.
13294
13295 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13296
13297 * w32fns.c: Include fontset.h after dispextern.h.
13298 (Fx_create_frame): Do not create fontset.
13299 (w32_load_system_font): Doc fix.
13300 (Fx_close_connection): Free full_name if it is not shared.
13301
13302 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13303 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13304 Callers updated.
ff4df011
JR
13305 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13306 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13307 (w32_font_is_double_byte): New function, needs body.
13308 (x_append_glyph): Set glyph->glyph_not_available_p.
13309 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13310 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13311 character, convert it to a unibyte character.
13312 (struct glyph_string): Delete member `charset'.
13313 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13314 calculating it is found.
13315 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13316 the case that per char metric is not available correctly.
13317 (x_fill_glyph_string): Handle the case that the specific glyph is
13318 not available correctly.
13319 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13320 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13321 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13322 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13323 fontset. Don't call FS_LOAD_FONT.
13324
439d5cb4
KR
133252000-03-22 Ken Raeburn <raeburn@gnu.org>
13326
13327 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13328 (INT_LISPLIKE): New macro.
13329 (NULL_INTERVAL_P): Use it.
52283633
SM
13330 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13331 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13332 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13333
13334 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13335 explicit references to "parent" field of struct interval and
13336 associated unclean type conversions.
52283633
SM
13337 * intervals.c (create_root_interval, root_interval, rotate_right)
13338 (rotate_left, balance_possible_root_interval, split_interval_right)
13339 (split_interval_left, interval_start_pos, find_interval)
13340 (next_interval, previous_interval, update_interval)
13341 (adjust_intervals_for_insertion, delete_node, delete_interval)
13342 (adjust_intervals_for_deletion, merge_interval_right)
13343 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13344 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13345 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13346 Likewise.
13347 * syntax.c (update_syntax_table): Likewise.
13348
13349 * intervals.c (reproduce_tree_obj): New function, like
13350 reproduce_tree but takes a Lisp_Object for the parent. Declare
13351 with prototype.
13352 (graft_intervals_into_buffer): Use it when appropriate.
13353 (reproduce_tree): Declare with prototype.
13354 (balance_possible_root_interval): Check that the parent is a lisp
13355 object before trying to examine its type.
13356
ee1c5b21
GM
133572000-03-22 Gerd Moellmann <gerd@gnu.org>
13358
13359 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13360 as strings only if both are known to be strings.
13361
13362 * s/openbsd.h (LIBS_TERMCAP): Undef.
13363
1fb352e0
SM
133642000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13365
13366 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13367 definitions for non-Emacs compilation.
13368 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13369 outside of `#ifdef emacs'.
13370 (print_partial_compiled_pattern): Update.
13371 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13372 (re_compile_fastmap): Merge handling of charset and charset_not (for
13373 emacs and non-emacs compilation as well).
13374 Similarly for (not)categoryspec and (not)syntaxspec.
13375 Don't use the fastmap when reaching `anychar' since the added
13376 complexity is not justified.
13377 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13378 and (not)syntaxspec. Merge (not)categoryspec.
13379
fdaa1f77
KH
133802000-03-22 Kenichi Handa <handa@etl.go.jp>
13381
52283633
SM
13382 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13383 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13384 --without-x.
fdaa1f77 13385
d152fb46
DL
133862000-03-21 Dave Love <fx@gnu.org>
13387
13388 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13389 doc string.
13390
d2cafc8c
GM
133912000-03-21 Gerd Moellmann <gerd@gnu.org>
13392
13393 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13394 (lface_fully_specified_p): Don't check contents of
13395 LFACE_FONT_INDEX because that attribute is optional.
13396 (realize_x_face): Remove now unwarranted xassert.
13397
9111d4b5
KH
133982000-03-21 Kenichi HANDA <handa@etl.go.jp>
13399
13400 The following changes are to make font selection based on
13401 characters, not charset. In addition, they recover fontset
13402 facilities while utilizing the new font selection mechanism.
13403
6c4bfdc0
KH
13404 * Makefile.in (fontset.o): Depend on dispextern.h.
13405
13406 * alloc.c (mark_face_cache): Don't mark face->registry.
13407
9111d4b5
KH
13408 * dispextern.h (struct glyph): New member glyph_not_available_p.
13409 Use 22 bits for face_id.
13410 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13411 (struct face): Delete member registry, new member ascii_face.
13412 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13413 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13414 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13415 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13416
13417 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13418 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13419 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13420 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13421 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13422 (fs_free_face_fontset, fontset_font_pattern)
13423 (face_suitable_for_char_p, face_for_char)
13424 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13425 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13426 (FS_LOAD_FACE_FONT): New macro.
13427
13428 * fontset.c: All codes rewritten or adjusted for the change of
13429 fontset implementation. Now fontset is represented by char table.
52283633
SM
13430 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13431 Variables removed.
9111d4b5 13432 (my_strcasecmp): Function removed.
52283633 13433 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13434 (AREF, ASIZE): New macros.
52283633
SM
13435 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13436 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13437 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13438 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13439 (fontset_id_valid_p, font_family_registry, fontset_name)
13440 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13441 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13442 New functions.
13443 (fs_load_font): New arg FACE. Caller changed.
13444 (fs_query_fontset): Argument changed. Caller changed.
13445 (Fquery_fontset): call fs_query_fontset.
13446 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13447 Functions removed.
52283633
SM
13448 (clear_fontset_elements, check_registry_encoding)
13449 (check_fontset_name): New functions.
9111d4b5
KH
13450 (syms_of_fontset): Set char-table-extra-slots property of fontset
13451 to 3. Staticpro and initialize Vfontset_table and
13452 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13453
13454 * frame.h (struct frame): Member `fontset_data' removed.
13455 (FRAME_FONTSET_DATA): Macro removed.
13456
13457 * frame.c (make_frame): Don't allocate f->fontset_data.
13458 (Fdelete_frame): Don't free f->fontset_data.
13459
6c4bfdc0
KH
13460 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13461
9111d4b5
KH
13462 * xdisp.c (charset_at_position): Function removed.
13463 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13464 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13465 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13466 Likewise.
13467 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13468 FACE_FOR_CHARSET.
52283633
SM
13469 (get_next_display_element, append_space)
13470 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13471
13472 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13473 Variables removed.
13474 (clear_font_table, frame_update_line_height, load_face_font):
13475 Adjusted for the change of fontset implementation.
13476 (load_face_fontset_font): Function removed.
13477 (pixel_point_size): New function.
13478 (font_list): Argument type changed. Caller changed.
13479 (LFACE_FONT): New macro.
13480 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13481 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13482 Lisp_Object. Determine the font name by actually loading a font
13483 by the specified pattern. Set LFACE_FONT (lface) to the specified
13484 pattern. Even if a font is not found, don't try alternatives.
13485 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13486 (set_font_frame_param): If `font' is specified in lface, use it.
13487 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13488 (lface_same_font_attributes_p): Likewise.
13489 (make_realized_face): Arguent changed. Caller changed. Set
13490 face->ascii_face to face itself.
13491 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13492 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13493 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13494 (free_realized_multibyte_face): New function.
13495 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13496 changed. Caller changed.
13497 (try_font_list): Argument type changed.
13498 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13499 (choose_face_font): Argument changed. Handle fontset properly.
13500 (choose_face_fontset_font): Function removed.
13501 (realize_default_face, realize_named_face): Don't remove the
13502 former face here.
13503 (realize_face): Argument changed. Caller changed. Remove face
52283633 13504 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13505 (realize_x_face): Argument changed. Caller changed. For a
13506 multibyte character, share fontset with base_face. For a single
52283633 13507 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13508 (realize_tty_face): Argument changed. Caller changed.
13509 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13510 (face_at_buffer_position): Don't check multibyte_p for returning
13511 DEFAULT_FACE_ID.
13512 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13513 FACE_SUITABLE_FOR_CHARSET_P.
13514 (syms_of_xfaces): Remove code for Qx_charset_registry and
13515 Vface_default_registry.
13516
6c4bfdc0
KH
13517 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13518 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13519 (x_per_char_metric): Don't try FONT->default_char. Even if
13520 pcm->width is zero, glyph bits may exist.
13521 (x_encode_char): Always initialize char2b->byte1.
13522 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13523 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13524 (x_append_glyph): Set glyph->glyph_not_available_p.
13525 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13526 it->charset. Handle the case that per char metric is not
13527 available. If it->multibyte_p is zero and it->c is a multibyte
13528 character, convert it to a unibyte character.
13529 (struct glyph_string): Delete member `charset'.
13530 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13531 the case that per char metric is not available correctly.
13532 (x_fill_glyph_string): Handle the case that the specific glyph is
13533 not available correctly.
13534 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13535 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13536 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13537 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13538 fontset. Don't call FS_LOAD_FONT.
13539
13540 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13541 (x_create_tip_frame): Likewise.
13542 (Fx_close_connection): Free full_name of font_info.
13543
13544 * fns.c (optimize_sub_char_table): New function.
13545 (Foptimize_char_table): New function.
13546 (syms_of_fns): Defsubr Soptimize_char_table.
13547
b33dd3b0
GM
135482000-03-20 Gerd Moellmann <gerd@gnu.org>
13549
13550 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13551 only if buffer is displayed in some window.
13552
13553 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13554 (try_window_reusing_current_matrix): Don't call scroll run
13555 function if run's current and desired position are the same;
13556 this prevents cursor flickering.
13557
4e8a9132
SM
135582000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13559
13560 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13561
13562 * regex.c (RE_STRING_CHAR): New macro.
13563 (GET_CHAR_AFER_2): Remove.
13564 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13565 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13566 (print_partial_compiled_pattern, re_compile_fastmap)
13567 (re_match_2_internal): Remove on_failure_jump_exclusive.
13568 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13569 optimization only need to work for * (ie. can use of_keep_string_jump).
13570 Remove the special case for .*\n since it is now covered by the general
13571 optimization.
13572 (re_search_2): Don't bother with `room'.
13573 (skip_one_char): New function.
13574 (skip_noops): Simplify since `memory' is not needed any more.
13575 (mutually_exclusive_p): Restructure slightly to use `switch' and
13576 add handling for "all" remaining cases.
13577 (re_match_2_internal): Change on_failure_jump_smart to use
13578 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13579 rather than on_failure_jump_exclusive.
13580
2136fdd4
GM
135812000-03-19 Gerd Moellmann <gerd@gnu.org>
13582
13583 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13584 number of bits per RGB because it's everywhere used as the depth
13585 of the visual.
13586
13587 * term.c (calculate_costs): Remove code dealing with X frames.
13588
18e21ce8 135892000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13590
13591 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13592
d7b511c4
GM
135932000-03-18 Gerd Moellmann <gerd@gnu.org>
13594
13595 * lread.c (read_integer): Unread the last char not consumed.
13596
16b5d424
GM
135972000-03-17 Gerd Moellmann <gerd@gnu.org>
13598
13599 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13600 which are in the process of being deleted.
16b5d424 13601
1fa28578
GM
136022000-03-16 Gerd Moellmann <gerd@gnu.org>
13603
83488cce
GM
13604 * Makefile.in (mostlyclean): Add `*.core'.
13605 (clean): Add `bootstrap-emacs'.
13606
1fa28578
GM
13607 * lread.c (read_integer): New function.
13608 (read1): Support read syntax #o, #x, #b, #r.
13609
99633e97
SM
136102000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13611
1fa28578
GM
13612 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13613 make sure POINTER_TO_OFFSET gives the same value before and after
13614 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13615 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13616 (debug): Now only active if > 0 rather than if != 0.
13617 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13618 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13619 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13620 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13621 (store_op1, store_op2, insert_op1, insert_op2)
13622 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13623 (group_in_compile_stack): Move to after its arg's types are
13624 declared and add a prototype.
99633e97 13625 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13626 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13627 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13628 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13629 indentation of the greedy-op and shy-group code.
99633e97
SM
13630 (at_(beg|end)line_loc_p): Fix argument's types.
13631 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13632 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13633 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13634 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13635 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13636 QUIT unconditionally.
99633e97 13637
699238d9
GM
136382000-03-15 Gerd Moellmann <gerd@gnu.org>
13639
13640 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13641 a sole completion.
13642
13643 * process.c (send_process): Add a hint that the function
13644 can call Lisp code to its comment.
13645
13646 * lread.c (load_dangerous_libraries): New variable.
13647 (Vbytecomp_version_regexp): New variable.
13648 (safe_to_load_p): New function.
13649 (Fload): Handle files not compiled with Emacs specially.
13650 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13651
34e23e5a
GM
136522000-03-14 Gerd Moellmann <gerd@gnu.org>
13653
9c763cca
GM
13654 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13655
13656 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13657 support functions only if HAVE_X11R6_XIM is defined.
13658 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13659
13660 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13661
13662 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13663 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13664 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13665
13666 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13667 (HAVE_X11R6_XIM): Define.
13668
13669 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13670
34e23e5a
GM
13671 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13672 If set, call XSynchronize.
13673
66f0296e
SM
136742000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13675
34e23e5a
GM
13676 * regex.c: Declare a new type `re_char' used throughout the code
13677 for the string char type. It's `const unsigned char' to match the
13678 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13679 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13680 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13681 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13682 code duplication.
66f0296e
SM
13683
13684 * charset.h (GET_CHAR_AFTER_2): Remove.
13685 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13686
854a025c
KR
136872000-03-12 Ken Raeburn <raeburn@gnu.org>
13688
13689 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13690 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13691 of them try to use backquotes.
13692
b9d2c7e2
DL
136932000-03-12 Dave Love <fx@gnu.org>
13694
13695 * unexelf.c: Restore changes of 1999-10-19.
13696 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13697 fix its type and alignment; copy it from current process.
13698
5e5dff44
GM
136992000-03-12 Gerd Moellmann <gerd@gnu.org>
13700
9b2f3c38
GM
13701 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13702 has been found. Fix bug not computing timer's predecessor.
13703
427ec082 13704 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13705 file name.
13706
e1cff360
GM
13707 * window.c (Fsave_window_excursion): Doc fix.
13708
52283633 13709 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13710
e411ce4b
EZ
137112000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13712
13713 * msdos.c (vga_installed): New function, code moved from
13714 dos_set_window_size.
13715 (Qbar, Qcursor_type, outside_cursor): New variables.
13716 (syms_of_msdos): Intern and staticpro them.
13717 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13718 shape used outside Emacs when called for the first time.
13719 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13720 cursor shape used outside Emacs.
13721 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13722 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13723 type has changed.
13724 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13725 parameters specify the cursor. Make qreverse a global
13726 variable (renamed to Qreverse).
13727
80460654
GM
137282000-03-09 Gerd Moellmann <gerd@gnu.org>
13729
13730 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13731
95cd4c40
SM
137322000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13733
13734 This is a big redesign of failure-stack and register handling, prompted
13735 by bugs revealed when trying to add shy-groups. Overall, what happened
13736 is that loops are now structured a little differently, groups can be
13737 shy and the code is a little simpler.
13738
13739 * regex.h: Update the copyright.
13740 (RE_SHY_GROUPS): New value.
13741 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13742 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13743
80460654
GM
13744 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13745 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13746 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13747 for (start|stop)_memory since they now only take one argument (the
13748 second has becomes unnecessary).
52283633 13749 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13750 (print_compiled_pattern): Use %ld to printf long ints and flush to
13751 make debugging a little easier.
95cd4c40
SM
13752 (union fail_stack_elt): Make the integer unsigned.
13753 (struct fail_stack_type): Add a `frame' element.
13754 (INIT_FAIL_STACK): Init `frame' as well.
13755 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13756 (DEBUG_PUSH, DEBUG_POP): Remove.
13757 (NUM_REG_ITEMS): Remove.
13758 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13759 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13760 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13761 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13762 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13763 New macros.
80460654
GM
13764 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13765 address pushed is not the destination of the jump but the source
13766 of it instead.
95cd4c40
SM
13767 (NUM_FAILURE_ITEMS): Remove.
13768 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13769 registers before the actual failure point). Don't hardcode any
13770 meaning for str==NULL anymore.
95cd4c40 13771 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13772 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13773 Remove.
95cd4c40
SM
13774 (REG_UNSET_VALUE): Use NULL (why not?).
13775 (compile_range): Remove declaration since it doesn't exist.
13776 (struct compile_stack_elt_t): Remove inner_group_offset.
13777 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13778 (regex_grow_registers): Remove dead code.
13779 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13780 (regex_compile): Add shy-groups Change loops to use
13781 on_failure_jump_smart&jump instead of
13782 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13783 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13784 variable to me). Use `jump' instead of `jump_past_alt' and don't
13785 bother with push_dummy_failure in alternatives since it is now
13786 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13787 emacs' for (re)allocating the stack.
13788 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13789 from loop when bufp->can_be_null rather than jumping to `done'.
13790 Avoid jumping backwards so as to ensure termination. Use
13791 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13792 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13793 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13794 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13795 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13796 (lowest_active_reg, highest_active_reg)
13797 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13798 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13799 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13800 variables. Push register (in `start_memory') on the stack rather
13801 than storing it in old_reg(start|end). Remove the cycle detection
13802 from `stop_memory', replaced by the use of on_failure_jump_loop
13803 for greedy loops. Add code for the new on_failure_jump_<foo>.
13804 Remove ad-hoc code in `on_failure_jump' to push more registers in
13805 the case of a loop. Take out code from `maybe_pop_jump' into
13806 separate functions and adapt it to the semantics of
13807 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13808 and push_dummy_failure. Remove dummy_failure handling and
13809 handling of `failures to jump to on_failure_jump' (this last one
13810 was already dead code, it seems).
13811 (group_match_null_string_p, alt_match_null_string_p)
13812 (common_op_match_null_string_p): Remove.
95cd4c40 13813
7397acc4
DL
138142000-03-08 Dave Love <fx@gnu.org>
13815
13816 * config.in: Don't depend on __STDC__ for volatile.
13817 Add POINTER_TYPE, PTR, PROTOTYPES.
13818
13819 * hftctl.c, strftime.c: Use PROTOTYPES.
13820 * eval.c (find_handler_clause): Likewise.
13821
13822 * mem-limits.h: Use POINTER_TYPE.
13823
13824 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13825 (memory_warnings): Declare using POINTER_TYPE.
13826
5e91ff9e
GM
138272000-03-08 Gerd Moellmann <gerd@gnu.org>
13828
feab4fba
GM
13829 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13830
52283633 13831 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13832
5e91ff9e
GM
13833 * xfns.c: Remove obsolete code in #if 0.
13834 (Fx_focus_frame): New function.
13835
a735b7e1
KH
138362000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13837
13838 * coding.c (coding_category_name): Add coding-category-utf-8,
13839 coding-category-utf-16-be, coding-category-utf-16-le.
13840 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13841 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13842 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13843 (detect_coding_utf_8): New function.
13844 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13845 UTF_16_LOW_SURROGATE_P): New macros.
13846 (detect_coding_utf_16): New function
13847 (detect_coding_mask): When priorities are specified, skip any
13848 categories that have `nil' coding-system. Fix bug of returning
13849 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13850 returns a mask not set in PRIORITIES.
13851 (detect_eol_type_in_2_octet_form): New function.
13852 (detect_eol): selects detect_eol_type_XXX to call according to
13853 cooding->category_idx.
13854 (detect_coding_system): Remove `nil' coding-system in the result.
13855 (Fupdate_coding_systems_internal): Update all coding-categories.
13856
52283633
SM
13857 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13858 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13859 New macros.
13860 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13861 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13862 (CODING_CATEGORY_IDX_UTF_16_LE)
13863 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13864 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13865 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13866 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13867
9994cc69
GM
138682000-03-07 Gerd Moellmann <gerd@gnu.org>
13869
e9b4e5ff
GM
13870 * doc.c (Fdocumentation_property): If value is not a string,
13871 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13872
f7daf1e1
GM
13873 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13874 close the display with XtCloseDisplay. This caused a bus error
13875 on OpenWindows.
13876
9994cc69
GM
13877 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13878 complete but not unique.
13879
4336c705
GM
138802000-03-06 Gerd Moellmann <gerd@gnu.org>
13881
18bb0684
GM
13882 * process.c (send_process): Remove local variable `procname' that
13883 might become invalid when a GC happens. Instead, access the
13884 process name slot directly.
13885
4336c705
GM
13886 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13887 orig_height if set.
13888
13889 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13890 orig_height if set.
13891
515d0d0e
EZ
138922000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13893
13894 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13895 glyph matrices have been freed.
13896
100b3cbb
GM
138972000-03-05 Gerd Moellmann <gerd@gnu.org>
13898
50df5e5a 13899 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13900 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13901
13902 * xfns.c (QCdata): Moved to xdisp.c.
13903
13904 * xdisp.c (QCdata): Moved here from xfns.c.
13905 (syms_of_xdisp): Initialize QCdata.
13906
13907 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13908
13909 * window.c (coordinates_in_window): Use
13910 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13911 FRAME_INTERNAL_BORDER_WIDTH.
13912
100b3cbb 13913 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13914 it is obviously invalid.
100b3cbb
GM
13915
13916 * xterm.c (x_term_init): Create a colormap if not using the
13917 default visual.
13918
13919 * xterm.h (select_visual): Change prototype.
13920
13921 * xfns.c (select_visual): Rewritten. Recognize user-specified
13922 visual classes.
13923 (visual_classes): New variable.
13924
64d739c4
GM
139252000-03-04 Gerd Moellmann <gerd@gnu.org>
13926
13927 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13928 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13929 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13930 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13931 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13932 XtNcolormap resources.
13933 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13934 (Fx_create_frame): Initialize color members of x_output structure.
13935 (xpm_load): Pass colormap to XPM lib.
13936
13937 * xfaces.c (x_free_colors): Access colormap of frame using
13938 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13939 when default colormap is used.
13940
13941 * xterm.c (x_term_init): Set Colormap member of x_display_info
13942 structure. Copy colormap if resource `privateColormap' is
13943 specified (PseudoColor only).
13944 (x_setup_relief_color): Access colormap of frame using
13945 FRAME_X_COLORMAP.
13946
13947 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13948 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13949
c3cee013
JR
139502000-03-04 Jason Rumney <jasonr@gnu.org>
13951
13952 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13953 other non-platform-specific equivalents.
64d739c4 13954 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13955 specific functions and macros as their w32 equivalents where
13956 non-platform-specifics are not available.
13957 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13958 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13959 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13960 (frame_update_line_height): Use macros to access f->output_data.
13961 (defined_color): Remove FIXME comments; fixed.
13962 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13963 into #ifdef blocks. Add WINDOWSNT blocks.
13964 (Fx_list_fonts): Use macros for accessing font data.
13965 (set_lface_from_font_name): Different default fonts for X and
13966 WINDOWSNT.
13967 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13968 scalable for backward compatibility.
64d739c4 13969 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13970 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13971
64d739c4 13972 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13973 syms_of_w32faces.
13974
13975 * makefile.nt (w32faces.obj): Remove.
13976 (xfaces.obj): Add.
13977
807cc41c
JR
139782000-03-03 Jason Rumney <jasonr@gnu.org>
13979
13980 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13981 correct parameters.
13982
0007072a
KR
139832000-03-03 Ken Raeburn <raeburn@gnu.org>
13984
13985 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13986 standard ELF definitions here if the system header does not.
13987
71a6ba55
GM
139882000-03-03 Gerd Moellmann <gerd@gnu.org>
13989
13990 * xterm.c (PER_CHAR_METRIC): Removed.
13991 (x_per_char_metric_1, x_default_char): New functions.
13992 (x_per_char_metric): If font's default char is invalid, return
13993 metrics of a suitably chosen usable default char.
13994 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13995 char, replace occurrences of unprintable chars with a suitably
13996 chosen usable default char.
71a6ba55 13997
900fa1f1
GM
139982000-03-02 Gerd Moellmann <gerd@gnu.org>
13999
42f55fe0
GM
14000 * xterm.c (note_mouse_highlight): Return quickly if frame's
14001 glyph matrices have been freed.
14002
14003 * dispnew.c (free_glyphs): Block input while freeing matrices.
14004
900fa1f1
GM
14005 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
14006
52283633
SM
14007 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
14008 Use x_free_colors.
900fa1f1
GM
14009
14010 * dispextern.h (x_free_colors): Add prototype.
14011
14012 * xfaces.c (x_free_colors): New function.
14013 (unload_color, free_face_colors): Use it.
14014
2f950292
EZ
140152000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14016
14017 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
14018
14019 * window.c [MSDOS]: Include msdos.h.
14020
54d04320
DL
140212000-03-02 Dave Love <fx@gnu.org>
14022
14023 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
14024
14025 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
14026 set C_OPTIMIZE_SWITCH for gcc.
14027
0ba93ac4
KH
140282000-03-02 Kenichi Handa <handa@etl.go.jp>
14029
14030 * coding.c (coding_save_composition): Be sure to allocate
14031 composition data area in coding even if there's no composition in
14032 the current run.
14033
a2bc11d4
JR
140342000-03-01 Jason Rumney <jasonr@gnu.org>
14035
14036 * w32term.c: Equivalent changes to those made to xterm.c on
14037 2000-02-25 and 2000-02-24.
14038
14039 * w32fns.c: Equivalent changes to those made to xfns.c on
14040 2000-02-25 and 2000-02-21.
14041
14042 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
14043 correct line-end convention is followed.
14044
14045 * w32menu.c [HAVE_BOXES]: Remove #undef.
14046 (single_keymap_panes): Remove code for simulating checkmarks.
14047 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
14048 Remove code for drawing simulated checkmarks.
14049 (w32_menu_show): make unibyte help string correctly.
14050 (add_menu_item): draw standard Windows checkmarks. Draw radio
14051 buttons as radio buttons if possible.
14052
72d19d75
GM
140532000-03-01 Gerd Moellmann <gerd@gnu.org>
14054
2df636f4
GM
14055 * sysdep.c (start_of_text): Don't define this function for NetBSD
14056 with ELF.
14057
427ec082 14058 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
14059 Don't define.
14060 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14061 (LINKER): Don't undef if __NetBSD__ is defined.
14062
14063 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14064
14065 * fileio.c [__NetBSD__]: Define `unix'.
14066
72d19d75
GM
14067 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14068
ed4d0512
GM
140692000-02-29 Gerd Moellmann <gerd@gnu.org>
14070
50b1039f
GM
14071 * atimer.c (start_atimer): Don't abort when timers are stopped.
14072 (append_atimer_lists): New function.
14073 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14074 arbitrary lists of stopped and running atimers.
14075
ed4d0512
GM
14076 * atimer.c (cancel_atimer): Handle canceling an atimer when
14077 some timers are stopped.
14078
14079 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14080 after canceling it.
14081
14082 * fns.c (maybe_resize_hash_table): Handle case of new size
14083 coming out as being the same as old size.
14084
387023ee
JR
140852000-02-27 Jason Rumney <jasonr@gnu.org>
14086
14087 * makefile.nt: Add atimer.h to dependencies.
14088 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14089 * w32console.c: Only disable window system features for dispextern.h
14090 (initialize_w32_display): Build a display info for the console.
14091 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14092 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14093 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14094 as 2 button mice.
14095 * w32gui.h (struct W32FontStruct): Revert last change after change
14096 to xdisp.c.
14097 * w32menu.c (single_submenu): Set up help string.
14098 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14099 (w32_dialog_show): Set up help string.
14100 * w32term.c (w32_display_info_for_display): Remove unused function.
14101 (w32_draw_bitmap): Use pre-built bitmaps.
14102 (w32_initialize_display_info): New function to initialize parts of
14103 display info that are common to both GUI and console frames.
14104 (w32_term_init): Use w32_initialize_display_info. Do not set
14105 Vw32_num_mouse_buttons here, as it is not called for console
14106 frames. Build bitmaps for indicating truncated lines etc.
14107 (x_delete_display): Destroy pre-built bitmaps.
14108 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14109 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14110
4516715a
DL
141112000-02-27 Dave Love <fx@gnu.org>
14112
14113 * lisp.h: Add a bunch of prototypes.
14114
171ca836
KH
141152000-02-26 Kenichi Handa <handa@etl.go.jp>
14116
14117 * keyboard.c (read_char): Set `usec' correctly.
14118
4013921d
KH
141192000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14120
14121 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14122 `lambda', set reg[RRR] to the map index.
14123 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14124 reg[RRR] to 0. Otherwise, set it to -1.
14125
9244a058
GM
141262000-02-25 Gerd Moellmann <gerd@gnu.org>
14127
2df636f4 14128 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14129
18e21ce8 141302000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14131
f43d79c1
GM
14132 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14133 and contains a `:', prepend `/:'.
14134
14135 * window.c (select_window_1): If selected_window is nil,
14136 don't "swap out" the buffer's point.
14137 (Fset_window_configuration): Set selected_window to nil
14138 before calling Fselect_window.
14139 (unshow_buffer): Don't set point in buffer from window's point
14140 if another more recently selected window also shows the buffer.
14141
bed0c171
GM
141422000-02-25 Gerd Moellmann <gerd@gnu.org>
14143
449c3c52
GM
14144 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14145
f5b58615
GM
14146 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14147 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14148 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14149 New variables.
f5b58615
GM
14150 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14151 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14152 (hide_busy_cursor): New functions.
14153 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14154
14155 * minibuf.c (read_minibuf): Cancel busy-cursor.
14156
14157 * keyboard.c (command_loop_1): Call start_busy_cursor before
14158 Fcommand_execute and cancel_busy_cursor after it.
14159 (timer_check): Remove busy-cursor code.
14160 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14161 cursor timer.
14162
14163 * process.c (wait_reading_process_input): Remove busy-cursor code.
14164
14165 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14166 Fx_hide_busy_cursor.
14167
14168 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14169 Remove prototyoes.
14170 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14171
14172 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14173
14174 * xterm.c (XTread_socket): Remove busy-cursor code.
14175
4eb8436f
GM
14176 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14177 (build_frame_matrix_from_leaf_window): Put code handling
14178 glyph row's not being a slice of a frame row in #if 0.
14179 (sync_window_with_frame_matrix_rows): New function.
14180 (frame_row_to_window): New function.
14181 (mirror_line_dance): Handle copies between windows.
14182
3cb65b0e
GM
14183 * lread.c (Fload): Use `xfree' instead of `free'.
14184 (init_obarray): Use `xmalloc' instead of `malloc'.
14185
bed0c171
GM
14186 * window.c (Fset_window_buffer): Set WINDOW to the window
14187 after decoding.
2add4349
GM
14188 (coordinates_in_window): Take frame's internal border width
14189 into account.
bed0c171 14190
42088c12
GM
141912000-02-24 Gerd Moellmann <gerd@gnu.org>
14192
14193 * xterm.c (x_display_and_set_cursor): Display cursor of
14194 non-selected windows depending on the setting of
14195 cursor_in_non_selected_windows.
14196
14197 * xdisp.c (cursor_in_non_selected_windows): New variable.
14198 (syms_of_xdisp): DEFVAR_BOOL it.
14199
d1e103b2
GM
142002000-02-23 Gerd Moellmann <gerd@gnu.org>
14201
723e779c
GM
14202 * data.c (Fstring_to_number): If number is greater than what
14203 fits into an integer, return a float.
14204
d1e103b2
GM
14205 * eval.c (specbind): Remove references to
14206 keyword_symbols_constant_flag.
14207
14208 * data.c (keyword_symbols_constant_flag): Removed.
14209 (Fmakunbound, set_internal, syms_of_data): Remove references to
14210 keyword_symbols_constant_flag.
14211
14212 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14213
214f877f
KH
142142000-02-23 Kenichi Handa <handa@etl.go.jp>
14215
14216 * syntax.c (multibyte_syntax_as_symbol): New variable.
14217 (syms_of_syntax): Declare it as a Lisp variable.
14218 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14219 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14220 nonzero, treat all multibyte characters as symbol.
52283633 14221 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14222
130adcb7
EZ
142232000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14224
3cb65b0e 14225 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14226 a deleted frame.
130adcb7 14227
17cbbf95
GM
142282000-02-21 Gerd Moellmann <gerd@gnu.org>
14229
14230 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14231
14232 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14233 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14234
beb0bc36
DL
142352000-02-21 Dave Love <fx@gnu.org>
14236
14237 * frame.c (Vmouse_position_function): New variable.
14238 (Fmouse_position): Use it.
14239 (syms_of_frame): Install it.
14240
14241 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14242
1d92afcd
GM
142432000-02-20 Gerd Moellmann <gerd@gnu.org>
14244
14245 * fileio.c (Finsert_file_contents): Unbind the binding of
14246 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14247
14248 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14249 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14250 (specbind, unbind_to): Handle most common case of non-constant
14251 symbol with trivial value specially.
14252
14253 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14254
18e21ce8 142552000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14256
14257 * data.c (Fmake_variable_buffer_local): Doc fix.
14258 Init found_for_buffer to 0.
14259 (Fmake_variable_frame_local): If the variable has already
14260 been buffer-local, set the check_frame field.
14261
1d4311c3
EZ
142622000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14263
14264 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14265 produced for CODING_MODE_LAST_BLOCK requires.
14266
2dc95ddd
DL
142672000-02-18 Dave Love <fx@gnu.org>
14268
14269 * keyboard.c (echo_keystrokes): Remove declaration.
14270 (Vecho_keystrokes) New variable.
14271 (read_char, record_menu_key, read_key_sequence): Use it to allow
14272 use of float value.
14273 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14274
14275 * lread.c: Undef feature selection macros before defining.
14276
f0930f35
GM
142772000-02-18 Gerd Moellmann <gerd@gnu.org>
14278
14279 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14280 for symbols other than the symbol in question.
14281
e3d4de90
DL
142822000-02-17 Dave Love <fx@gnu.org>
14283
14284 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14285
0b378936
GM
142862000-02-17 Gerd Moellmann <gerd@gnu.org>
14287
d621caf7
GM
14288 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14289
0b378936
GM
14290 * alloc.c (enum mem_type): Compile unconditionally.
14291
3b451f74
EZ
142922000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14293
14294 * xfaces.c (tty_defined_color): Don't return faulire indication
14295 for unspecified-fg and unspecified-bg pseudo-colors.
14296
10689a01
GM
142972000-02-17 Gerd Moellmann <gerd@gnu.org>
14298
1216f5e4
GM
14299 * alloc.c (mark_object): Don't mark symbol names in pure space.
14300 (gc_sweep): Don't unmark symbol names in pure space.
14301
14302 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14303 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14304 [GC_MARK_STACK]: New defines.
427ec082 14305 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14306 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14307
14308 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14309
14310 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14311 allocate_buffer instead of xmalloc.
14312
14313 * alloc.c (toplevel): Include setjmp.h.
14314 (PURE_POINTER_P): New define.
14315 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14316 (Vdead) [GC_MARK_STACK]: New variable.
14317 (lisp_malloc): Add parameter TYPE, call mem_insert if
14318 GC_MARK_STACK is defined.
14319 (allocate_buffer): New function.
427ec082 14320 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14321 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14322 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14323 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14324 (MEM_NIL) [GC_MARK_STACK]: New define.
14325 (struct mem_node) [GC_MARK_STACK]: New structure.
14326 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14327 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14328 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14329 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14330 (mark_stack) [GC_MARK_STACK]: New functions.
14331 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14332 (clear_marks): Removed.
14333 (gc_sweep): Set free conses' car, free floats' type, free
14334 symbols' function to Vdead. Use lisp_free to free buffers.
14335 (init_alloc_once): Initialize Vdead.
14336 (survives_gc_p): Return non-zero for pure objects.
14337
14338 * alloc.c: Add comments throughout the file.
14339
2503c8b1
GM
14340 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14341 that unblocks alarms.
14342
8389e1e2
GM
14343 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14344 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14345 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14346
10689a01 14347 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14348
bfc17d18
KH
143492000-02-17 Kenichi Handa <handa@etl.go.jp>
14350
4a09dee0
KH
14351 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14352 avoid infinite error signaling. Allocate sufficient memory for
14353 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14354
2b927d02
SM
143552000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14356
14357 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14358 depends on the previous behavior.
14359
b49cb764
GM
143602000-02-16 Gerd Moellmann <gerd@gnu.org>
14361
14362 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14363
99e95407
GM
143642000-02-15 Gerd Moellmann <gerd@gnu.org>
14365
14366 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14367
14368 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14369 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14370 write(2).
14371
6ffd3cf7
RS
143722000-02-15 Richard M. Stallman <rms@gnu.org>
14373
14374 * data.c (set_internal): Don't make variable buffer-local
14375 if within a let-binding for the same buffer.
14376 (let_shadows_buffer_binding_p): New function.
14377
14378 * eval.c (specbind): For buffer-local value,
14379 record the current buffer also.
14380 (unbind_to): Cope with that change.
14381
cad53475
GM
143822000-02-15 Gerd Moellmann <gerd@gnu.org>
14383
14384 * window.c (Fsave_window_excursion): Doc fix.
14385
1aa963c8
SM
143862000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14387
14388 * syntax.c (back_comment): Make sure we only consider comment-starters
14389 of the relevant style and return -1 in case of a failure to find the
14390 beginning of the comment.
14391 (Fforward_comment): If back_comment fails, go back to the position just
14392 after the comment-end.
14393 (scan_lists): Add comment describing a very minor bug.
14394
b9b84fd3
SM
143952000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14396
14397 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14398 `completion-regexp-list' in the docstring.
14399
3a28db80
DL
144002000-02-14 Dave Love <fx@gnu.org>
14401
14402 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14403
fb4a568d
SM
144042000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14405
14406 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14407 to Emacs' syntax. Also fix the comment about set/not-set meanings
14408 since Emacs syntax is not the value 0 any more.
14409 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14410 since it's now part of RE_SYNTAX_EMACS.
14411
1063ebb5
DL
144122000-02-12 Dave Love <fx@gnu.org>
14413
52283633 14414 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14415
fb07a302
GM
144162000-02-12 Gerd Moellmann <gerd@gnu.org>
14417
14418 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14419
aaf2320c
DL
144202000-02-12 Dave Love <fx@gnu.org>
14421
14422 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14423
14424 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14425 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14426 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14427
14428 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14429
14430 * s/nextstep.h: Don't define HAVE_ALLOCA.
14431
14432 * config.in: Add vfork bits.
14433
eedf8bde
GM
144342000-02-12 Gerd Moellmann <gerd@gnu.org>
14435
14436 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14437 unwind function to undo the effect of stopping atimers.
14438
52283633 14439 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14440
14441 * atimer.c (stopped_atimers): New variable.
14442 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14443 New functions.
14444
14445 * atimer.h (stop_other_atimers, run_all_atimers)
14446 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14447
eedf8bde
GM
14448 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14449
8476c2f8
KR
144502000-02-11 Ken Raeburn <raeburn@gnu.org>
14451
14452 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14453 library may depend on jpeg.
14454 (atimer.o): Depends on atimer.c.
14455
0e85e4a3
KH
144562000-02-11 Kenichi Handa <handa@etl.go.jp>
14457
14458 * insdel.c (del_range_1): Call update_compositions.
14459 (del_range_both): Call update_compositions just once..
14460
97fa0cc8
DL
144612000-02-10 Dave Love <fx@gnu.org>
14462
14463 * xfns.c (create_frame_xic): Fix initialization of automatic
14464 aggregates for pcc.
14465
25566a3c
KH
144662000-02-09 Kenichi Handa <handa@etl.go.jp>
14467
14468 * ccl.c (CCL_MAKE_CHAR): New macro.
14469 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14470 registers by CCL_MAKE_CHAR before calling translate_char.
14471 <CCL_TranslateCharacterConstTbl> Likewise.
14472
69da54ba
DL
144732000-02-08 Dave Love <fx@gnu.org>
14474
14475 * lread.c (__EXTENSIONS__): Define.
14476
f7136ee8
GM
144772000-02-08 Gerd Moellmann <gerd@gnu.org>
14478
14479 * puresize.h (BASE_PURESIZE): Increase to 650000.
14480
7768790b
EZ
144812000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14482
14483 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14484 the help message.
14485
38fd211b
EZ
144862000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14487
14488 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14489 md, mh, mb, mr, and me to the fake termcap entry.
14490
66e4690f
KR
144912000-02-06 Ken Raeburn <raeburn@gnu.org>
14492
14493 * sound.c (sound_cleanup): Don't call device close routine if the
14494 function pointer is null.
14495
a75dfea0
AI
144962000-02-06 Andrew Innes <andrewi@gnu.org>
14497
14498 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14499 around image definitions and prototypes.
14500 (gamma_correct) [WINDOWSNT]: New prototype.
14501
14502 * w32term.c (x_make_frame_visible): Replace call to
14503 input_poll_signal with poll_for_input.
14504
14505 * window.c [WINDOWSNT]: Include w32term.h.
14506
14507 * xdisp.c [WINDOWSNT]: Include w32term.h.
14508
14509 * makefile.nt: Add dependencies on w32gui.h.
14510 (OBJ1): Include atimer.obj.
14511 ($(BLD)\atimer.obj): New dependency rule.
14512
14513 * w32.c (sigmask): New function (does nothing).
14514 (sigunblock): Ditto.
14515
14516 * frame.c [WINDOWSNT]: Include w32term.h.
14517
14518 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14519
14520 * lread.c (syms_of_lread): Fix literal newlines.
14521
14522 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14523 the string constant limit (2048 bytes) in MSVC.
14524 (main): Ditto.
14525
59ddecde
GM
145262000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14527
52283633 14528 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14529 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14530 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14531 dispatch the event.
14532
07590973
DL
145332000-02-04 Dave Love <fx@gnu.org>
14534
14535 * fileio.c: Remove some unused vars.
14536 (_GNU_SOURCE): Define (for euidaccess).
14537
14538 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14539
14540 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14541 gcpro1, gcpro2.
14542 (read_minibuf): Deal with allow_props correctly.
14543
649351f9
EZ
145442000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14545
14546 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14547
66e4690f 145482000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14549
14550 * search.c (compile_pattern): If a cache entry has a nil regexp,
14551 fill in that entry instead of clobbering a previously cached
14552 string regexp.
14553
66e4690f 145542000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14555
14556 * puresize.h (BASE_PURESIZE): Increase to 610000.
14557
d240a249
GM
145582000-02-02 Gerd Moellmann <gerd@gnu.org>
14559
14560 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14561 can GC.
14562
ca91fb26
KH
145632000-02-02 Kenichi Handa <handa@etl.go.jp>
14564
25660570
KH
14565 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14566 instead of incrementing ic directly.
14567 <CCL_WriteExprConst> Likewise.
14568 <ccl_set_expr>: Set ic to jump_address.
14569
ca91fb26
KH
14570 * fileio.c (e_write): Fix the handling of
14571 CODING_FINISH_INSUFFICIENT_SRC.
14572
2ede9689
DL
145732000-02-01 Dave Love <fx@gnu.org>
14574
14575 * editfns.c (Fpropertize): Doc fix.
14576
14577 * process.c (Fstart_process): Doc fix.
14578
14579 * eval.c: Fix various doc strings not to duplicate information
14580 from help-manyarg-func-alist.
14581
52283633 14582 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14583
14584 * doc.c (Vhelp_manyarg_func_alist): New variable.
14585 (Fdocumentation): Use it.
14586 (syms_of_doc): Define it.
14587
b6680a0e
GM
145882000-01-31 Gerd Moellmann <gerd@gnu.org>
14589
2cb750ba
GM
14590 * xterm.c (xim_open_dpy): Remove unused local variable.
14591
52283633 14592 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14593
14594 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14595 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14596
b6680a0e
GM
14597 * fns.c (sweep_weak_table): New function.
14598 (sweep_weak_hash_tables): Use it. Keep on marking until there
14599 is no more change.
14600
994c5afe
GM
146012000-01-30 Gerd Moellmann <gerd@gnu.org>
14602
14603 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14604 that XTread_socket does not crash by trying to call XNoOp on a
14605 closed display.
427ec082 14606
f00276e3
JR
146072000-01-30 Jason Rumney <jasonr@gnu.org>
14608
14609 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14610 Change selected_frame to SELECTED_FRAME ().
14611 (w32_console_mouse_position): Remove #ifndef MULE from around
14612 `insist' parameter.
14613
14614 * makefile.nt: Remove dosfns.obj.
14615
14616 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14617
14618 * w32fns.c (w32_defined_color): Check for valid frame before
14619 applying gamma correction. Eliminate dependency on frame elsewhere.
14620 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14621 (w32_to_x_font): Use resx and resy not height_in and width_in.
14622 (x_to_w32_font): Doc fix.
14623 (xlfd_strip_height): New function to strip and return font height.
14624 (w32_font_match): Compare height separately from rest of xlfd
14625 spec, using xlfd_strip_height.
14626
14627 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14628 width_in. Use w32_defined_color in place of defined_color.
14629
14630 * w32faces.c: Merge more of DOS and X specifics in preparation for
14631 merge with xfaces.c.
14632 (defined_color): Remove FIXME comment.
14633 (tty_color_name): Provide w32-specific function.
14634 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14635
14636 * w32console.c (turn_on_face, turn_off_face): Removed.
14637 (w32_face_attributes): New function.
14638 (Global_variables): Reduce scope where possible.
14639 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14640 fill attribute.
14641 (hl_mode): Don't modify text attributes.
14642 (write_glyphs): Don't do anything if len <= 0. Use
14643 w32_face_attributes to get attributes for drawing. Write
14644 terminating codes using char_attr_normal.
14645 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14646 (update_begin, update_end): Likewise.
14647 (vga_stdcolor_name): New function.
14648 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14649 (Fset_screen_color): Remove char_attr_reverse.
14650
b08e8bb2
GM
146512000-01-29 Gerd Moellmann <gerd@gnu.org>
14652
14653 * xfns.c (xic_set_preeditarea): Take window parameter and
14654 window-relative pixel-positions.
14655
14656 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14657 is its frame's selected window.
14658 (xim_instantiate_callback): Likewise.
14659
14660 * xfns.c (x_create_im): Removed.
14661 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14662 (supported_xim_styles): Renamed from supported_styles.
14663 (best_xim_style): Renamed from best_style.
14664 (create_frame_xic): Renamed from xic_create_frame.
14665 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14666
b08e8bb2
GM
146672000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14668
14669 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14670 our frames, call XFilterEvent with 2nd parameter `None'.
14671 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14672 returning XBufferOverflow.
52283633 14673 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14674 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14675 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14676 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14677 (xim_initialize, xim_close)
14678 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14679 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14680 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14681 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14682
14683 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14684 and `xim_styles'.
14685 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14686 `xic_style' and `xic_xfs'.
14687 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14688 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14689 (FRAME_XIM): Removed.
14690
14691 * xfns.c (supported_styles): New variable.
14692 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14693 (xic_create_xfontset, best_style, xic_create_frame)
14694 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14695 (xic_set_xfontset): New functions.
14696
142e109c
DL
146972000-01-28 Dave Love <fx@gnu.org>
14698
14699 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14700
14701 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14702
b02786f9
GM
147032000-01-28 Gerd Moellmann <gerd@gnu.org>
14704
d060bc9f
GM
14705 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14706 for *scratch* if it already existed.
14707
b02786f9
GM
14708 * emacs.c (USAGE): New macro.
14709 (main): Use it to display usage information.
14710
2c52d7e4
EZ
147112000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14712
14713 Support for the menu-help feature:
14714
52283633 14715 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14716
14717 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14718 part of the line to the termscript file.
14719 (IT_clear_to_end): Clear the entire line, not just its beginning.
14720 (menu_help_message, prev_menu_help_message): New variables.
14721 (IT_menu_make_room): Make room for the help_text member.
14722 (IT_menu_display): New argument disp_help; all callers changed.
14723 If disp_help is non-zero, store the help text of the active menu
14724 item in menu_help_message.
14725 (XMenuAddPane): Initialize the help_text member to NULL.
14726 (XMenuAddSelection): New argument help_text. Store it in the
14727 XMenu structure.
14728 (XMenuActivate): New argument help_callback. If the value of
14729 menu_help_message has changed since the last time, display the
14730 menu help message text while waiting for the mouse to move. Clear
14731 the echo area before exiting.
14732 (XMenuDestroy): Free the help_text member.
14733
ffe0bcd1
GM
147342000-01-27 Gerd Moellmann <gerd@gnu.org>
14735
14736 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14737 XMenuAddSelection. Pass help callback to XMenuActivate.
14738 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14739
50dbd23f
EZ
147402000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14741
14742 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14743 and EMACS_SET_USECS.
14744
f5941bf8
GM
147452000-01-26 Dave Love <fx@gnu.org>
14746
6c67ddee
DL
14747 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14748
f5941bf8
GM
14749 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14750 an error may be signalled.
14751
9e49c990
GM
147522000-01-26 Gerd Moellmann <gerd@gnu.org>
14753
fc3cb460
GM
14754 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14755 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14756
9e49c990
GM
14757 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14758
d0c037d8
GM
147592000-01-25 Gerd Moellmann <gerd@gnu.org>
14760
14761 * charset.c (Fstring): If there is a multibyte char among
14762 the args, always return a multibyte string.
14763
e12489f9
GM
147642000-01-25 Gerd Moellmann <gerd@gnu.org>
14765
14766 * sysdep.c (sys_select): Turn atimers off and on instead of
14767 recording and restoring old alarm handler
14768
14769 * process.c (toplevel): Include atimer.h.
14770 (create_process_1): Rewritten.
14771 (create_process): Use atimers instead of alarm.
14772 (wait_reading_process_input) [hpux]: Turn atimers off instead
14773 of turning off SIGALRM.
14774 (wait_reading_process_input): Turn off atimers instead off
14775 calling stop_polling.
14776
14777 * emacs.c (main): Call init_atimer.
14778
14779 * keyboard.c (toplevel): Include systime.h and atimer.h.
14780 (polling_for_input): Removed because unused.
14781 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14782 (poll_timer): New variable.
14783 (poll_for_input, poll_for_input_1): New functions.
14784 (start_polling, stop_polling): Rewritten.
14785
14786 * keyboard.h (polling_for_input): Removed.
427ec082 14787
e12489f9
GM
14788 * atimer.h, atimer.c: New files.
14789
14790 * Makefile.in (obj): Add atimer.o.
14791 (atimer.o): New target.
14792
14793 * blockinput.h (pending_atimers): Add extern declaration.
14794 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14795
14796 * lisp.h (popup_activated_flag): Add extern declaration.
14797
14798 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14799 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14800 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14801
14802 * xterm.c (toplevel): Include atimer.h.
14803 (toolkit_scroll_bar_interaction): New variable.
14804 (Fxt_process_timeouts): Removed.
14805 (x_process_timeouts): New function.
14806 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14807 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14808 (x_make_frame_visible): Call poll_for_input_1 instead of
14809 input_poll_signal. Don't call alarm.
14810 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14811
1e5279b9
DL
148122000-01-24 Dave Love <fx@gnu.org>
14813
6c67ddee 14814 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14815 Don't use -cckr -- apparently not now necessary.
14816
edf6aeb8
EZ
148172000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14818
14819 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14820 screen boundary.
14821
9badad41
JR
148222000-01-23 Jason Rumney <jasonr@gnu.org>
14823
14824 * w32fns.c (w32_defined_color): Apply gamma correction before
14825 trying to map to the palette.
14826 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14827 to w32_clear_rect.
14828
14829 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14830 here. Callers changed to always pass real device context.
14831 (w32_draw_bitmap): Likewise.
14832 (w32_get_glyph_overhangs): Likewise.
52283633 14833 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14834 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14835 pfnSetScrollInfo and SetScrollRange.
14836 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14837 back into MULE characters after decoding them.
14838 (x_get_glyph_face_and_encoding): Likewise.
14839 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14840 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14841 (x_produce_glyphs): Calculate per char metrics for a character
14842 that we know exists in default font when font_not_found_p is true.
14843
63bd786b
JR
148442000-01-22 Jason Rumney <jasonr@gnu.org>
14845
14846 * makefile.nt (intervals.obj, composite.obj): New modules.
14847 (composite.h): Added as dependency where appropriate.
14848
14849 * w32gui.h (XGCValue): New struct for emulating X GCs.
14850
14851 * w32term.h (XCharStruct): New struct for emulating X.
14852
14853 * w32console.c (turn_on_face, turn_off_face): New functions.
14854 (change_line_highlight): New prototype for new redisplay.
14855 (write_glyphs): Support multibyte text. Support faces.
14856
52283633 14857 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14858
14859 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14860 throughout. struct frame * in place of FRAME_PTR.
14861 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14862 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14863 (w32_get_arg): Renamed from x_get_arg.
14864 (Fx_file_dialog): New function.
14865 (w32_list_fonts): Check cache before asking system.
14866 (Vw32_enable_synthesized_fonts): New variable.
14867 (Vw32_enable_italics): Obsolete, removed.
14868
14869 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14870 Use SELECTED_FRAME macro.
14871
14872 * w32menu.c: Add skeleton support for help strings on menus.
14873 (add_menu_item): Native checkbox and radio support added, but not
14874 yet enabled due to bugs.
14875 (push_menu_item): Add parameters type, selection and help.
14876 Callers updated.
14877 Formatting changes to reduce unnecessary diffs with xmenu.c.
14878
14879 * w32select.c (Fw32_set_clipboard_data): Update call to
14880 find_charset_in_str.
14881
14882 * w32term.c: Complete rewrite for new redisplay based on new
14883 xterm.c with necessary sections merged back in from old w32term.c.
14884
6ffd3cf7 148852000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14886
14887 * data.c (set_internal): Further fix in same criterion.
14888
6ffd3cf7 148892000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14890
14891 * data.c (set_internal): Fix the criteria for whether
14892 to swap out the old cached binding.
14893
60af03f1
DL
148942000-01-19 Dave Love <fx@gnu.org>
14895
14896 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14897
f9be074f
KH
148982000-01-18 Kenichi Handa <handa@etl.go.jp>
14899
14900 * regex.c (re_compile_fastmap): While checking a range table for
14901 `charset', skip flag bits for a character class correctly.
14902
52b8dbf9
GM
149032000-01-17 Gerd Moellmann <gerd@gnu.org>
14904
d36100c9
GM
14905 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14906
52283633 14907 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14908
14909 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14910 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14911
14912 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14913 MENU_ITEMS_ITEM_.*.
14914 (MENU_ITEMS_ITEM_HELP): New enumerator.
14915 (push_menu_item): Add parameter HELP. Record help in menu_items.
14916 (single_menu_item, single_submenu, list_of_items): Call
14917 push_menu_item with new parameter.
14918 (single_submenu): Set help string in widget value.
14919 (menu_highlight_callback): New function.
14920 (set_frame_menubar): Call lw_create_widget with new
14921 parameter list.
14922 (xmenu_show, xdialog_show): Ditto.
14923
3139018f
GM
149242000-01-13 Gerd Moellmann <gerd@gnu.org>
14925
14926 * sound.c (Fplay_sound): Improve doc string.
14927
83c8f461
RS
149282000-01-11 Richard M. Stallman <rms@gnu.org>
14929
14930 * lisp.h (set_internal): Enter the new arg.
14931
14932 * eval.c (specbind): Record buffer-local variables specially,
14933 indicating which buffer's binding was saved.
14934 (unbind_to): Restore buffer-local variables specially
14935 in the proper buffer.
14936
14937 * data.c (set_internal): New arg BUF.
427ec082 14938
83c8f461
RS
14939 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14940 * data.c (Fset): Pass new arg to set_internal.
14941 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14942
1fab1775
GM
149432000-01-11 Gerd Moellmann <gerd@gnu.org>
14944
52283633 14945 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14946
83c8f461 149472000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14948
14949 * minibuf.c (Ftry_completion): Doc fix.
14950
7a85e4df
GM
149512000-01-11 Gerd Moellmann <gerd@gnu.org>
14952
14953 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14954 vector, too.
14955
a970dae4
AS
149562000-01-11 Andreas Schwab <schwab@suse.de>
14957
14958 * coding.c (code_convert_region): Initialize total_skip.
14959
c65d14ee
DL
149602000-01-08 Dave Love <fx@gnu.org>
14961
14962 * eval.c (Fuser_variable_p): Check customizability too.
14963
834938d2
GM
149642000-01-07 Gerd Moellmann <gerd@gnu.org>
14965
14966 * minibuf.c (Fcompleting_read): Doc fix.
14967
e0303cd6
GM
149682000-01-05 Gerd Moellmann <gerd@gnu.org>
14969
8a26744b
GM
14970 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14971 -L /usr/local/lib.
14972
e0303cd6
GM
14973 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14974 Check that input style is supported before trying to create an
14975 IC for it.
14976 (x_window): Call x_create_im.
427ec082 14977
2e471eb5
GM
149782000-01-04 Gerd Moellmann <gerd@gnu.org>
14979
560a7bd2
GM
14980 * xfns.c (current_gif_memory_src): New variable.
14981 (gif_load): Record the address of the current memory source
14982 in current_gif_memory_src.
14983 (gif_read_from_memory): Use current_gif_memory_src.
14984
f9ee84a3
GM
14985 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14986 macros statement form.
14987
d1299cde
GM
14988 * sound.c (struct sound): Renamed from struct sound_file.
14989 (struct sound): Add members `data' and `header_size'.
14990 (enum sound_attr): Add SOUND_DATA.
14991 (current_sound, current_sound_device): Variables renamed from
14992 sound_file and sound_device.
14993 (parse_sound): Parse :data.
14994 (parse_sound): Handle sound data in strings.
14995 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14996 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14997 needed header size.
14998 (wav_play, au_play): Play sounds from string data.
14999
2e471eb5
GM
15000 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
15001
15002 * lisp.h: Add prototype for allocate_string_data.
15003
52283633 15004 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
15005
15006 * alloc.c (mark_buffer): Remove code in #if 0.
15007 (gc_sweep): Ditto.
15008 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
15009 (strings_consed): New variable.
15010 (allocate_string): Set it.
15011 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
15012 (Fmemory_use_counts): Return strings_consed. Use Flist.
15013
15014 * alloc.c: General cleanup in comments etc. Remove conditional
15015 compilation for `standalone'.
15016
15017 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
15018
15019 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
15020 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
15021 (DONT_COPY_FLAG): Removed.
15022 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
15023 (struct sdata, struct sblock): New
15024 (struct string_block): Rewritten.
15025 (STRINGS_IN_STRING_BLOCK): New macro.
15026 (oldest_sblock, current_sblock, total_strings, total_free_strings)
15027 (large_sblocks, string_blocks, string_free_list): New variables.
15028 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
15029 (init_strings): Rewritten.
15030 (allocate_string, allocate_string_data, compact_small_strings)
15031 (free_large_strings, sweep_strings): New functions.
15032 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
15033 (struct string_block_head, current_string_block)
15034 (first_string_block, large_string_blocks, STRING_FULLSIZE)
15035 (STRING_PAD): Removed.
15036 (make_uninit_multibyte_string, make_pure_string): Rewritten.
15037 (Fgarbage_collect): Don't set mark bit in large strings.
15038 (mark_object): Mark strings differently. Mark symbol names
15039 differently.
15040 (survives_gc_p): Test marked strings differently.
427ec082 15041 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
15042 symbol names.
15043 (compact_strings): Removed.
15044
42608ba8
EZ
150452000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
15046
15047 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
15048 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
15049
e0a09e1a
KH
150502000-01-04 Kenichi Handa <handa@etl.go.jp>
15051
dd9f0750 15052 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 15053 in a non-empty buffer.
dd9f0750 15054
3c0f3b15 15055 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 15056
44cd3ae5
GM
150572000-01-03 Gerd Moellmann <gerd@gnu.org>
15058
15059 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15060 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15061
15062 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15063
c182a70f
EZ
150642000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15065
15066 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15067 need to test for MSDOS frames.
15068
24480d5b
EZ
150692000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15070
15071 * dosfns.c (unspecified_colors): Remove.
15072 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15073 unspecified_bg.
15074 (msdos_stdcolor_name): Return strings for unspecified fore- and
15075 back-ground colors.
15076
15077 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 15078 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
15079 (tty_color_name): Return Lisp strings for unspecified fore- and
15080 back-ground colors.
15081 (Finternal_set_lisp_face_attribute): Remove the special treatment
15082 for Qunspecified_{f,b}g.
52283633 15083 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 15084
047f434a
GM
150852000-01-03 Gerd Moellmann <gerd@gnu.org>
15086
15087 * xdisp.c (reseat_at_next_visible_line_start): Position before
15088 newline only if ending up on a newline.
15089 (next_element_from_ellipsis): Return success. Handle case of
52283633 15090 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
15091 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15092 returns 0.
15093
d684c676
EZ
150942000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15095
15096 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15097 (Fcolor_supported_p): Renamed from face-color-supported-p.
15098
5fe1d139
EZ
150992000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15100
15101 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15102 list of colors renamed to tty-defined-color-alist.
15103 (tty_color_name): Pass the frame to tty-color-by-index.
15104 (realize_tty_face): tty-color-alist is now a function which
15105 accepts the frame as argument.
15106
52283633 15107 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15108
816be8b8
EZ
151092000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15110
15111 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15112 encode_terminal_code.
15113
b635321e
EZ
151142000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15115
15116 * dispnew.c (mode_line_string): Support termcap frames as well.
15117
9b784e96
GM
151182000-01-01 Gerd Moellmann <gerd@gnu.org>
15119
27189709
GM
15120 * syntax.c (Fforward_word): Undo previous change.
15121
15122 * editfns.c (Fconstrain_to_field): Don't constrain if
15123 inhibit-field-text-motion is non-nil.
15124 (Fline_beginning_position): Undo previous change.
15125 (Fline_end_position): Ditto.
15126
15127 * syntax.c (Fforward_word): Notice field boundaries only if
15128 inhibit-field-text-motion is nil.
15129
15130 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15131
15132 * editfns.c (Vinhibit_field_text_motion): New variable.
15133 (inhibit-field-text-motion): New DEFVAR_LISP.
15134 (Fline_beginning_position, Fline_end_position): Notice field
15135 boundaries only if inhibit-field-text-motion is nil.
15136
45158a91
GM
15137 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15138 All calls adjusted.
15139 (x_build_heuristic_mask): Likewise.
15140 (xbm_load_image_from_file): Change error output.
15141 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15142 (gif_load, gs_load, x_kill_gs_process): Ditto.
15143
9b784e96
GM
15144 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15145 color indices when accessing raster pixels.
63cec32f
GM
15146 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15147 one of :file or :data.
15148 (enum pbm_keyword_index): Add PBM_DATA.
15149 (pbm_format): Add :data.
15150 (pbm_image_p): Allow either :file or :data.
15151 (pbm_read_file): New function.
15152 (pbm_scan_number): Rewritten to read from string.
15153 (pbm_load): Support :data.
9b784e96 15154
2cb085db 15155See ChangeLog.8 for earlier changes.
6922b018
KH
15156
15157;; Local Variables:
49b3bd82 15158;; coding: iso-2022-7bit
6922b018 15159;; End:
2a34a036
GM
15160
15161 Copyright (C) 2001 Free Software Foundation, Inc.
15162 Copying and distribution of this file, with or without modification,
15163 are permitted provided the copyright notice and this notice are preserved.