bootstrap should not delete dumped executables:
[bpt/emacs.git] / src / ChangeLog
CommitLineData
2fa0eedf
RS
12001-11-26 Richard M. Stallman <rms@gnu.org>
2
3 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
4
5c131048
SM
52001-11-25 Stefan Monnier <monnier@cs.yale.edu>
6
7 * textprop.c (set_text_properties_1): Clearly mark that the
8 interval should not be empty.
9
10 * intervals.c (graft_intervals_into_buffer):
11 Don't call set_text_properties_1 on an empty interval.
12
96d276c3
RS
132001-11-25 Richard M. Stallman <rms@gnu.org>
14
6108b49c
RS
15 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
16
96d276c3
RS
17 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
18 don't lose the data in it.
19
5eea19a4
RS
202001-11-25 Juanma Barranquero <lektu@terra.es>
21
22 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
23
24 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
25
26 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
27
438e57dd
SM
282001-11-25 Stefan Monnier <monnier@cs.yale.edu>
29
30 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
31
59ce1461
JR
322001-11-25 Jason Rumney <jasonr@gnu.org>
33
34 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
35
36 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
37 (Fx_show_tip): Block input during frame creation.
38 (Fx_show_tip, Fx_hide_tip): Enable.
39
8727d588
RS
402001-11-24 Richard M. Stallman <rms@gnu.org>
41
42 * lread.c (Fload): Detect recursive load error for more than 3
43 nestings of the same file.
44 (Vrecursive_load_depth_limit): Variable deleted.
45 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
46
cc63037e
JR
472001-11-24 Jason Rumney <jasonr@gnu.org>
48
49 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
50 mouse position if either left or top is not specified.
51
52 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
53 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
54 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
55 (my_create_tip_window): Assign tip_window.
56 (x_create_tip_frame): Use same defaults as X.
57 (compute_tip_xy): Remove unused variable. Use full screen width.
58 (Fx_show_tip): Do not double height. Call ShowWindow directly.
59
60 * w32term.c (x_after_update_window_line): Doc fix.
61 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
62 frames.
63 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
64
65 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
66 for all Windowed systems.
67
deece6f5
EZ
682001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
69
70 * msdos.c (IT_clear_screen): If the frame's faces are not yet
71 realized, use the initial screen colors to clear the screen.
72
1b944d9c
PJ
732001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
74
28ff4293
PJ
75 * textprop.c (Fset_text_properties): Remove unused variables
76 `unchanged', `prev_changed', `s' and `len'.
77
56167cc5
PJ
78 * search.c (Freplace_match): Remove unused variable `inslen'.
79
1b944d9c
PJ
80 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
81
ca56d953
JR
822001-11-22 Jason Rumney <jasonr@gnu.org>
83
84 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
85 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
86 (my_create_tip_window): New function.
87 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
88 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
89
33399dce
JR
902001-11-20 Jason Rumney <jasonr@gnu.org>
91
92 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
93 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
94
95 * w32fns.c (Vw32_system_coding_system): Remove.
96 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
97
9b46de40
SM
982001-11-19 Stefan Monnier <monnier@cs.yale.edu>
99
6710ea06
SM
100 * fileio.c (Fwrite_region): Move choose_write_coding_system to
101 after build_annotations.
102
a395ef6a
SM
103 * syntax.c (describe_syntax): Add dummy arg.
104 (describe_syntax_1): Update call to describe_vector.
105
106 * category.c (describe_category): Add dummy arg.
107 (describe_category_1): Update call to describe_vector.
108
109 * keymap.c (Fdescribe_vector): Add `describer' parameter.
110 (describe_command, describe_translation): Add dummy second param.
111 (describe_map): Call elt_describer with two arguments.
112 (describe_vector_princ): Add `fun' parameter.
113 Call it instead of the hardcoded `princ'.
114 (describe_vector): Add arg `args'.
115 Pass it as a new second argument to elt_describer.
116
117 * keymap.h (describe_vector): Update prototype.
118
9b46de40
SM
119 * frame.c: Don't include keymap.h any more.
120 (keys_of_frame): Remove.
121
122 * lisp.h (keys_of_frame): Remove declaration.
123
124 * emacs.c (main): Don't call `keys_of_frame' any more.
125
aff37336
SS
1262001-11-14 Andreas Schwab <schwab@suse.de>
127
128 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
129 if defined, 0 otherwise.
9b46de40 130 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
131 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
132
b9937f07
RS
1332001-11-19 Richard M. Stallman <rms@gnu.org>
134
135 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
136
2cd23960
JR
1372001-11-18 Jason Rumney <jasonr@gnu.org>
138
139 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
140 (x_draw_bar_cursor): If the background color of the glyph under
141 the cursor equals the frame's cursor color, use the glyph's
142 foreground color for drawing the bar cursor.
143 (x_after_update_window_line): Clear internal border in different
144 circumstances.
145 (w32_set_vertical_scroll_bar): Check for width and height > 0.
146 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
147 (x_set_glyph_string_background_width):
148 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
149 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
150 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
151 if cursor_in_non_selected_windows is false.
9b46de40 152 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
153 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
154 Notice if cursor gets overwritten.
155 (notice_overwritten_cursor): Renamed from
156 note_overwritten_text_cursor. Rewritten to take glyph widths
157 into account, and to take X positions as parameters.
158 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
159 around call to x_draw_glyphs.
160 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
161 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
162 color to use for image glyph reliefs.
163 (x_draw_image_relief): Accept zero tool_bar_button_relief.
164 (glyph_rect): Remove unused variable `area'.
165
166 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
167 some items.
168 (x_set_internal_border_width): Set frame garbaged when window
169 doesn't exist yet.
170 (Fx_create_frame): Accept zero tool_bar_button_relief.
171 (x_clear_image_1, four_corners_best, image_background)
172 (image_background_transparent): New functions.
173 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
174 (gs_format): Add `:background' entry.
175 (lookup_image): Set IMG's background color if specified.
176 (pbm_load, xbm_load_image, png_load): Set IMG's background field
177 when appropriate.
178 (x_clear_image_1): Reset `background_valid' and
179 `background_transparent_valid' fields.
180 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
181 calculating it here. Set IMG's background_transparent field.
182 (enum xpm_keyword_index): Add XPM_BACKGROUND.
183 (enum png_keyword_index): Add PNG_BACKGROUND.
184 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
185 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
186 (enum gif_keyword_index): Add GIF_BACKGROUND.
187 (enum gs_keyword_index): Add GS_BACKGROUND.
188 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
189 Pre-calculate image background color where necessary.
9b46de40
SM
190 (x_create_x_image_and_pixmap, xbm_load, gs_load):
191 Use display info's n_cbits entry for screen depth.
2cd23960
JR
192 (Fx_show_tip): Remove unused variables `buffer', `top',
193 `left', `max_width' and `max_height'.
194
195 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
196
a4184c1c
GM
1972001-11-18 Gerd Moellmann <gerd@gnu.org>
198
199 * puresize.h (BASE_PURESIZE): Increase to 750000.
200
f6fa0866
PJ
2012001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
202
203 * frame.c (Fframe_live_p): Doc fix.
204
f4ca4b00
RS
2052001-11-18 Richard M. Stallman <rms@gnu.org>
206
207 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
208 (message_dolog_marker3): New static variables hold three markers.
209 (syms_of_xdisp): Initialize and staticpro them.
210 (message_dolog): Use message_dolog_marker1..3 instead of
211 allocating markers each time. Unchain them when done.
212
f4e25f94
RS
2132001-11-17 Richard M. Stallman <rms@gnu.org>
214
215 * doc.c (Fsnarf_documentation): Doc fix.
216
91c153e2
AS
2172001-11-17 Andreas Schwab <schwab@suse.de>
218
219 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
220
65b7d3e7
RS
2212001-11-17 Richard M. Stallman <rms@gnu.org>
222
223 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
224
6b5f6311
JR
2252001-11-17 Jason Rumney <jasonr@gnu.org>
226
227 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
228
be676094
GM
2292001-11-17 Gerd Moellmann <gerd@gnu.org>
230
231 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
232 with invalid position.
233
032a857d
RS
2342001-11-16 Richard M. Stallman <rms@gnu.org>
235
236 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
237
238 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
239 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
240 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
241
242 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
243
b6270150
SM
2442001-11-16 Stefan Monnier <monnier@cs.yale.edu>
245
246 * fileio.c (build_annotations): Split off the tail.
247 (build_annotations_2): New fun. Extracted from build_annotations.
248 (Fwrite_region): Split the call to build_annotations into two
249 calls to build_annotations and build_annotations_2.
250
792e5cbd
PJ
2512001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
252
98cbb9fa
PJ
253 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
254 clear_waiting_for_input with argument.
255
256 * xterm.h (x_update_cursor): Remove duplicated prototype.
257
b6270150 258 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 259
ea904403 260 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 261
ea904403 262 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 263
fa336b91
SM
2642001-11-16 Stefan Monnier <monnier@cs.yale.edu>
265
266 * fileio.c (choose_write_coding_system): New fun, extracted
267 from Fwrite_region.
268 (Fwrite_region): Use it.
269
270 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
271 (funcall_lambda, run_hook_with_args): Make static and add prototype.
272 (ml_apply, find_handler_clause): Add prototype.
273
077907d4
EZ
2742001-11-16 Eli Zaretskii <eliz@gnu.org>
275
aa2af83a
EZ
276 * config.in: Add #undef HAVE_COFF_H.
277
077907d4
EZ
278 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
279 Required for ISC 4.1.
280
1756e2fb
EZ
2812001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
282
283 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
284 Andrew Wiseman <a.wiseman@btclick.com>.
285
06e8f738
KS
2862001-11-16 Kim F. Storm <storm@cua.dk>
287
288 The following changes are made to clean up the various internal
289 references to the fringes to actually use the term `fringe' for
290 them. Previously, they were called `flags areas', `bitmap areas',
291 `left/right side of windows', or implicitly as `flags' or
292 `bitmaps':
293
294 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
295 Comments fixed. Use renamed symbols.
fa336b91 296
06e8f738 297 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 298
06e8f738
KS
299 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
300 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
301 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 302
06e8f738 303 * msdos.c: Comment fix.
fa336b91 304
06e8f738 305 * w32fns.c: Use renamed symbols.
fa336b91 306
06e8f738
KS
307 * w32term.c: Comment fixes. Use renamed symbols.
308 (fringe_bitmap_type): Renamed from bitmap_type.
309 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
310 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
311 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 312
06e8f738
KS
313 * w32term.h: Comment fixes. Use renamed symbols.
314 (fringes_extra): Renamed from flags_areas_extra.
315 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
316 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
317 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
318 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
319 (FRAME_X_LEFT_FRINGE_WIDTH):
320 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
321 (FRAME_X_RIGHT_FRINGE_WIDTH):
322 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
323
06e8f738 324 * widget.c: Use renamed symbols.
fa336b91 325
06e8f738
KS
326 * window.c: Comment fixes. Use renamed symbols.
327 (coordinates-in-window-p): Doc fix.
fa336b91 328
06e8f738 329 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 330
06e8f738 331 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 332
06e8f738 333 * xfns.c: Use renamed symbols.
fa336b91 334
06e8f738
KS
335 * xterm.c: Comment fixes. Use renamed symbols.
336 (fringe_bitmap_type): Renamed from bitmap_type.
337 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
338 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
339 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
340
341 * xterm.h: Comment fixes. Use renamed symbols.
342 (fringes_extra): Renamed from flags_areas_extra.
343 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
344 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
345 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
346 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
347 (FRAME_X_LEFT_FRINGE_WIDTH):
348 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
349 (FRAME_X_RIGHT_FRINGE_WIDTH):
350 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 351
9ce647f4
JR
3522001-11-15 Jason Rumney <jasonr@gnu.org>
353
354 * w32menu.c (add-menu-item): Make help_echo and radio buttons
355 work for most menu items. From David Ponce
356 <david.ponce@wanadoo.fr>.
357
9b784ab8
GM
3582001-11-15 Gerd Moellmann <gerd@gnu.org>
359
9f7e52b4
GM
360 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
361 Some x_set_* function expect to be called even if old and new
362 value are equal.
363
364 * xdisp.c (build_desired_tool_bar_string): Accept zero
365 tool_bar_button_relief.
366
367 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
368
369 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 370
34e5d0af
GM
371 * xterm.c (x_draw_bar_cursor): If the background color of the
372 glyph under the cursor equals the frame's cursor color, use
373 the glyph's foreground color for drawing the bar cursor.
374
9b784ab8
GM
375 * dispnew.c (direct_output_forward_char): Fix character/byte
376 position comparison.
377
89512fcd
MB
3782001-11-15 Miles Bader <miles@gnu.org>
379
380 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
381 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
382 Update arguments to find_field.
383 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
384 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
385 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
386 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
387
7d18891d
RS
3882001-11-14 Richard M. Stallman <rms@gnu.org>
389
d2936d21
RS
390 * editfns.c (Fpropertize): Allow call with 1 arg.
391
7d18891d
RS
392 * dispextern.h (image_background, image_background_transparent):
393 Conditionalize on HAVE_X_WINDOWS.
394
3952001-11-13 Richard M. Stallman <rms@gnu.org>
396
397 * print.c (Fprin1_to_string): Doc fix.
398
399 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
400
401 * floatfns.c (Fceiling, Ffloor): Doc fixes.
402
403 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
404
405 * fileio.c (Ffile_accessible_directory_p): Doc fix.
406
407 * eval.c (syms_of_eval): Doc fix.
408
409 * coding.c (syms_of_coding): Doc fix.
410
411 * doc.c (Fsnarf_documentation): Doc fix.
412
413 * dispnew.c (syms_of_display): Doc fix.
414
415 * category.c (Fget_unused_category): Doc fix.
416
417 * buffer.c (syms_of_buffer): Doc fixes.
418
9474c847
EZ
4192001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
420
421 * print.c (prin1, print): Doc fix.
422
e3059a5d
PJ
4232001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
424
2b6f3c2b 425 * fontset.h: Remove declarations of variables
e3059a5d
PJ
426 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
427
428 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
429 `Vclip_large_size_font'.
430
b3700ae7
JR
4312001-11-13 Jason Rumney <jasonr@gnu.org>
432
433 * w32fns.c: Doc fix.
434
eae936e2
PJ
4352001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
436
4bb962be
PJ
437 * xfaces.c (Fface_attributes_as_vector): Doc fix.
438
0a332240
PJ
439 * w32fns.c (Fx_synchronize): Reindent.
440
ddb67bdc
PJ
441 * fns.c: Doc fix.
442
3467c402
PJ
443 * emacs.c: Doc fix.
444
445 * coding.c: Doc fix.
446
6e1b91d7
PJ
447 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
448 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
449 `new style' [w/`doc:' keyword].
450
f6e34773
PJ
451 * xmenu.c (x-popup-menu): Reindent.
452 (x-popup-dialog): Likewise.
453
fa336b91 454 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 455
c2552f79
PJ
456 * xdisp.c (Fdump_tool_bar_row): Reindent.
457
94c7167b
PJ
458 * minibuf.c (Fminibuffer_complete_word): Reindent.
459 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 460 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
461 (Fminibuffer_message): Likewise.
462
462a5e3a
PJ
463 * fns.c (Freverse): Reindent.
464
b8de5714
PJ
465 * eval.c (Fif): Reindent.
466 (Fand): Likewise.
467
deb8e082
PJ
468 * editfns.c (Fuser_real_login_name): Reindent.
469 (Finsert_buffer_substring): Likewise.
470 (Fcompare_buffer_substrings): Likewise.
471 (Fsubst_char_in_region): Likewise.
472
bacf09b4
PJ
473 * dispnew.c (Fsit_for): Reindent.
474 (Fframe_or_buffer_changed_p): Likewise.
475 (Finternal_show_cursor_p): Likewise.
476 (syms_of_display): Likewise.
477
eae936e2
PJ
478 * alloc.c (Flist): Reindent.
479 (Fvector): Likewise.
480
1c1d3d69
RS
4812001-11-12 Richard M. Stallman <rms@gnu.org>
482
483 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
484 LeaveNotify events. Only FocusIn and FocusOut do that now.
485 (x_display_and_set_cursor): Do display hollow cursors in active
486 minibuffer windows when they are not selected.
487
b6f4c7ba
JR
4882001-11-12 Jason Rumney <jasonr@gnu.org>
489
490 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
491 * w32term.c: Change doc-string comments to `new style'.
492 [w/`doc:' keyword]. Doc fixes.
493
494 * w32fns.c: Don't define max.
495 (Fx_open_connection): Only execute once.
496
a89f435d
PJ
4972001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
498
499 * ccl.c: Change macros to use do-while block instead of if-else.
500 Use braces to follow GNU Coding Standards.
501
a4cd0cd7
RS
5022001-11-11 Richard M. Stallman <rms@gnu.org>
503
eafb659a
RS
504 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
505
506 * lread.c (read_escape): Use end_of_file_error for reporting eof.
507
a4cd0cd7
RS
508 * insdel.c (replace_range): Use adjust_markers_for_replace
509 instead of adjust_markers_for_delete and adjust_markers_for_insert.
510
511 * intervals.h: Declare set_text_properties and set_text_properties_1.
512
513 * textprop.c (set_text_properties_1): New subroutine
514 broken out of set_text_properties.
515 (set_text_properties): Use set_text_properties_1.
516
517 * intervals.c (graft_intervals_into_buffer):
518 Use set_text_properties_1 to clear out properties.
519
520 * search.c (Freplace_match): Use replace_range to insert
521 and delete. Don't request property inheritance from
522 surrounding text.
523
91823618
JR
5242001-11-10 Jason Rumney <jasonr@gnu.org>
525
526 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
527 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 528 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 529
86928dfb
GM
5302001-11-10 Gerd Moellmann <gerd@gnu.org>
531
fa336b91 532 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
533 instead of malloc/free.
534
40ef1eda
PJ
5352001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
536
ab8469eb
PJ
537 * xfaces.c (merge_face_vectors): Use braces to follow GNU
538 Coding Standards.
539 (Finternal_set_lisp_face_attribute): Likewise.
540
a78e0303
PJ
541 * buffer.c (Fbury_buffer): Likewise.
542
40ef1eda
PJ
543 * indent.c (current_column_1): Remove unused variable `prev_col'.
544
fabf4a91
PJ
545 * coding.c (encode_coding): Use precomputed value of `src'.
546 (encode_coding): Remove unused variable `src_end'.
547 (code_convert_region): Remove unused variables `count'.
548
0c99b139
JR
5492001-11-07 Jason Rumney <jasonr@gnu.org>
550
551 * w32term.c (x_display_and_set_cursor): Do not move system caret
552 if cursor_glyph is NULL.
553
830ddd77
PJ
5542001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
555
556 * keymap.c (access_keymap): Fix compilation error.
557
55c6d645
MB
5582001-11-07 Miles Bader <miles@gnu.org>
559
560 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
561
5de38842
PJ
5622001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
563
7a4564a4
PJ
564 * intervals.c (graft_intervals_into_buffer):
565 Remove #ifdef'd-out code.
566 (graft_intervals_into_buffer): Remove unused variable `middle'.
567
5de38842
PJ
568 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
569 code (eval-current-buffer).
570 Change doc-string comments to `new style' [w/`doc:' keyword].
571
4fa23df5
RS
5722001-11-06 Richard M. Stallman <rms@gnu.org>
573
574 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
575
7a6a97d7
SM
5762001-11-06 Stefan Monnier <monnier@cs.yale.edu>
577
c191d13c
SM
578 * lread.c (read1): Fix behavior with nested backquoting.
579
7a6a97d7
SM
580 * keyboard.c (make_lispy_event): Check integerness and fix
581 Lisp_Object/int mixup.
582
44dc78e0
PJ
5832001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
584
585 * fns.c (copy_hash_table): Remove unused variable `v'.
586
17893c65
PJ
587 * fontset.c (fontset_font_pattern): Remove unused variable
588 `family_registry'.
589
4d994a79
PJ
590 * indent.c (current_column_1): Remove unused variable `prev_col'.
591
d5360cc7
RS
5922001-11-05 Richard M. Stallman <rms@gnu.org>
593
594 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
595
596 * buffer.c (Fkill_buffer): Don't delete auto save file
597 if buffer is modified.
598
96238a5a
AI
5992001-11-05 Andrew Innes <andrewi@gnu.org>
600
601 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
602 CHECK_NUMBER_CDR.
603
d9d54213
RS
6042001-11-05 Richard M. Stallman <rms@gnu.org>
605
606 * unexelf.c (unexec): Minor changes; clean up comments.
607
b116830b
SS
6082001-11-05 Sam Steingold <sds@gnu.org>
609
610 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
611
3297e2a1
AS
6122001-11-05 Andreas Schwab <schwab@suse.de>
613
614 * sound.c (sound_perror): Save errno from being clobbered.
615
9212319f 6162001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
617
618 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
619 the program image directly.
620
7dd73b78
PJ
6212001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
622
623 * buffer.h (Fbuffer_local_value): Add prototype.
624
982f6c7e
RS
6252001-11-04 Richard M. Stallman <rms@gnu.org>
626
d31053f9
RS
627 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
628 and CHECK_BUFFER.
629
630 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
631 (record_char): Likewise.
632
633 * keyboard.c (make_lispy_event): Don't insist a drag event must
634 move to a different buffer position. Instead, check for moving at
635 least double_click_fuzz.
636
637 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
638
639 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
640
982f6c7e
RS
641 * indent.c (current_column_1, Fmove_to_column): Separate the code
642 for display-table glyphs from the code buffer text, to fix
643 bugs in the former.
644
830047fd
RS
6452001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
646
647 * buffer.c (Fbuffer_local_value): New function.
c191d13c 648 (syms_of_buffer): Defsubr it.
b116830b 649
830047fd
RS
650 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
651 value of `cursor-in-non-selected-windows'.
652
653 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
654 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
655 (syms_of_xdisp): Initialize it.
b116830b 656
2df5238c
PJ
6572001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
658
4e397688
PJ
659 * xfns.c (Fx_create_frame): Doc fix.
660
48b0f3ae
PJ
661 * coding.c: Change doc-string comments to `new style' [w/`doc:'
662 keyword].
663
2df5238c
PJ
664 * eval.c (top_level_value, top_level_set): Remove commented and
665 #ifdef'd-out code.
666 (Fdefvar): Fix usage in doc-string.
667
3ecaf7e5
RS
6682001-11-03 Richard M. Stallman <rms@gnu.org>
669
670 * xfns.c: Include unistd.h, if it exists.
671
672 * editfns.c: Move the include of ctype.h after unistd.h.
673
674 * gmalloc.c: Test BROKEN_PROTOTYPES.
675
8db2e33b
KR
6762001-11-03 Ken Raeburn <raeburn@gnu.org>
677
678 * lisp.h (CHECK_STRING_CAR): New macro.
679 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
680 treating XCAR and XCDR as lvalues.
681 (openp): Use CHECK_STRING_CAR.
682 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
683
aed29b97
EZ
6842001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
685
686 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 687 (SIGMASKTYPE): Define.
aed29b97
EZ
688
689 * syssignal.h (sigunblock): Don't define if already defined.
690
6cb16f95
PJ
6912001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
692
16b45be4
EZ
693 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
694 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
695 Fix typos in comments.
696
020f9b38
PJ
697 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
698 and #ifdef'd-out code.
699 Fix and reindent comments.
700
c191d13c 701 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 702
6cb16f95
PJ
703 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
704 argument `i' in macros.
705
706 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
707 `i' in macros.
708
16b45be4
EZ
709 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
710 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
711 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
712 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
713 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
714 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
715 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
716 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
717 in macros.
718
719 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
720 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
721 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
722 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
723 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
724 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
725 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
726 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
727 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
728 (remove unused second argument).
729
7e9d3c2f
SM
7302001-11-02 Stefan Monnier <monnier@cs.yale.edu>
731
732 * syntax.c (describe_syntax): New wrapper.
733 (Finternal_describe_syntax_value): Rename from describe_syntax.
734 Don't insert space at front and \n at the end.
735 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
736
737 * regex.c (re_wctype): Try to fix some warnings.
738 (regcomp, regexec): Don't forget the __restrict.
739
e6bff182
RS
7402001-11-02 Richard M. Stallman <rms@gnu.org>
741
742 * textprop.c (Fget_char_property): Doc fix.
743
9ba48103
PJ
7442001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
745
746 * process.c (Fstart_process): Add usage to doc-string.
747
748 * data.c (Fsetq_default): Ditto.
749
750 * callint.c (Finteractive): Ditto.
751
c22e59e1
SM
7522001-11-01 Stefan Monnier <monnier@cs.yale.edu>
753
754 * macros.c: Don't include keymap.h any more.
755
9271ed2c
RS
7562001-11-01 Richard M. Stallman <rms@gnu.org>
757
e6bff182
RS
758 * data.c (Fmake_local_variable): Doc fix.
759
760 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
761 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
762
9271ed2c
RS
763 * keymap.c (Fdescribe_buffer_bindings): Print character property
764 bindings along with or instead of the buffer local map.
765 Make the overriding maps override what they should.
766
8b8bd9c6
PJ
7672001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
768
769 * window.c (grow_mini_window): Fix typo in comment.
770
27188d11
GM
7712001-11-01 Gerd Moellmann <gerd@gnu.org>
772
7b49b9d2
GM
773 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
774 (XTset_vertical_scroll_bar): Likewise.
775
43f7c3ea
GM
776 * xfns.c (x_build_heuristic_mask): Use four_corners_best
777 instead of IMAGE_BACKGROUND.
c22e59e1 778
b350c2e5
GM
779 * xfns.c (four_corners_best): Reindent.
780
c22e59e1 781 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
782 Handle :box so that it is possible to specify sexprs.
783
d576358b
PJ
7842001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
785
786 * xfaces.c (Finternal_merge_in_global_face): Reindent.
787 (Fface_font): Ditto.
788 (Finternal_set_alternative_font_registry_alist): Ditto.
789 (Ftty_suppress_bold_inverse_default_colors): Ditto.
790
791 * xfns.c (x-get-resource): Reindent.
792
bf00d461
EZ
7932001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
794
795 * s/hpux11.h: New file.
796
4e10df59
PJ
7972001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
798
2b209b97
PJ
799 * emacs.c (USAGE1): Show command line option --no-window-system
800 instead of --no-windows in usage.
801 (standard_args): Rename --no-windows to --no-window-system.
802 (bug_reporting_address): Follow Emacs coding conventions.
803
9dbc9081
PJ
804 * eval.c (Fcommandp): Doc fix.
805 Change doc-string comments to `new style' [w/`doc:' keyword].
806
4e10df59
PJ
807 * frame.c (Fframe_live_p): Doc fix.
808
809 * buffer.c (selective-display-ellipses): Doc fix.
810
dd387b25
GM
8112001-10-31 Gerd Moellmann <gerd@gnu.org>
812
fe957e65
GM
813 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
814
dd387b25
GM
815 * xfaces.c (realize_x_face): If C is not a single-byte character,
816 set the face's colors_copied_bitwise_p instead of the defaulted_p
817 members which have a different meaning.
818 (free_face_colors): Do nothing for a face whose colors have been
819 copied bitwise.
820
c22e59e1 821 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 822
2e1280f8
PJ
8232001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
824
687784e8
PJ
825 * marker.c, mocklisp.c: Change doc-string comments to `new style'
826 [w/`doc:' keyword].
2e1280f8 827
b9d9a9b9
GM
8282001-10-31 Gerd Moellmann <gerd@gnu.org>
829
830 * fns.c (require_unwind): Return Lisp_Object.
831
48400103
PJ
8322001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
833
fa1361cb
PJ
834 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
835 (last-input-char): Revert doc-string to be the same as the
836 doc-string of `last-input-event'.
837
48400103
PJ
838 * xdisp.c: Fix typos in comments.
839
eafa3196
GM
8402001-10-31 Gerd Moellmann <gerd@gnu.org>
841
842 * window.c (grow_mini_window): Handle case that the root
843 window is already smaller than the nominal mininum height.
844
747d3f2a
SM
8452001-10-30 Stefan Monnier <monnier@cs.yale.edu>
846
bf9bb76f
SM
847 * emacs.c (main): Don't call keys_of_macros any more.
848
849 * lisp.h (keys_of_macros): Remove.
850
851 * macros.c (keys_of_macros): Remove.
852
747d3f2a
SM
853 * xfaces.c (Fface_attribute_relative_p): Declare args.
854
5e905a57
JR
8552001-10-30 Jason Rumney <jasonr@gnu.org>
856
857 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
858 (enum_font_cb2): Ignore fonts with vertical orientation.
859
3a426197
RS
8602001-10-30 Richard M. Stallman <rms@gnu.org>
861
862 * keyboard.c (Finput_pending_p): Doc fix.
863
a742d646
GM
8642001-10-30 Gerd Moellmann <gerd@gnu.org>
865
259cf6bc
GM
866 * xterm.c (x_after_update_window_line): Don't run the code
867 clearing in borders for rows whose visible height is 0.
868
3f99f948
GM
869 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
870 resized_p flag is set. If not set, use the much less flickering
871 method previously used.
872
873 * dispnew.c (change_frame_size_1): Set frame's resized_p.
874
875 * frame.h (struct frame) <resized_p>: New member.
876
b4a3be43
GM
877 * lread.c (to_multibyte): Ensure read_buffer is at least twice
878 as large as the number of bytes to convert.
747d3f2a 879
a742d646
GM
880 * lread.c (to_multibyte): New function.
881 (read1): Use it.
882
cacbb9e9
EZ
8832001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
884
885 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
886
99cb6b2f
GM
8872001-10-30 Gerd Moellmann <gerd@gnu.org>
888
327f42ee 889 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
890 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
891 if the row's fill_line_p is set and drawing the last glyph with
892 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 893
99cb6b2f
GM
894 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
895
8e8223e2
SM
8962001-10-29 Stefan Monnier <monnier@cs.yale.edu>
897
898 * xmenu.c: Include coding.h and charset.h.
899 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
900 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
901 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
902 Explicitly set wv->help. Use `TRUE' rather than `True'.
903 (menu_help_callback): Use empty_string.
904
905 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
906 (Fx_popup_dialog): Explicitly init f.
907 (w32_menu_display_help): Use empty_string.
908
4d083a8f
RS
9092001-10-29 Richard M. Stallman <rms@gnu.org>
910
b2304472
RS
911 * fns.c (Frequire): Detect recursive try to require the same
912 feature 3 or more levels deep, and get error.
913 (require_unwind): New subroutine.
914 (require_nesting_list): New variable.
915 (syms_of_fns): Init and staticpro it.
916
4d083a8f
RS
917 * print.c (print_object): Clarify indication of insertion type.
918
2fe41216
EZ
9192001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
920
90480000
EZ
921 * coding.c (syms_of_coding): Document that locale-coding-system is
922 used for decoding input on X.
923
2fe41216
EZ
924 * window.c (Fscroll_left, Fscroll_right): Doc fix.
925
74e79967
PJ
9262001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
927
928 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
929 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
930
60ebcfe8
GM
9312001-10-29 Gerd Moellmann <gerd@gnu.org>
932
9a7bdceb
GM
933 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
934 use NO_CURSOR if cursor_in_non_selected_windows is false.
935
3f08fcd2
GM
936 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
937 the slant attribute if FRAME is t.
938
0ccfdad2
GM
939 * xfns.c (x_set_internal_border_width): Set frame garbaged
940 when X window doesn't exist yet.
941
ef253080
GM
942 * xterm.c (x_after_update_window_line): Clear internal border
943 in different circumstances.
b116830b 944
60ebcfe8
GM
945 * xterm.c (XTread_socket) <KeyPress>: Don't use
946 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
947 <handa@etl.go.jp>.
948
73d25f9c
EZ
9492001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
950
951 * m/ibms390.h: New file. From Adam Thornton
952 <athornton@sinenomine.net>.
953
cac1daf0
GM
9542001-10-28 Gerd Moellmann <gerd@gnu.org>
955
053b3256 956 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 957
cac1daf0
GM
958 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
959 a loop counter.
960
13b1a09c
PJ
9612001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
962
186486eb
PJ
963 * emacs.c: Use argv[0] instead of emacs when -t was specified.
964
4707d2d0
PJ
965 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
966 keyword].
967 Fix typos in comments.
b116830b 968
d883731c
PJ
969 * emacs.c (bug_reporting_address): New function.
970 Use it when displaying usage message.
971
04012254
PJ
972 * minibuf.c (read_minibuf): Remove unused external declaration of
973 variable `Qread_only'.
974
13b1a09c
PJ
975 * keymap.c (access_keymap): Remove unused variable `charset'.
976
5bbf4378
MB
9772001-10-28 Miles Bader <miles@gnu.org>
978
979 * xfaces.c (merge_face_heights): Handle TO being relative as well.
980 Remove #ifdef'd-out code.
981 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
982 (syms_of_xfaces): Initialize them.
983
1ce1e4ee
JR
9842001-10-27 Jason Rumney <jasonr@gnu.org>
985
986 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
987 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
988 position using the system caret.
989
990 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
991 (w32_system_caret_height, w32_system_caret_x)
992 (w32_system_caret_y): New variables for tracking system caret.
993 (w32_initialize): Initialize them.
c2d53558 994 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 995
c2d53558
SM
996 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
997 New messages types.
1ce1e4ee
JR
998
999 * w32term.c (note_mouse_highlight): Clear old help_echo.
1000
4e30ce42
PJ
10012001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1002
bb4600a4
PJ
1003 * xterm.c: Fix typo in a comment.
1004
7db35a48
PJ
1005 * emacs.c: Fix typos in comments.
1006 Remove unnecessary spaces.
1007 Change doc-string comments to `new style' [w/`doc:' keyword].
1008 (USAGE2): Fix typos in usage string.
1009
a7248e4f
PJ
1010 * xterm.c: Fix typo in a comment.
1011
4e30ce42
PJ
1012 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1013 emacs.c.
1014
62725a92
GM
10152001-10-27 Gerd Moellmann <gerd@gnu.org>
1016
798dbe1f 1017 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1018 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1019 farther backward when target_y was not reached.
1020
62725a92
GM
1021 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1022 Display errno only if non-zero.
1023 (sound_warning): New function.
1024 (vox_configure): Don't treat failing to set sample rate as error.
1025 (various places): Improve error messages.
1026
d4e34d24
EZ
10272001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1028
944e6f60
EZ
1029 * fileio.c (Faccess_file): Run the argument filename through
1030 Fexpand_file_name, before using it.
1031
d4e34d24
EZ
1032 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1033 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1034
38d2af0c
GM
10352001-10-26 Gerd Moellmann <gerd@gnu.org>
1036
da80a8d5
GM
1037 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1038
38d2af0c
GM
1039 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1040 Fix clearing in the case of scroll bars on the right.
c2d53558 1041
56f508dd
EZ
10422001-10-26 Juanma Barranquero <lektu@terra.es>
1043
1044 * w32gui.h (XImage): Add a dummy typedef.
1045
fbd5ceb2
GM
10462001-10-26 Gerd Moellmann <gerd@gnu.org>
1047
c2d53558 1048 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1049
b23236fb
EZ
10502001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1051
1052 * frame.c (Fframe_parameter): Fix last change.
1053
5d991fc4
EZ
1054 * fileio.c: Revert last change (which removed old commented-out
1055 version of expand-file-name). Add a comment that explains why
1056 this old version should not be removed.
1057
879eadc3
GM
10582001-10-25 Gerd Moellmann <gerd@gnu.org>
1059
75700ff2
GM
1060 * frame.c (Fframe_parameter): Fix a bug whereby some
1061 ``artificial'' frame parameters, like `minibuffer' were not
1062 obtained by calling Fframe_parameters.
1063
dfe92a6a
GM
1064 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1065 cursor differently.
1066
879eadc3
GM
1067 * xdisp.c (move_it_vertically_backward): Compute line height
1068 differently. Add heuristic to try to be more compatible to 20.x.
1069
e1010ebe
SM
10702001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1071
d73a471b
SM
1072 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1073
d6da5a06
GM
1074 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1075 boolean.
e1010ebe 1076
f66bd220
MB
10772001-10-25 Miles Bader <miles@gnu.org>
1078
1079 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1080 BG is a pointer to a structure, not a structure.
1081 (gif_format, png_format): Add missing commas.
1082
d436d538
RS
10832001-10-24 Richard M. Stallman <rms@gnu.org>
1084
1085 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1086 (syms_of_xfaces): Defsubr it.
d436d538 1087
075c507b
PJ
10882001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1089
1090 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1091 variable `area'.
1092
d492b584
PJ
10932001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1094
c2d53558 1095 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1096
e2a57b34
MB
10972001-10-25 Miles Bader <miles@gnu.org>
1098
1099 * dispextern.h (struct image): Add `background',
1100 `background_valid', and `background_transparent' fields.
1101 (image_background, image_background_transparent): New declarations.
1102 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1103 * xfns.c (image_background, image_background_transparent)
1104 (four_corners_best): New functions.
c2d53558 1105 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1106 (gs_format): Add `:background' entry.
1107 (lookup_image): Set IMG's background color if specified.
1108 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1109 when appropriate.
1110 (x_clear_image_1): Reset `background_valid' and
1111 `background_transparent_valid' fields.
1112 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1113 calculating it here. Set IMG's background_transparent field.
1114 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1115 (enum png_keyword_index): Add PNG_BACKGROUND.
1116 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1117 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1118 (enum gif_keyword_index): Add GIF_BACKGROUND.
1119 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1120 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1121 Pre-calculate image background color where necessary.
1122 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1123 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1124 color to use for image glyph reliefs.
1125
b547b6e8
GM
11262001-10-24 Gerd Moellmann <gerd@gnu.org>
1127
d9e3b8c6
GM
1128 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1129 in full-width rows.
c2d53558 1130
b547b6e8
GM
1131 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1132 Fix clearing of area not covered by scroll bar.
1133
2beb36f9
PJ
11342001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1135
1136 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1137 and `real_start'.
c2d53558 1138 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1139 (glyph_rect): Remove unused variable `area'.
1140
76cb5e06
GM
11412001-10-24 Gerd Moellmann <gerd@gnu.org>
1142
bdbdebff 1143 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1144
1145 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1146 (row_containing_pos): Take additional argument DY.
1147 Treat rows ending in middle of char differently.
62e33982
GM
1148 (display_line): Handle tabs on window systems differently.
1149
1150 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1151 with additional argument.
1152
1153 * dispextern.h (row_containing_pos): Adjust prototype.
1154
76cb5e06
GM
1155 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1156 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1157 (try_window_id, try_window_reusing_current_matrix)
1158 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1159 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1160
996fee11
PJ
11612001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1162
c9e60620
PJ
1163 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1164 gnuemacs).
1165 (HAVE_BOXES): Fix typo in comment.
1166 (push_menu_pane): Fix typo in comment.
1167
3b552d56
PJ
1168 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1169 of `Qwhen'.
1170 (single_display_prop_string_p): Remove unused local declarations
1171 of `Qwhen' and `Qmargin'.
1172 (string_buffer_position): Remove unused variable `around'.
1173 (store_frame_title): Remove unused variable `width'.
1174
15c565ac
PJ
1175 * window.c: Don't define max.
1176 (coordinates_in_window): Remove unused variable `uy'.
1177
a8818eb9
PJ
1178 * widget.c: Don't define max.
1179
996fee11
PJ
1180 * process.c: Don't define max.
1181 (create_process): Remove unused variable `buffer'.
1182
496e1a5b
GM
11832001-10-23 Gerd Moellmann <gerd@gnu.org>
1184
c2d53558 1185 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1186
5905ae8b
EZ
11872001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1188
1189 * xfaces.c (Finternal_set_lisp_face_attribute)
1190 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1191 frame is on a windowed display.
1192
24db49fb
GM
11932001-10-23 Gerd Moellmann <gerd@gnu.org>
1194
c2d53558
SM
1195 * dispnew.c (sync_window_with_frame_matrix_rows):
1196 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1197 of marginal areas.
1198
c2d53558 1199 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1200
f0487f05
EZ
12012001-10-23 Andreas Schwab <schwab@suse.de>
1202
1203 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1204 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1205
f0a48a01
GM
12062001-10-23 Gerd Moellmann <gerd@gnu.org>
1207
c2d53558 1208 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1209 REAL_END. Notice if cursor gets overwritten.
1210 (notice_overwritten_cursor): Take X positions as parameters.
1211 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1212 around call to x_draw_glyphs.
1213
a50a10a0
PJ
12142001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1215
fc11dff0
PJ
1216 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1217 instead of C) and usage.
a50a10a0 1218
fc11dff0
PJ
1219 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1220 of C) and usage.
a50a10a0
PJ
1221
1222 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1223 `left', `max_width' and `max_height'.
1224
8738febd
GM
12252001-10-23 Gerd Moellmann <gerd@gnu.org>
1226
1227 * xdisp.c (display_line): For a tab continued to the next line,
1228 set row's ends_in_middle_of_char_p.
1229
653c329b
GM
12302001-10-22 Gerd Moellmann <gerd@gnu.org>
1231
1232 * xdisp.c (display_line): Fix computation of continuation lines
1233 width for TABs.
1234
f958c5ac
PJ
12352001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1236
7ba51063
PJ
1237 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1238 `Qlaplace'.
1239
f958c5ac
PJ
1240 * fileio.c: Remove unused code.
1241
eb360291
MB
12422001-10-22 Miles Bader <miles@gnu.org>
1243
1244 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1245 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1246 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1247
98515cf0
JR
12482001-10-21 Jason Rumney <jasonr@gnu.org>
1249
1250 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1251
93026d88
EZ
12522001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1253
1254 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1255 (Finsert_string): Avoid the multi-line string literals warning.
1256
c9a95b79
MB
12572001-10-22 Miles Bader <miles@gnu.org>
1258
1259 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1260 (Fdocumentation): Don't use it.
1261 (syms_of_doc): Don't initialize it.
1262
1263 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1264 * print.c (Fwith_output_to_temp_buffer): Likewise.
1265 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1266 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1267 (Fsave_restriction): Likewise.
c2d53558
SM
1268 * eval.c (Frun_hooks, Frun_hook_with_args)
1269 (Frun_hook_with_args_until_failure)
1270 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1271 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1272 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1273 (Funwind_protect, Fcondition_case): Likewise.
1274 * coding.c (Ffind_operation_coding_system): Likewise.
1275 * keyboard.c (Ftrack_mouse): Likewise.
1276
a3b10252
MB
12772001-10-21 Miles Bader <miles@gnu.org>
1278
c2d53558 1279 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1280 (Fmake_hash_table): Add usage: string to doc string.
1281 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1282 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1283 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1284 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1285 (Fml_prefix_argument_loop): Likewise.
1286
c6f73eec
PJ
12872001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1288
c2d53558 1289 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1290
c6f73eec
PJ
1291 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1292 style' [w/`doc:' keyword].
1293
1294 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1295 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1296 comments to `new style' [w/`doc:' keyword].
1297
3cf3436e
JR
12982001-10-21 Jason Rumney <jasonr@gnu.org>
1299
1300 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1301
c169b8f1
JR
1302 * w32term.c (remember_mouse_glyph): New function.
1303 (w32_mouse_position): Use it.
1304 (note_mouse_movement): If the mouse moved off the glyph, remember
1305 its new position.
c2d53558 1306
4fdd691b
JR
1307 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1308 (w32_display_info): Add mouse_face_overlay.
1309
c169b8f1
JR
1310 * w32term.c (notice_overwritten_cursor): Renamed from
1311 note_overwritten_text_cursor. Rewritten to take glyph widths into
1312 account.
1313 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1314 (fast_find_string_pos): New function.
1315 (fast_find_position): Return the correct vpos. Add parameter
1316 STOP. In the final row, stop before glyphs having STOP as object.
1317 Don't consider glyphs that are not from a buffer.
1318 (fast_find_position) [0]: Add a presumably more correct version
1319 for after 21.1.
1320 (expose_window_tree, expose_frame): Don't compute intersections here.
1321 (expose_window): Do it here instead.
1322 (expose_window_tree, expose_window, expose_line): Return 1 when
1323 overwriting mouse-face.
1324 (expose_window): If W is the window currently being updated, mark
1325 the frame garbaged.
1326 (expose_frame): If mouse-face was overwritten, redo it.
1327 (x_use_underline_position_properties): New variable.
1328 (syms_of_xterm): DEFVAR_BOOL it.
1329 (x_draw_glyph_string): Add comment to use it in future.
1330 (x_draw_glyph_string): Restore clipping after drawing box.
1331 Fix a computation of the underline position.
1332 (w32_get_glyph_string_clip_rect): Minor cleanup.
1333 (x_fill_stretch_glyph_string): Remove an assertion.
1334 (x_produce_glyphs): Don't convert multibyte characters
1335 to unibyte characters in unibyte buffers.
1336 (cursor_in_mouse_face_p): New function.
1337 (x_draw_stretch_glyph_string): Use it to choose a different GC
1338 when drawing a cursor within highlighted text. Don't draw
1339 background again if it has already been drawn.
1340 (x_draw_glyph_string_box): Don't draw a full-width
1341 box just because the glyph row's full_width_p flag is set.
1342 (x_draw_glyphs): Fix computation of rightmost x for
1343 full-width rows.
1344 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1345 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1346 change bottom shadow accordingly. Some cleanup.
1347 (x_update_window_end): Handle overwritten mouse face
1348 also for tool bar windows.
1349 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1350 DRAW is DRAW_IMAGE_RAISED.
1351 (clear_mouse_face): Return 1 if text with mouse face was
1352 actually redrawn. Make the function static. Reset
1353 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1354 optimize away highlighting if we pass over that same overlay again.
1355 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1356 to detect a case where we have to highlight a different region
1357 despite not having left the currently highlighted region.
1358 Set mouse_face_overlay in the x_display_info. Avoid changing the
1359 mouse pointer shape when show_mouse_face has already done it, or
1360 there is no need. Handle mouse-face and help-echo in strings.
1361 (glyph_rect): New function.
1362 (w32_mouse_position): Use it to raise the threshold for mouse
1363 movement event generation.
1364 (w32_initialize_display_info): Initialize the x_display_info's
1365 mouse_face_overlay.
1366 (w32_set_vertical_scroll_bar): Don't clear a zero height
1367 or width area.
1368 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1369 a widget to zero height.
1370
3cf3436e 1371 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1372 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1373 equivalents in menu_items.
1374 (w32_menu_show): Don't overwrite an item's name with its key
1375 description in case the description is a multibyte string.
1376 (single_submenu): Some cleanup.
1377
1378 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1379 (postprocess_image): New function.
1380 (lookup_image): Call it for all image types except PostScript.
1381 (x_kill_gs_process): Call postprocess_image.
1382 (tiff_error_handler, tiff_warning_handler): New functions.
1383 (tiff_load): Install them as handlers.
1384 (x_kill_gs_process): Recognize if someone has cleared the image
1385 cache under us.
1386 (valid_image_p): Protect better against invalid image
1387 specifications. Previous code could signal an error.
1388 (Fx_hide_tip, Fshow_tip): Doc fix.
1389 (Fv_max_tooltip_size): New variable.
1390 (syns_of_xfns): DEFVAR_LISP it.
1391 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1392 window buffer to *tip* right after creating the frame. Set frame's
1393 window_width. Use a maximum tooltip size specified by
1394 Vx_max_tooltip_size, if that has valid contents.
1395 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1396 Make sure the tooltip is completely visible.
1397 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1398 (Fx_create_frame): Adjust the frame's height for presence
1399 of the tool bar before calling x_figure_window_size.
1400 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1401 when the window gets smaller.
1402 (x_set_foreground_color): Set frame's cursor_pixel.
1403 (x_set_foreground_color, x_set_background_color): Cleaned up.
1404 (x_set_font): Handle case of x_new_fontset returning the same name
1405 as before, although there was a change in fontsets.
1406
386ca361
MB
14072001-10-21 Miles Bader <miles@gnu.org>
1408
c2d53558 1409 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1410 (Flogxor): Add usage: string to doc string.
1411 * charset.c (Fstring): Likewise.
1412 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1413 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1414
14ff1ee0
PJ
14152001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1416
03be2694
PJ
1417 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1418
1419 * alloc.c: Reindent DEFUNs with doc: keywords.
1420
1421 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1422
14ff1ee0
PJ
1423 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1424 keyword].
1425
71431a0e
GM
14262001-10-20 Gerd Moellmann <gerd@gnu.org>
1427
6aa97356 1428 * (Version 21.1 released.)
71431a0e 1429
39f624fa
PJ
14302001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1431
c2d53558 1432 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1433
1434 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1435 0 because unused.
1436
1437 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1438 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1439 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1440
abcce93a
MB
14412001-10-20 Miles Bader <miles@gnu.org>
1442
1443 The following changes remove the glyph_row `inverse_p' field,
1444 which is never set anymore, due to other changes:
1445
1446 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1447 (reassert_line_highlight, change_line_highlight): Declarations removed.
1448 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1449 (line_hash_code, row_equal_p, fake_current_matrices)
1450 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1451 (update_frame_line, update_frame_line, update_frame_line):
1452 Don't use `inverse_p' field.
1453 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1454 change_line_highlight_hook.
1455 (XTreassert_line_highlight, x_change_line_highlight):
1456 Functions removed.
c2d53558 1457 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1458 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1459 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1460 `inverse_p' field.
c2d53558 1461 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1462 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1463 (w32_reassert_line_highlight, x_change_line_highlight):
1464 Functions removed.
1465 * w32console.c (reassert_line_highlight, change_line_highlight):
1466 Functions removed.
1467 (initialize_w32_display): Don't set reassert_line_highlight_hook
1468 or change_line_highlight_hook.
1469 (hl_mode): Function removed.
c2d53558
SM
1470 (reset_terminal_modes, set_terminal_modes, update_begin)
1471 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1472 (clear_frame, ins_del_lines): Don't call it.
1473 * termhooks.h (reassert_line_highlight_hook)
1474 (change_line_highlight_hook): Declarations removed.
1475 * term.c (reassert_line_highlight_hook)
1476 (change_line_highlight_hook): Variables removed.
1477 (reassert_line_highlight, change_line_highlight): Functions removed.
1478 * msdos.c (IT_reassert_line_highlight)
1479 (IT_change_line_highlight): Functions removed.
1480 (internal_terminal_init): Don't set reassert_line_highlight_hook
1481 or change_line_highlight_hook.
1482 (highlight): Variable removed.
c2d53558 1483 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1484 (IT_set_terminal_modes): Don't set or use it.
1485
1486 The following changes remove inverse-video support for terminals
1487 that use a `magic cookie' standout mode. Due to changes in the
1488 way mode-lines are displayed, such support no longer works
1489 anyway, and it's probable that almost no one uses such terminals
1490 anymore:
1491
1492 * term.c (standout_requested): Variable removed.
1493 (update_end, highlight_if_desired): Don't use it.
1494 (chars_wasted, copybuf): Variables removed.
1495 (write_standout_marker): Function removed.
c2d53558 1496 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1497 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1498 Don't use `chars_wasted' or `copybuf'.
1499 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1500 Set `costs_set' to true.
1501 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1502 `chars_wasted'.
1503 (clear_end_of_line): Function removed.
1504 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1505 (clear_to_end): Call `clear_end_of_line' instead of
1506 `clear_end_of_line_raw'.
54800acb
MB
1507 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1508 (term_init): Don't set them.
1509 Turn off any standout/underline modes that require magic cookies.
c2d53558 1510 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1511 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1512 Remove special processing for magic-cookie standout modes.
1513 (turn_off_face, turn_on_face): Remove special processing for
1514 underline magic-cookie glitch.
abcce93a 1515
0b5f679f
RS
15162001-10-19 Richard M. Stallman <rms@gnu.org>
1517
1518 * eval.c (syms_of_eval): Doc fixes.
1519
5a4a5bd4
GM
15202001-10-19 Gerd Moellmann <gerd@gnu.org>
1521
1522 * xdisp.c (redisplay_internal): Don't clear echo area if the
1523 mini-window is selected.
1524
79f1f96c
MB
15252001-10-19 Miles Bader <miles@gnu.org>
1526
b57c2708
MB
1527 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1528 doesn't take precedence if the affected property's value is nil.
1529
1530 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1531
79f1f96c
MB
1532 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1533 with fields and suggest using `forward-line' to avoid them.
1534 * editfns.c (Fline_beginning_position, Fline_end_position):
1535 Clarify documentation.
1536
ef879104
SM
15372001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1538
1539 * keymap.c (current_minor_maps): `override' only shadows its
1540 correspondent in minor-mode-map-alist, not the whole tail.
1541
97f4db8c
AI
15422001-10-18 Andrew Innes <andrewi@gnu.org>
1543
1544 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1545 optimization. The fontp->encoding array was not being initialized
1546 correctly when compiled with optimizations by MSVC.
1547
e6b70fd8
GM
15482001-10-18 Gerd Moellmann <gerd@gnu.org>
1549
30903479 1550 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1551
0e804d38
AI
15522001-10-17 Andrew Innes <andrewi@gnu.org>
1553
1554 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1555
1556 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1557 font_info.charset field.
1558
1559 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1560 rather than working it out by calling w32_codepage_for_font for
1561 every glyph.
1562
66e5868a
AI
15632001-10-17 Andrew Innes <andrewi@gnu.org>
1564
1565 * w32term.c (w32_read_socket): Determine clipping rectangle for
1566 the entire frame, including areas covered by scrollbars and the
1567 menubar. This avoids internal arguments about whether a frame is
1568 fully obscured or not.
1569
15b00083
GM
15702001-10-17 Gerd Moellmann <gerd@gnu.org>
1571
23e8bd86
GM
1572 * xdisp.c (try_window_id): Undo last change. Give up if
1573 window ends in strings.
30903479 1574
9c6ba6d1 1575 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1576 end if the rest of the window after the window end was already blank.
23e8bd86 1577
30903479 1578 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1579 for the release of 21.1.
1580
30903479 1581 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1582
945220bd
MB
15832001-10-17 Miles Bader <miles@gnu.org>
1584
1585 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1586 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1587 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1588 Change doc-string comments to `new style' [w/`doc:' keyword].
1589 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1590 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1591 out make-docfile.
1592
14242528
MB
15932001-10-16 Miles Bader <miles@gnu.org>
1594
1595 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1596
3ddf952f
GM
15972001-10-16 Gerd Moellmann <gerd@gnu.org>
1598
1599 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1600 *scratch*.
1601
f3fbd155
KR
16022001-10-16 Ken Raeburn <raeburn@gnu.org>
1603
1604 Avoid the assumption that car and cdr slots of cons cells are
1605 addressable lvalues; this allows for easier experimentation with
1606 other lisp implementations that may not permit such accesses for
1607 various reasons. Not quite complete -- buffer.c still needs some
1608 work, and w32/mac files need rechecking -- so compile-time
1609 enforcement is left disabled for now.
1610
1611 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1612 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1613 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1614 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1615 (XSETCAR, XSETCDR): New macros.
1616 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1617 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1618 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1619 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1620 XSETCDR.
1621 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1622 * buffer.c (record_buffer, Fbury_buffer)
1623 (swap_out_buffer_local_variables, recenter_overlay_lists)
1624 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1625 fields of a cons cell respectively.
1626 * callint.c (quotify_args, Fcall_interactively): Likewise.
1627 * ccl.c (Fregister_code_conversion_map): Likewise.
1628 * coding.c (detect_coding_system): Likewise.
1629 * composite.c (get_composition_id, make_composition_value_copy):
1630 Likewise.
30903479
SM
1631 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1632 (swap_in_symval_forwarding, set_internal, Fset_default)
1633 (Fmake_variable_buffer_local, Fmake_local_variable)
1634 (Fmake_variable_frame_local): Likewise.
f3fbd155 1635 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1636 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1637 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1638 * minibuf.c (get_minibuffer): Likewise.
1639 * search.c (Fmatch_data): Likewise.
1640 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1641 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1642 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1643 Likewise.
1644 * w32term.c (x_delete_display): Likewise.
1645 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1646 Likewise.
c2d53558 1647 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1648 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1649 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1650 (Fread_file_name): Use XSETCAR.
1651 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1652 CHECK_NUMBER_CDR.
1653 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1654 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1655 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1656 CHECK_NUMBER_CDR.
1657 * keyboard.c (read_char): Alter list traversal to avoid taking the
1658 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1659 (parse_menu_item): Use XSETCAR and XSETCDR.
1660 (reach_char_x_menu_prompt): Use XSETCAR.
1661 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1662 (Fcommand_execute): Use XSETCDR.
1663 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1664 (openp): Change list traversal to avoid using XCAR as lvalue.
1665 (read_list): Use XSETCDR.
1666 * process.c (wait_reading_process_input): Change wait_for_cell
1667 handling to avoid taking addresses of cons cell slots.
30903479
SM
1668 * xselect.c (x_own_selection, x_handle_selection_clear)
1669 (x_clear_frame_selections): Use XSETCDR.
1670 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1671 (x_handle_property_notify, x_get_foreign_selection)
1672 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1673
502150e5
PJ
16742001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1675
018ba359
PJ
1676 * buffer.c: Put doc strings in comments.
1677
30903479 1678 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1679
b56ba8de
SS
16802001-10-15 Sam Steingold <sds@gnu.org>
1681
1682 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1683
6a0b793a
PJ
16842001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1685
30903479
SM
1686 * process.c (process-inherit-coding-system-flag)
1687 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1688 in comment.
1689
a1f17501 1690 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1691 arguments. Put doc strings in comments.
a65da641
PJ
1692
1693 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1694
aa601ad0
GM
16952001-10-15 Gerd Moellmann <gerd@gnu.org>
1696
30903479 1697 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1698
aa601ad0
GM
1699 * window.c (select_window_1): Unfreeze window start. Remove a
1700 doubled test for WINDOW being live.
1701
288148a1
PJ
17022001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1703
dd8d1e71
PJ
1704 * fns.c (Fmapconcat): Fix typo in a doc string.
1705
288148a1
PJ
1706 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1707
9f5eb4a3
GM
17082001-10-15 Gerd Moellmann <gerd@gnu.org>
1709
1710 * xterm.c (x_draw_glyph_string): Restore clipping after
1711 drawing box.
1712
dbae44c8
PJ
17132001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1714
30903479 1715 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1716
0c88c937
SM
17172001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1718
56378db4
GM
1719 * indent.c (skip_invisible): Use new retval of
1720 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1721
845e4cf4
SM
1722 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1723 If a parent is reached and noinherit is set, exit immediately.
1724 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1725
0c88c937
SM
1726 * s/ms-w32.h (EXEC_SUFFIXES):
1727 * s/msdos.h (EXEC_SUFFIXES):
1728 * process.h (EXEC_SUFFIXES): Remove.
1729
1730 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1731 (decode_suffixes): Remove.
1732
1733 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1734 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1735 (invisible_ellipsis_p): Remove.
0c88c937
SM
1736
1737 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1738 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1739 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1740 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1741 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1742
d19be8a9
PJ
17432001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1744
04d7d066
PJ
1745 * lisp.h (Ftop_level): Add prototype.
1746
d624284c
PJ
1747 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1748 (XTread_socket): Improve style of comments to follow other
1749 comments.
1750
a87414f9
PJ
1751 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1752 is already prototyped in included lisp.h).
1753
d19be8a9
PJ
1754 * frame.c (Fset_mouse_position): Improve style of comment to
1755 follow other comments.
1756 (Fset_mouse_pixel_position): Improve style of comment to follow
1757 other comments.
1758 (Fmake_frame_visible): Doc fix and typo in comment.
1759 (Fmake_frame_invisible): Doc fix and typo in comment.
1760 (Ficonify_frame): Fix typo in comment.
1761
c061c855
GM
17622001-10-14 Gerd Moellmann <gerd@gnu.org>
1763
37f6b5b6 1764 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1765 * term.c, alloc.c: Put doc strings in comments.
c061c855 1766
e641b454
GM
17672001-10-13 Gerd Moellmann <gerd@gnu.org>
1768
1769 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1770 Provide definitions for doc strings in comments.
1771
1772 * fns.c: Put doc strings in comments.
1773
51724e26
EZ
17742001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1775
1776 * dired.c (file_name_completion): Ignore a candidate directory if
1777 it matches an element in completion-ignored-extensions that ends
1778 in a slash.
1779 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1780 feature in the doc string.
1781 (Ffile_name_completion): Ditto.
1782
be5fc59b
SM
17832001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1784
5a1373f3
SM
1785 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1786
1787 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1788
1789 * lisp.h (Fprovide): Update prototype.
1790 (Ffeaturep, invisible_p): Remove.
1791
bbc4a3d3 1792 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1793 (DOLIST, LOOP_PROPVAL): New macros.
1794 (invisible_p, invisible_ellipsis_p): Use them.
1795 (invisible_noellipsis_p): New function.
1796 (syms_of_xdisp): Use empty_string.
1797
1798 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1799
1800 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1801 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1802
1803 * print.c (Fwith_output_to_temp_buffer): Align with
1804 internal_with_output_to_temp_buffer.
1805 (print_preprocess): Use traverse_intervals_noorder.
1806 (print_object): Update call to traverse_intervals.
1807
1808 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1809 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1810
1811 * intervals.c (traverse_intervals_noorder): New function.
1812 (search_for_interval, count_intervals): Use it.
1813 (traverse_intervals): Use less stack space and drop `depth' arg.
1814
1815 * fns.c (Ffeaturep): Add new `subfeature' arg.
1816 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1817 (Qsubfeatures): New var.
1818 (syms_of_fns): Initialize it.
1819
026f408d
SM
1820 * keymap.c (Fkey_description): Use empty_string.
1821 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1822 (syms_of_keymap): Setup inheritance between maps.
1823 Don't export Sdescribe_bindings_internal any more.
1824
be5fc59b
SM
1825 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1826
3365175e
GM
18272001-10-12 Gerd Moellmann <gerd@gnu.org>
1828
1829 * xterm.c (notice_overwritten_cursor): Renamed from
1830 note_overwritten_text_cursor. Rewritten to take glyph widths into
1831 account.
1832
2ab7765c
EZ
18332001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1834
1835 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1836 multi-line strings without a trailing "\n\".
1837
311346bb
PJ
18382001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1839
1840 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1841 defined.
1842
2168e04d
SM
18432001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1844
026f408d
SM
1845 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1846
c0ec53ad
SM
1847 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1848 * w32proc.c (sys_spawnve):
1849 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1850 * w32.c (check_windows_init_file):
1851 * sound.c (Fplay_sound):
026f408d 1852 * emacs.c (init_cmdargs):
c0ec53ad
SM
1853 * process.c (Fstart_process): Update calls to openp.
1854
1855 * callproc.c (Vexec_suffixes): New var.
1856 (Fcall_process): Update call to openp.
1857 (decode_suffixes): New function.
1858 (syms_of_callproc): Init exec-suffixes.
1859
1860 * lread.c (Vload_suffixes, default_suffixes): New vars.
1861 (openp): Take a lisp list of suffixes.
1862 Check for file-name-handlers even if the file was absolute already.
1863 (syms_of_lread): Declare load-suffixes.
1864 (Fload): Fix up call to openp.
1865 Don't bother checking for file-name-handler at the very beginning.
1866
f6333468
SM
1867 * keymap.h (Fcopy_keymap): Don't export.
1868
1869 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1870 (Vload_suffixes, Vexec_suffixes): Declare.
1871 (openp): Update prototype.
f6333468
SM
1872
1873 * emacs.c (empty_string): New var.
1874 (syms_of_emacs): Initialize it.
1875
1876 * search.c (wordify): Use it.
1877
1878 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1879 selected window if it's not displayed there. Handle the case
1880 when the window is dedicated.
1881 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1882
1883 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1884
2168e04d
SM
1885 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1886 Remove left_ok and right_ok.
1887 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1888 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1889 new meaning of b_property.
1890
1891 * syntax.c (update_syntax_table): Simplify.
1892 (Fforward_comment): Don't skip quoted chars when going backward.
1893
13d95cc0
GM
18942001-10-11 Gerd Moellmann <gerd@gnu.org>
1895
beb0990f
GM
1896 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1897 in case I is of some unsigned type, in which case
1898 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1899 comparison becomes bogus.
1900
cb938d46
GM
1901 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1902 (Fuser_full_name): Fix bug treating a float as a fixnum.
1903
1904 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1905
1906 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1907
13d95cc0
GM
1908 * lisp.h (circular_list_error): Add prototype.
1909
1910 * data.c (Qcircular_list): New variable.
1911 (circular_list_error): New function.
1912 (syms_of_data): Initialize it Qcircular_list.
1913
e35f6ff7
SM
19142001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1915
1916 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1917 casefiddle.c, buffer.c: Include keymap.h.
1918
619632ac
GM
19192001-10-10 Gerd Moellmann <gerd@gnu.org>
1920
1921 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1922 options. From Dave Love <d.love@dl.ac.uk>.
1923
5e5388f6
GM
19242001-10-09 Gerd Moellmann <gerd@gnu.org>
1925
1926 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1927 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1928
14a3dff7
GM
1929 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1930 unsigned char.
1931 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1932
76ba8daf
AI
19332001-10-08 Andrew Innes <andrewi@gnu.org>
1934
1935 * lisp.h [max]: Undef min and max before redefining them.
1936
1937 * w32gui.h: Do not undef min and max.
1938
1939 * w32heap.h: Do not undef min and max.
1940
1941 * s/ms-w32.h: Do not undef min and max.
1942
166253cb
SM
19432001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1944
1945 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1946
0c4d9527
SS
19472001-10-08 Sam Steingold <sds@gnu.org>
1948
1949 * keymap.c (current-active-maps): Quote newlines (compilation error).
1950
14bfa771
EZ
19512001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1952
1953 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1954 bindings.elc, since otherwise doc strings in bindings.el get wrong
1955 offsets in etc/DOC.
1956
bdb7aa47
SM
19572001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1958
9985827f
SM
1959 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1960
1961 * keyboard.h (map_prompt): Remove.
1962
1963 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1964 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1965
bdb7aa47
SM
1966 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1967
1968 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1969
1970 * keyboard.c (map_prompt): Remove.
1971 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1972 Use Fkeymap_prompt.
1973
1974 * keymap.h: New file. Extracted from lisp.h.
1975
9985827f
SM
1976 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1977 (accessible_keymaps_1): New function.
1978 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1979 (Fwhere_is_internal): Use Fcurrent_active_maps.
1980 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1981 Insert in current buffer rather than standard-output.
1982 Don't call `help-mode'. Export to elisp.
1983 (describe_buffer_bindings): New wrapper.
1984 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1985 and Sdescribe_buffer_bindings.
1986
402c9a51
GM
19872001-10-08 Gerd Moellmann <gerd@gnu.org>
1988
9985827f 1989 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1990 Remove code setting signal handler.
1991
9985827f 1992 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1993 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1994
3fe81fdf
PJ
19952001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1996
1997 * keyboard.c: Don't define min/max.
1998
55fa7820
GM
19992001-10-08 Gerd Moellmann <gerd@gnu.org>
2000
9985827f 2001 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2002 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2003 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2004 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2005 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2006 Don't define min/max.
2007
2008 * lisp.h (min, max): New macros.
2009
55fa7820
GM
2010 * puresize.h (BASE_PURESIZE): Increase to 725000.
2011
1aad31e4
PJ
20122001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2013
9180dc8c
PJ
2014 * xfaces.c (free_frame_menubar): Add prototype.
2015
01f67d2c
PJ
2016 * lisp.h (init_window): Add prototype.
2017
2018 * editfns.c: Include ctype.h.
2019
2020 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2021 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2022 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2023 variable `sb'.
2024
5f351ff1
PJ
2025 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2026 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2027 `popup_activated_flag' and `title'.
2028
479dfe87
PJ
2029 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2030
dff49fc8
PJ
2031 * emacs.c (main): Remove extra `;'.
2032
248ac615
PJ
2033 * atimer.h (struct atimer): Fix typos in a comment.
2034
2035 * atimer.c: Fix typo.
2036
af232c7d
PJ
2037 * Makefile.in: Fix typo.
2038
2039 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2040
d876f455
MB
20412001-10-07 Miles Bader <miles@gnu.org>
2042
2043 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2044
0037e2f2
KR
20452001-10-07 Ken Raeburn <raeburn@gnu.org>
2046
b056f36d
KR
2047 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2048 Lisp_Object.
2049
0037e2f2
KR
2050 * lisp.h (Ffield_end): Declare.
2051
1a4372ef
GM
20522001-10-07 Gerd Moellmann <gerd@gnu.org>
2053
a4a74e8c
GM
2054 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2055
2056 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2057
2058 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2059
2060 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2061
1a4372ef
GM
2062 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2063 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2064
2065 * alloc.c (inhibit_garbage_collection): Simplify.
2066 (Fmemory_use_counts): Ditto.
2067
9985827f 2068 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2069 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2070 most-negative-fixnum.
2071
9985827f 2072 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2073 (FIXNUM_OVERFLOW_P): New macros.
2074
4650e362
MB
20752001-10-06 Miles Bader <miles@gnu.org>
2076
2077 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2078 scroll_bar_bottom_shadow_pixel fields.
2079 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2080 for the shadows, and tell the toolkit about them if we succeed.
2081 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2082 Free scroll-bar shadow colors.
2083 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2084 Free scroll-bar shadow colors when the background color changes.
2085 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2086 Initialize scroll-bar shadow-color fields.
2087
ace64e0a
GM
20882001-10-05 Gerd Moellmann <gerd@gnu.org>
2089
2090 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2091
ec66bdc7
MB
20922001-10-05 Miles Bader <miles@gnu.org>
2093
9985827f
SM
2094 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2095 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2096 New functions (were in simple.el).
9985827f 2097 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2098 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2099 (syms_of_minibuf): Initialize them.
2100
a0fb4492
GM
21012001-10-05 Gerd Moellmann <gerd@gnu.org>
2102
2103 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2104 (tiff_load): Install them as error and warning handler.
2105
0bcf87c1
AI
21062001-10-04 Andrew Innes <andrewi@gnu.org>
2107
2108 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2109 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2110 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2111 (x_to_w32_charset): Handle private format for unknown charsets.
2112 Handle wildcards in charset spec, by ignoring them.
2113 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2114 "*-" prefix from charset.
2115 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2116 handle the truncated font spec form constructed by font_list_1, so
2117 that we correctly identify the charset fields. Don't remove "*-"
2118 prefix from charset.
2119 (w32_list_synthesized_fonts): Fix argument to alloca.
2120
c89e4bc5
GM
21212001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2122
2123 * window.h (MINI_WINDOW_P): Use NILP.
2124
2125 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2126
2127 * termhooks.h (struct input_event): Use proper type for `kind'.
2128
21292001-10-04 Gerd Moellmann <gerd@gnu.org>
2130
2131 This handles unknown keysyms better than before. For example,
2132 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2133 Emacs formerly completely ignored F5. With the change, it derives
2134 a key symbol from the name of the X keysym, `ccaron' in this case.
2135 Reported by Martin Buchholz.
2136
2137 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2138 unknown keysyms.
2139
2140 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2141 that EVENT->code isn't a function key, use the keysym's name.
2142
21432001-10-04 Gerd Moellmann <gerd@gnu.org>
2144
2145 FOREACH is a macro that should make it easier to loop over Lisp
2146 lists with checks for cycles and proper lists.
2147
2148 * lisp.h (LIST_END_P, FOREACH): New macros.
2149
21502001-10-04 Gerd Moellmann <gerd@gnu.org>
2151
2152 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2153 called for a lost connection. Prevent dumping core in this case.
2154 Instead print the X error, and exit. On user request.
2155
2156 * xterm.c (error_msg): New variable.
2157 (x_fatal_error_signal): New function.
2158 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2159 as fatal_error_signal_hook around the call to XtCloseDisplay.
2160
2161 * emacs.c (fatal_error_signal_hook): New variable.
2162 (fatal_error_signal): Call that function.
2163
21642001-10-04 Gerd Moellmann <gerd@gnu.org>
2165
2166 With this, Emacs prints how much pure storage it will
2167 approximately need in case pure storage overflows while dumping.
2168
2169 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2170 New variables.
2171 (init_alloc_once): Initialize new variables.
2172 (PURE_POINTER_P): Use new variables.
2173 (pure_alloc): If pure storage overflows, allocate from the heap.
2174 (check_pure_size): New function.
2175 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2176
2177 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2178 (check_pure_size): Add prototype.
2179
2180 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2181
21822001-10-04 Gerd Moellmann <gerd@gnu.org>
2183
2184 This adds a post-gc-hook that's run with GC inhibited.
2185 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2186
2187 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2188 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2189 (Fgarbage_collect): Run post-gc-hook.
2190
21912001-10-04 Gerd Moellmann <gerd@gnu.org>
2192
2193 This adds `defvaralias' and `indirect-variable'. Changes not
2194 directly related to this feature are there to gain the same
2195 performance again as before variable aliases.
2196
2197 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2198 code to get and set symbol values, to take defvaralias into account.
2199
2200 (Note: the new `constant' bit-flag in symbols would make it
2201 possible to define arbitrary read-only variables, e.g. with
2202 `defconst'.)
2203
2204 Documentation is in lispref/variables.texi. Added to NEWS.
2205
2206 * lisp.h (enum symbol_interned): New enumeration.
2207 (struct Lisp_Symbol): Remove member `obarray', add
2208 `indirect_variable', `constant', and `interned'.
2209 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2210 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2211 (indirect_variable): Add prototype.
2212
2213 * print.c (print_preprocess, print_object): Test internedness of
2214 symbols differently.
2215
2216 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2217 bit-fields.
2218 (init_obarray): Likewise for t and nil.
2219
2220 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2221 (Fdefvaralias): New function.
2222 (specbind): Simplify the test if symbol is a constant.
2223 (syms_of_eval): Defsubr Fdefvaralias.
2224
2225 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2226 (Qcyclic_variable_indirection): New variable.
2227 (Fkeywordp): Check for internedness differently.
2228 (Fmakunbound): Simplify the test if symbol is a constant.
2229 (indirect_variable, Findirect_variable): New functions.
2230 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2231 aliased symbol.
2232 (let_shadows_buffer_binding_p): Check for variable aliases.
2233 (set_internal): Simplify the test if SYMBOL is a constant.
2234 If SYMBOL has a buffer-local value and is an alias, use the aliased
2235 symbol instead.
2236 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2237 Sindirect_variable.
2238
2239 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2240 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2241 set directly.
2242
2243 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2244
2245 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2246 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2247 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2248
ab952a4f
GM
22492001-10-04 Gerd Moellmann <gerd@gnu.org>
2250
2251 * Branch for 21.1.
b56ba8de 2252
ba88ff28
MB
22532001-10-03 Miles Bader <miles@gnu.org>
2254
2255 * callproc.c (syms_of_callproc): Explicitly state in the
2256 documentation for `process-environment' that earlier entries take
2257 precedence over later ones.
2258
ae1a9581
MB
22592001-10-02 Miles Bader <miles@gnu.org>
2260
2261 * textprop.c (Fnext_char_property_change)
2262 (Fprevious_char_property_change): Remove reference to non-existant
2263 argument OBJECT from doc-string.
2264
257e3f57
GM
22652001-10-01 Gerd Moellmann <gerd@gnu.org>
2266
2267 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2268 (try_window_id): Skip back over lines ending in a newline from a
2269 string.
2270
2271 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2272 New bit flag
2273
c1f29759
RS
22742001-10-01 Richard M. Stallman <rms@gnu.org>
2275
2276 * search.c (Freplace_match): Doc fix.
2277
c30dce3d
AI
22782001-09-28 Andrew Innes <andrewi@gnu.org>
2279
2280 * w32menu.c (set_frame_menubar): Take into account that
2281 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2282 <raeburn@gnu.org>.
2283
03be5931
EZ
22842001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2285
2286 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2287
75bec752
PJ
22882001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2289
2290 * s/gnu-linux.h: Fix a typo in comment.
2291
83100e0a
AS
22922001-09-28 Andreas Schwab <schwab@suse.de>
2293
2294 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2295 nocombreloc, in case -z combreloc is the default.
2296
a74b48cf
GM
22972001-09-28 Gerd Moellmann <gerd@gnu.org>
2298
2299 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2300 really going on here.
2301
09c4719e
SM
23022001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2303
2304 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2305
f7d5d963
EZ
23062001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2307
2308 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2309 utf-8, menu-bar, and latin-N.
2310 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2311 unconditionally now.
2312 (lisp): Add latin-N, since they are preloaded.
2313
9240e746
GM
23142001-09-27 Gerd Moellmann <gerd@gnu.org>
2315
14531065
GM
2316 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2317 to the left. Some cleanup.
2318
9240e746
GM
2319 * xdisp.c (display_mode_element): One more case where a string's
2320 multibyteness should be used for display.
2321
edd1e654
GM
23222001-09-26 Gerd Moellmann <gerd@gnu.org>
2323
b02439c8
GM
2324 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2325 reading at EOF.
2326
032906b1 2327 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2328 of the only temporarily set echoing flag for deciding when
032906b1
GM
2329 the cancel echoing.
2330
2331 * keyboard.c (echo_kboard): Make externally visible.
2332
2333 * lisp.h (echo_kboard): Declare extern.
2334
cb617e7c 2335 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2336 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2337 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2338 this round of redisplay if make_cursor_line_fully_visible fails.
2339 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2340 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2341
2342 * dispextern.h (required_matrix_width, required_matrix_height):
2343 Add prototypes.
2344
09c4719e
SM
2345 * dispnew.c (required_matrix_width, required_matrix_height):
2346 New functions.
cb617e7c 2347 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2348 (allocate_matrices_for_frame_redisplay: Use them.
2349 Remove parameters CH_DIM.
cb617e7c 2350
edd1e654
GM
2351 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2352 and selected_window to the frame of the window whose mode-lines
2353 are displayed, and to the window itself.
2354 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2355 here.
edd1e654 2356
924b604c
GM
23572001-09-25 Gerd Moellmann <gerd@gnu.org>
2358
daba7643
GM
2359 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2360 the image cache under us.
2361
b7a22712 2362 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2363 with a string value, use that string's multibyteness for displaying.
b7a22712 2364
ad648212
GM
2365 * keyboard.c (read_char): Don't clear a message for a switch-frame
2366 event. From Stefan Monnier <monnier@cs.yale.edu>.
2367
9f8531e5
GM
2368 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2369 version for after 21.1.
2370
2371 * xdisp.c (row_containing_pos): Make externally visible.
2372
2373 * dispextern.h (row_containing_pos): Add prototype.
2374
924b604c
GM
2375 * process.c (send_process): Disable composition if from_byte < 0.
2376 From Kenichi Handa <handa@etl.go.jp>.
2377
6f3f0db4
GM
23782001-09-24 Gerd Moellmann <gerd@gnu.org>
2379
c69c0ebc
GM
2380 * xterm.c (refreshicon): Function removed.
2381
d1182bc4
GM
2382 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2383
2384 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2385
2386 * xterm.c (toplevel): Remove includes in #if 0.
2387
6f3f0db4
GM
2388 * process.c (sigchld_handler) [LINUX]: Don't return from
2389 the signal handler at the end of the loop.
2390
59957f85
GM
23912001-09-21 Gerd Moellmann <gerd@gnu.org>
2392
09c4719e
SM
2393 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2394 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2395
a0528984
EZ
23962001-09-21 Markus Rost <rost@math.ohio-state.edu>
2397
2398 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2399
db92b288
GM
24002001-09-20 Gerd Moellmann <gerd@gnu.org>
2401
3fed8ad5
GM
2402 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2403 since this function can be called during GC.
2404
db92b288
GM
2405 * callproc.c (Fcall_process): Handle errors from pipe(2).
2406 (child_setup): Delete code in #ifdef vipc.
2407
7121b85a
GM
24082001-09-19 Gerd Moellmann <gerd@gnu.org>
2409
72f62cb5
GM
2410 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2411 (display_mode_element): Display the string from decode_mode_spec
2412 depending on its multibyteness.
2413
a2697022
GM
2414 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2415
7121b85a
GM
2416 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2417
bfc97351
GM
24182001-09-18 Gerd Moellmann <gerd@gnu.org>
2419
c9063433
GM
2420 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2421 recursive_edit_unwind.
2422 (recursive_edit_unwind): Set kboard state according to
2423 SINGLE-KBOARD.
2424
3fbdba3e
GM
2425 * buffer.c (modify_overlay): Don't do nothing if START == END;
2426 This can still be a modification, for example when an overlay has
2427 a before-string or after-string.
2428 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2429 an overlay with before-string or after-string.
2430
1270031d
GM
2431 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2432 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2433
bfc97351
GM
2434 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2435 first_unchanged_at_end_row is in front of
2436 last_unchanged_at_beg_row. This code should be removed after the
2437 release of 21.1.
2438
d8a973aa
GM
24392001-09-17 Gerd Moellmann <gerd@gnu.org>
2440
e18c8b8d
GM
2441 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2442 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2443
d8a973aa
GM
2444 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2445 versions >= 2.95.
2446
ed7d6ba4
EZ
24472001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2448
2449 * dired.c (Ffile_attributes): Doc fix.
2450
551629f9
GM
24512001-09-14 Gerd Moellmann <gerd@gnu.org>
2452
2453 * fileio.c (Ffile_symlink_p): Fix last change.
2454
2455 * filelock.c (current_lock_owner): Fix last change.
2456
4c8c7926
GM
24572001-09-13 Gerd Moellmann <gerd@gnu.org>
2458
620c4704
GM
2459 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2460 take that to mean that the buffer is too small.
2461
81c3310d
GM
2462 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2463 that to mean that the buffer is too small.
2464
06fd3792
GM
2465 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2466 current buffer's multibyteness when discarding the iterator's
2467 stack.
2468
4c8c7926
GM
2469 * xfns.c (Fx_window_property): Handle case that property gets
2470 deleted between the two calls to XGetWindowProperty.
2471
9a72e4c1
GM
24722001-09-11 Gerd Moellmann <gerd@gnu.org>
2473
bd819d14 2474 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2475
a41edd99
GM
2476 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2477 in addition to read-only.
2478
2479 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2480 to t in addition to read-only.
2481
2482 * lisp.h (Qinhibit_modification_hooks): Declare.
2483
2484 * insdel.c (Qinhibit_modification_hooks): New variable.
2485 (syms_of_insdel): Initialize and staticpro it.
2486
d4881c6a
GM
2487 * textprop.c (verify_interval_modification): Don't run
2488 modification-hooks if inhibit_modification_hooks.
2489
2490 * dispnew.c (set_window_cursor_after_update): Fix code
2491 finding glyph row containing cursor when cursor_in_echo_area
2492 is >= 0.
2493
9a72e4c1
GM
2494 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2495 (add_to_log): Use bcopy instead of strcpy.
2496 (init_from_display_pos): Use an explicit loop over bytes in
2497 overlay strings instead of calling index.
2498
f4a374a1
GM
24992001-09-10 Gerd Moellmann <gerd@gnu.org>
2500
300e57bd
GM
2501 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2502
2503 * dispnew.c (direct_output_for_insert): Don't change IT's
2504 stop_charpos to something in front of its current position.
2505
f4a374a1
GM
2506 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2507 `format'.
2508
7e4cbc91
RS
25092001-09-10 Richard M. Stallman <rms@gnu.org>
2510
2511 * frame.c (Fmouse_position): Doc fix.
2512
6afad91e
GM
25132001-09-07 Gerd Moellmann <gerd@gnu.org>
2514
2515 * xdisp.c (init_from_display_pos): Don't compare the result
2516 of calling index with NULL.
2517
f76e0368
GM
25182001-09-06 Gerd Moellmann <gerd@gnu.org>
2519
2520 * xfns.c (x_set_background_color): Don't change the colors
2521 of the X window of scroll bar widgets.
2522
9ead1b60
AI
25232001-09-05 Andrew Innes <andrewi@gnu.org>
2524
2525 * w32fns.c (w32_createwindow): Undo last change.
2526
c3b497b3
GM
25272001-09-05 Gerd Moellmann <gerd@gnu.org>
2528
08e1d6df
GM
2529 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2530
c3b497b3
GM
2531 * xdisp.c (string_buffer_position): Use *single_char_property*
2532 functions instead of the *single_property* functions.
b56ba8de 2533
8f860180
AI
25342001-09-04 Andrew Innes <andrewi@gnu.org>
2535
9a72e4c1
GM
2536 * w32term.c (w32_read_socket): Add more information to debugging
2537 output.
8f860180
AI
2538
2539 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2540 from Emacs frames, so that calls to GetClipBox in w32term.c
2541 correctly report when part of a frame is visible (including
2542 scrollbars, etc). This prevents repeated redrawing of frames when
2543 only a scrollbar is visible.
2544 (w32_wnd_proc): Add more frame information to debugging output.
2545
2ee1aa00
SM
25462001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2547
2548 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2549
e3b22517
GM
25502001-09-03 Gerd Moellmann <gerd@gnu.org>
2551
7e376260
GM
2552 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2553 help-echo for a string which doesn't have help-echo itself, use
2554 get-char-property to obtain the help-echo from the string's buffer
2555 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2556 have mouse-face, look ``under'' the string for mouse-face from an
2557 overlay.
2558 (fast_find_position): Add parameter STOP. In the final row, stop
2559 before glyphs having STOP as object. Don't consider glyphs that
2560 are not from a buffer.
2561
e3b22517
GM
2562 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2563
9a249bba
EZ
25642001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2565
2566 * fns.c (Fmd5): Doc fix.
2567
c9979669
GM
25682001-08-31 Gerd Moellmann <gerd@gnu.org>
2569
2570 * composite.c (update_compositions): Do nothing if
2571 inhibit-modification-hooks is set.
2572
9584e63a
GM
25732001-08-30 Gerd Moellmann <gerd@gnu.org>
2574
986ec8f2 2575 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2576 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2577 glyph matrices etc. in a core dump.
2578
92a25631
GM
2579 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2580 (syms_of_xdisp): Initialize them.
2581 (handle_single_display_prop): Don't change point, bind `object',
2582 `position', and `buffer-position' instead to the object having the
2ee1aa00 2583 `display' property, position in the object and position in the buffer.
92a25631 2584
9584e63a
GM
2585 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2586 of the buffer if REPLACE is non-nil.
2587
d38633a3
GM
25882001-08-29 Gerd Moellmann <gerd@gnu.org>
2589
2590 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2591
f4fccc1e
EZ
25922001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2593
2594 * w32term.c (x_set_glyph_string_background_width)
2595 (show_mouse_face): Track the last changes in xterm.c.
2596
eaaa65b0
GM
25972001-08-28 Gerd Moellmann <gerd@gnu.org>
2598
7b0870b2
GM
2599 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2600 string's background width so that multi-line mouse-face is drawn
2601 to the right edge of the window.
2602 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2603 glyphs.
2604
6b6e2422 2605 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2606 before inserting/writing glyphs.
6b6e2422 2607
eaaa65b0
GM
2608 * xdisp.c (display_mode_element): Use string_byte_to_char to
2609 determine character positions in strings, use chars_in_text
2610 instead of strwidth.
2611 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2612 a matrix as parameter; this is easier to use from GDB.
2613
9ad62cf8
MB
26142001-08-28 Miles Bader <miles@gnu.org>
2615
2ee1aa00
SM
2616 * textprop.c (Fprevious_single_char_property_change)
2617 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2618
32171635
GM
26192001-08-27 Gerd Moellmann <gerd@gnu.org>
2620
47d57b22
GM
2621 * fileio.c (Finsert_file_contents): Allocate, restore, and
2622 free composition data in the case of REPLACE not being nil.
2623
2624 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2625 there exist overlay strings with newlines at POS.
2626 (text_outside_line_unchanged_p): Return 0 if changes start at
2627 START and overlays exist at START. Likewise for END.
2628 (try_window_id): Give up if init_to_row_end returns 0.
2629
32171635
GM
2630 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2631 unconditionally.
2632
e1249666
GM
26332001-08-24 Gerd Moellmann <gerd@gnu.org>
2634
33954c45
GM
2635 * keymap.c (access_keymap): Return the cdr of the binding of
2636 a generic character instead of its definition (KEY . BINDING).
2637
e1249666
GM
2638 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2639 to 0 also in the REPLACE case.
2640
fb4c6c96
AC
26412001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2642
2643 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2644 open to determine whether file is readable (as for DOS_NT).
2645
59ecf80b
GM
26462001-08-23 Gerd Moellmann <gerd@gnu.org>
2647
2648 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2649 coding.type is coding_type_no_conversion or coding_type_raw_text,
2650 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2651 non-nil instead of just setting enable_multibyte_characters in the
2652 buffer to nil.
2653
40e33037
GM
26542001-08-22 Gerd Moellmann <gerd@gnu.org>
2655
374388c3
GM
2656 * dispextern.h (struct face_cache): Add member
2657 menu_face_changed_p.
2658
2659 * xfaces.c (menu_face_changed_default): New variable.
2660 (menu_face_changed_count): Variable removed.
2661 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2662 the menu_face_changed_default flag, otherwise set the FRAME's
2663 menu_face_changed_p flag if the `menu' face has been changed.
2664 Prevent calling set_font_frame_param if FRAME is t.
2665 (make_face_cache): Initialize cache's menu_face_changed_p
2666 from menu_face_changed_default.
2667 (realize_basic_faces): Look into the frame's face cache to
2668 determine if the menu appearance needs updating.
2669
40e33037
GM
2670 * keymap.c (access_keymap): Fix last change to not consider
2671 IDX when it has modifiers.
2672
859ea4b8
GM
26732001-08-21 Gerd Moellmann <gerd@gnu.org>
2674
2675 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2676 . BINDING) exists, where GENERIC-CHAR is the generic character of
2677 the charset of IDX, return BINDING unless there exists a binding
2678 for IDX itself.
2679
e8660d73
GM
26802001-08-16 Gerd Moellmann <gerd@gnu.org>
2681
cca1b1d7
GM
2682 * xrdb.c (SYSV): Don't define on Solaris 2.
2683 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2684
e8660d73 2685 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2686 of the screen line, not text line, containing IT's current position.
e8660d73 2687
93aba6fc
GM
26882001-08-15 Gerd Moellmann <gerd@gnu.org>
2689
288d4e06
GM
2690 * window.c (window_scroll_pixel_based): Don't recenter if
2691 PT is partially visible in the window.
2692
3452efc2
SM
2693 * xterm.c (expose_window_tree, expose_window, expose_line):
2694 Return 1 when overwriting mouse-face.
82f053ab
GM
2695 (expose_frame): If mouse-face was overwritten, redo it.
2696
93aba6fc
GM
2697 * xfaces.c (x_update_menu_appearance): Don't call
2698 set_frame_menubar, let the next redisplay do it.
2699
858a55c1
AI
27002001-08-14 Andrew Innes <andrewi@gnu.org>
2701
2702 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2703 drawing glyph string.
2704
3a990b67
EZ
27052001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2706
2707 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2708 running HI-UX/MPP.
2709
04386463
GM
27102001-08-14 Gerd Moellmann <gerd@gnu.org>
2711
2712 * xfaces.c (x_update_menu_appearance): Save and restore value of
2713 interrupt_input_blocked.
2714
3e6385a4
GM
27152001-08-13 Gerd Moellmann <gerd@gnu.org>
2716
b0e619b4
GM
2717 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2718 a line start, move back to the line start.
3452efc2 2719
0de73d5a
GM
2720 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2721 exactly when a mini-buffer is active.
2722
3e6385a4
GM
2723 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2724 in units of 1/8 character on non window-system frames.
2725 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2726
d1b5f629
EZ
27272001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2728
2729 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2730 a doc string.
2731
eaa2319f
GM
27322001-08-09 Gerd Moellmann <gerd@gnu.org>
2733
8e3189f0
GM
2734 * keyboard.c (Vpre_help_message): New variable.
2735 (syms_of_keyboard): Initialize and staticpro it.
2736 (show_help_echo): Record current message before displaying a
2737 help-echo, and restore that message when clearing the help.
2738
eaa2319f
GM
2739 * xfns.c (x_create_im): Remove prototype.
2740
2741 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2742
2743 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2744
eaa2319f
GM
27452001-08-08 Gerd Moellmann <gerd@gnu.org>
2746
2747 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2748 windows whose height has changed, disable partially visible lines.
eaa2319f 2749
17fdcfc8
GM
27502001-08-07 Gerd Moellmann <gerd@gnu.org>
2751
22d01aed 2752 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2753 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2754
17fdcfc8
GM
2755 * xdisp.c (start_display): Don't try to determine the continuation
2756 lines width if lines are truncated. It's superfluous and leads to
2757 incorrect results if POS is not visible in the window after
2758 reseating the iterator at the previous line start.
2759
8e3fe78e
GM
27602001-08-06 Gerd Moellmann <gerd@gnu.org>
2761
2762 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2763
98a8938c
GM
27642001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2765
2766 * alloc.c (init_stack): Remove declaration.
2767
18f9986a
GM
27682001-08-03 Gerd Moellmann <gerd@gnu.org>
2769
5e1f85e0
GM
2770 * keyboard.c (read_key_sequence): Check that key is an integer
2771 before comparing it with quit_char.
2772 (add_command_key): Use larger_vector.
2773 (read_char_x_menu_prompt): Instead of converting symbol and
2774 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2775 which cannot be confused with valid events.
5e1f85e0
GM
2776 (read_char): When reading from Vunread_command_events, check for
2777 events of the form (EVENT . disabled) instead of
2778 (EVENT . nil).
2779
18f9986a
GM
2780 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2781 a float, determine the max height from the frame's height.
2782
fbc7f2a6
GM
27832001-08-02 Gerd Moellmann <gerd@gnu.org>
2784
2785 * xdisp.c (redisplay_internal): Take message_cleared_p into
2786 account only if minibuf_level == 0.
2787
81b1a79d
GM
27882001-08-01 Gerd Moellmann <gerd@gnu.org>
2789
e5c60873
GM
2790 * xdisp.c (redisplay_internal): Add a check for the last
2791 displayed message.
3452efc2 2792
6e019995
GM
2793 * xdisp.c (message_cleared_p): New variable.
2794 (clear_message): Set message_cleared_p when clearing the current
2795 message.
2796 (redisplay_internal): Look at message_cleared_p to capture
2797 the case that the echo area should be cleared.
2798
308a74d8
GM
2799 * keyboard.c (command_loop_1): Fix spelling of
2800 resize_echo_area_exactly.
2801
3452efc2 2802 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2803
2804 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2805
81b1a79d
GM
2806 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2807 current matrix when the window gets smaller.
2808
ada329e6
EZ
28092001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2810
2811 * print.c (strout): Cast the character passed to insert_char to
2812 unsigned char, to avoid sign extension when it is promoted to int.
2813
ed86208c
GM
28142001-07-31 Gerd Moellmann <gerd@gnu.org>
2815
2816 * fileio.c (Finsert_file_contents): Don't treat a return value
2817 of 0 from emacs_read as an IO error.
2818
6594ac22
GM
28192001-07-30 Gerd Moellmann <gerd@gnu.org>
2820
cef68af5
GM
2821 * keyboard.c (abs): New macro.
2822 (double_click_fuzz): New variable.
2823 (make_lispy_event): Use it to determine what makes a double-click.
2824 (syms_of_keyboard): DEFVAR_INT it.
2825
6594ac22
GM
2826 * xmenu.c (set_frame_menubar): Take into account that
2827 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2828 <raeburn@gnu.org>.
2829
75c5350a
GM
28302001-07-27 Gerd Moellmann <gerd@gnu.org>
2831
2832 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2833
2834 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2835 of row's visible height.
2836
2837 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2838 deal with the first overlay string having an image `display' property.
2839 (try_window_reusing_current_matrix, compute_line_metrics):
2840 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2841 row is invisible above and part of the row is at the same time
2842 invisible below the window.
2843
ac49effe
GM
28442001-07-26 Gerd Moellmann <gerd@gnu.org>
2845
2846 * xfns.c (x-show-tip): Doc fix.
3452efc2 2847
ac49effe
GM
2848 * xfns.c (Vx_max_tooltip_size): New variable.
2849 (syms_of_xfns): DEFVAR_LISP it.
2850 (Fx_show_tip): Set frame's window_width to the width of the
2851 window. Use a maximum tooltip size specified by
2852 Vx_max_tooltip_size, if that has valid contents.
2853 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2854
8c3b00cb
AI
28552001-07-26 Andrew Innes <andrewi@gnu.org>
2856
2857 * w32term.c (x_display_list): New variable.
2858 (w32_term_init): Set it.
2859
2860 * w32term.h (x_display_list): New extern.
2861
16098288
GM
28622001-07-26 Gerd Moellmann <gerd@gnu.org>
2863
2864 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2865 is non-nil, instead of when redisplaying_p is non-zero.
2866 See comment there.
16098288
GM
2867 (mark_window_display_accurate_1): Add an assertion.
2868
64c5be50
GM
28692001-07-25 Gerd Moellmann <gerd@gnu.org>
2870
e743f599
GM
2871 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2872
563b384d
GM
2873 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2874 events so that we get a chance of processing expose events.
2875
64c5be50
GM
2876 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2877
296808a5
GM
28782001-07-24 Gerd Moellmann <gerd@gnu.org>
2879
2880 * xfns.c (valid_image_p): Protect better against invalid image
2881 specifications. Previous code could signal an error.
2882
5247262a
GM
28832001-07-23 Gerd Moellmann <gerd@gnu.org>
2884
3452efc2 2885 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2886 presence of display table entries.
2887 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2888
dd42b31a
GM
2889 * dispnew.c (adjust_glyph_matrix): In the optimization for
2890 windows whose height has changed, use the new window height
2891 to compute which rows to invalidate.
2892
9e5a7f2a
GM
2893 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2894 (MAX_10_EXP): New macro.
2895 (Fformat): Use it.
2896
5247262a
GM
2897 * coding.c (code_convert_region): Handle the multibyte case if
2898 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2899
177ab8ce
GM
29002001-07-20 Gerd Moellmann <gerd@gnu.org>
2901
6e07c0a5
GM
2902 * dispextern.h (struct face): Change type of `stipple' to
2903 int; it's an ID.
2904
177ab8ce
GM
2905 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2906
b5b80599
GM
29072001-07-19 Gerd Moellmann <gerd@gnu.org>
2908
4e2a256b
GM
2909 * dispnew.c (update_window): Don't set the cursor at the end
2910 of the update if display update has been paused.
2911
3452efc2 2912 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2913
c1fd9232
KR
29142001-07-18 Ken Raeburn <raeburn@gnu.org>
2915
2916 * fns.c (Fset_char_table_default): Check that a charset is defined
2917 before checking its dimension.
2918
928a85c1
KR
29192001-07-17 Ken Raeburn <raeburn@gnu.org>
2920
2921 * coding.c (setup_coding_system): Don't do any designation based
2922 on reg_bits if charset is not yet defined.
2923
fb4c6c96 2924 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2925 pointer, using eassert.
2926
de11c1ea
GM
29272001-07-17 Gerd Moellmann <gerd@gnu.org>
2928
3452efc2
SM
2929 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2930 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2931
467f1209
GM
29322001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2933
2934 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2935
c3d6be34
GM
29362001-07-16 Gerd Moellmann <gerd@gnu.org>
2937
c1d61a7d
GM
2938 * fileio.c (unwind_read): Function removed.
2939 (read_non_regular, read_non_regular_quit): New functions.
2940 (Finsert_file_contents): When reading from non-regular files,
2941 arrange to catch a `quit' and terminate the loop. Rearrange
2942 code so that a `quit' when reading from a regular file doesn't
2943 insert text in the buffer.
2944
c3d6be34
GM
2945 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2946 Clear faces afterwards.
2947 (clear_font_table): Take a x_display_info parameter. Don't free
2948 fonts being the default font of any frame on the given display.
2949
e06aa1f9
GM
29502001-07-13 Gerd Moellmann <gerd@gnu.org>
2951
2952 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2953 instead of CHAR_STRING which can signal an error.
2954
2955 * charset.c (char_to_string_1): Extracted from char_to_string.
2956 Return -1 instead of signaling an error.
2957 (char_to_string): Use it.
2958
2959 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2960
176c92e6
SM
29612001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2962
2963 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2964 is t, don't try to append anything to it.
2965
1c56232f
EZ
29662001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2967
2968 * dired.c (file_name_completion): Pass dp->d_name to
2969 Fstring_match, not elt, which is always nil here.
2970
1d2b2268
GM
29712001-07-12 Gerd Moellmann <gerd@gnu.org>
2972
2973 * xselect.c (x_decline_selection_request): Handle errors
2974 caused by receivers that have vanished.
2975
2976 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2977 ignoring events on foreign windows in #if 0. Always dispatch
2978 the event after checking it with x_handle_property_notify.
2979
2980 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2981 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2982 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2983 (toplevel): Add prototypes for file-local functions.
2984 (x_atom_to_symbol): Remove DPYINFO parameter.
2985
fe5a0162
SM
29862001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2987
2988 * w32menu.c (menubar_selection_callback, w32_menu_show):
2989 Initialize `entry' to nil.
2990 (w32_dialog_show): Remove unused `save_wv' variable.
2991 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2992
a777242c
GM
29932001-07-11 Gerd Moellmann <gerd@gnu.org>
2994
8ee5b6a3
GM
2995 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2996
d0e2444e
GM
2997 * fileio.c (unwind_read): Print a message when discarding inserted
2998 text or switching the buffer to unibyte. Change parameter.
2999 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3000
a777242c
GM
3001 * fileio.c (unwind_read): New function.
3002 (Finsert_file_contents): Record it as unwind-function for
3003 the case that reading is interrupted by C-g.
3004
ae794295
GM
30052001-07-10 Gerd Moellmann <gerd@gnu.org>
3006
fe5a0162 3007 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3008 update when scrolling_window returns 0.
3009
6b05fae3
GM
3010 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3011
3012 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3013 for the case that x_decode_color signals an error.
6b05fae3 3014
ae794295
GM
3015 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3016
bb6e8cee
GM
30172001-07-09 Gerd Moellmann <gerd@gnu.org>
3018
3019 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3020 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3021 around ioctls.
3022
36b40a8a
EZ
30232001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3024
24b97d4b
EZ
3025 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3026 doc string line for dos-timezone-offset.
3027
36b40a8a
EZ
3028 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3029 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3030 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3031 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3032
3033 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3034
0967b4b0
GM
30352001-07-05 Gerd Moellmann <gerd@gnu.org>
3036
f25cfe53
GM
3037 * sound.c: Include Emacs' header files with #include "...".
3038
0967b4b0
GM
3039 * eval.c (specbind): Additionally record the buffer that was
3040 current when a buffer-local or frame-local variable was bound.
3041
c347a1c3
GM
30422001-07-04 Gerd Moellmann <gerd@gnu.org>
3043
3044 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3045 to unibyte characters in unibyte buffers.
3046
6332ca8a
GM
30472001-07-03 Gerd Moellmann <gerd@gnu.org>
3048
38472d44
GM
3049 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3050 the frame on the binding stack. Change format of entries for
3051 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3052 (unbind_to): Handle unbinding a frame-local variable.
3053
6332ca8a 3054 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3055 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3056 (dump_glyph_row): Print row's continuation_lines_width.
3057 (try_window_id): Take the shortcut if ZV is visible in the
3058 window, but there are actually no changes at ZV.
3059
63d1b174
GM
30602001-07-02 Gerd Moellmann <gerd@gnu.org>
3061
4c175203
GM
3062 * xterm.h (x_free_dpy_colors): Add prototype.
3063
3064 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3065 right number of arguments.
3066
0b54ce28
GM
3067 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3068 ($(lwlibdir)TAGS): New target.
4c175203 3069 (TAGS): Fix dependency list.
0b54ce28 3070
63d1b174
GM
3071 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3072 with input blocked.
3073
d827466c
GM
30742001-06-30 Gerd Moellmann <gerd@gnu.org>
3075
3076 * emacs.c (main): Remove extern declaration for sys_nerr, which
3077 isn't used and causes a compilation error with GCC 3.0 on
3078 FreeBSD 4.3.
3079
b5cb1ada
GM
30802001-06-27 Gerd Moellmann <gerd@gnu.org>
3081
a5d3ec3f 3082 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3083 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3084 (toplevel): Include <signal.h> and syssignal.h.
3085
b5cb1ada
GM
3086 * sound.c (vox_configure, vox_close): Turn off atimers
3087 around ioctls.
3088
d9bad487
GM
30892001-06-26 Gerd Moellmann <gerd@gnu.org>
3090
fdbb67fe
GM
3091 * keyboard.c (read_char) <non_reread>: Record the previous idle
3092 start time before calling timer_stop_idle.
3093 (read_char) <reread_first>: After processing a help-echo event,
3094 restore the previous idle start time.
3095
d9bad487
GM
3096 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3097 the start of invisible text.
3098 (setup_for_ellipsis): New function.
3099 (next_overlay_string): After all overlay strings have been
3100 processed, display an ellipsis if necessary.
3101 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3102 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3103
3104 * dispextern.h (struct iterator_stack_entry): Add member
3105 display_ellipsis_p.
3106
2b9c25e0
GM
31072001-06-25 Gerd Moellmann <gerd@gnu.org>
3108
80de57df
GM
3109 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3110 on the value of the wait-for-wm frame parameter.
3111
3112 * xterm.h (struct x_output): Add member wait_for_wm.
3113
3114 * xfns.c (Qwait_for_wm): New variable.
3115 (x_frame_parms): Add entry for `wait-for-wm".
3116 (x_set_wait_for_wm): New function.
3117 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3118 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3119
2b9c25e0
GM
3120 * xdisp.c (try_window_id) <all changes below window end>: Don't
3121 take this shortcut if ZV is visible in the window.
3122 (try_window_id): When checking for window start being in changed
3123 text, don't check that the buffer's size has changed.
3124
f772775c
RS
31252001-06-23 Richard M. Stallman <rms@gnu.org>
3126
3127 * minibuf.c (Fcompleting_read): Doc fix.
3128
fa9090b8
GM
31292001-06-19 Gerd Moellmann <gerd@gnu.org>
3130
3131 * composite.c (Ffind_composition_internal): Accept ZV
3132 and a string's end position as POS.
3133
f6f1beba
GM
31342001-06-18 Gerd Moellmann <gerd@gnu.org>
3135
3136 * composite.c (Ffind_composition_internal): Check POS
3137 for validity.
3138
0ae83348
EZ
31392001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3140
3141 * editfns.c (Fmessage_box): If the frame is not under a window
3142 system, output the message in the echo area.
3143
e4cdc335
RS
31442001-06-14 Richard M. Stallman <rms@gnu.org>
3145
3146 * xdisp.c (try_window_id): When EOB is visible, don't treat
3147 insertion at EOB as if it were "off the bottom of the screen."
3148
a55a5f3c
AI
31492001-06-11 Andrew Innes <andrewi@gnu.org>
3150
3151 * w32proc.c (create_child): Add new parameter is_gui_app.
3152 (w32_executable_type): Add new parameter is_gui_app.
3153 (sys_spawnve): Use it.
3154 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3155 SIGQUIT. This matches better how the signals are interpreted by
3156 MSVC compiled programs.
3157 (syms_of_ntproc): Update docstring.
3158
1b85dc1c
SM
31592001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3160
3161 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3162 well otherwise note_mouse_highlight might optimize away highlighting
3163 if we pass over that same overlay again.
3164
b75f8eab
EZ
31652001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3166
3167 * lread.c (Fload): Document that the argument is run via
3168 substitute-in-file-name.
3169
94843cc1
GM
31702001-05-31 Gerd Moellmann <gerd@gnu.org>
3171
b14659e6
GM
3172 * Makefile.in (bootstrap-doc): New target.
3173 (bootstrap-emacs): Depend on it.
3174
0894672f
GM
3175 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3176 auto-save-list-file-name when shutting down Emacs, because
3177 creating the directory might signal an error, and leaves
3178 Emacs in a strange state.
3179
94843cc1
GM
3180 * term.c: (tty_cursor_hidden): New variable.
3181 (update_begin): Don't call tty_hide_cursor. Clean up.
3182 (update_end, set_terminal_window, set_scroll_region): Clean up.
3183 (ring_bell, reset_terminal_modes): Clean up.
3184 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3185 on tty_cursor_hidden.
3186 (write_glyphs): Call tty_hide_cursor.
3187
db3a49a6
SM
31882001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3189
3190 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3191
8bd189fb
GM
31922001-05-30 Gerd Moellmann <gerd@gnu.org>
3193
6f1be3b9
GM
3194 * xfns.c (enum image_value_type): New enumerator
3195 IMAGE_STRING_OR_NIL_VALUE.
3196 (parse_image_spec): Handle it.
3197 (xbm_format, pbm_format): Use it for :foreground and :background.
3198 (xbm_load, pbm_load): Check for nil color names.
3199
8bd189fb
GM
3200 * xterm.c (note_mouse_highlight): If an overlapping overlay
3201 exists, but we find that we highlight the same overlay as before,
3202 don't do the highlighting again.
3203
7bdba03c
GM
32042001-05-29 Gerd Moellmann <gerd@gnu.org>
3205
4c329aa8
GM
3206 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3207 Protect unibyte strings created by replacing their multibyte
3208 equivalents in menu_items.
3209
e15e2828
GM
3210 * keymap.c (Fsingle_key_description): NUL-terminate the string
3211 buffer before calling build_string.
3212
7bdba03c
GM
3213 * callproc.c (Fcall_process): Deal with decode_coding returning
3214 CODING_FINISH_INCONSISTENT_EOL.
3215
89c8dc6c
GM
32162001-05-28 Gerd Moellmann <gerd@gnu.org>
3217
db3a49a6 3218 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3219 an item's name with its key description in case the description
3220 is a multibyte string.
3221
3222 * keymap.c (Fsingle_key_description): Create a multibyte string
3223 only if necessary.
3224
eb04d6cd
GM
3225 * macros.c (Fstart_kbd_macro): Doc fix.
3226
8bd6307f
GM
3227 * xterm.c (cursor_in_mouse_face_p): New function.
3228 (x_draw_stretch_glyph_string): Use it to choose a different GC
3229 when drawing a cursor within highlighted text.
3230
e26c4089
GM
3231 * editfns.c (char_property_eq): Put in #if 0.
3232
3233 * indent.c (string_display_width): Put in #if 0.
3234
3235 * lread.c (Fload): Remove unused label.
3236
89c8dc6c
GM
3237 * termcap.c (speeds): Put in #if 0.
3238
9a1211f2
GM
32392001-05-18 Gerd Moellmann <gerd@gnu.org>
3240
29148a3f
GM
3241 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3242
9a1211f2
GM
3243 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3244 transformation matrix by 10.
3245
09393d07
GM
32462001-05-16 Gerd Moellmann <gerd@gnu.org>
3247
3248 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3249 only if it's equal to the former foreground pixel color.
db3a49a6 3250 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3251 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3252
460e6bae
GM
32532001-05-16 Dave Love <fx@gnu.org>
3254
3255 * insdel.c (signal_before_change, signal_after_change): Consider a
3256 local change hook which changes the buffer.
99c78ce8
GM
3257
3258 * process.c (read_process_output): Don't call signal_after_change
3259 and update_compositions after insert_from_string_before_markers.
3260
dbcf3c03
GM
32612001-05-16 Gerd Moellmann <gerd@gnu.org>
3262
a90b3d3c
GM
3263 * xfaces.c (split_font_name): Use the right field when
3264 checking for `[...]' syntax.
3265
1b7818b4
GM
3266 * buffer.c (copy_overlays): New function.
3267 (clone_per_buffer_values): Use it.
3268
3269 * buffer.h (OVERLAY_PLIST): New macro.
3270
9bae8781
GM
3271 * keymap.c (Fsingle_key_description): Replace a build_string with
3272 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3273
dbcf3c03
GM
3274 * fontset.c (Ffontset_info): Check that face is non-null
3275 before accessing its fields.
3276
8a1ae4dd
GM
32772001-05-15 Gerd Moellmann <gerd@gnu.org>
3278
18a0a39e
GM
3279 * keyboard.c (read_key_sequence): Prevent generating a fake
3280 prefix key twice.
3281
e335b66a
GM
3282 * xfaces.c (split_font_name): Handle `[...]' for the right
3283 font name fields.
3284
8a1ae4dd
GM
3285 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3286 of CCL_STAT_INVALID_CMD.
3287
3cf80731
SM
32882001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3289
33568849
SM
3290 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3291 in <var> has no default value yet.
3292
3cf80731
SM
3293 * xfaces.c (try_alternative_families): First try the FAMILY.
3294 And if nothing is found in the end, try again with scalable fonts.
3295 (try_font_list): Let try_alternative_families do a bit more of
3296 the work. Only use FAMILY if it is not nil.
3297 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3298
933b0249
GM
32992001-05-14 Gerd Moellmann <gerd@gnu.org>
3300
58e5af83
GM
3301 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3302 pointer shape when show_mouse_face has already done it.
33568849 3303
58e5af83 3304 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3305 full-width rows.
3306
7b16a6bf
GM
3307 * xfaces.c (split_font_name): Make sure to leave the loop
3308 with the right value of `i'.
3cf80731 3309
933b0249
GM
3310 * xfaces.c (split_font_name): Handle matrix transformations
3311 in the pixel and point size fields of XLFD font names.
3312 (xlfd_point_size): Likewise.
3313
dddcbf00
EZ
33142001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3315
3cf80731 3316 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3317 (x_to_w32_font): Add prototype.
3318
7689ef0b
EZ
3319 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3320 redefining, to avoid compiler warnings.
3321
e7c15bba
EZ
3322 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3323
dddcbf00
EZ
3324 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3325 (w32_get_bdf_glyph): Cast between unsigned char and char when
3326 passing arguments to subroutines, to shut up compiler warnings.
3327 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3328 GET_HEX_VAL.
3329
3330 * xfaces.c: Include keyboard.h before frame.h, not after it.
3331
3332 * widget.c: Include keyboard.h before frame.h.
3333
3334 * w32term.h (struct image, struct face): Forward declaration, to
3335 avoid compiler warnings.
3336
7bd2d083
GM
33372001-05-11 Gerd Moellmann <gerd@gnu.org>
3338
47e72862
GM
3339 * keyboard.c (read_key_sequence): Don't modify events when
3340 generating fake prefix keys (mode-line, scroll-bar, ...) since
3341 this prevents proper processing of such events when pushed back
3342 into unread-command-events.
3343
dd5f324b
GM
3344 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3345 actually redrawn. Make the function static.
3346 (note_mouse_highlight): Fix a case where the mouse cursor
3347 was changed back to the text cursor.
3348
3349 * xterm.h (clear_mouse_face): Remove prototype.
3350
d88a79d4
GM
3351 * xdisp.c (try_window_id): Fix the fix and set the right
3352 window_end_vpos.
3353
3354 * xdisp.c (try_window_id): Fix computation of window end in the
3355 case that lines were deleted at the end of the window. Add some
3356 more debug_method_adds.
0416532f 3357
7bd2d083
GM
3358 * xfaces.c (try_alternative_families): New function.
3359 (try_font_list): Use it. If ATTRS specifies a family, check
3360 fonts from that family first.
3361 (choose_face_font): Remove code setting the family part of
3362 the pattern to nil.
3363
23fca891
GM
33642001-05-10 Gerd Moellmann <gerd@gnu.org>
3365
ff9aa2ca
GM
3366 * xdisp.c (try_window_id): Fix case of all changes before
3367 the window start.
7b2654b5 3368
23fca891
GM
3369 * xdisp.c (try_window_id): Add some xasserts.
3370
e9726794
GM
33712001-05-09 Gerd Moellmann <gerd@gnu.org>
3372
3373 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3374
9e53a675
GM
33752001-05-09 Dave Love <fx@gnu.org>
3376
3377 * xdisp.c (GIVE_UP): Fix for K&R C.
3378
0d487c52
GM
33792001-05-09 Gerd Moellmann <gerd@gnu.org>
3380
fe88d421
GM
3381 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3382
0d487c52
GM
3383 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3384 back to the text cursor shape without need.
3385
1e9fc92e
GM
33862001-05-07 Gerd Moellmann <gerd@gnu.org>
3387
a2a6232e
GM
3388 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3389
3390 * dispextern.h (inverse_video): Declare extern.
3391
1e9fc92e
GM
3392 * keyboard.c (delete_kboard): Handle the case that selected_frame
3393 has been deleted in the course of x_connection_closed.
3394
12949a7f
EZ
33952001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3396
7b2654b5
SM
3397 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3398 Fix the change from 2001-04-30.
12949a7f 3399
2fa2f461
GM
34002001-05-03 Gerd Moellmann <gerd@gnu.org>
3401
a779d213
GM
3402 * xfns.c (file_dialog_unmap_cb): New function.
3403 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3404 where a dialog is closed via the window manager.
3405
7b2654b5 3406 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3407 the window start or all below the window end mostly rewritten.
3408 (redisplay_window): Move the tests if try_window_id is
3409 applicable to try_window_id.
3410 (GIVE_UP): New macro.
3411
3356df63
GM
34122001-05-02 Gerd Moellmann <gerd@gnu.org>
3413
a39202f6 3414 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3415 currently being updated, mark the frame garbaged.
3416 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3417 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3418
3356df63
GM
3419 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3420 again if it has already been drawn.
3421
a9d2fd1d
SM
34222001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3423
3424 * syntax.c (update_syntax_table): Check that oldi has the same
3425 properties as old_prop before deciding not to invalidate.
3426
c95fc5f1
GM
34272001-04-30 Gerd Moellmann <gerd@gnu.org>
3428
a9793e45
GM
3429 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3430 read-only text that is so because of text properties.
3431
c95fc5f1 3432 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3433 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3434 windows that are components of a Lucid menu bar.
3435
5a5d9185
GM
34362001-04-27 Gerd Moellmann <gerd@gnu.org>
3437
3438 * term.c (turn_on_face): Fix reverse video handling on terminals
3439 that don't support colors.
3440
ba973f7a
GM
34412001-04-26 Gerd Moellmann <gerd@gnu.org>
3442
3443 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3444 a non-buffer.
3445
8c56a983
GM
34462001-04-25 Gerd Moellmann <gerd@gnu.org>
3447
a728644c
GM
3448 * term.c (toggle_highlight): New function.
3449 (turn_on_face): Change handling of reverse video.
3450
7b2654b5
SM
3451 * process.c (wait_reading_process_input):
3452 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3453
bfd8410f
GM
3454 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3455 of the number of overlays to check.
3456
be2488ca
GM
3457 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3458
8c56a983
GM
3459 * xdisp.c (try_window_id): Fix a case where window_end_pos
3460 and window_end_bytepos were not adjusted.
3461
522d42f7
GM
34622001-04-23 Gerd Moellmann <gerd@gnu.org>
3463
3464 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3465 zero instead of -1.
3466
78c1afb6
EZ
34672001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3468
a9d2fd1d
SM
3469 * process.c (wait_reading_process_input) [!subprocesses]:
3470 Don't reference waiting_for_user_input_p, it's not defined in the
3471 branch without async subprocesses support.
78c1afb6 3472
a2fab450
GM
34732001-04-19 Gerd Moellmann <gerd@gnu.org>
3474
a122a38e
GM
3475 * keyboard.c (delete_kboard): Prevent a dangling reference
3476 from current_kboard to KB, which is freed.
3477
a9d2fd1d
SM
3478 * process.c (wait_reading_process_input):
3479 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3480 read_key_sequence aware of buffer changes from under it.
3481
0f8d6dc7
GM
34822001-04-18 Gerd Moellmann <gerd@gnu.org>
3483
eeffb293
GM
3484 * xfaces.c (Qscalable_fonts_allowed): New variable.
3485 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3486 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3487 removed.
eeffb293 3488 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3489 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3490 for scalable-fonts-allowed to t.
eeffb293 3491
0f8d6dc7
GM
3492 * fileio.c (Finsert_file_contents): If the file size returned from
3493 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3494 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3495
eec2d1de
EZ
34962001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3497
3498 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3499 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3500 (__memalign_hook): Make the two prototypes consistent.
3501
f4f480bd
GM
35022001-04-17 Gerd Moellmann <gerd@gnu.org>
3503
3504 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3505 matrix of mini-windows.
3506
52283633
SM
35072001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3508
3509 * intervals.c (find_interval): Don't rebalance during signal handling.
3510
ec2423c9
GM
35112001-04-11 Gerd Moellmann <gerd@gnu.org>
3512
30cb0001 3513 * fns.c: Include blockinput.h.
52283633 3514
ec2423c9
GM
3515 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3516
719d83ad
GM
35172001-04-10 Gerd Moellmann <gerd@gnu.org>
3518
60f8d735
GM
3519 * fns.c (Fcompare_strings): Fix return values.
3520
afffeb57
GM
3521 * window.c (window_scroll): Change the meaning of N to mean
3522 N screen-fulls or N lines.
3523 (window_scroll_pixel_based, window_scroll_line_based)
3524 (scroll_command, Fscroll_other_window): Change accordingly.
3525
52283633
SM
3526 * window.c (window_scroll_pixel_based, Frecenter):
3527 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3528 height of the window.
3529
3530 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3531 instead of using it.last_visible_y for the height of the window.
52283633 3532
719d83ad 3533 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3534 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3535
3536 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3537 able to write to hidden and system files. From Dan Holmsand
3538 <dan@eyebee.com>.
719d83ad 3539
8ddf3ee1
GM
3540 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3541 Holmsand <dan@eyebee.com>.
719d83ad 3542
522ed7fb
GM
35432001-04-09 Gerd Moellmann <gerd@gnu.org>
3544
9170e5d4
GM
3545 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3546
522ed7fb
GM
3547 * window.c (window_internal_height): Return 1 less if the
3548 window has a header line.
3549
3550 * xdisp.c (try_window_id): When scrolling on a terminal, take
3551 the change of window_internal_height into account.
3552
ceeb3d7d
EZ
35532001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3554
3555 * gmalloc.c (align): If the argument SIZE would overflow
3556 __malloc_ptrdiff_t, fail right away.
3557
63685b9d
GM
35582001-04-06 Gerd Moellmann <gerd@gnu.org>
3559
3560 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3561 Make sure the tooltip is completely visible.
3562 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3563
3564 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3565
3566 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3567
3ffb33bb
DL
35682001-04-06 Dave Love <fx@gnu.org>
3569
52283633
SM
3570 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3571 Fix test of `from'.
3ffb33bb 3572
869fb12c
GM
35732001-04-06 Gerd Moellmann <gerd@gnu.org>
3574
52283633 3575 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3576
869fb12c
GM
3577 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3578
441bf856
GM
35792001-04-05 Gerd Moellmann <gerd@gnu.org>
3580
4d664b04
GM
3581 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3582
52283633 3583 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3584
30ca89f5
GM
3585 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3586 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3587
3588 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3589 shell widget's position only if it is non-null.
3590
52283633
SM
3591 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3592 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3593
81a81c0f
GM
3594 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3595 FILENAME to bring it in synch with the documentation.
3596
441bf856
GM
3597 * xfaces.c (realizing_basic_faces_p): Renamed from
3598 realize_default_face_p.
3599 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3600 (realize_default_face): Don't set the flag.
3601
702a1e8e
GM
36022001-04-04 Gerd Moellmann <gerd@gnu.org>
3603
1013f4e3
GM
3604 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3605
52283633
SM
3606 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3607
1013f4e3
GM
3608 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3609 the buffer that was used for echoing.
3610
702a1e8e
GM
3611 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3612 (first_font_matching): Removed unused function.
3613 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3614 (may_use_scalable_font_p): Remove parameter FONT; rename
3615 parameter NAME to FONT.
3616 (x_face_list_fonts): Fix missing bounds check.
3617 (realizing_default_face_p): New variable.
3618 (realize_default_face): Set and clear that flag.
3619 (x_face_list_fonts): When called during the realization of the
3620 default face, and no matching fonts are found when ignoring
3621 scalable fonts and fonts matching a regexp from
3622 face-ignored-fonts, try without ignoring fonts.
3623
f9dbcda4
GM
36242001-04-03 Gerd Moellmann <gerd@gnu.org>
3625
ad18ffb1
GM
3626 * xfns.c (postprocess_image): New function.
3627 (lookup_image): Call it for all image types except PostScript.
3628 (x_kill_gs_process): Call postprocess_image.
3629
f9dbcda4
GM
3630 * xterm.c (x_use_underline_position_properties): New variable.
3631 (x_draw_glyph_string): Use it.
3632 (syms_of_xterm): DEFVAR_BOOL it.
3633
651f03b6
GM
36342001-04-02 Gerd Moellmann <gerd@gnu.org>
3635
3636 * xterm.c (x_alloc_nearest_color_1): New function.
3637 (x_alloc_nearest_color): Use it.
3638 (x_color_cells): Take a Display as argument, instead of a frame.
3639 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3640 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3641 (x_initialize): Register cvt_string_to_pixel as resource converter
3642 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3643
73d75a62
GM
36442001-03-30 Gerd Moellmann <gerd@gnu.org>
3645
b2046df8
GM
3646 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3647 (set_iterator_to_next): If a string from a display property ends,
3648 consider the case that this might also be the end of an
3649 overlay string having the display property.
3650
52283633 3651 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3652
87d8eba4
GM
3653 * xdisp.c (reseat_to_string): Undo last change.
3654
73d75a62
GM
3655 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3656 matrix of a window when the header line changes, when
3657 new rows are allocated, or when the width changes.
3658
911a2406
EZ
36592001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3660
52283633 3661 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3662
aea51abe
EZ
36632001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3664
3665 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3666 deprecated.
3667
176bc847
GM
36682001-03-29 Gerd Moellmann <gerd@gnu.org>
3669
ed31fabf
GM
3670 * data.c (Fsubr_interactive_form): New function.
3671 (syms_of_data): Defsubr it.
3672
176bc847
GM
3673 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3674 (live_float_p, live_misc_p): Return 1 only if the offset of the
3675 pointer in its block is >= 0.
3676
e59d0e9d
GM
36772001-03-28 Paul Eggert <eggert@twinsun.com>
3678
3679 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3680 microseconds calcuation. Avoid double-rounding problem.
3681 In doc string, warn that the result is approximate.
3682
f827b862
GM
36832001-03-28 Gerd Moellmann <gerd@gnu.org>
3684
30a3f61c
GM
3685 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3686 bind `inhibit-eval-during-redisplay' to t.
3687
3688 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3689
3690 * xdisp.c (inhibit_eval_during_redisplay)
3691 (Qinhibit_eval_during_redisplay): New variables.
3692 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3693 don't eval, return nil instead.
3694 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3695 Initialize Qinhibit_eval_during_redisplay.
3696
e719f5ae
GM
3697 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3698 the iterator's multibyte_p flag.
3699
deb2613a
GM
3700 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3701 instead of setting it to zero; it's incremented for each frame
3702 where the menu face is changed.
3703
52283633
SM
3704 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3705 change bottom shadow accordingly.
3706
3707 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3708 intersections here.
3709 (expose_window): Do it here instead.
52283633 3710 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3711
f827b862
GM
3712 * bytecode.c (BYTE_CODE_QUIT): New macro.
3713 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3714
4bde0ebb
GM
37152001-03-27 Gerd Moellmann <gerd@gnu.org>
3716
607ec83c
GM
3717 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3718 Give up if matrix starts in an ellipsis.
3719 (init_from_display_pos): Do nothing if POS doesn't specify
3720 a dpvec_index but the iterator has such a position.
3721
0245398f
GM
3722 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3723
aba25348
GM
3724 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3725 x/y position is (0, 0) after destroying the menu bar, restore
3726 its original position.
3727
4bde0ebb
GM
3728 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3729 (init_from_display_pos): Use it.
3730 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3731
8cdb267e
GM
37322001-03-26 Gerd Moellmann <gerd@gnu.org>
3733
3734 * xdisp.c (try_window_id): Undo last change.
3735
9948db79
EZ
37362001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3737
3738 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3739
3740 * buffer.c (syms_of_buffer): Doc fix.
3741
2eddf899
GM
37422001-03-26 Gerd Moellmann <gerd@gnu.org>
3743
3744 * xfaces.c (x_update_menu_appearance): Use local variable
3745 popup_path for setting font resources.
3746
6c145d35
EZ
37472001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3748
6a65b1b5
EZ
3749 * frame.c (Fframe_list): Don't reference tip_frame if
3750 HAVE_WINDOW_SYSTEM is not defined.
3751
6c145d35
EZ
3752 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3753 <wl@gnu.org>.
3754
d74c1900
GM
37552001-03-25 Gerd Moellmann <gerd@gnu.org>
3756
20fbd925
GM
3757 * xdisp.c (init_from_display_pos): Test invisible property
3758 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3759
927c5b3b
GM
3760 * xdisp.c (redisplay_internal) <update one window>: Make sure
3761 last_arrow_position and last_arrow_string are set.
3762
d74c1900
GM
3763 * frame.c (Fframe_list): Don't return a tooltip frame.
3764
091f8878
GM
37652001-03-23 Gerd Moellmann <gerd@gnu.org>
3766
52283633
SM
3767 * xdisp.c (mark_window_display_accurate_1): New function,
3768 extracted from mark_window_display_accurate.
3769 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3770 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3771 (mark_window_display_accurate): Use it.
3772 (redisplay_internal): Use it for the selected window.
3773 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3774 for the selected frame.
3775
ac90c44f
GM
3776 * xdisp.c Use make_number, for readability.
3777 (try_window_id): Disable rows below the window end.
3778 (try_window_reusing_current_matrix): Use cursor_row_p.
3779 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3780 of rows.
3781 (init_from_display_pos): If POS specifies a position in a display
3782 vector, maybe get the iterator set up for that ellipsis.
43c09969 3783
091f8878
GM
3784 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3785
991786dd
EZ
37862001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3787
3788 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3789
6c29b43c
GM
37902001-03-23 Gerd Moellmann <gerd@gnu.org>
3791
3792 * xfaces.c (x_update_menu_appearance): Use a different path
3793 for Lucid popup menus.
3794
d8731202
SM
37952001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3796
3797 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3798
3799 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3800 (string_buffer_position): Use `make_number'.
3801
f61a541b
GM
38022001-03-22 Gerd Moellmann <gerd@gnu.org>
3803
3c9e997b
GM
3804 * xfaces.c (x_update_menu_appearance): Renamed from
3805 x_set_menu_face_resources. Use different resources for popups.
3806
3807 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3808 (GC_CHECK_STRING_BYTES): Don't define.
3809
364cd450
GM
3810 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3811 Removed, together with subroutines.
3812 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3813 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3814
d8731202
SM
3815 * dispextern.h (x_set_menu_resources_from_menu_face):
3816 Remove prototype.
364cd450 3817
d8731202 3818 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3819 Remove calls to x_set_menu_resources_from_menu_face.
3820
d8731202
SM
3821 * xfaces.c (xm_set_menu_resources_from_menu_face):
3822 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3823
3824 * xmenu.c: Include widget.h.
3825 (single_submenu): Return int. Some cleanup.
3826 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3827
140330de
GM
38282001-03-21 Gerd Moellmann <gerd@gnu.org>
3829
3830 * xterm.c (x_update_window_end): Handle overwritten mouse face
3831 also for tool bar windows.
3832 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3833 DRAW is DRAW_IMAGE_RAISED.
3834
1741905c
GM
38352001-03-20 Gerd Moellmann <gerd@gnu.org>
3836
fa88947e
GM
3837 * print.c (syms_of_print): Doc fixes.
3838
1741905c
GM
3839 * fns.c (Fmd5): Doc fix.
3840
ade0bee1
GM
38412001-03-19 Gerd Moellmann <gerd@gnu.org>
3842
357e7376
GM
3843 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3844 Clear area of the frame not occupied by the scroll bar.
3845
c2c097cc
GM
3846 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3847 tip frame's root window buffer to *tip* right after creating
3848 the frame.
3849
ade0bee1
GM
3850 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3851 is an integer don't have to be for space characters.
3852
88c6e37e
GM
38532001-03-16 Gerd Moellmann <gerd@gnu.org>
3854
52283633
SM
3855 * indent.c (current_column, current_column_1, Fmove_to_column)
3856 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3857
c62eed76
KH
38582001-03-15 Kenichi Handa <handa@etl.go.jp>
3859
3860 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3861 drawing glyph string.
3862
c899e7e6
GM
38632001-03-15 Gerd Moellmann <gerd@gnu.org>
3864
d0bbfc99
GM
3865 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3866 (command_loop_1): Undo last change.
3867
03d1a189
GM
3868 * xterm.c (fast_find_position): Return the correct vpos.
3869
c899e7e6 3870 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3871 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3872 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3873 Call store_symval_forwarding with BUF null.
3874 (set_internal): Call store_symval_forwarding with the BUF
3875 parameter passed to set_internal. Formerly, the value was always
3876 set in the current buffer; the buffer recorded in specbind for
3877 this case wasn't used.
3878 (arith_driver): Reindent.
3879
52283633
SM
3880 * buffer.c (swap_out_buffer_local_variables):
3881 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3882
3883 * lisp.h (store_symval_forwarding): Change prototype.
3884
3885 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3886
57ac7c81
GM
38872001-03-14 Gerd Moellmann <gerd@gnu.org>
3888
697617d9
GM
3889 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3890 FOR_DELETION. Avoid resizing the mini-window of the selected
3891 frame if FOR_DELETION is set.
3892 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3893 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3894 signature.
3895
3896 * window.c (Fset_window_configuration): Change call to
3897 do_switch_frame to new format.
3898
3899 * keyboard.c (quit_throw_to_read_char): Change call to
3900 do_switch_frame to new format.
3901
3902 * lisp.h (do_switch_frame): Change prototype.
3903
819dce0f
GM
3904 * frame.c (Fframe_parameters): In the `buffer-list' frame
3905 parameter, store the buffer list of FRAME, not the list of the
3906 selected frame.
3907
57ac7c81
GM
3908 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3909 box just because the glyph row's full_width_p flag is set.
3910
65008712
GM
39112001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3912
3913 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3914 skip the padding blanks inserted in extend_face_to_end_of_line,
3915 before checking for trailing whitespace.
3916
159cf431
GM
39172001-03-13 Gerd Moellmann <gerd@gnu.org>
3918
52283633 3919 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3920 Remove special handling for LessTif/Motif.
3921 (toplevel): Don't include Xm/Xm.h.
3922
52283633
SM
3923 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3924 Remove workaround code for LessTif; it doesn't work anymore.
3925
2564ea1b 3926 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3927 Xm/ScrollBarP.h.
afcdc0a1 3928
52283633
SM
3929 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3930 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3931 contemporary LessTif.
3932
52283633
SM
3933 * xfaces.c (xm_set_menu_resources_from_menu_face):
3934 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3935
159cf431
GM
3936 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3937 removing button grabs.
3938
c6f7429a
KH
39392001-03-13 Kenichi Handa <handa@etl.go.jp>
3940
cb82d767
KH
3941 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3942 and clip-large-size-font as obsolete.
3943
c6f7429a
KH
3944 * lread.c (read_multibyte): Check the validity of multibyte
3945 sequence. If invalid, return the first byte.
3946
760cefb5
GM
39472001-03-12 Gerd Moellmann <gerd@gnu.org>
3948
3949 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3950 before running the command; timer functions or process
3951 filters may have set it.
3952
5141f9d0
EZ
39532001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3954
3955 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3956 Doc fix.
3957
b6a15240
GM
39582001-03-12 Gerd Moellmann <gerd@gnu.org>
3959
3960 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3961 to sprintf.
3962
95522746
GM
39632001-03-09 Gerd Moellmann <gerd@gnu.org>
3964
db14cfc5
GM
3965 * dispextern.h (string_buffer_position): Add prototype.
3966
52283633 3967 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3968 (single_display_prop_string_p): New functions.
3969
3970 * xterm.c (note_mouse_highlight): If there's no help-echo on
3971 a string, look at the buffer text ``under'' it.
3972
3973 * keyboard.c (make_lispy_event): Add string info to the event,
3974 analogous to what's done on mode lines.
3975 (read_key_sequence): For a click on a string, consider `local-map'
3976 and `keymap' of that string.
3977
52283633
SM
3978 * keyboard.c (make_lispy_event, make_lispy_movement):
3979 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3980
3981 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3982
3983 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3984 POS; return void.
3985
95522746
GM
3986 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3987 flags argument to emacs_open; it seems to conflict with O_EXCL.
3988
898a399d
KH
39892001-03-09 Kenichi Handa <handa@etl.go.jp>
3990
28cd4910
KH
3991 * composite.h (struct composition): Change types of members;
3992 glyph_len to unsigned, width to unsigned short.
898a399d 3993
4cdf6a6c
AI
39942001-03-08 Andrew Innes <andrewi@gnu.org>
3995
3996 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3997 menu titles.
3998
129004d3
GM
39992001-03-08 Gerd Moellmann <gerd@gnu.org>
4000
221dd3e7
GM
4001 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4002 instead of nil.
4003
52283633 4004 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4005 help-echo in strings.
4006 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4007 (fast_find_string_pos): New function.
4008
52283633
SM
4009 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4010 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4011
4012 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4013 Handle `mouse-face'.
4014
4015 * dispextern.h (face_at_string_position): Change prototype.
4016
52283633 4017 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4018
129004d3
GM
4019 * keyboard.c (make_lispy_event): Avoid generating drag events
4020 if the mouse hasn't actually moved to another buffer position.
52283633 4021
80c8ab8c
DL
40222001-03-08 Dave Love <fx@gnu.org>
4023
129004d3 4024 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4025
989521fd
GM
40262001-03-08 Gerd Moellmann <gerd@gnu.org>
4027
4028 * process.c (Fset_process_window_size): Fix a typo.
4029
bb5c338d
KH
40302001-03-08 Kenichi Handa <handa@etl.go.jp>
4031
4032 * coding.c (detect_coding_sjis): Do more rigid check.
4033 (detect_coding_big5): Likewise.
4034 (decode_coding_sjis_big5): Likewise.
4035 (Fdetect_coding_region): Call detect_coding_system with tailing
4036 anchor byte `\0' for more rigid detection.
52283633 4037 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4038 (Fdetect_coding_string): Likewise.
4039
8b8f9197
SM
40402001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4041
4042 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4043 a string before extracting its data.
4044
3bdf2660
GM
40452001-03-07 Gerd Moellmann <gerd@gnu.org>
4046
4047 * window.c (Frecenter): Rewrite code handling negative values
4048 of ARG on graphical frames.
4049
40502001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4051
4052 * window.c (displayed_window_lines): If W->start is outside the
4053 accessible portion of the buffer, call start_display with BEGV or
4054 ZV instead of W->start.
4055
471f86b9
GM
40562001-03-07 Gerd Moellmann <gerd@gnu.org>
4057
2ab62c6c
GM
4058 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4059
471f86b9
GM
4060 * process.c (Fset_process_filter): Don't crash if the input
4061 file descriptor of PROCESS is closed.
4062 (Fset_process_window_size): Likewise.
4063
101922c3
GM
40642001-03-06 Kenichi Handa <handa@etl.go.jp>
4065
4066 * xterm.c (XTflash): Make the timeout of select shorter, and call
4067 select repeatedly until the desired time expires.
4068
45d051a7
GM
40692001-03-06 Gerd Moellmann <gerd@gnu.org>
4070
4071 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4072
4073 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4074
4075 * lisp.h (Vwindow_list): Declare extern.
4076
8f372c46
EZ
40772001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4078
4079 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4080
f16a7aa5
GM
40812001-03-06 Gerd Moellmann <gerd@gnu.org>
4082
157ae273
GM
4083 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4084 to detect a case where we have to highlight a different region
4085 despite not having left the currently highlighted region.
4086 Set mouse_face_overlay in the x_display_info.
45d051a7 4087 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4088
4089 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4090
4091 * buffer.c (mouse_face_overlay_overlaps): New function.
4092
4093 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4094 (Qmouse_face): Declare extern.
4095
f16a7aa5
GM
4096 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4097 if face_change_count is non-zero.
4098
827afcac
KH
40992001-03-06 Kenichi Handa <handa@etl.go.jp>
4100
4101 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4102 that the source is unibyte.
4103
14c7242e
DL
41042001-03-05 Dave Love <fx@gnu.org>
4105
827afcac 4106 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4107
c28b847b
GM
41082001-03-05 Gerd Moellmann <gerd@gnu.org>
4109
4110 * minibuf.c (read_minibuf): Clean up the binding stack if
4111 called noninteractively.
4112
b86644f2
KH
41132001-03-05 Kenichi Handa <handa@etl.go.jp>
4114
4115 * coding.c (syms_of_coding): Docstring modified.
4116
203682cc 41172001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4118
4119 * charset.c (char_to_string): If a single byte char has modifier
4120 bits that can't be reflected to the character code, ignore them
45d051a7 4121 instead of signaling an error.
b86644f2 4122
e30bd7b7
EZ
41232001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4124
4125 * s/msdos.h: Update copyright notice.
4126
4127 * dosfns.h: Update copyright notice.
4128
4129 * dosfns.c: Update copyright notice.
4130
4131 * msdos.c: Update copyright notice.
4132
b52b65bd
GM
41332001-03-02 Gerd Moellmann <gerd@gnu.org>
4134
4135 * xterm.c (glyph_rect): New function.
4136 (XTmouse_position): Use it to raise the threshold for mouse
4137 movement event generation.
4138
53c4b1e6
EZ
41392001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4140
4141 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4142 specifies (reverse . t), reverse the initial screen colors.
4143 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4144 but we are reversing the colors, set bg_set, not fg_set.
4145 Likewise for setting background-color and reversing: set fg_set.
4146 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4147 in effect.
4148
4149 * xfaces.c (Finternal_set_lisp_face_attribute)
4150 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4151 parameters alist.
4152
f964b4d7
GM
41532001-03-02 Gerd Moellmann <gerd@gnu.org>
4154
ef53d75e
GM
4155 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4156 to a single slash in the middle of file names.
4157
52283633 4158 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4159 Accept only alphanumeric time zone names.
4160
f964b4d7
GM
4161 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4162 or width area.
4163 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4164 a widget to zero height.
52283633 4165
c3c45f65
GM
41662001-03-01 Gerd Moellmann <gerd@gnu.org>
4167
4168 * window.c (Fwindow_end): Call move_it_past_eol only if
4169 ending up on a partially visible line.
4170
028d739a
DL
41712001-03-01 Dave Love <fx@gnu.org>
4172
4173 * ccl.c (Fccl_execute): Doc fix.
4174
57c5889c
GM
41752001-03-01 Gerd Moellmann <gerd@gnu.org>
4176
35f59f6b
GM
4177 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4178 of the tool bar before calling x_figure_window_size.
4179
f84ff02c
GM
4180 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4181 NULL after destroying it, otherwise XTread_socket can access a
4182 destroyed widget when input is unblocked.
4183
8b8f9197 4184 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4185
57c5889c
GM
4186 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4187 same name as before, although there was a change in fontsets.
4188
224227d1
KR
41892001-02-28 Ken Raeburn <raeburn@gnu.org>
4190
4560730a
KR
4191 * lisp.h (Fframe_parameter): Declare.
4192
224227d1 4193 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4194 Lisp_Object.
224227d1 4195
ece93c02
GM
41962001-02-28 Gerd Moellmann <gerd@gnu.org>
4197
11ef99b9
GM
4198 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4199 NULL instead.
4200
4201 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4202 NULL instead.
4203
ece93c02
GM
4204 * alloc.c (toplevel): Include process.h.
4205 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4206 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4207 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4208 (allocate_vector, allocate_hash_table, allocate_window)
4209 (allocate_frame, allocate_process, allocate_other_vector):
4210 New functions.
ece93c02
GM
4211 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4212 (mark_maybe_pointer): New function.
52283633 4213 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4214 remain and not Lisp_Objects.
4215 (min_heap_address, max_heap_address): New variables.
4216 (mem_find): Return MEM_NIL if START is below min_heap_address or
4217 above max_heap_address.
4218 (mem_insert): Compute min_heap_address and max_heap_address.
4219
4220 * process.c (make_process): Use allocate_process.
4221
4222 * frame.c (make_frame): Use allocate_frame.
4223
4224 * window.c (make_window, make_dummy_parent): Use allocate_window.
4225 (Fcurrent_window_configuration): Use allocate_other_vector.
4226
4227 * lisp.h (allocate_vectorlike): Remove prototype.
4228 (allocate_vector, allocate_other_vector, allocate_frame)
4229 (allocate_window, allocate_process, allocate_hash_table):
4230 Add prototypes.
4231
4232 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4233 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4234
063af457
KH
42352001-02-27 Kenichi Handa <handa@etl.go.jp>
4236
4237 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4238 treat the produced bytes as a valid multibyte sequence.
4239
4240 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4241 (ccl_driver) <CCL_WriteMultibyteChar2>:
4242 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4243 <ccl_finish>: Set ccl->eight_bit_control properly.
4244
4245 * ccl.h (struct ccl_program): New member eight_bit_control.
4246
f58c6494
SM
42472001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4248
4249 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4250 accessible_keymaps_char_table.
4251 (accessible_keymaps_char_table): Obey `is_metized'.
4252 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4253 Lisp_Object.
4254
c596c392
GM
42552001-02-26 Gerd Moellmann <gerd@gnu.org>
4256
4257 * dispnew.c: Check HAVE_TERM_H before including term.h.
4258
425de386
AI
42592001-02-24 Andrew Innes <andrewi@gnu.org>
4260
4261 * makefile.w32-in: Update copyright notice.
4262
2ba11bbd
SM
42632001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4264
4265 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4266
66c56ed1
KH
42672001-02-24 Kenichi Handa <handa@etl.go.jp>
4268
4c1593ce
KH
4269 * Makefile.in (lisp): Add international/utf-8.elc.
4270
66c56ed1
KH
4271 * fontset.c (Fnew_fontset): Fix handling of the case that an
4272 element of FONTLIST is a cons of family and registry.
4273
796ead7e
JR
42742001-02-23 Jason Rumney <jasonr@gnu.org>
4275
4276 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4277 to height unconditionally.
4278
4279 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4280 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4281 (x_insert_glyphs): Call window_box_left to obtain the left
4282 x-coordinate of the area to shift.
4283
4284 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4285 safe_run_hooks.
4286
f6839838
AI
42872001-02-22 Andrew Innes <andrewi@gnu.org>
4288
52283633 4289 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4290 ($(BLD)\dispnew.obj):
4291 ($(BLD)\editfns.obj):
4292 ($(BLD)\fileio.obj):
4293 ($(BLD)\filelock.obj):
4294 ($(BLD)\keyboard.obj):
4295 ($(BLD)\w32proc.obj):
4296 ($(BLD)\process.obj):
4297 ($(BLD)\sysdep.obj): Ditto.
4298
4299 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4300 header files.
52283633
SM
4301 ($(BLD)/dispnew.$(O)):
4302 ($(BLD)/editfns.$(O)):
4303 ($(BLD)/fileio.$(O)):
4304 ($(BLD)/filelock.$(O)):
4305 ($(BLD)/keyboard.$(O)):
4306 ($(BLD)/w32proc.$(O)):
4307 ($(BLD)/process.$(O)):
f6839838
AI
4308 ($(BLD)/sysdep.$(O)): Ditto.
4309
c224f70b
GM
43102001-02-22 Gerd Moellmann <gerd@gnu.org>
4311
51695746
GM
4312 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4313 at the start of the function, check that the \n in it->c is
4314 from the iterator's current position.
52283633 4315
a61b7058
GM
4316 * xdisp.c (handle_single_display_prop): Add parameter
4317 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4318 properties which replace the display of text with something else.
4319 (handle_display_prop): Call handle_single_display_prop with
4320 additional argument saying if we already replaced text display
4321 with something else. Use AREF.
52283633 4322 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4323 (decode_mode_spec_coding): Use AREF and ASIZE.
4324
3473f362
GM
4325 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4326 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4327 * vmstime.h: Files removed.
52283633 4328
2bb58df3
GM
4329 * unexencap.c, unexfx2800.c: Files removed.
4330
c224f70b
GM
4331 * dispnew.c (direct_output_for_insert): Give up if we are showing
4332 a message or just cleared the message because we might need to
4333 resize the echo area window or display an empty echo area.
4334
ffc9ff0c
GM
43352001-02-21 Gerd Moellmann <gerd@gnu.org>
4336
0528abe1
GM
4337 * xdisp.c (redisplay_internal): Do the
4338 mark_window_display_accurate after all windows have been
4339 redisplayed because this call resets flags in buffers which are
4340 needed for proper redisplay.
4341
52283633
SM
4342 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4343 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4344 the old names.
4345
52283633
SM
4346 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4347 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4348
4349 * msdos.h (struct x_output): Rename busy_window to
4350 hourglass_window, busy_p to hourglass_p.
4351
52283633
SM
4352 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4353 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4354
4355 * xfns.c: Rename everything containing *busy_cursor* and similar
4356 to *hourglass*.
4357 (syms_of_w32fns): Rename x-busy-pointer-shape to
4358 x-hourglass-pointer-shape, display-busy-cursor to
4359 display-hourglass, busy-cursor-delay to hourglass-delay.
4360
4361 * w32fns.c: Rename everything containing *busy_cursor* and similar
4362 to *hourglass*.
4363 (syms_of_w32fns): Rename x-busy-pointer-shape to
4364 x-hourglass-pointer-shape, display-busy-cursor to
4365 display-hourglass, busy-cursor-delay to hourglass-delay.
4366
4367 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4368 of its busy_p flag.
4369
4370 * dispextern.h (start_hourglass, cancel_hourglass)
4371 (display_hourglass_p): Renamed from *busy_cursor*.
4372
ab2c5f0a
GM
43732001-02-20 Gerd Moellmann <gerd@gnu.org>
4374
d17e49a8
GM
4375 * keyboard.c (read_char): When an event from unread-command-events
4376 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4377
fa97adf6
GM
4378 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4379 equal to the current buffer.
4380
ab2c5f0a
GM
4381 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4382 nil, otherwise we're left with truncate_lines t when a message
4383 is printed with message-truncate-lines bound to t.
4384
aeac019e
GM
43852001-02-19 Gerd Moellmann <gerd@gnu.org>
4386
c8bc6f65
GM
4387 * window.c (Fmove_to_window_line): Undo last change.
4388 (displayed_window_lines): Call line_bottom_y to determine
4389 the line's bottom position.
4390
4391 * dispextern.h (line_bottom_y): Add prototype.
4392
52283633 4393 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4394 (pos_visible_p): Use it.
4395
980a2d69
GM
4396 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4397 set redisplaying_p to 0 here instead of in Frecursive_edit.
4398 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4399 set redisplaying_p.
4400
52283633 4401 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4402 New variables.
4403 (syms_of_xdisp): Initialize new variables.
4404 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4405 Specbind `inhibit-menubar-update' when updating the menu bar.
4406
65048e97
GM
4407 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4408 safe_run_hooks.
4409
4410 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4411 safe_run_hooks.
4412
a57c4026
GM
4413 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4414 is null.
4415
aeac019e
GM
4416 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4417 to the start of the file.
4418
76846b31
GM
44192001-02-16 Gerd Moellmann <gerd@gnu.org>
4420
f3f053f3 4421 * window.c (set_window_buffer): Fix last change.
52283633 4422
f3f053f3
GM
4423 * window.c (set_window_buffer): Set window's vscroll to 0.
4424
dad75588
GM
4425 * window.c (coordinates_in_window): Increase width of area
4426 where the vertical line can be dragged.
4427
c220b753
GM
4428 * xterm.c (x_set_glyph_string_background_width): Extend the
4429 background face to the end of the drawing area in the text
4430 area, only.
4431
c56b1c1b
GM
4432 * xdisp.c (handle_single_display_prop): Set iterator's position
4433 to where the `display' property starts, like for images.
4434 (dump_glyph): New function.
4435 (dump_glyph_row): Use it. Dump info about marginal areas.
4436
4437 * dispnew.c (direct_output_for_insert): Recognize more cases where
4438 glyphs can be written instead of being inserted.
4439
4440 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4441 the left x-coordinate of the area to shift.
4442
76846b31
GM
4443 * dired.c (directory_files_internal): Set result list to nil
4444 before retrying.
4445
0fc71a77
KH
44462001-02-15 Kenichi Handa <handa@etl.go.jp>
4447
4448 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4449 invalid multibyte sequence, treat *SRC as a character of
4450 eight-bit-graphic.
4451
25078b54
EZ
44522001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4453
4454 * textprop.c (Fset_text_properties): Doc fix.
4455
8399f8a0
GM
44562001-02-15 Gerd Moellmann <gerd@gnu.org>
4457
4458 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4459
9a2a6f73
DL
44602001-02-14 Dave Love <fx@gnu.org>
4461
4462 * coding.c: Doc and message fixes.
4463
bf853fee
AI
44642001-02-14 Andrew Innes <andrewi@gnu.org>
4465
4466 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4467 Emacs frame above the screen size.
4468
78c663d8
GM
44692001-02-14 Gerd Moellmann <gerd@gnu.org>
4470
4471 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4472
7cc9f69f
GM
44732001-02-13 Gerd Moellmann <gerd@gnu.org>
4474
0a411995
GM
4475 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4476 case that TO ends up beyond ZV after running before-change-functions.
4477
5ddc1b75
GM
4478 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4479 the selected window if it is showing the buffer in question.
4480
7cc9f69f
GM
4481 * dired.c (directory_files_internal): Initialize errno.
4482 (toplevel): Include errno.h.
4483
2e6621ca
GM
44842001-02-13 Kenichi Handa <handa@etl.go.jp>
4485
4486 * xfaces.c (best_matching_font): New parameter width_ratio.
4487 Multiply avgwidth by width_ratio.
4488 (choose_face_font): Call best_matching_font with width_ratio
4489 calculated from the column width of C.
4490
60222d69
AI
44912001-02-12 Andrew Innes <andrewi@gnu.org>
4492
4493 The following changes are to draw box lines inside characters area
4494 if line-width is negative.
52283633 4495
60222d69
AI
4496 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4497 face->box_line_width is negative.
4498 (x_produce_stretch_glyph): Likewise.
4499 (x_produce_glyphs): Likewise.
4500 (x_estimate_mode_line_height): Likewise.
4501 (x_draw_glyph_string_background): Likewise.
4502 (x_draw_glyph_string_foreground): Likewise.
4503 (x_draw_composite_glyph_string_foreground): Likewise.
4504 (x_draw_glyph_string_box): Likewise.
4505 (x_draw_image_foreground): Likewise.
4506 (x_draw_image_relief): Likewise.
4507 (x_draw_image_foreground_1): Likewise.
4508 (x_draw_image_glyph_string): Likewise.
4509
9804b846
KH
45102001-02-09 Kenichi Handa <handa@etl.go.jp>
4511
4512 The following changes are to draw box lines inside characters area
4513 if line-width is negative.
52283633 4514
9804b846
KH
4515 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4516 face->box_line_width is negative.
4517 (x_produce_stretch_glyph): Likewise.
4518 (x_produce_glyphs): Likewise.
4519 (x_estimate_mode_line_height): Likewise.
4520 (x_draw_glyph_string_background): Likewise.
4521 (x_draw_glyph_string_foreground): Likewise.
4522 (x_draw_composite_glyph_string_foreground): Likewise.
4523 (x_draw_glyph_string_box): Likewise.
4524 (x_draw_image_foreground): Likewise.
4525 (x_draw_image_relief): Likewise.
4526 (x_draw_image_foreground_1): Likewise.
4527 (x_draw_image_glyph_string): Likewise.
4528
4529 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4530 and :line-width can be negative.
52283633 4531 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4532
49be9f70
JR
45332001-02-09 Jason Rumney <jasonr@gnu.org>
4534
4535 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4536 characters the same as ASCII and latin-1.
4537 (x_display_and_set_cursor): Check for the focus frame's selected
4538 window instead of selected_window.
4539 (x_after_update_window_line): Don't clear if frame's internal
4540 border width is zero.
4541 (x_new_font): Don't change a tooltip's size.
4542 (w32_initialize): Set char_ins_del_ok to 1.
4543
4544 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4545 (x_set_font): If font hasn't changed, avoid recomputing
4546 faces and other things.
52283633
SM
4547 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4548 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4549 (x_create_tip_frame): Prevent changing the tooltip's
4550 background color by specifying a color for the default font
4551 in .Xdefaults.
4552 (Qcancel_timer): New variable.
4553 (syms_of_w32fns): Initialize and staticpro it.
4554 (Fx_hide_tip, Fx_show_tip): Use it.
4555 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4556 the timer.
4557 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4558
4559 * w32.c (init_environment): Duplicate local string before putenv.
4560
555e35d2
SZ
45612001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4562
4563 * charset.c (Fstring): A typo.
4564
19c92c94
KH
45652001-02-09 Kenichi Handa <handa@etl.go.jp>
4566
e47a1c33
KH
4567 * charset.c (Fstring): If all arguments are less than 256, return
4568 a unibyte string.
4569
4570 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4571 return a unibyte string.
4572
19c92c94
KH
4573 * coding.c (code_convert_region): After detecting a coding, if
4574 nothing found, set coding->composing to COMPOSITION_NO.
4575 (decode_coding_string): Likewise.
4576
d8e675f5
SM
45772001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4578
4579 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4580 to avoid overflow.
4581
bd503487
KH
45822001-02-07 Kenichi Handa <handa@etl.go.jp>
4583
4584 * charset.c (parse_str_to_multibyte): New function.
4585
4586 * charset.h (parse_str_to_multibyte): Extern it.
4587
4588 * print.c (print_string): If we are going to print a unibyte
4589 string into a multibyte buffer, convert the string to multibyte by
4590 str_to_multibyte.
4591
a8370d72
AI
45922001-02-06 Andrew Innes <andrewi@gnu.org>
4593
4594 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4595 been created. It seems we can get sent window messages such as
4596 WM_ERASEBKGND before we properly update a frame.
4597
c363a1d6
GM
45982001-02-06 Gerd Moellmann <gerd@gnu.org>
4599
4600 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4601 Avoid some unnecessary cursor positioning.
4602
a08332c0
GM
46032001-02-05 Gerd Moellmann <gerd@gnu.org>
4604
52283633 4605 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4606 (LFACE_AVGWIDTH): New macro.
4607 (LFACEP): Use AREF.
4608 (check_lface_attrs): Check LFACE_AVGWIDTH.
4609 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4610 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4611 (merge_face_vectors): Check LFACE_AVGWIDTH.
4612 (Finternal_make_lisp_face): Use AREF.
4613 (xm_set_menu_resources_from_menu_face)
4614 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4615 (Finternal_lisp_face_empty_p): Use AREF.
4616 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4617 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4618 Compare average widths..
4619 (best_matching_font): Arrange for comparing average widths.
4620
52283633
SM
4621 * dispextern.h (enum lface_attribute_index):
4622 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4623
5cb3c8d4
DL
46242001-02-05 Dave Love <fx@gnu.org>
4625
4626 * puresize.h: Revert last change following loadup.el change.
4627
193fba87
AI
46282001-02-05 Andrew Innes <andrewi@gnu.org>
4629
4630 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4631 invocation of temacs, to work with Windows 2000.
4632 (bootstrap-emacs): Ditto.
4633
e16f52ce
GM
46342001-02-05 Gerd Moellmann <gerd@gnu.org>
4635
7a58ab59
GM
4636 * xterm.c (x_display_and_set_cursor): Check for the focus
4637 frame's selected window instead of selected_window.
4638
e89aaabd
GM
4639 * xdisp.c (try_scrolling): If point is in the line below the
4640 window, make sure to move the iterator at least a canonical
4641 char height down.
4642
52283633 4643 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4644
789ce875
KH
46452001-02-05 Kenichi Handa <handa@etl.go.jp>
4646
52283633
SM
4647 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4648 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4649 (ccl_driver): If the CCL program is terminated because of
4650 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4651 destination instead of throwing them away.
4652
20b28f82
GM
46532001-02-02 Gerd Moellmann <gerd@gnu.org>
4654
79fb38c0
GM
4655 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4656 faces and other things.
4657
20b28f82
GM
4658 * xdisp.c (get_next_display_element): Fix case of empty
4659 display table entry.
4660
5a72551e
EZ
46612001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4662
eb24d0bf
EZ
4663 * editfns.c (Fconstrain_to_field): Doc fix.
4664
6a3f48c7
EZ
4665 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4666 into `thoroughly', to make it consistent with the doc string.
4667
5a72551e
EZ
4668 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4669
01acdb05
GM
46702001-02-01 Gerd Moellmann <gerd@gnu.org>
4671
0353b28f
GM
4672 * search.c (search_buffer): Call set_search_regs with a byte
4673 position, not a character position.
4674
01acdb05
GM
4675 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4676 minibuffer-only,
4677
e86b5133
EZ
46782001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4679
4680 * frame.c (Fmodify_frame_parameters): Doc fix.
4681
7442878f
GM
46822001-01-31 Gerd Moellmann <gerd@gnu.org>
4683
01acdb05
GM
4684 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4685 identifier which is not reserved by Standard C.
52283633 4686
7442878f
GM
4687 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4688
4689 * window.c (enum window_part): New enumeration.
4690 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4691 Qright_bitmap_area.
4692 (coordinates_in_window): Return an enumerator from enum
4693 window_part. Fix handling of right scroll bar.
4694 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4695 `right-fringe' instead of `left-bitmap-area' and
4696 `right-bitmap-area'. Use enumerators from enum window_part
4697 instead of hard-coded integers.
52283633
SM
4698 (check_window_containing, window_from_coordinates):
4699 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4700 (syms_of_window): Replace Qleft_bitmap_area and
4701 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4702
7c132cba
EZ
47032001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4704
4705 * editfns.c (Fformat_time_string): Doc fix.
4706
c359dd9e
SM
47072001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4708
4709 * keymap.c (Fwhere_is_internal): Use the first valid binding
4710 if no ascii binding is found (when firstonly is t).
4711
ce070307
GM
47122001-01-31 Gerd Moellmann <gerd@gnu.org>
4713
b4f30ec5
GM
4714 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4715 instead of Finteractive_p.
4716
4717 * lisp.h (interactive_p): Add prototype.
4718
4719 * eval.c (interactive_p): New function.
4720 (Finteractive_p): Use it.
4721
ce070307
GM
4722 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4723
f57b6e64
DL
47242001-01-31 Dave Love <fx@gnu.org>
4725
d61c7afe
DL
4726 * .gdbinit (hook-run): Define to run xreload.
4727
f57b6e64
DL
4728 * textprop.c (Fset_text_properties): Fix newline in doc string.
4729
eef93f99
GM
47302001-01-30 Gerd Moellmann <gerd@gnu.org>
4731
52283633
SM
4732 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4733 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4734
4735 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4736 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4737 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4738
4739 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4740 height.
4741
d9c1f6f9
DL
47422001-01-30 Dave Love <fx@gnu.org>
4743
4744 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4745 AFTER_POTENTIAL_GC.
4746
e8f044a0
GM
47472001-01-29 Gerd Moellmann <gerd@gnu.org>
4748
52283633
SM
4749 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4750 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4751
8e1db7b3
EZ
47522001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4753
4754 * textprop.c (Fset_text_properties): Doc fix.
4755
4eefd9d2
GM
47562001-01-29 Gerd Moellmann <gerd@gnu.org>
4757
4758 * xdisp.c (forward_to_next_line_start): Remove xassert.
4759
fccb8288
EZ
47602001-01-29 Jason Rumney <jasonr@gnu.org>
4761
4eefd9d2 4762 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4763 returning without releasing it.
4764
76581eab
KH
47652001-01-29 Kenichi Handa <handa@etl.go.jp>
4766
4767 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4768 for '^', '$', and '\0'.
4769
83a96b4d
AC
47702001-01-28 Andrew Choi <akochoi@i-cable.com>
4771
5604ec34
AC
4772 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4773 regex for '^', '$', and '\0'.
4774
83a96b4d
AC
4775 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4776 only if current_sblock has been initialized.
4777
4778 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4779 terminal frame even if it is the only visible frame.
4780
c09a6440
KH
47812001-01-28 Kenichi Handa <handa@etl.go.jp>
4782
4783 * fontset.c (font_family_registry): Even if FONTNAME conform to
4784 XLFD, if it specifies other fields than family and registry,
52283633 4785 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4786 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4787 a signle byte character. Don't set FAMILY part to nil here.
4788 It is handled by the caller choose_face_font.
c09a6440
KH
4789 (Fnew_fontset): Call font_family_registry with FORCE 0.
4790 (Fset_fontset_font): Likewise.
4791
4dcd74e6
GM
47922001-01-27 Gerd Moellmann <gerd@gnu.org>
4793
4794 * xdisp.c (display_line): Don't treat a newline as fitting
4795 on the line.
4796
d2906bf8
GM
47972001-01-26 Gerd Moellmann <gerd@gnu.org>
4798
0130fe1a
GM
4799 * window.c (size_window): Set the window's orig_top to nil when
4800 changing heights, so that a future shrink_mini_window won't
4801 restore a bogus height.
4802
550f0e6a
GM
4803 * frame.c (do_switch_frame): If selected frame has a mini-window,
4804 resize that to exact size.
4805
b7b20fbd
GM
4806 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4807
a47b7816
GM
4808 * xdisp.c (display_line): Simplify check for glyphs fitting
4809 entirely in the line.
4810
d2906bf8
GM
4811 * xfns.c (xic_style): New variable.
4812 (create_frame_xic): Move static variable to global scope for
550f0e6a 4813 the case that `static' gets defined away.
d2906bf8 4814
73df2b1e
KH
48152001-01-26 Kenichi Handa <handa@etl.go.jp>
4816
4817 * coding.c (decode_coding): Set a flag for inhibiting
4818 inconsistent eol.
4819 (code_convert_region): Always set saved_coding_symbol.
4820 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4821 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4822
6613cfc4
GM
48232001-01-25 Gerd Moellmann <gerd@gnu.org>
4824
c5e6e06b
GM
4825 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4826 XClearArea.
4827
4828 * xterm.c (x_after_update_window_line): Don't clear if frame's
4829 internal border width is zero.
4830 (x_clear_area): New function.
4831 (x_after_update_window_line, x_clear_end_of_line)
4832 (x_scroll_bar_create, x_scroll_bar_set_handle)
4833 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4834 instead of XClearArea.
4835
4836 * xterm.h (x_clear_area): Add prototype.
4837
6613cfc4
GM
4838 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4839 which doesn't seem necessary anymore with Lesstif 0.92.
4840
650cc6cc
DL
48412001-01-25 Dave Love <fx@gnu.org>
4842
34ac3367
DL
4843 * puresize.h (BASE_PURESIZE): Up to 720000.
4844
650cc6cc
DL
4845 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4846
5e37dc22
GM
48472001-01-25 Gerd Moellmann <gerd@gnu.org>
4848
e1e441f9
GM
4849 * xdisp.c (echo_area_display): Don't call redisplay_internal
4850 when Emacs is shutting down. We can't run hooks etc. that
4851 would be necessary to do a redisplay.
4852
5e37dc22
GM
4853 * lread.c (read_integer): Use type EMACS_INT instead of int.
4854
0fb94c7f
EZ
48552001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4856
4857 * ccl.c (ccl_driver): Fix last change.
4858
e3778624
KH
48592001-01-25 Kenichi Handa <handa@etl.go.jp>
4860
4861 * ccl.h (sturct ccl_program): New member suppress_error.
4862
bb264518 4863 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4864 insert error message to the output.
4865 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4866
4867 * coding.h (struct coding_system): New member suppress_error.
4868
4869 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4870 (Fset_terminal_coding_system_internal): Set the member
4871 suppress_error to 1.
4872 (Fset_safe_terminal_coding_system_internal): Likewise.
4873
245ed2b1
SM
48742001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4875
4876 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4877 as if it was a `charset'.
4878
f9aaedb6
GM
48792001-01-24 Gerd Moellmann <gerd@gnu.org>
4880
4881 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4882 value in where_is_cache; the next lookup in the cache returns
4883 something bogus if we do.
4884
c3902c3e
EZ
48852001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4886
4887 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4888 if HAVE_WINDOW_SYSTEM isn't defined.
4889
3497f73e
GM
48902001-01-24 Gerd Moellmann <gerd@gnu.org>
4891
e7e41584
GM
4892 * fns.c (sweep_weak_table): Fix code taking items out of
4893 the hash collision chain. Some cleanup.
4894
3497f73e
GM
4895 * xterm.c (x_new_font): Don't change a tooltip's size.
4896
4897 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4898 background color by specifying a color for the default font
4899 in .Xdefaults.
4900
3d48e687
KH
49012001-01-24 Kenichi Handa <handa@etl.go.jp>
4902
96531b20
KH
4903 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4904 a workaround for SunOS 4's cc.
4905 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4906 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4907 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4908 statement.
3d48e687 4909
a30629d2
GM
49102001-01-23 Gerd Moellmann <gerd@gnu.org>
4911
4912 * xterm.c (x_set_window_size_1): New function extracted from
4913 x_set_window_size.
4914 (x_set_window_size): Use it.
4915 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4916 doesn't have a widget, like tooltips.
4917
5a43decf
EZ
49182001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4919
52283633 4920 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4921
b0e98867
KH
49222001-01-23 Kenichi Handa <handa@etl.go.jp>
4923
4924 * fns.c (Fset_char_table_default): Fix to make sub char-table
4925 correctly.
4926
50606b4c
GM
49272001-01-22 Gerd Moellmann <gerd@gnu.org>
4928
cb2ddc53 4929 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4930 a desired tool bar string, even if there are no tool bar items.
4931
57c28064
GM
4932 * xdisp.c (Ftool_bar_lines_needed): New function.
4933 (syms_of_xdisp): Defsubr it.
4934
50606b4c
GM
4935 * editfns.c (Fformat): Don't extend text properties from arguments
4936 to padding chars in the result.
4937
2f169c38
EZ
49382001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4939
4940 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4941
0f32f023
AI
49422001-01-20 Andrew Innes <andrewi@gnu.org>
4943
52283633 4944 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4945 (w32_initialize): Don't set term hooks that aren't actually needed
4946 in windowed mode.
4947
4948 * xfaces.c (realize_default_face):
4949 (realize_face):
4950 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4951
4952 * xdisp.c (handle_single_display_prop): Remove references to
4953 FRAME_W32_CONSOLE_P.
4954
52283633 4955 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4956
4957 * frame.h (output_method): Remove output_w32_console method.
4958 (FRAME_W32_CONSOLE_P): Remove macro.
4959
4960 * frame.c (Qw32_console): Remove variable.
4961 (Fframep): Remove references to it.
4962 (syms_of_frame): Ditto.
4963 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4964
4965 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4966 redefinition.
4967
7173eada
KH
49682001-01-20 Kenichi Handa <handa@etl.go.jp>
4969
4970 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4971
755b45ce
AI
49722001-01-19 Andrew Innes <andrewi@gnu.org>
4973
4974 * w32.c (init_environment): Add a version-independent site-lisp
4975 directory to EMACSLOADPATH, after the version dependent one.
4976
0a949811
GM
49772001-01-19 Gerd Moellmann <gerd@gnu.org>
4978
8501998a
GM
4979 * editfns.c (Fbuffer_substring): Doc fix.
4980
52283633
SM
4981 * xdisp.c (message_dolog, message2, message2_nolog):
4982 Rename parameter LEN to NBYTES.
0a949811 4983
e6ebcbbe
KH
49842001-01-19 Kenichi Handa <handa@etl.go.jp>
4985
200ecca2
KH
4986 * charset.c (strwidth): Use c_string_width.
4987 (c_string_width): New function.
4988 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4989 Caller changed.
4990
4991 * charset.h (c_string_width, lisp_string_width): Extern them.
4992
52283633 4993 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4994
e6ebcbbe
KH
4995 * indent.c (check_composition): Check validity of composition.
4996
200ecca2
KH
4997 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4998 characters by calling c_string_width.
4999 (x_consider_frame_title): Get byte length of frame tile string
5000 correctly.
5001 (display_mode_element): Pay attention to width of non-ASCII
5002 characters by calling strwidth.
5003
8692ca92
GM
50042001-01-18 Gerd Moellmann <gerd@gnu.org>
5005
8962e303
GM
5006 * xfns.c (Qcancel_timer): New variable.
5007 (syms_of_xfns): Initialize and staticpro it.
5008 (Fx_hide_tip, Fx_show_tip): Use it.
5009 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5010 the timer.
5011 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5012
91523be9
GM
5013 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5014
5015 * window.h (WINDOW_LIVE_P): New macro.
5016
b0b7ed0e
GM
5017 * window.c (window_size_fixed): New variable.
5018 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5019 the doc string.
5020
06bccf8e
GM
5021 * eval.c (specbind): If binding a per-buffer variable which
5022 doesn't have a buffer-local value in the current buffer, change
5023 the global value by changing the value of the symbol bound in all
5024 buffers not having their own value, to make it consistent with
5025 what happens with other buffer-local variables.
5026
8692ca92
GM
5027 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5028
5029 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5030 when searching for a newline.
5031
bb3a3b50
KH
50322001-01-18 Kenichi Handa <handa@etl.go.jp>
5033
5034 * xdisp.c (display_string): Fix previous change.
5035
c2cc16fa
JR
50362001-01-18 Jason Rumney <jasonr@gnu.org>
5037
5038 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5039 GLYPH_DEBUG is defined.
5040 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5041 true for images with `:ascent 100'.
5042 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5043 meantime, use face MOUSE_FACE_ID.
5044 If first glyph isn't a character glyph, use the ASCII NUL
5045 character to determine the face.
5046 (expose_area): Do not treat left margin specially.
5047 (note_mode_line_highlight): If no local_map, check global keymap.
5048 (note_mouse_highlight): Initialize overlay.
52283633 5049 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5050 (show_scroll_bars): Remove unused function.
5051 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5052 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5053 Clip to row.
52283633 5054 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5055 (x_free_frame_resources): Unload relief colors.
5056
9c11f79e
GM
50572001-01-17 Gerd Moellmann <gerd@gnu.org>
5058
3aec8722 5059 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5060 get_next_display_element when the newline is already found.
5061 This may change the iterator's position, when its current position is
3aec8722
GM
5062 equal to the iterator's stop_charpos.
5063
f3ffc2c3
GM
5064 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5065 zero, use this method only at the end of a line.
5066
52283633 5067 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5068 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5069 if SCALABLE_FONTS_P is set.
52283633 5070
d26d6fd9
GM
5071 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5072 so that scalable fonts are included.
5073
9c11f79e
GM
5074 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5075 In the cache, use a key containing the information if scalable
5076 fonts are included.
5077 (x_load_font): Adapt to change of keys in the font cache.
5078
50792001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5080
d26d6fd9
GM
5081 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5082 XListFonts to take advantage of font caching.
5083
9c11f79e
GM
5084 * xterm.c (x_list_fonts): Ensure caching font information when
5085 called for a null frame, which is the case frequently when Emacs
5086 starts.
5087
51446987
GM
50882001-01-17 Gerd Moellmann <gerd@gnu.org>
5089
f864120f
GM
5090 * xfns.c (QCconversion): Replaces QCalgorithm.
5091
5092 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5093
5094 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5095 of :algorithm.
52283633 5096
e37d1417
GM
5097 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5098 not everything could be displayed.
5099
51446987
GM
5100 * line.h, x-list-font.c: Files removed because unused.
5101
9ad4f3e5
AI
51022001-01-17 Andrew Innes <andrewi@gnu.org>
5103
5104 * dired.c (directory_files_internal): Convert result from readdir
5105 to a unibyte string initially, to avoid possible misinterpretation
5106 of some bytes as the internal form of Emacs characters.
5107
2eda09b5
KH
51082001-01-17 Kenichi Handa <handa@etl.go.jp>
5109
5110 * fns.c (concat): Be sure to avoid putting the same `composition'
5111 property on the adjacent regions.
5112
826f3788
GM
51132001-01-16 Gerd Moellmann <gerd@gnu.org>
5114
52283633 5115 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5116 (Fscroll_right, Fscroll_left): Set it here instead, if called
5117 interactively.
5118
d57b83b3
GM
5119 * buffer.c (Fset_buffer_modified_p): Set buffer's
5120 prevent_redisplay_optimizations_p flag.
5121
826f3788 5122 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5123 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5124 with additional arg.
5125
5126 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5127 Change prototype.
826f3788 5128
826f3788
GM
5129 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5130 FROM_WHERE, for debugging.
5131
261d788b
KH
51322001-01-16 Kenichi Handa <handa@etl.go.jp>
5133
5134 * ccl.c (Fregister_ccl_program): Handle the return value of
5135 resolve_symbol_ccl_program correctly.
52283633 5136 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5137
bccee4f2
GM
51382001-01-15 Gerd Moellmann <gerd@gnu.org>
5139
e4ded23c
GM
5140 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5141 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5142
5143 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5144 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5145 the display; we didn't open it.
5146
bccee4f2
GM
5147 * dispnew.c (save_or_restore_current_matrices): Function removed.
5148 (save_current_matrix, restore_current_matrix): New functions.
5149 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5150 restore the frame's current matrix. Due to the glyph pointer
5151 setup done in adjust_glyph_matrix, there is no easy way to make
5152 saving the current matrix in the desired matrix generally correct,
5153 so don't try it.
5154
ebeccffa
KH
51552001-01-15 Kenichi Handa <handa@etl.go.jp>
5156
5157 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5158 truncation glyphs.
5159 (display_line): Optimize for wide characters.
e4ded23c 5160 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5161 partially. On ttys, produce more than one truncation glyph for
5162 multi-column characters that don't fit on the line.
5163
64388126
KH
51642001-01-13 Kenichi Handa <handa@etl.go.jp>
5165
52283633
SM
5166 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5167 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5168
8edb0a6f
JR
51692001-01-13 Jason Rumney <jasonr@gnu.org>
5170
5171 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5172 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5173 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5174 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5175
52283633
SM
5176 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5177 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5178 (x_draw_image_glyph_string): Adapt to change of image margins.
5179
5180 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5181 variables.
5182
5183 * w32bdf.c (search_file_line, get_cached_font_char)
5184 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5185
5186 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5187
5188 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5189 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5190 (Fw32_send_sys_command): Remove unused variables.
5191 (w32_msg_pump): Add parentheses.
5192
5193 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5194 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5195 Add parentheses.
5196
4956d1ef
GM
51972001-01-12 Gerd Moellmann <gerd@gnu.org>
5198
b30623be
GM
5199 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5200 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5201 being a pair of margins.
5202 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5203 to DEFVAR_LISP. Extend doc.
5204
5205 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5206 margins.
5207 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5208 pair of integers `(X . Y)', use X for the horizontal and Y for the
5209 vertical margin.
5210 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5211 (parse_image_spec): Check it.
52283633
SM
5212 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5213 (tiff_format, gif_format, gs_format):
5214 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5215
52283633
SM
5216 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5217 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5218 (x_draw_image_glyph_string): Adapt to the change of image margins.
5219
5220 * dispextern.h (struct image): Replace member `margin' with
5221 `hmargin' and `vmargin'.
5222
4554cc79
GM
5223 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5224 and GLYPHS.
5225
5226 * dispnew.c (update_text_area): Put code which decrements the
5227 stop position when the row's face extends to the end of the
3bffc665 5228 line in #if 0.
4554cc79 5229
3cccce8d
GM
5230 * xfns.c (x_set_mouse_color): Fix color allocation.
5231
4956d1ef
GM
5232 * keyboard.c: Call get_local_map with new argument list.
5233
5234 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5235
5236 * intervals.h (enum map_property): Removed.
5237 (get_local_map): Change prototype.
5238
5239 * keymap.c: Call get_local_map with new argument list.
5240 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5241
2c2ff7f2
GM
52422001-01-11 Gerd Moellmann <gerd@gnu.org>
5243
a23887b9
GM
5244 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5245 of the size needed for the tool bar string. For the last image,
5246 use a `display' property that reaches to the end of the string.
5247
a7ee2d2e
GM
5248 * xselect.c (selection_request_dpyinfo): New variable.
5249 (x_handle_selection_request): Set it.
5250 (x_selection_request_lisp_error): Don't call
5251 x_decline_selection_request if selection request's display has
5252 been closed.
5253
52283633
SM
5254 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5255 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5256
457b792c
GM
52572001-01-10 Dave Love <fx@gnu.org>
5258
5259 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5260 ${SOME_MACHINE_LISP}, not ${lisp}.
5261
c1efd260
GM
52622001-01-10 Gerd Moellmann <gerd@gnu.org>
5263
52283633
SM
5264 * xdisp.c (display_line): On ttys, produce more than one truncation
5265 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5266
ac95a621
GM
5267 * xselect.c (x_reply_selection_request): Add a comment.
5268
c1efd260
GM
5269 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5270 XkbGetNames instead of XkbGetKeyboard.
5271
1bfb1345
DL
52722001-01-10 Dave Love <fx@gnu.org>
5273
5274 * sysdep.c (random): Revert the declaration.
5275
38119822
GM
52762001-01-09 Gerd Moellmann <gerd@gnu.org>
5277
52283633
SM
5278 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5279 Call function string_bytes.
35f464a7
GM
5280 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5281
5282 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5283 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5284 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5285 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5286 the current sblock.
5287 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5288 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5289 after sweeping strings, and at the end.
5290 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5291
38119822
GM
5292 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5293 ensure that pop_message is called.
5294
5295 * keyboard.c (Fexecute_extended_command): Use a
5296 record_unwind_protect to ensure that pop_message is called.
5297
5298 * lisp.h (push_message_unwind): Add prototype.
5299
5300 * xdisp.c (push_message_unwind): New function.
5301
5302 * fileio.c (do_auto_save_unwind): Do the pop_message here
5303 instead of in Fdo_auto_save.
5304 (Fdo_auto_save): Don't call pop_message.
5305
f47a9ec4
KR
53062001-01-08 Ken Raeburn <raeburn@gnu.org>
5307
5308 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5309 in inner block.
5310
a758f97d
GM
53112001-01-08 Gerd Moellmann <gerd@gnu.org>
5312
6d0afc03
GM
5313 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5314 when increasing window's vscroll.
5315
a758f97d
GM
5316 * macros.c (Qkbd_macro_termination_hook): New variable.
5317 (syms_of_macros): Initialize and staticpro it.
5318 (pop_kbd_macro): Run kbd-macro-termination-hook.
5319
5320 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5321
1bfb1345 53222001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5323
5324 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5325 arglist, for documentation's sake.
5326
0dac6924
AI
53272001-01-06 Andrew Innes <andrewi@gnu.org>
5328
5329 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5330 of *.pdb.
5331
8182406a
AI
53322001-01-05 Andrew Innes <andrewi@gnu.org>
5333
5334 * term.c (update_end): Don't check updating_frame; for some reason
5335 this can be 0 sometimes, such as after dismissing a popup menu,
5336 and isn't necessary given the explicit frame argument.
5337
3828218c
GM
53382001-01-05 Gerd Moellmann <gerd@gnu.org>
5339
5340 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5341 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5342
2f5ded21
GM
53432001-01-04 Gerd Moellmann <gerd@gnu.org>
5344
52283633 5345 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5346
5347 * xfns.c (x_create_tip_frame): Preserve the value of
5348 face_change_count around the creation of the tip frame.
52283633 5349
2f5ded21
GM
5350 * xfns.c (last_show_tip_args): New variable.
5351 (compute_tip_xy): New function.
5352 (Fx_show_tip): Reuse an existing tip frame, if possible.
5353 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5354
dfad65fa
DL
53552001-01-04 Dave Love <fx@gnu.org>
5356
64d4ec0f
DL
5357 * editfns.c (Fformat): Doc fix.
5358
dfad65fa
DL
5359 * systime.h (set_file_times): Prototype.
5360
5361 * widget.h (EmacsFrameSetCharSize_): Prototype.
5362
5363 * sysdep.c (random, srandom): Declare explicitly.
5364
5365 * dispextern.h (move_it_vertically_backward): Declare.
5366
85fe3b5e
GM
53672001-01-04 Gerd Moellmann <gerd@gnu.org>
5368
0f2ac578
GM
5369 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5370 like in Fx_create_frame.
5371
482cca61
GM
5372 * xfaces.c (set_font_frame_param): Don't do anything for
5373 non-graphical frames.
5374
85fe3b5e
GM
5375 * window.c (Fdelete_other_windows): Set window's window_end_valid
5376 to nil when changing the window's start. Don't change the
5377 window's start when its top position hasn't changed. If we do,
5378 this will set the window's optional_new_start, which act's like a
5379 force_start during redisplay with C-x 1 M-> under particular
5380 circumstances (see report from Per Starback to emacs-pretest-bug
5381 from 2000-12-13.).
5382
3e99d3b4
GM
53832001-01-03 Gerd Moellmann <gerd@gnu.org>
5384
a77dc1ec
GM
5385 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5386 short cut at the start of the function. Add an assertion.
5387 (reseat_at_next_visible_line_start): Add an assertion.
5388
2f3cad6c
GM
5389 * window.c (Frecenter): When changing the window start, set the
5390 window's window_end_valid to nil.
5391 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5392
5393 * dispextern.h (move_it_past_eol): Add prototype.
5394
5395 * xdisp.c (move_it_past_eol): New function.
5396
3e99d3b4
GM
5397 * window.c (Fwindow_end): Doc fix.
5398
53992001-01-03 Dave Love <fx@gnu.org>
5400
52283633 5401 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5402
bafb434c
GM
54032001-01-03 Gerd Moellmann <gerd@gnu.org>
5404
5405 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5406 the enabled_p flag of the glyph row at window_end_vpos to 0.
5407 (handle_single_display_prop): Fix last change.
5408
5297fb00
RS
54092001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5410
5411 * window.c (Frecenter): Doc fix.
5412
13d6a61c
AI
54132001-01-02 Andrew Innes <andrewi@gnu.org>
5414
5415 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5416
5417 * frame.h (output_method): Add output_w32_console method.
5418 (FRAME_W32_CONSOLE_P): New macro.
5419
5420 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5421 use output_w32_console method.
5422 (Qw32_console): New Lisp_Object.
5423 (Fframep): Return it.
5424 (syms_of_frame): Init it.
52283633 5425 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5426
5427 * xfaces.c (realize_default_face): Set face foreground and
5428 background to unspecified for w32_console frames.
5429 (realize_face): Realize face cache for w32_console frames.
5430 (realize_tty_face): Accept w32_console frames.
5431
52283633 5432 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5433 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5434 necessary, even if running interactively.
5435
5436 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5437 w32_console frames.
5438
52283633
SM
5439 * w32term.c (x_update_begin):
5440 (x_update_end):
5441 (x_clear_frame):
5442 (x_ins_del_lines):
5443 (x_change_line_highlight):
5444 (x_delete_glyphs):
5445 (w32_ring_bell):
5446 (x_update_begin):
5447 (x_update_end):
5448 (w32_reassert_line_highlight):
5449 (w32_frame_rehighlight):
13d6a61c
AI
5450 (w32_frame_raise_lower): Do nothing if not w32 frame.
5451
5452 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5453
5454 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5455 system doesn't tell us directly.
5456 (Fx_display_visual_class): Implement properly.
5457
d6bb0c0d
GM
54582001-01-02 Gerd Moellmann <gerd@gnu.org>
5459
5460 * window.c (Frecenter): Handle centering in graphical frames
5461 specially. Centering on the basis of line counts doesn't work
5462 reliably with variable-height lines.
52283633 5463
315f5865
EZ
54642001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5465
5466 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5467 and al[].
5468
52283633 5469 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5470 (update_compositions): Remove unused variable `hook'.
5471
5472 * intervals.c (get_local_map): Remove unused variable `tem'.
5473
5474 * doprnt.c (doprnt1): Remove unused variable `size'.
5475
5476 * fns.c (Flength): Remove unused variable `tail'.
5477 (Fdelete): Remove unused variable `size'.
5478
5479 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5480 and `gcpro2'.
5481
52283633 5482 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5483
5484 * data.c (find_symbol_value): Remove extra 3rd argument in the
5485 call to swap_in_symval_forwarding.
5486
52283633 5487 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5488
5489 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5490 (trivial_regexp_p): Remove unused variable `c'.
5491 (boyer_moore): Remove unused variable `k'.
5492
5493 * indent.c (current_column): Remove unused variable `stopchar'.
5494 (Fcompute_motion): Remove unused variable `contin'.
5495
5496 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5497
5498 * dired.c (directory_files_internal): Fix a typo in a comment.
5499 Remove an unused variable `handler'.
52283633 5500 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5501 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5502 on BSD4_2.
5503
52283633 5504 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5505
5506 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5507 and `buf'.
5508 (Fmarker_insertion_type): Remove unused variable `buf'.
5509
5510 * insdel.c (make_gap): Remove unused variable `result'.
5511
52283633 5512 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5513 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5514 (menu_bar_items): Remove unused function-scope variable `tem'.
5515
5516 * fontset.c (fontset_ref): Remove unused variable `i'.
5517 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5518 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5519 (make_fontset_for_ascii_face): Remove unused variable `name'.
5520 (fs_load_font): Remove unused variable `font_idx'.
52283633 5521 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5522 (list_fontsets): Remove unused variable `tail'.
5523 (Fnew_fontset): Remove unused variables `family' and `registry'.
5524 (accumulate_font_info): Remove unused variable `tmp'.
5525 (Ffontset_font): Remove unused variable `id'.
5526 (syms_of_fontset): Remove unused variable `i'.
5527
5528 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5529 to x_term_init.
5530 (lookup_image): Remove unused variable `file'.
5531 (xbm_load): Remove unused variables `bitmap_data', `height', and
5532 `width'. Remove function-local variable `i', leave the
5533 block-local one.
5534 (gif_load): Remove unused variable `inc'.
5535
52283633 5536 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5537 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5538 leave only the one in the inner block.
5539
5540 * xfaces.c (face_fontset, realize_default_face): Remove unused
5541 variable `fontset'.
5542 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5543
5544 * term.c (encode_terminal_code): Remove unused variable `c'.
5545
5546 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5547 char *' instead of `char *'.
5548
5549 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5550 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5551 (Fchar_category_set): Remove unused variables `val', `charset',
5552 `c1' and `c2'.
5553
52283633
SM
5554 * coding.c (detect_coding_iso2022, setup_coding_system):
5555 Remove unused variable `i'.
315f5865
EZ
5556 (detect_coding_mask): Remove unused variable `idx'.
5557 (detect_coding): Remove unused variable `i'.
5558 (ccl_coding_driver): Remove unused variable `result'.
5559 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5560 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5561 (encode_coding_string): Remove unused variables `gcpro1' and
5562 `saved_coding_symbol'.
5563 (Ffind_coding_systems_region_internal): Remove function-local
5564 variable args[], leave only the block-local one.
5565 (code_convert_region1): Remove unused variable `len'.
5566
5567 * charset.c (char_printable_p): Remove unused variable `chars'.
5568 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5569 (str_to_multibyte): Remove unused variable `c'.
5570
5571 * window.c (size_window): Remove block-local variable `min_size'.
5572
5573 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5574 `header_line_height'.
5575 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5576 enum display_element_type.
5577
1a8a9daf
GM
55782001-01-02 Gerd Moellmann <gerd@gnu.org>
5579
6dde6abc 5580 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5581 statements that call X. Save away the error message in a local copy.
5582
1883b2c6
GM
5583 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5584 the start.
5585
a13be207
GM
5586 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5587 in or at the start of invisible text.
5588
1a8a9daf
GM
5589 * dispnew.c (update_window): Don't check_current_matrix_flags.
5590
3608c0f9
JR
55912001-01-01 Jason Rumney <jasonr@gnu.org>
5592
5593 * w32fns.c (x_figure_window_size): Do not allow new_height and
5594 new_width of frame to override specified values.
5595
abb1acc4
KH
55962000-12-30 Kenichi Handa <handa@etl.go.jp>
5597
52283633 5598 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5599
762a68ec
GM
56002000-12-29 Gerd Moellmann <gerd@gnu.org>
5601
52283633 5602 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5603 (update_window) [GLYPH_DEBUG]: Call it.
5604 (scrolling_window): Prevent including current rows which are below
5605 what's displayed in the window.
5606
5607 * xdisp.c (try_window_reusing_current_matrix)
5608 <new start <= old start>: Disable rows in the current matrix
5609 which are below the window after scrolling.
52283633 5610
762a68ec
GM
5611 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5612 is zero. It's not worth the complexity.
5613 (invisible_text_between_p): Put in #if 0 because unused.
5614
2d5912c1
GM
56152000-12-28 Gerd Moellmann <gerd@gnu.org>
5616
46f6a258
GM
5617 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5618 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5619
89f93679
GM
5620 * keyboard.c (echo_char): If C is an integer, always call
5621 push_key_description. Former code could signal an invalid
5622 character error.
5623
5624 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5625 If set, print multibyte text.
5626 (Fsingle_key_description): Call push_key_description with
5627 FORCE_MULTIBYTE set.
5628 (describe_buffer_bindings): Likewise.
5629
5630 * lisp.h (push_key_description): Add prototype.
5631
c06017fb
GM
5632 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5633 around the call to redisplay_internal.
5634
f1d2ce7f
GM
5635 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5636
2d5912c1
GM
5637 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5638
9371f831
KH
56392000-12-28 Kenichi Handa <handa@etl.go.jp>
5640
5641 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5642 (ccl_driver): New local variable `extra_bytes'.
5643
5644 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5645
52283633
SM
5646 * coding.c (setup_coding_system):
5647 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5648 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5649
0c80628a
KH
56502000-12-28 Kenichi Handa <handa@etl.go.jp>
5651
5652 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5653 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5654 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5655 (decode_composition_emacs_mule): New function.
5656 (decode_coding_emacs_mule): Decode composition sequence by calling
5657 decode_composition_emacs_mule.
5658 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5659 (encode_coding_emacs_mule): Changed from macro to function.
5660 If a text contains compositions, encode them correctly.
0c80628a
KH
5661 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5662 that decoding and encoding are required.
5663
3e32cc27
GM
56642000-12-27 Gerd Moellmann <gerd@gnu.org>
5665
5e25feee
GM
5666 * xfaces.c (PT_PER_INCH): New macro.
5667 (xlfd_point_size): Compute real point size from font's pixel size.
5668 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5669 instead of 72.
5670
892d8fcd
GM
5671 * .gdbinit: Comment out the line pointing to the Lesstif source
5672 directory.
5673
12c8b416
GM
5674 * window.c (Frecenter): Use displayed_window_lines instead
5675 of window_internal_height.
5676
6061fbf0
GM
5677 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5678 instead of x-toolkit-scroll-bars-p.
5679 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5680
5681 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5682 instead of x-toolkit-scroll-bars-p.
5683 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5684
3e32cc27
GM
5685 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5686 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5687 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5688 New variables.
5689 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5690 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5691 (build_frame_matrix_from_leaf_window): Remove unused code.
5692 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5693 redisplay history.
5694 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5695 (update_window) [GLYPH_DEBUG]: Likewise.
5696 (syms_of_display): Defsubr dump-redisplay-history.
5697
31798cfe
GM
56982000-12-23 Gerd Moellmann <gerd@gnu.org>
5699
f717c2ba
GM
5700 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5701 the end of the prompt. Set echo_after_prompt to the offset
5702 of echoptr in echobuf.
5703
aeb2b8fc
GM
5704 * xdisp.c (init_from_display_pos): Pop until the iterator's
5705 stack is empty; there may be frames for stretch or images
5706 on the stack.
5707
31798cfe
GM
5708 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5709 (save_or_restore_current_matrix): New function for the same
5710 purpose, but more efficient.
5711 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5712
f8156156
EZ
57132000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5714
5715 * xdisp.c (syms_of_xdisp): Fix last change.
5716
bdd6d4e8
GM
57172000-12-23 Gerd Moellmann <gerd@gnu.org>
5718
5719 * xdisp.c (syms_of_xdisp): Doc fix.
5720
5721 * xdisp.c (redisplay_window): Remove label restore_buffers;
5722 use finish_scroll_bars instead to make sure that scroll bars
5723 are redeemed. If we don't do this, flickering can result from
5724 scroll bars being destroyed and recreated.
5725
9436cdf9
JR
57262000-12-22 Jason Rumney <jasonr@gnu.org>
5727
5728 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5729 in the wrong colors when the foreground is not black.
5730 (expose_window): Don't redraw the window that's currently being
5731 updated.
5732
951f9df5
GM
57332000-12-22 Gerd Moellmann <gerd@gnu.org>
5734
856ff7a7
GM
5735 * window.c (size_window): When setting the window's too_small_ok
5736 flag, compare old size with minimum size depending on WIDTH_P,
5737 don't compare with window_min_width.
52283633 5738
951f9df5
GM
5739 * window.c (delete_window): Simplify somewhat.
5740 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5741 freeing window matrices. The flag windows_or_buffers_changed is
5742 set, so the next redisplay will consider all windows; this should
5743 suffice.
5744
886bc933
KH
57452000-12-22 Kenichi Handa <handa@etl.go.jp>
5746
5747 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5748
5749 * ccl.h (struct ccl_program): New member cr_consumed.
5750
5751 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5752 (CCL_READ_CHAR): Handle EOL conversion here.
5753 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5754
177f4e88
GM
57552000-12-21 Gerd Moellmann <gerd@gnu.org>
5756
52283633 5757 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5758
5759 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5760 otherwise tabs of different size compare equal.
5761
5762 * callint.c (Fcall_interactively): Prevent a compiler warning.
5763
5764 * print.c (print_unwind): Return nil.
5765 (PRINTDECLARE): Initialize all local variables.
5766 (print_preprocess): Add a default case.
5767
8e15274f
GM
5768 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5769
5770 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5771
52283633 5772 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5773 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5774
5775 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5776
5777 * dispnew.c (ensure_frame_matrix): Removed.
5778 (save_frame_matrix, restore_frame_matrix): New functions.
5779 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5780
5781 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5782 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5783
99012074
AI
57842000-12-21 Andrew Innes <andrewi@gnu.org>
5785
5786 * w32term.c (x_update_begin): Regenerate the palette here, rather
5787 than for each window.
5788
5789 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5790 palette is NULL, since this corrupts memory! Also get
5791 display_info reference from frame.
5792
29ef7d2d
JR
57932000-12-21 Jason Rumney <jasonr@gnu.org>
5794
5795 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5796
5797 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5798 to avoid returning without releasing it.
3e27fa1f 5799
3f9d67a6
KH
58002000-12-21 Kenichi Handa <handa@etl.go.jp>
5801
587fc3f9
KH
5802 * keymap.c (push_key_description): Don't convert eight-bit-control
5803 and eight-bit-graphic to multibyte character.
5804
3f9d67a6
KH
5805 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5806 generic character and CODE1 is nil, return the smallest character
5807 in CHARSET.
5808
774ba8c9
DL
58092000-12-20 Dave Love <fx@gnu.org>
5810
5811 * s/osf5-0.h (NSIG): Don't redefine.
5812
88416888
SM
58132000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5814
5815 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5816 excluding menu-bar and tool-bar.
5817 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5818 (menu_item_p): Remove.
5819 (where_is_internal_1): Don't ignore menu-items.
5820
a6426c6f
GM
58212000-12-20 Gerd Moellmann <gerd@gnu.org>
5822
03ff8aab
GM
5823 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5824 into account.
5825
5826 * window.c (make_window): Initialize window's min_hscroll.
5827 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5828 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5829 to zero.
5830 (struct saved_window): New member min_hscroll.
5831 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5832 (Fset_window_configuration): Set window's min_hscroll.
5833 (save_window_save): Save window's min_hscroll.
5834 (compare_window_configurations): Compare min_hscroll values.
5835
5836 * window.h (struct window): New member min_hscroll.
5837
5838 * keyboard.c (echo_prompt): Prevent a compiler warning.
5839
8de4aaf8
GM
5840 * xdisp.c (try_cursor_movement): Fix last change. The real
5841 condition is that PT is at the end of the row, and should
5842 be displayed at the start of the next row.
52283633 5843
3f7e3031
GM
5844 * xdisp.c (try_cursor_movement): If we end on a partially
5845 visible line, end we already decided to scroll, return -1.
5846
a6426c6f
GM
5847 * dispextern.h (ensure_frame_matrix): Add prototype.
5848
5849 * window.c (delete_window, Fsplit_window)
5850 (Fset_window_configuration): Call ensure_frame_matrix.
5851
52283633
SM
5852 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5853 New functions.
a6426c6f
GM
5854 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5855 completed, call fake_current_matrices instead of marking frame
5856 garbaged.
5857
57fa2774
JR
58582000-12-20 Jason Rumney <jasonr@gnu.org>
5859
5860 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5861
d925df90
EZ
58622000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5863
5864 * fns.c (Frequire): Doc fix.
5865
7b93a85b
GM
58662000-12-19 Gerd Moellmann <gerd@gnu.org>
5867
52283633 5868 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5869
c74e645b
GM
5870 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5871 currently displaying a message.
5872
7b93a85b
GM
5873 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5874 xterm.h.
5875 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5876
90d97e64
AI
58772000-12-18 Andrew Innes <andrewi@gnu.org>
5878
5879 * w32.c (w32_strerror): New function.
5880
5881 * w32.h (w32_strerror): New extern.
5882
5883 * w32fns.c (Fw32_shell_execute): Use it.
5884
91c9e6ce
GM
58852000-12-18 Gerd Moellmann <gerd@gnu.org>
5886
5887 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5888
6f4745e2
EZ
58892000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5890
5891 * msdos.c (IT_set_face): Obey inverse_video.
5892
c9e088ce
KH
58932000-12-18 Kenichi Handa <handa@etl.go.jp>
5894
5895 * dired.c (directory_files_internal): Always return decoded filenames.
5896
c3695f5f
GM
58972000-12-18 Gerd Moellmann <gerd@gnu.org>
5898
52d8e4ff
GM
5899 * xterm.c (x_connection_closed): Prevent being called recursively
5900 because of an error condition in XtCloseDisplay.
52283633 5901
62be9979
GM
5902 * xdisp.c (init_iterator): If noninteractive, and the frame's
5903 face cache is null, make one.
5904
52283633 5905 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5906
c3695f5f
GM
5907 * process.c (wait_reading_process_input): Check for pending
5908 input when running timers.
5909
78555fbe
EZ
59102000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5911
52283633 5912 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5913
b2b36264
KH
59142000-12-18 Kenichi Handa <handa@etl.go.jp>
5915
5916 * process.c (read_process_output): Don't run a filter if the code
5917 decoder produces nothing but carryover.
5918
9c543fbf
AI
59192000-12-17 Andrew Innes <andrewi@gnu.org>
5920
5921 * w32.c (sys_rename): Only check errno against EEXIST, and not
5922 EACCES, when determining whether rename failed because the target
5923 exists. This was resulting in indefinite looping on Windows 9x if
5924 the source file was locked by another process.
5925
5926 * w32fns.c (Ffile_system_info): New function.
5927 (syms_of_w32fns): Defsubr it.
5928
10c2b5a8
GM
59292000-12-17 Gerd Moellmann <gerd@gnu.org>
5930
b0228ace
GM
5931 * window.c (coordinates_in_window): Fix computation for
5932 position on vertical line between mode lines.
5933
10c2b5a8
GM
5934 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5935 Don't alter tip_frame or tip_window.
5936 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5937 was deleted.
5938
c844a81a
GM
5939 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5940 Don't alter tip_frame or tip_window.
5941 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5942 was deleted.
5943
6c825f8e
EZ
59442000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5945
5946 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5947 be consistent with the doc string. Reported by NAKAJIMA Mikio
5948 <minakaji@osaka.email.ne.jp>.
5949
af4bb4c8
KH
59502000-12-16 Kenichi Handa <handa@etl.go.jp>
5951
5952 * xfaces.c (Vface_ignored_fonts): New variable.
5953 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5954 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5955
8062e53a
GM
59562000-12-15 Gerd Moellmann <gerd@gnu.org>
5957
e87b8809
GM
5958 * dispnew.c (update_window): Detect pending input every nth line
5959 updated, i.e. do it depending on real work done, and not on the
5960 vpos of the line.
5961
5962 * xterm.c (expose_window): Don't redraw the window that's
5963 currently being updated.
5964
a6768cc5
GM
5965 * window.c (Fset_window_point): Remove test for
5966 cursor_in_non_selected_windows.
5967
4ea7fdca
GM
5968 * lread.c (read1): Recognize end of file after `\\'.
5969
8062e53a
GM
5970 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5971 not unwind_create_frame.
5972
bb7959c1
GM
59732000-12-15 Dave Love <fx@gnu.org>
5974
5975 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5976 bcopy & al.
5977
5978 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5979
ced04c42
KH
59802000-12-15 Kenichi Handa <handa@etl.go.jp>
5981
c5443913
KH
5982 * coding.c (setup_coding_system): Clear all members of the struct
5983 coding_system at first.
bc137305
KH
5984 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5985 argument.
5986 (code_convert_region): Don't override coding->src_multibyte and
5987 coding->dst_multibyte.
c5443913 5988
ced04c42
KH
5989 * fns.c (Fmd5): Docstring improved.
5990
c2d7f289
MB
59912000-12-15 Miles Bader <miles@gnu.org>
5992
5993 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5994 are actually marked as mode-lines; otherwise use
5995 estimate_mode_line_height.
5996
9d7d9263
GM
59972000-12-14 Gerd Moellmann <gerd@gnu.org>
5998
5999 * editfns.c (Fformat): Prevent a buffer overrun when the format
6000 specifies a precision.
6001
7cf0153a
EZ
60022000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6003
6004 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6005 argument is outside the range [2..3].
6006
1de0f662
AI
60072000-12-14 Andrew Innes <andrewi@gnu.org>
6008
6009 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6010 nothing to do. Bind inhibit-quit.
6011 (tip_frame): Make it a Lisp_Object.
6012 (x_create_tip_frame): Set tip_frame after it has been added to
6013 Vframe_list.
6014 (Fx_show_tip): Don't set tip_frame here.
52283633 6015 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6016 (unwind_create_frame, unwind_create_tip_frame): New functions.
6017 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6018 while a frame is only partially constructed.
6019
6020 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6021 (x_free_frame_resources): New function.
6022 (x_destroy_window): Use it.
6023
02387dcc
GM
60242000-12-14 Gerd Moellmann <gerd@gnu.org>
6025
6026 * xfns.c (Fx_backspace_delete_keys_p): New function.
6027 (syms_of_xfns): Defsubr it.
6028
6029 * config.in (HAVE_XKBGETKEYBOARD): Add.
6030
0544ef49
KH
60312000-12-14 Kenichi Handa <handa@etl.go.jp>
6032
98d62747
KH
6033 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6034 Always store string in multibyte representation in echobuf.
6035 (echo_char): Always store string in multibyte representation in
6036 echobuf.
6037 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6038 (read_key_sequence): Adjusted for the change of echo_prompt.
6039
a20193cd
KH
6040 * fns.c (Fmd5): Docstring improved.
6041
191b83b6
KH
6042 * lisp.h (detect_coding_system): Prototype adjusted.
6043
0544ef49
KH
6044 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6045 (detect_coding_emacs_mule, detect_coding_iso2022,)
6046 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6047 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6048 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6049 (detect_coding_mask, detect_coding_system): New argument
6050 MULTIBYTEP. Callers changed.
1da1bb05
KH
6051 (decode_coding_string): Set coding->src_multibyte and
6052 coding->dst_multibyte before calling detect_coding and detect_eol.
6053 Update them after some coding system is detected.
52283633 6054
d5b3eb1b
SM
60552000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6056
6057 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6058
6059 * keyboard.c (menu_bar_items, tool_bar_items):
6060 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6061
f7f8bb69
GM
60622000-12-13 Gerd Moellmann <gerd@gnu.org>
6063
52283633 6064 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6065 New variables.
6066 (unwind_create_frame, unwind_create_tip_frame): New functions.
6067 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6068 while a frame is only partially constructed.
6069
6070 * xterm.h (x_free_frame_resources): Declare.
6071
6072 * xterm.c (x_free_frame_resources): New function.
6073 (x_destroy_window): Use it.
6074
e10da507
GM
6075 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6076 don't interrupt the update for pending input initially, i.e.
6077 update at least some lines.
6078
6079 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6080
d5b3eb1b 6081 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6082
6083 * xfns.c (gray_bitmap_bits): Declare `char *'.
6084
90aa2856
GM
60852000-12-12 Gerd Moellmann <gerd@gnu.org>
6086
6087 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6088 lines start with a relief line.
6089
a308c9cd
DL
60902000-12-12 Dave Love <fx@gnu.org>
6091
6092 * window.c (Fdisplay_buffer): Doc fix.
6093 (Fwindow_list): Remove unused var.
6094
6095 * buffer.h (mmap_set_vars): Declare.
6096
6097 * window.h (Fset_window_point): Declare.
6098
d575011f
EZ
60992000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6100
bf6282d2 6101 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6102 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6103 variable `area'. When looking for a row under (X,Y), give up if some
6104 of the previous rows is not enabled.
d575011f 6105
ecf4d726
GM
61062000-12-12 Gerd Moellmann <gerd@gnu.org>
6107
2ebf6139
GM
6108 * window.c (Fset_window_point): If displaying cursors in windows
6109 other than the selected window, make sure redisplay updates
6110 other windows to show the new value of point in the window.
6111
6112 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6113
bfdb75ee
GM
6114 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6115 the buffer is the sole visible buffer when in the mini-buffer.
6116
52283633 6117 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6118 Bind `inhibit-read-only' to t.
6119 (unwind_with_echo_area_buffer): Use AREF.
6120
c0006262
GM
6121 * xfns.c (Fx_hide_tip): Simplified.
6122
52283633
SM
6123 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6124 instead of `1'.
e9a59cad 6125
ecf4d726
GM
6126 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6127
e5959a9a
GM
61282000-12-11 Gerd Moellmann <gerd@gnu.org>
6129
a3642e49 6130 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6131
44b5a125
GM
6132 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6133 nothing to do. Bind inhibit-quit.
6134 (tip_frame): Make it a Lisp_Object.
6135 (x_create_tip_frame): Set tip_frame after it has been added to
6136 Vframe_list.
6137 (Fx_show_tip): Don't set tip_frame here.
6138
6139 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6140
6141 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6142 Lisp_Object.
6143
6144 * dispextern.h: Change external declaration of tip_frame.
6145
d990421f
GM
6146 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6147 return an empty string.
6148
4db87380
GM
6149 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6150 of the window's update_mode_line flag, since the former is set by
6151 force-mode-line-update, not the latter. This makes
6152 column-number-mode slightly faster.
52283633 6153
e5959a9a
GM
6154 * xdisp.c (try_window_id) <all changes above window start>:
6155 Set the cursor.
6156
169fe44e
GM
61572000-12-11 Paul Eggert <eggert@twinsun.com>
6158
6159 * config.in (HAVE_FTELLO): Remove.
6160 (HAVE_FSEEKO): Add.
6161 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6162 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6163 HAVE_FTELLO.
6164 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6165 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6166
59ec59ae
MB
61672000-12-11 Miles Bader <miles@gnu.org>
6168
6169 * window.c (displayed_window_lines): Don't round up when
6170 converting empty space at bottom to lines.
ff904dd6
MB
6171 Handle non-newline-terminated final lines properly.
6172 (Fwindow_text_height): New function (used to be in lisp).
6173 (syms_of_window): Initialize it.
59ec59ae 6174
42ebfa31
SM
61752000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6176
6177 * syntax.c (scan_lists): Check that the right quote char has the
6178 right Sstring syntax when jumping over strings.
6179 (init_syntax_once): Use Smax rather than 13.
6180
5cdb3cf3
MB
61812000-12-09 Miles Bader <miles@gnu.org>
6182
6183 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6184 with PARTIALLY, inverting the sense.
6185 (window_scroll_pixel_based): Scroll partially visible lines into
6186 place if we hit the beginning or end of the buffer.
a12167c5
MB
6187 (displayed_window_lines): Don't include partially visible lines.
6188 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6189
842b2a94
GM
61902000-12-08 Gerd Moellmann <gerd@gnu.org>
6191
6192 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6193
6194 * tparam.c (tparam1): Change the way buffers are reallocated to be
6195 portable and less obfuscated.
6196
6197 * termcap.c (tgetent): Change the way buffers are reallocated to
6198 be portable and less obfuscated.
6199
6200 * macros.c (store_kbd_macro_char): Change the way buffers are
6201 reallocated to be portable and less obfuscated.
6202
6203 * lread.c (read1): Change the way buffers are reallocated to be
6204 portable and less obfuscated.
6205
6206 * doc.c (Fsubstitute_command_keys): Change the way buffers
6207 are reallocated so that it is portable.
6208
137cad7c
EZ
62092000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6210
6211 * dosfns.c (Ffile_system_info): New function.
6212 (syms_of_dosfns): Defsubr it.
6213
5c7f629c
SM
62142000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6215
6216 * alloc.c (gc_sweep): Add comment.
6217
959e647d
GM
62182000-12-07 Gerd Moellmann <gerd@gnu.org>
6219
52283633
SM
6220 * sound.c (vox_configure): Change order of ioctls.
6221 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6222 Ignore errors when changing volume.
6223 (vox_close): Don't reset the device.
6224
926b7e5e
GM
6225 * process.c (read_process_output): Make sure the process marker's
6226 position is valid when the process buffer is changed in
6227 after-change functions. W3 does that.
52283633 6228
959e647d
GM
6229 * xfns.c (x_free_gcs): New function.
6230
6231 * xterm.h (x_free_gcs): Add prototype.
6232
6233 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6234 freeing GCs here.
6235
6236 * xterm.c (x_destroy_window): Call x_free_gcs so that
6237 resources of non-toolkit X windows will be freed.
6238
478ea067
AI
62392000-12-07 Andrew Innes <andrewi@gnu.org>
6240
6241 * w32fns.c (xlfd_charset_of_font): Fix last change.
6242
fbee3231
DL
62432000-12-06 Dave Love <fx@gnu.org>
6244
67292061
DL
6245 * md5.h (__P): Don't define -- it comes from config.h.
6246
fbee3231
DL
6247 * strftime.c: Change some #if foo to #ifdef foo.
6248
4ee87dbb
AI
62492000-12-06 Andrew Innes <andrewi@gnu.org>
6250
6251 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6252
52283633 6253 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6254 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6255 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6256
9765b4a4
GM
62572000-12-06 Gerd Moellmann <gerd@gnu.org>
6258
d285b373
GM
6259 * alloc.c (gc_sweep): Prevent symbols read during loadup
6260 from being freed.
6261
384333ee
GM
6262 * xdisp.c (underlying_face_id): New function.
6263 (handle_face_prop, face_before_or_after_it_pos): Use it
6264 to determine the face ``under'' a string. Let strings inherit
6265 the face of the buffer under them.
6266
6267 * xfaces.c (face_at_string_position): Update function comment.
52283633 6268
d4b72d58
GM
6269 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6270 matrix if the window's left position has changed; we need to
6271 redraw it in this case.
6272
6273 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6274
e1d05387
GM
6275 * window.c (coordinates_in_window): Check mouse on mode-line or
6276 header-line first.
6277
eb1b0c74
GM
6278 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6279 advertized by the function documentation.
6280
d94d636f
GM
6281 * window.c (syms_of_window): Doc fix.
6282
3887b449
GM
6283 * sound.c (vox_configure): Set volume for left and right channel.
6284 (sound_cleanup): Return nil.
6285
efc8f57a
GM
6286 * xdisp.c (move_it_by_lines): Fix paren typo.
6287
9765b4a4
GM
6288 * xterm.c (x_load_font): Don't use the font's max_bounds for
6289 computing the height of the font. If max_bounds' ascent or
6290 descent are greater than the font's ascent or descent, this means
6291 glyphs overlap, which should be handled now by redisplay.
6292
6529ed87
GM
6293 * window.c (Veven_window_heights): New variable.
6294 (syms_of_window): DEFVAR_LISP it.
6295 (Fdisplay_buffer): Check Veven_window_heights before evening the
6296 window heights.
52283633 6297
0eb2ecde
MB
62982000-12-06 Miles Bader <miles@gnu.org>
6299
6300 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6301 update `default-frame-alist' instead of setting no frame parameters.
6302
03d7a167
KH
63032000-12-06 Kenichi Handa <handa@etl.go.jp>
6304
6305 * composite.c (update_compositions): Fix typo (use the correct
6306 variable).
6307
5f8803c2
JR
63082000-12-05 Jason Rumney <jasonr@gnu.org>
6309
6310 * md5.h: Remove underscores from function declarations.
6311 (__attribute__, __alignof__) [!__GNUC__]: Define.
6312
6313 * md5.c: Delay include of md5.h until after namespace cleaning.
6314
c28a075b
JR
6315 * makefile.w32-in (fns.o): Depend on md5.h
6316 (md5.o): New target.
6317 (sunfns.o): Remove.
6318
6319 * makefile.nt: Likewise.
6320
ff3c7056
JR
63212000-12-05 Jason Rumney <jasonr@altavista.net>
6322
6323 * w32term.c (expose_area): Complete last change.
6324
0c21eeeb
KR
63252000-12-05 Ken Raeburn <raeburn@gnu.org>
6326
6327 * minibuf.c: Include intervals.h.
6328
f201d732
JR
63292000-12-05 Jason Rumney <jasonr@gnu.org>
6330
6331 * w32term.c (x_produce_glyphs): If a font for a component of
6332 a composition is not found, use 1 pixel dot ascent and 0 dot
6333 descent value to avoid displaying terribly tall empty boxes.
6334 (expose_area): Pass x-coordinate relative to the exposed
6335 area to x_draw_glyphs instead of a window-relative coordinate.
6336
21999ab9
GM
63372000-12-05 Gerd Moellmann <gerd@gnu.org>
6338
4d2036e4
GM
6339 * xdisp.c (next_element_from_ellipsis): Save face before selective
6340 display in saved_face_id, and set face_before_selective_p.
6341 (reseat_1): Reset face_before_selective_p.
6342 (append_space, extend_face_to_end_of_line): If iterator's
6343 face_before_selective_p is set, use the face from saved_face_id.
6344 (extend_face_to_end_of_line): For tty frames, make sure to
6345 use the right face id when producing spaces at the end of
6346 the line.
6347
6348 * dispextern.h (struct it): Add face_before_selective_p.
6349
52be17cc
GM
6350 * keyboard.c (record_char): Don't record identical help-echo
6351 events in recent_keys.
6352
8a4f36cc
GM
6353 * xterm.c [USE_X_TOOLKIT]: Close the display.
6354 (xim_close_dpy): Handle case that the display has been closed.
6355
57d6e381
GM
6356 * xterm.c (x_destroy_window): Reset the frame's X window after
6357 destroying it.
6358
21999ab9
GM
6359 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6360 variable window_width.
6361 (line_draw_cost): Fix code skipping over spaces at the end of the
6362 line when must_write_spaces is not set.
6363 (scrolling_window): Fix code inserting runs in list of all runs.
6364
91372bb7
KH
63652000-12-05 Kenichi Handa <handa@etl.go.jp>
6366
6367 * coding.c (setup_coding_system): Be sure to initialize
6368 coding->category_idx.
6369
6c083b4c
GM
63702000-12-04 Gerd Moellmann <gerd@gnu.org>
6371
0c68ce6f 6372 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6373
6452929e
GM
6374 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6375 area to x_draw_glyphs instead of a window-relative coordinate.
6376
d7f31e22
GM
6377 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6378 error in the message.
6379
ae18aa3b
GM
6380 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6381 timer after having read a key. It's not good for code reading
6382 several keys in a loop, like an input method.
6383
caa15ef7
GM
6384 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6385 record undo information for format-decode.
6386
6387 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6388 current buffer is read-only, not if it isn't.
6389
6c083b4c
GM
6390 * keyboard.c (record_char): Record `help-echo' input events
6391 in recent_keys only if they display some help. Don't record
6392 `help-echo' events as macro char.
6393
caa15ef7
GM
63942000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6395
6396 * editfns.c (save_excursion_restore): Don't move point
6397 in another window if it is showing the wrong buffer.
6398 Avoid the call to Fwindow_live_p, for speed.
6399
5a13529b
KH
64002000-12-04 Kenichi Handa <handa@etl.go.jp>
6401
e225faa7
KH
6402 * xfaces.c (struct font_name): New member registry_priority.
6403 (split_font_name): Initialize the above member to zero.
6404 (concat_font_list): New function.
6405 (font_list): Include fonts of all alternative registries.
6406 (FONT_POINT_SIZE_QUANTUM): New macro.
6407 (better_font_p): Ignore point size difference less than
6408 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6409
e89648b4
KH
6410 * xterm.c (x_produce_glyphs): If a font for a component of
6411 a composition is not found, use 1 pixel dot ascent and 0 dot
6412 descent value to avoid displaying terribly tall empty boxes.
6413
5a13529b
KH
6414 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6415
d7935eb6
KR
64162000-12-03 Ken Raeburn <raeburn@gnu.org>
6417
6418 * coding.h (code_convert_string1): Declare.
6419
6420 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6421
52283633 6422 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6423
0dd5e255
JR
64242000-12-02 Jason Rumney <jasonr@gnu.org>
6425
6426 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6427 correctly for single byte character case.
6428 (w32_per_char_metric): Do not try to make any assumptions about
6429 the metrics of BDF fonts.
250cfece 6430 (x_estimate_mode_line_height): If `mode-line' face
52283633 6431 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6432 (note_mouse_highlight): Change the cursor shape on the vertical
6433 border between windows [not enabled].
6434
6435 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6436
6437 * w32fns.c (Fx_create_frame): Reintroduce the call to
6438 face-set-after-frame-defaults.
6439 (Vx_window_horizontal_drag_shape): New variable.
6440 (syms_of_xfns): DEFVAR_LISP it.
6441 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6442 enabled].
0dd5e255 6443
b5d8d2ca
GM
64442000-12-02 Simon Josefsson <simon@josefsson.org>
6445
6446 * fns.c (Fmd5): Use a different logic to decide the coding system
6447 to use.
6448
6449 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6450
fbb87147
EZ
64512000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6452
52283633 6453 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6454
447e9da0
GM
64552000-12-01 Gerd Moellmann <gerd@gnu.org>
6456
7708ced0
GM
6457 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6458 height for YNegative.
6459 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6460 height; also see comment there.
6461
447e9da0
GM
6462 * window.c (coordinates_in_window): Handle computations for
6463 positions on the vertical bar and fringes differently for
6464 window-system frames. Consider some pixels near the vertical bar
6465 as on the bar if the frame doesn't have vertical scroll bars.
6466 Associate positions between mode or header lines with the
6467 right window, the left one.
6468
86d1db20
JR
64692000-12-01 Jason Rumney <jasonr@gnu.org>
6470
6471 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6472
6473 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6474 invalid frame.
6475
a1d58e5b
GM
64762000-12-01 Gerd Moellmann <gerd@gnu.org>
6477
52283633 6478 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6479 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6480 (save_window_save, Fset_window_configuration): Save/restore
6481 window's orig_top and orig_height.
6482
89c609af
JR
64832000-12-01 Jason Rumney <jasonr@gnu.org>
6484
4d177746 6485 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6486
89c609af
JR
6487 * w32fns.c (x_set_cursor_color): Fix last change.
6488
eccc05db
GM
64892000-11-30 Gerd Moellmann <gerd@gnu.org>
6490
31b6671b
GM
6491 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6492 sure that the next redisplay displays the minibuffer, so that
6493 the cursor will be replaced with what the minibuffer wants.
6494
eccc05db
GM
6495 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6496 #ifndef instead of using #if.
6497 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6498 USE_TOOLKIT_SCROLL_BARS is defined.
6499
162de750
JR
65002000-11-30 Jason Rumney <jasonr@gnu.org>
6501
6502 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6503 x_display_cursor.
6504
693c4692
GM
65052000-11-30 Gerd Moellmann <gerd@gnu.org>
6506
6507 * fns.c (Fmd5): Doc fix.
6508
b5d8d2ca 65092000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6510
6511 * fns.c (Fmd5): New function.
6512 (syms_of_fns): Defsubr md5.
6513
6514 * Makefile.in (obj): Add md5.o
6515
b02cd40b
GM
65162000-11-30 Gerd Moellmann <gerd@gnu.org>
6517
edfb795e
GM
6518 * md5.h, md5.c: New files, taken from glibc.
6519
df3aedcf
GM
6520 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6521
b02cd40b 6522 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6523 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6524
8b5176cd
SM
65252000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6526
6527 * eval.c (Frun_hooks): Allow 0 arguments.
6528
346598f1
GM
65292000-11-29 Gerd Moellmann <gerd@gnu.org>
6530
f9396e03
GM
6531 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6532 is over the menu bar widget, say it's not on the frame.
6533
4a967a9b
GM
6534 * xfns.c (Fx_create_frame): Reintroduce the call to
6535 face-set-after-frame-defaults.
6536
346598f1
GM
6537 * eval.c (Fsignal): Reset handling_signal.
6538
222456a1
JR
65392000-11-28 Jason Rumney <jasonr@gnu.org>
6540
6541 * w32menu.c (add_menu_item): Reset menu item text when changing
6542 type to radio button.
6543
8049ddc0
GM
65442000-11-28 Gerd Moellmann <gerd@gnu.org>
6545
346598f1 6546 * xselect.c: Update copyright.
f4f4ee4d 6547
bebe4a2c
GM
6548 * window.c (coordinates_in_window): If on a mode or header line,
6549 but sufficiently close to its start, return ``on vertical
6550 border''. This gives us a way to drag windows horizontally when
6551 using toolkit scroll bars.
6552
6553 * xterm.c (note_mouse_highlight): Change the cursor shape
6554 on the vertical border between windows.
6555
6556 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6557
6558 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6559 (syms_of_xfns): DEFVAR_LISP it.
6560 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6561
8d2c2642
GM
6562 * textprop.c (text_read_only): New function.
6563 (verify_interval_modification): Use it instead of signaling
6564 `text-read-only'. This makes it easier to catch this error
52283633 6565 with a breakpoint.:
8d2c2642 6566
52283633 6567 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6568 not end of line, which includes CR.
6569
5a2bae6c
KH
65702000-11-28 Kenichi Handa <handa@etl.go.jp>
6571
6572 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6573 include no-conversion.
6574
ae31f84d
JR
65752000-11-27 Jason Rumney <jasonr@gnu.org>
6576
6577 * w32fns.c (w32_load_system_font): Always mark font as double byte
6578 if codepage is unicode.
6579
67f1cf4c
GM
65802000-11-27 Gerd Moellmann <gerd@gnu.org>
6581
4a74d071 6582 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6583 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6584
902ae620
GM
6585 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6586 `vertical-line', `mode-line' and `header-line' events.
6587
6588 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6589 of a character, a TAB for instance. This is easier than to set
6590 up the iterator exactly, and it's not a frequent case, so the
6591 additional effort wouldn't really pay off.
6592
c1e279c2
AC
65932000-11-26 Andrew Choi <akochoi@i-cable.com>
6594
67f1cf4c 6595 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6596 init_window_once.
6597
a609568a
JR
65982000-11-25 Jason Rumney <jasonr@gnu.org>
6599
52283633
SM
6600 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6601 Args to window_from_coordinates should be pixel coordinates.
48b21762 6602
a609568a
JR
6603 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6604 redisplay handles them properly.
6605
a658d039
MB
66062000-11-25 Miles Bader <miles@gnu.org>
6607
6608 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6609
d3416cca
JR
66102000-11-24 Jason Rumney <jasonr@gnu.org>
6611
6612 * w32.c (init_environment): Set LANG environment variable based on
6613 locale settings, if not set.
6614
6615 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6616 making tool bar smaller. When clearing the frame, also
6617 clear current matrices. Clear frame when tool bar disappears.
6618 Don't use more lines for the tool-bar than is available.
6619 (x_change_window_heights): New function.
6620
ba193890
GM
66212000-11-24 Gerd Moellmann <gerd@gnu.org>
6622
2be8f184
GM
6623 * xdisp.c (init_from_display_pos): If POS says we're already after
6624 an overlay string ending at POS, make sure to pop the iterator
6625 because it will be in front of that overlay string. When POS is
6626 ZV, we've thereby also ``processed'' overlay strings at ZV.
6627
ba193890
GM
6628 * xfaces.c (lface_from_face_name): Function comment fix.
6629
1862a24e
MB
66302000-11-24 Miles Bader <miles@gnu.org>
6631
6632 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6633 apply `mode-line-inverse-video' -- zero means force display using
6634 the default face, non-zero means display using the specialized face.
6635 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6636
f07fa1b8
KH
66372000-11-23 Kenichi Handa <handa@etl.go.jp>
6638
6639 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6640 hard coded `4'.
6641
2bcdf662
EZ
66422000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6643
6644 * coding.c (decode_coding_emacs_mule): Fix the case of
6645 CODING_EOL_LF, which used uninitialized value of c.
6646
ba8299ff
SM
66472000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6648
6649 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6650
f4117c4d
GM
66512000-11-22 Gerd Moellmann <gerd@gnu.org>
6652
03e757c1
GM
6653 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6654 buffer object.
6655
f4117c4d
GM
6656 * frame.h (struct frame): Replace desired_tool_bar_items,
6657 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6658 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6659
6660 * frame.c (make_frame): Change initialization of tool bar
6661 items accordingly.
6662
6663 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6664 Change references to members deleted from struct frame to use the
f4117c4d
GM
6665 new ones.
6666
6667 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6668 references to members deleted from struct frame to use the new ones.
f4117c4d 6669
52283633 6670 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6671
6672 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6673
6674 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6675 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6676 from struct frame to use the new ones.
6677
f8e2f3f2
MB
66782000-11-23 Miles Bader <miles@gnu.org>
6679
6680 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6681 the face's inverse-video attribute, rather than overriding it.
6682
60e8e0a5
GM
66832000-11-22 Gerd Moellmann <gerd@gnu.org>
6684
6685 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6686 making tool bar smaller.
6687
92dd1b29
DL
66882000-11-22 Dave Love <fx@gnu.org>
6689
6690 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6691
e672fdce
MB
66922000-11-22 Miles Bader <miles@gnu.org>
6693
3a17d6cc
MB
6694 * keyboard.c (Vminibuffer_message_timeout): New variable.
6695 (command_loop_1): Use it to determine message timeout.
6696 (syms_of_keyboard): Initialize it.
6697
60e8e0a5 6698 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6699
e9655d81
KH
67002000-11-22 Kenichi Handa <handa@etl.go.jp>
6701
6702 * sysdep.c: Move the code for declaring h_errno after #include
6703 <netdb.h>.
6704
77270fac
GM
67052000-11-21 Gerd Moellmann <gerd@gnu.org>
6706
cd913aae
GM
6707 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6708 the menu bar when the tooltip is unmapped.
6709
77270fac
GM
6710 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6711 sole visible buffer when we're currently in the mini-buffer, and
6712 give up if so.
52283633 6713
556635d6
JR
67142000-11-21 Jason Rumney <jasonr@gnu.org>
6715
6716 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6717 put on the clipboard.
6718 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6719 copy of what Emacs last put there. If they are the same, do not
52283633 6720 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6721
5b7bde64
MB
67222000-11-22 Miles Bader <miles@gnu.org>
6723
6724 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6725 (syms_of_minibuf): Initialize it.
6726 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6727 to prompt, don't make read-only.
6728
ff23e1dd
GM
67292000-11-21 Gerd Moellmann <gerd@gnu.org>
6730
52283633
SM
6731 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6732 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6733
7aaf4388
GM
6734 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6735
f5f47add 6736 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6737
ff23e1dd
GM
6738 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6739
37c35586
KH
67402000-11-21 Kenichi Handa <handa@etl.go.jp>
6741
6742 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6743 ... #endif scope.
6744
ff9ab414
GM
67452000-11-20 Gerd Moellmann <gerd@gnu.org>
6746
52283633 6747 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6748 screen supports it.
6749
29a01b72
GM
6750 * s/gnu-linux.h: Don't use `#cpu'.
6751
09dfdf85
GM
6752 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6753 not defined in mman.h.
6754
52283633 6755 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6756 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6757 and store an index in the XClientMessageEvent. Storing a
6758 Lisp_Object or pointer can fail on a 64 bit system, since X only
6759 transfers 32 bits.
52283633
SM
6760 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6761
81459ac9
DL
67622000-11-20 Dave Love <fx@gnu.org>
6763
6764 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6765
56c13ae6
GM
67662000-11-20 Gerd Moellmann <gerd@gnu.org>
6767
6768 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6769
495a6df3
KH
67702000-11-20 Kenichi Handa <handa@etl.go.jp>
6771
2bcf3714
KH
6772 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6773 by WIDTH.
6774
495a6df3
KH
6775 * alloc.c (make_string): Fix previous change. Be sure to make
6776 unibyte string correctly.
6777
6d950f4c
GM
67782000-11-19 Gerd Moellmann <gerd@gnu.org>
6779
39b39373
GM
6780 * window.c (Fwindow_list): Change parameter list to be XEmacs
6781 compatible.
6782 (window_list_1): New function.
6783 (window_loop): Use it instead of Fwindow_list.
6784
b95b34e5
GM
6785 * sysdep.c (emacs_ospeed): New variable.
6786 (toplevel): Don't declare ospeed extern.
6787 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6788
6789 * termcap.c (ospeed): Remove.
6790 (tputs) [!emacs]: Remove unused code.
6791 (tgetent): Avoid a compiler warning.
6792
e83dc917
GM
6793 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6794 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6795 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6796
6797 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6798 removed.
6799 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6800 Take the X display as additional argument.
6801 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6802 `Widget' is a pointer type that's not easily stored in Lisp_Object
6803 form in a portable way.
52283633 6804
6d950f4c
GM
6805 * dispnew.c (update_text_area): Fix last change.
6806
e47306e6
GM
68072000-11-18 Gerd Moellmann <gerd@gnu.org>
6808
fb3cd89b
GM
6809 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6810
6811 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6812 clear current matrices.
6813
edaa9aed
GM
6814 * buffer.c (mmap_enlarge): Don't print a message on stderr
6815 if mapping new memory at the end of the existing region fails.
6816
e47306e6
GM
6817 * dispnew.c (update_text_area): Don't skip over equal glyphs
6818 when the last current glyph overlaps the glyph to its right.
6819
509633e3
MB
68202000-11-18 Miles Bader <miles@gnu.org>
6821
6822 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6823 lines that *end* with "..." too (that's the most common case!).
6824
d392e9c5
GM
68252000-11-18 Gerd Moellmann <gerd@gnu.org>
6826
67988445
GM
6827 * xdisp.c (resize_mini_window): Temporarily change to the
6828 mini-window's buffer if necessary.
1bfdbe43 6829
d392e9c5
GM
6830 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6831 the tooltip obscures less text under it.
6832
68332000-11-17 Gerd Moellmann <gerd@gnu.org>
6834
6835 * puresize.h (BASE_PURESIZE): Increase to 700000.
6836
92bb977f
JR
68372000-11-18 Jason Rumney <jasonr@gnu.org>
6838
6839 * w32term.c (w32_draw_bitmap): Use face to set colors.
6840
26fbf20b
DL
68412000-11-17 Dave Love <fx@gnu.org>
6842
6843 * lread.c (Fload): Fix #ifdef for pcc.
6844
100b593b
GM
68452000-11-17 Gerd Moellmann <gerd@gnu.org>
6846
6847 * xdisp.c (pos_visible_p): Compute the default character height
6848 differently.
6849
a288d0d1
GM
68502000-11-16 Gerd Moellmann <gerd@gnu.org>
6851
cac94de6 6852 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6853 knowing the line's height; use the default font's height in that case.
cac94de6 6854
a288d0d1
GM
6855 * xfaces.c (weight_table): Add `demi' with the same meaning as
6856 `demibold'.
6857
981fb6f6
KH
68582000-11-16 Kenichi Handa <handa@etl.go.jp>
6859
2cca872d 6860 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6861 (clear_glyph_row): Delete local static variable null_row.
6862
e5fa381b
JR
68632000-11-15 Jason Rumney <jasonr@gnu.org>
6864
6865 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6866 (w32_alloc_lighter_color): Use new brightness calculations from
6867 xterm.c. Scale delta to be in the range expected by W32.
6868 (w32_draw_relief_rect): Use frame relief colors.
6869
8e42f043
GM
68702000-11-15 Gerd Moellmann <gerd@gnu.org>
6871
6d133d1f
GM
6872 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6873 (Qinhibit_default_face_x_resources): New variable.
6874 (syms_of_frame): Initialize it.
6875 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6876
6877 * xdisp.c (pos_visible_p): Improve function comment.
6878
6879 * lisp.h (BINDING_STACK_SIZE): New macro.
6880
8e42f043
GM
6881 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6882 reading the directory if readdir returns null and errno is EAGAIN
6883 or EINTR.
6884
e8c87124
SM
68852000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6886
6887 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6888 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6889 Set amount_to_scroll to max of dx and scroll_step so that
6890 scroll-conservatively doesn't defeat scroll-step>1.
6891 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6892 scroll-conservatively for line-at-a-time scrolling.
6893
5f0c971d
GM
68942000-11-14 Gerd Moellmann <gerd@gnu.org>
6895
6896 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6897 extra argument.
6898
6899 * xdisp.c (current_mode_line_height, current_header_line_height):
6900 New variables.
6901 (init_xdisp): Initialize them.
6902 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6903 and use exact mode line heights if it is set.
6904
6905 * lisp.h (pos_visible_p): Change prototype.
6906
6907 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6908 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6909 and current_header_line_height first.
52283633
SM
6910 (current_mode_line_height, current_header_line_height):
6911 Declare extern.
5f0c971d 6912
d7361edf
MB
69132000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6914
6915 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6916 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6917 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6918
ee5e440a
MB
69192000-11-14 Miles Bader <miles@gnu.org>
6920
6921 * xterm.c (x_alloc_lighter_color): Include an additive component
6922 too for dark colors, because FACTOR isn't enough.
6923 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6924 New macros.
6925
5ca020fc
GM
69262000-11-13 Gerd Moellmann <gerd@gnu.org>
6927
6928 * keyboard.c (show_help_echo): Call message3_nolog with number of
6929 bytes in the help string as 2nd parameter, instead of the number
6930 of characters.
6931
9d348294
MB
69322000-11-13 Miles Bader <miles@gnu.org>
6933
6934 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6935 (Fload): Use new openp return protocol.
6936 Don't try to use Vload_source_file_function to load .elc files.
6937 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6938 openp return protocol.
6939 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6940
1729bb9a
KH
69412000-11-11 Kenichi Handa <handa@etl.go.jp>
6942
4e677396
KH
6943 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6944
6945 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6946 Defined these macros.
6947 (NLIST_STRUCT): Avoid re-defining it.
6948
1729bb9a
KH
6949 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6950 -I/usr/contrib/X11R6/include.
6951 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6952
a82fe213
JR
69532000-11-10 Jason Rumney <jasonr@gnu.org>
6954
6955 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6956
6957 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6958 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6959
6960 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6961 (Qw32_charset_vietnamese): New symbol.
6962 (xlfd_charset_of_font): New function.
6963 (w32_load_system_font): Use it.
6964 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6965 when Vw32_charset_info_alist is nil to ensure default face always
6966 has font. Use Fcar and Fcdr for safety.
6967 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6968 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6969 pseudo-codepages for special cases.
6970 (w32_to_x_font): New parameter to allow charset portion to be
6971 specified where there is many to one mapping. Callers changed.
6972 (w32_list_fonts): Avoid listing fonts that won't display.
6973
52d89894
GM
69742000-11-10 Gerd Moellmann <gerd@gnu.org>
6975
6976 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6977 (font_list_1): Renamed from font_list.
6978 (font_list): New function, trying alternative registries from
6979 Vface_alternative_font_registry_alist.
6980 (Finternal_set_alternative_font_registry_alist): New function.
6981 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6982 Vface_alternative_font_registry_alist.
6983 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6984
651cd3da
KR
69852000-11-09 Ken Raeburn <raeburn@gnu.org>
6986
6987 * lisp.h (Flooking_at): Declare.
6988
388ac098
GM
69892000-11-09 Gerd Moellmann <gerd@gnu.org>
6990
778fbc46 6991 * dired.c (directory_files_internal): Fix a braino.
52283633 6992
388ac098
GM
6993 * dired.c (directory_files_internal): Add missing GCPRO's.
6994 Some cleanup.
6995
ecaedde1
GM
69962000-11-08 Gerd Moellmann <gerd@gnu.org>
6997
f7eb32aa
GM
6998 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6999 (resize_mini_window): Return quickly if Vresize_mini_window is
7000 nil. Don't return if Vmax_mini_window_height is nil.
7001
7002 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7003 (syms_of_xdisp): Initialize them.
7004 (resize_mini_window): Act according to the setting of
7005 Vresize_mini_window.
7006 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7007
ecaedde1
GM
7008 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7009 scroll bar widget after configuring it, so that it will appear at
7010 the right position from the start.
7011 (XTredeem_scroll_bar): Cleaned up.
7012
3747ef2c
KH
70132000-11-08 Kenichi Handa <handa@etl.go.jp>
7014
7015 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7016 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7017 division by two.
7018
7019 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7020
03391420
DL
70212000-11-07 Dave Love <fx@gnu.org>
7022
7758f1c1 7023 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7024
7025 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7026
b5de343d
GM
70272000-11-07 Gerd Moellmann <gerd@gnu.org>
7028
acad3c0b
GM
7029 * window.c (Fset_window_configuration): Don't try to preserve
7030 point in the current buffer, if that buffer is displayed in more
7031 than one window.
7032
b5de343d
GM
7033 * xfaces.c (lookup_named_face): If default face isn't realized,
7034 try to realize it. Return -1 if not successful.
7035 (Fx_list_fonts): Handle case that face cannot be determined.
7036 (Fface_font): Likewise.
7037
cdb1fe49
GM
70382000-11-06 Gerd Moellmann <gerd@gnu.org>
7039
7040 * window.c (displayed_window_lines): Detect partially
7041 visible lines at the bottom correctly.
7042
d3a67486
SM
70432000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7044
7045 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7046 when ensuring we don't do visit in indirect buffer.
7047
ff8dd5d5
KH
70482000-11-06 Kenichi Handa <handa@etl.go.jp>
7049
7050 * composite.h (compose_chars_in_text): Add prototype.
7051
7052 * composite.c (Vcomposition_function_table): New variable.
7053 (Qcomposition_function_table): New variable.
7054 (run_composition_function): Call
7055 Vcompose_chars_after_function with three arguments.
7056 (compose_chars_in_text): New function.
7057 (syms_of_composite): Modified the doc-string of
7058 Vcompose_chars_after_function. Declare composition-function-table
7059 as a lisp variable, and initialize it.
7060
7061 * xfns.c (x_encode_text): Suppress producing escape sequences for
7062 composition.
7063
7064 * xselect.c: Include composite.h.
7065 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7066
d1145f85
AI
70672000-11-05 Andrew Innes <andrewi@gnu.org>
7068
7069 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7070
7071 * sysdep.c (read_input_waiting): Remove extraneous argument to
7072 read_socket_hook.
7073
7074 * w32fns.c (Fx_server_version): Include w32_build_number in the
7075 return list.
7076
7077 * w32heap.c (w32_build_number): New variable.
7078 (cache_system_info): Set it.
7079
7080 * w32heap.h (w32_build_number): Add extern.
7081
7082 * emacs.c (syms_of_emacs): Update docstring for
7083 system-configuration, to reflect the actual usage on MS-Windows.
7084
e85ee976
GM
70852000-10-31 Gerd Moellmann <gerd@gnu.org>
7086
26dcb81b
GM
7087 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7088 process idle timers while waiting for another event.
7089
52283633 7090 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7091 the default face are colored.
7092
e85ee976
GM
7093 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7094 window height hasn't changed.
7095
01b220b6
JR
70962000-10-31 Jason Rumney <jasonr@gnu.org>
7097
7098 * w32term.c (x_produce_glyphs): Handle composite characters.
7099 (x_draw_glyph_string_foreground)
7100 (x_draw_composite_glyph_string_foreground): Restore old font.
7101
4e6b7204
MB
71022000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7103
7104 * minibuf.c (read_minibuf): Reset the undo history just before
7105 starting the recursive-edit.
7106
d4358b37
GM
71072000-10-30 Gerd Moellmann <gerd@gnu.org>
7108
563f68f1
GM
7109 * xfaces.c (menu_face_change_count): New variable.
7110 (Finternal_set_lisp_face_attribute): Increment it for changes
7111 of the `menu' face.
7112 (realize_basic_faces): Reflect changes in the `menu' faces
7113 in menu bars.
7114
82e274d1
GM
7115 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7116 dy obtained from the iterator's y-position after moving from
7117 scroll_margin_pos to PT; see comment there.
52283633 7118
0dbf9fd2
GM
7119 * xdisp.c (safe_eval_handler): Call add_to_log.
7120
906b3b14
GM
7121 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7122 is not a symbol or string.
7123
d4358b37
GM
7124 * xdisp.c (echo_area_display): Don't perform a display update from
7125 inside redisplay. The update will happen anyway at the end of
7126 redisplay, and it can confuse redisplay (GC messages while
7127 redisplaying, for instance.)
7128
70c825df
SM
71292000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7130
cf9b4b0b
SM
7131 * xrdb.c (x_load_resources): Use the class name in the defaults.
7132
70c825df
SM
7133 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7134 (regex_compile): Catch bogus \(\1\).
7135
a1d34b1e
GM
71362000-10-30 Gerd Moellmann <gerd@gnu.org>
7137
cae71efe
GM
7138 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7139 RGB values.
52283633 7140
35efe0a1
GM
7141 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7142 we have a color cache, check that the cached color equals the
7143 allocated color. If not, clear the color cache.
7144
1d3baf74
GM
7145 * window.c (displayed_window_lines): Change buffers if necessary.
7146 Fix computation of displayed lines.
7147
a1d34b1e
GM
7148 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7149 update_menu_bindings to DEFVAR_BOOL.
7150
70737ea9
KH
71512000-10-30 Kenichi Handa <handa@etl.go.jp>
7152
70c825df 7153 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7154
fa0cb51d
KH
7155 * puresize.h (BASE_PURESIZE): Increase to 680000.
7156
70737ea9
KH
7157 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7158
0e4c08e8
JR
71592000-10-29 Jason Rumney <jasonr@gnu.org>
7160
7161 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7162
7163 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7164 (w32_cache_char_metrics): Handle possibility that 'x' does not
7165 exist in a BDF font.
7166 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7167
7168 * w32bdf.h (bdffont): Add nchars.
7169
7170 * w32bdf.c (set_bdf_font_info): Set it.
7171 (w32_BDF_TextOut): Swap byte order of double byte characters.
7172 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7173
45b84006
EZ
71742000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7175
7176 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7177 don't override the colors in frame's param_alist, unless they are
7178 unspecified.
7179
7180 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7181 reverse the effect of the highlight flag.
7182
caf9deee
KR
71832000-10-27 Ken Raeburn <raeburn@gnu.org>
7184
7185 * window.h (Fwindow_live_p): Declare.
7186
ae0b9b46
KR
7187 * undo.c (record_delete): Check that last_undo_buffer is really a
7188 buffer before applying XBUFFER to it.
7189
7190 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7191 Faref.
7192
02067692
SM
71932000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7194
7195 * lisp.h (KEYMAPP): New macro.
7196 (get_keymap): Remove.
7197 (get_keymap_1): Rename get_keymap.
7198
7199 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7200
7201 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7202
7203 * xmenu.c (single_submenu): Use KEYMAPP.
7204 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7205 Use KEYMAPP rather than Fkeymapp.
7206
7207 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7208
7209 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7210 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7211 Use KEYMAPP rather than Fkeymapp.
7212 (single_submenu): Use KEYMAPP.
7213 (w32_menu_show, w32_dialog_show): Use TRUE.
7214
7215 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7216
7217 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7218 (Fkeymapp): Use KEYMAPP.
7219 (get_keymap): Rename from get_keymap_1. Remove old def.
7220 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7221 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7222 (Fminor_mode_key_binding): Don't raise an error if the binding
7223 is not a keymap.
7224 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7225 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7226
7227 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7228 Allow Vspecial_event_map to be autoloaded.
7229 (menu_bar_items): Fetch the keymap rather than using keymapp.
7230 (menu_bar_one_keymap): No need to follow func-indirect any more.
7231 (parse_menu_item): get_keymap_1 -> get_keymap.
7232 (tool_bar_items): Fetch the keymap rather than using keymapp.
7233 (read_key_sequence): Use KEYMAPP.
7234
7235 * intervals.c (get_local_map): Use get_keymap rather than following
7236 function-indirections explicitly.
7237
7238 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7239
f9d80af3
JR
72402000-10-27 Jason Rumney <jasonr@gnu.org>
7241
7242 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7243 point, as Windows has oversized fonts.
7244
7245 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7246
a3ba27da
GM
72472000-10-27 Gerd Moellmann <gerd@gnu.org>
7248
7249 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7250 (freehook, reallochook): Handle null pointer arguments.
7251 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7252
aa3b80cc
SM
72532000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7254
7255 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7256 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7257 Giving in to popular pressure to shut up the compiler with casts.
7258
e24e84cc
GM
72592000-10-27 Gerd Moellmann <gerd@gnu.org>
7260
7261 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7262 signed value, and use a default value computed from the font's
7263 maximum descent.
7264
05ea7ef2
MB
72652000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7266
7267 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7268 that specify a negative underline position can still use underlines.
7269
7270 * window.c (Fpos_visible_in_window_p): Make POS default to
7271 WINDOW's point, not the current buffer's point.
7272
0b95284b
DL
72732000-10-26 Dave Love <fx@gnu.org>
7274
7275 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7276 when it's necessary.
7277
6c5b90af
GM
72782000-10-26 Gerd Moellmann <gerd@gnu.org>
7279
8b6d9dc9
GM
7280 * window.c (size_window): Compute size difference from sum of old
7281 child window sizes instead of from parent's size.
7282
6bc92b2e
GM
7283 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7284 Handle obscured lines at the top of the window.
7285
7286 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7287 down after the last error condition check.
7288
6c5b90af
GM
7289 * frame.c (Fdelete_frame): Run delete-frame-hook.
7290
42f92d4d
KH
72912000-10-26 Kenichi Handa <handa@etl.go.jp>
7292
7293 * coding.c (decode_coding): Fix previous change (check also
7294 CODING_MODE_LAST_BLOCK).
7295
d97151cb
SM
72962000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7297
e7efc503
SM
7298 * regex.c: More `unsigned char' -> `re_char' changes.
7299 Also change several `int' into `re_wchar_t'.
7300 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7301 (PUSH_FAILURE_POINTER): Don't cast any more.
7302 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7303 We want GCC to complain, since this piece of code makes
7304 re_match non-reentrant, which *should* be fixed.
7305 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7306 (EXTEND_BUFFER): Use RETALLOC.
7307 (SET_LIST_BIT): Don't cast.
7308 (re_wchar_t): New type.
7309 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7310 that those two functions will always properly return.
7311 (IMMEDIATE_QUIT_CHECK): Cast to void.
7312 (analyse_first): Use recursion rather than an explicit stack.
7313 (re_compile_fastmap): Can't fail anymore.
7314 (re_search_2): Don't check re_compile_fastmap for failure.
7315 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7316 Now also sets the new value (passed in a new argument).
7317 (re_match_2_internal): Use it.
7318 Also, use a new var `reg' of type size_t when looping through regs
7319 rather than reuse the inappropriate `mcnt'.
7320
d97151cb
SM
7321 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7322 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7323 (where_is_internal): Renamed from Fwhere_is_internal.
7324 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7325 (Fwhere_is_internal): New function wrapping where_is_internal.
7326 (where_is_internal_1): Handle the case where we're filling the cache.
7327 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7328
d5789b65
MB
73292000-10-25 Miles Bader <miles@gnu.org>
7330
7331 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7332
4ecda532
GM
73332000-10-25 Gerd Moellmann <gerd@gnu.org>
7334
7335 * window.c (pos_fully_visible_p): Removed.
7336 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7337 if position is visible and/or fully visible.
7338
7339 * lisp.h (pos_visible_p): Add prototype.
7340
7341 * xdisp.c (pos_visible_p): New function.
7342
68c3a137
KH
73432000-10-25 Kenichi Handa <handa@etl.go.jp>
7344
7345 * process.c (send_process): If OBJECT is t, it means that the data
7346 is from C string, but we should encode it. Before calling
7347 setup_raw_text_coding_system, be sure to flush out data by the
7348 previous coding system.
7349
7ae1c032
MB
73502000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7351
ff4dcd4b
MB
7352 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7353 assignment of startpos to prev when startpos == pos.
7354
7ae1c032
MB
7355 * editfns.c (find_field): Set the field stickiness correctly from
7356 overlay fields. Use renamed `text_property_stickiness'.
7357 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7358 Only check text properties, not overlays.
7ae1c032
MB
7359 * textprop.c (get_char_property_and_overlay): New function.
7360 (Fget_char_property): Use it.
7361 * intervals.h (get_char_property_and_overlay): Add declaration.
7362
49801145
SM
73632000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7364
7365 * keymap.c: Use AREF, ASET and ASIZE macros.
7366 (Fmake_sparse_keymap): Docstring fix.
7367 (synkey): Remove.
7368 (shadow_lookup): Move up.
7369 Handle the case where lookup-key returns an integer.
7370 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7371 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7372 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7373 Simplify/rewrite the keymap-finding code.
7374 Add check for command shadowing, using shadow_lookup.
7375
39e776cd
SM
73762000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7377
7378 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7379 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7380 a symbol.
7381
2488aba5
AI
73822000-10-24 Andrew Innes <andrewi@gnu.org>
7383
7384 * dired.c (directory_files_internal_unwind): New function.
7385 (directory_files_internal): Use it to ensure closedir is called
7386 even if expand-file-name or file-attributes throw, eg. because of
7387 a user interrupt. Also enable immediate_quit while calling
7388 re_search, so that matching can be interrupted as well.
7389
b94fdf61
AI
73902000-10-24 Andrew Innes <andrewi@gnu.org>
7391
7392 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7393 NT-Emacs only.
7394 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7395 so that re_search functions only quit when callers expect them to.
7396
73972000-10-24 Kenichi Handa <handa@etl.go.jp>
7398
7399 * regex.c (regex_compile): Change the way of handling a range from
7400 a char less than 256 to a char not less than 256.
7401
1946f901
GM
74022000-10-24 Gerd Moellmann <gerd@gnu.org>
7403
7ae2f10f
GM
7404 * window.c (size_window): Prevent setting window's width or
7405 height to a negative value (esp. with XSETFASTINT).
7406
5dcab13e
GM
7407 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7408 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7409 (protect_malloc_state) [GC_MALLOC_CHECK &&
7410 GC_PROTECT_MALLOC_STATE]: New function.
7411 (PROTECT_MALLOC_STATE): New macro.
7412 (__malloc_initialize, morecore, _malloc_internal)
7413 (_free_internal) _realloc_internal): Use it to make _heapinfo
7414 read-only outside of gmalloc.
7415
63e1b552
GM
7416 * keymap.c: Update copyright.
7417
1946f901
GM
7418 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7419 a symbol.
7420
4fa09beb
GM
74212000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7422
7423 * filelock.c (unlock_all_files): Use unlock_file to expand each
7424 buffer's file_truename before trying remove its lock file.
7425
23afac01
EZ
74262000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7427
7428 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7429 or CRLF, decode EOLs.
7430
04448b95
KH
74312000-10-24 Kenichi Handa <handa@etl.go.jp>
7432
7433 * window.c (Fdisplay_buffer): Fix doc.
7434
3090a5a5
JR
74352000-10-23 Jason Rumney <jasonr@gnu.org>
7436
7437 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7438 ASCII font of default fontset on Windows.
7439
7440 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7441 xterm.c comment below).
7442
7443 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7444
a83fee2c
GM
74452000-10-23 Gerd Moellmann <gerd@gnu.org>
7446
7447 * xterm.c (x_connection_closed): Reset handling_signal.
7448
52283633 7449 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7450
6ffdb539
MB
74512000-10-23 Miles Bader <miles@gnu.org>
7452
7453 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7454 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7455 maintain old behavior.
7456 * minibuf.c (Fminibuffer_complete): Likewise.
7457
7f1c969b
MB
74582000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7459
7460 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7461 that when a font can't be exactly centered, it errs up rather than
7462 down.
7463
23afac01 74642000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7465
52283633 7466 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7467
1a578e9b
AC
74682000-10-23 Andrew Choi <akochoi@i-cable.com>
7469
7470 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7471
7472 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7473 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7474
7475 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7476 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7477 syms_of_search, x_term_init, and init_keyboard before calling
7478 init_window_once. Also, call syms_of_xmenu.
7479
7480 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7481 default fontset to Monaco.
7482
7483 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7484 NewMacWindow and DisposeMacWindow.
7485 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7486 instead of calling NewMacWindow and setting fields of
7487 f->output_data.mac directly. Call init_frame_faces.
7488 (Fdelete_frame) [macintosh]: Remove unused code.
7489 (Fmodify_frame_parameters) [macintosh]: Call
7490 x_set_frame_parameters instead of mac_set_frame_parameters.
7491
7492 * frame.h [macintosh]: Define menu_bar_lines field in struct
7493 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7494
7495 * keyboard.c [macintosh]: Include macterm.h.
7496 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7497 and menu_bar_activate_event type events as for X and NT.
7498 (make_lispy_event) [macintosh]: Construct lisp events of type
7499 MENU_BAR_EVENT as for X and NT.
7500
7501 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7502 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7503 (sys_subshell) [macintosh]: Remove definition entirely.
7504 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7505 Vwindow_system_version here. Remove initialization of
7506 Vx_bitmap_file_path.
7507 (read_input_waiting): Correct the number of parameters passed to
7508 read_socket_hook.
7509 Move all Macintosh functions to mac/mac.c.
7510
7511 * term.c [macintosh]: Include macterm.h.
7512
7513 * window.c [macintosh]: Include macterm.h.
7514
7515 * xdisp.c [macintosh]: Include macterm.h. Declare
7516 set_frame_menubar and pending_menu_activation.
7517 (echo_area_display) [macintosh]: Do not return if terminal frame
7518 is the selected frame.
7519 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7520 Allow only the selected frame to set menu bar.
7521 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7522 calling FRAME_EXTERNAL_MENU_BAR (f).
7523 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7524
7525 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7526 and check_x. Declare XCreateGC. Define x_create_gc and
7527 x_free_gc. Initialize font_sort_order.
7528 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7529 but call x_list_fonts instead of w32_list_fonts.
7530 (Finternal_face_x_get_resource) [macintosh]: Do not call
7531 display_x_get_resource.
7532 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7533 (realize_x_face) [macintosh]: Load the font if it is specified in
7534 ATTRS.
52283633 7535 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7536
1ffbabe3
SM
75372000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7538
7539 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7540 is nil: since we go to the end of submap anyway, we'd end up
7541 setting nil to nil.
7542 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7543 doesn't obey autoload.
7544
bed43f1d
EZ
75452000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7546
1ffbabe3 7547 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7548
ea4233a7
JR
75492000-10-21 Jason Rumney <jasonr@gnu.org>
7550
7551 * w32term.c (w32_cache_char_metrics): Double check that font is
7552 really fixed pitch before trusting tmPitchAndFamily.
7553
f3d3c491
AI
75542000-10-21 Andrew Innes <andrewi@gnu.org>
7555
7556 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7557
7558 * w32term.h: Extern decl for w32_cache_char_metrics.
7559
7560 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7561
7562 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7563 (w32_unload_font): Free per_char array if present.
7564
7565 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7566 cached information in emulated XFontStruct to handle common cases
7567 quickly. Do not allocate XCharStruct for return.
7568 (w32_native_per_char_metric): New function.
7569 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7570 allocating one.
7571 (x_produce_glyphs): Don't get an HDC. Change calls to
7572 w32_per_char_metric to match arg change above. Remove calls to
7573 free results.
7574 (w32_get_glyph_overhangs): Ditto.
7575 (w32_cache_char_metrics): New function.
7576
7577 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7578 ($(BLD)/casefiddle.$(O)): Remove compile command.
7579 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7580 ($(BLD)/dispnew.obj):
7581 ($(BLD)/keyboard.obj):
7582 ($(BLD)/w32inevt.obj):
7583 ($(BLD)/w32bdf.obj):
7584 ($(BLD)/alloc.obj):
7585 ($(BLD)/buffer.obj):
7586 ($(BLD)/editfns.obj):
7587 ($(BLD)/emacs.obj):
7588 ($(BLD)/fileio.obj):
7589 ($(BLD)/fns.obj):
7590 ($(BLD)/indent.obj):
7591 ($(BLD)/insdel.obj):
7592 ($(BLD)/intervals.obj):
7593 ($(BLD)/minibuf.obj):
7594 ($(BLD)/print.obj):
7595 ($(BLD)/scroll.obj):
7596 ($(BLD)/sysdep.obj):
7597 ($(BLD)/textprop.obj):
7598 ($(BLD)/widget.obj):
f3d3c491
AI
7599 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7600 ($(BLD)/term.obj): Add dependency on dispextern.h.
7601
52283633
SM
7602 * makefile.nt ($(BLD)\dispnew.obj):
7603 ($(BLD)\keyboard.obj):
7604 ($(BLD)\w32inevt.obj):
7605 ($(BLD)\w32bdf.obj):
7606 ($(BLD)\alloc.obj):
7607 ($(BLD)\buffer.obj):
7608 ($(BLD)\editfns.obj):
7609 ($(BLD)\emacs.obj):
7610 ($(BLD)\fileio.obj):
7611 ($(BLD)\fns.obj):
7612 ($(BLD)\indent.obj):
7613 ($(BLD)\insdel.obj):
7614 ($(BLD)\intervals.obj):
7615 ($(BLD)\minibuf.obj):
7616 ($(BLD)\print.obj):
7617 ($(BLD)\scroll.obj):
7618 ($(BLD)\sysdep.obj):
7619 ($(BLD)\textprop.obj):
7620 ($(BLD)\widget.obj):
f3d3c491
AI
7621 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7622 ($(BLD)\term.obj): Add dependency on dispextern.h
7623
18ad4821
EZ
76242000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7625
7626 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7627 with an additional argument of Qt.
7628
de54681a
MB
76292000-10-21 Miles Bader <miles@gnu.org>
7630
7631 * window.c (pos_fully_visible_in_window_p): New function.
7632 (Fpos_visible_in_window_p): Add FULLY argument.
7633 Use pos_fully_visible_in_window_p.
7634 (window_scroll_pixel_based, window_scroll_line_based): Update
7635 calls to Fpos_visible_in_window_p.
7636 * lisp.h (Fpos_visible_in_window_p): Update prototype
7637
13c844fb
GM
76382000-10-20 Gerd Moellmann <gerd@gnu.org>
7639
7640 * alloc.c (toplevel): Conditionalize compilation of mem_*
7641 functions differently.
52283633 7642
d9506268
JR
76432000-10-20 Jason Rumney <jasonr@gnu.org>
7644
7645 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7646 mem_init where it used to be. mem_z etc not defined otherwise.
7647
8094989b
GM
76482000-10-20 Gerd Moellmann <gerd@gnu.org>
7649
7650 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7651 GC_MALLOC_CHECK.
7652 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7653 structure definition and related variabled to the top of the file.
7654 Include this code when GC_MALLOC_CHECK is defined.
7655 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7656 register/unregister allocated region.
7657 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7658 which isn't allocated.
7659 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7660 something which is already in use.
7661 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7662 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7663 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7664 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7665
7666 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7667 _malloc_internal instead of malloc.
7668 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7669 of free.
7670
ea456eb4
AI
76712000-10-20 Andrew Innes <andrewi@gnu.org>
7672
7673 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7674 Windows.
7675 (my_strftime) <macro>: Don't use macro arg list when redefining as
7676 _strftime_copytm.
7677 (my_strftime) <function>: Supply 0 as ut argument.
7678
e64c3a75
JR
76792000-10-19 Jason Rumney <jasonr@altavista.net>
7680
7681 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7682 including dispextern.h, as it stops faces from working.
7683
7684 * w32fns.c (Fx_create_frame): Don't bother calling
7685 face-set-after-frame-default since the caller does it for us
7686 anyway. Clean up calls to x_get_arg to be consistent with X.
7687
7688 * w32term.c (x_produce_glyphs): Handle
7689 unibyte_display_via_language_environment correctly.
7690 (w32_draw_box_rect): Fix the calculation of width and height.
7691
7692 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7693 as it has stopped working.
7694 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7695 menu-bar.
7696
17401c97
GM
76972000-10-19 Gerd Moellmann <gerd@gnu.org>
7698
7699 * eval.c (skip_debugger): Prevent a compiler warning.
7700 (Fcondition_case): Likewise.
7701 (Fbacktrace_frame): Use a null interactive spec.
7702
773272d8
KH
77032000-10-19 Kenichi Handa <handa@etl.go.jp>
7704
7705 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7706
a42943e9
GM
77072000-10-18 Gerd Moellmann <gerd@gnu.org>
7708
e50517d9
GM
7709 * strftime.c: Sync with glibc, file version 1.78.
7710 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7711 should no longer be used according to ISO 8601.
7712
9035a35a
GM
7713 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7714 no map for meta_prefix_char, don't try to use it as a keymap.
7715 Instead, if T_OK is non-zero, look up a default binding, if any,
7716 otherwise, if T_OK is zero, return nil.
7717
a42943e9
GM
7718 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7719 (x_to_xcolors, png_load): Use x_query_color.
7720
52283633
SM
7721 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7722 New functions.
a42943e9
GM
7723 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7724 which can be slow.
7725 (x_copy_color, x_alloc_lighter_color): Likewise.
7726
7727 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7728 (x_query_color, x_query_colors): Add prototype.
7729
7730 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7731 check_string_bytes only if not noninteractive, increase count to 50.
7732
00de2987
MB
77332000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7734
7735 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7736 markers correctly.
7737
54918e2b
GM
77382000-10-17 Gerd Moellmann <gerd@gnu.org>
7739
1f0b3fd2
GM
7740 * alloc.c (pure_bytes_used): Renamed from pureptr.
7741 (ALIGN): New macro.
7742 (pure_alloc): New function.
7743 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7744 Use it.
7745 (Fpurecopy): Use PURE_POINTER_P.
7746
68c5d1db
GM
7747 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7748 PT has moved backward.
52283633 7749
9a038881
GM
7750 * xdisp.c (cursor_row_p): Take continued lines into account.
7751
361b097f
GM
7752 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7753 string's size_byte.
7754 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7755 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7756 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7757 string allocated.
7758
54918e2b
GM
7759 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7760 of selective display off while searching for the next line start.
7761
03ed0806
KH
77622000-10-17 Kenichi Handa <handa@etl.go.jp>
7763
7764 * Makefile.in (term.o): Depend on dispextern.h.
7765
7e05cdaf
SM
77662000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7767
7768 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7769
a6801fd1
GM
77702000-10-16 Gerd Moellmann <gerd@gnu.org>
7771
483de32b
GM
7772 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7773 the iterator at the beginning, so that they can be set later on,
7774 for instance in reseat_at_next_visible_line_start, without being
7775 overwritten.
7776
a6801fd1
GM
7777 * xfns.c (pbm_format): Add :foreground and :background keywords.
7778 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7779 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7780
dbf1fcc1
EZ
77812000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7782
7783 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7784
52283633 7785 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7786
7787 * msdos.c (IT_set_face): Compare highlighted face with the default
7788 face, and invert colors if these faces' colors are identical.
7789 (Fmsdos_remember_default_colors): Don't swap foreground and
7790 background colors in initial_colors[].
7791 (IT_set_frame_parameters): Don't swap frame's foreground and
7792 background pixels. If ALIST includes "(reverse . t)", swap
7793 foreground-color and background-color properties in frame's
7794 param_alist. If the original frame's param_alist doesn't specify
7795 the colors, store unspecified-fg and unspecified-bg, reversed if
7796 required.
7797
7798 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7799 the colors are unspecified and reversed, reverse fore- and back-
7800 ground in the returned value.
7801 (Fframe_parameter): Ditto.
7802
b41fe2c3 78032000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7804
3a6b59d9
GM
7805 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7806 get_last_unchanged_at_beg_row.
7807 (find_first_unchanged_at_end_row): Renamed from
7808 get_first_unchanged_at_end_row.
7809 (find_first_unchanged_at_end_row): Convert assertions to
7810 unconditional tests which abort. When looking for a row in
7811 unchanged text, don't go further back than first_text_row.
7812
b41fe2c3
GM
7813 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7814 Don't add in the last line's height when deciding if the new
7815 position is below the scroll margin.
9d1af64f 7816
b41fe2c3 78172000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7818
7819 * editfns.c (Fconstrain_to_field): Check carefully for field
7820 boundaries if either OLD_POS or NEW_POS has a non-nil field
7821 property, even if they're the same.
7822
c412cb7b
KH
78232000-10-16 Kenichi Handa <handa@etl.go.jp>
7824
7825 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7826 height for XFillRectangle.
7827
5586f3eb
SM
78282000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7829
7830 * syntax.c (Fstring_to_syntax): New function extracted from
7831 Fmodify_syntax_entry.
7832 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7833 (skip_chars, Fforward_comment): Remove unused variables.
7834 (syms_of_syntax): Add defsubr for string-to-syntax.
7835 (describe_syntax): Add code for comment and string fences.
7836
db785038
SM
78372000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7838
7839 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7840 Do the meta->esc mapping. Call get_keyelt before returning.
7841 Start scanning from the second element (the first is always `keymap')
7842 to make it easier to detect when we reach a parent map.
7843 Handle the case of inheriting from a symbol whose function is a map.
7844 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7845 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7846 (get_keyelt, Flookup_key): Update call to access_keymap.
7847 Remove the meta->esc mappings.
7848 (define_as_prefix): Delete old disabled code.
7849 (menu_item_p): New function.
7850 (where_is_internal_1): Skip over the few remaining menu items.
7851 * lisp.h (access_keymap): Update prototype.
7852 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7853 Update call to access_keymap.
7854 (follow_key, read_key_sequence): Update calls to access_keymap.
7855 Remove the meta->esc mappings.
7856
cafafe0b
GM
78572000-10-13 Gerd Moellmann <gerd@gnu.org>
7858
a2e2a7f6
GM
7859 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7860 with additional argument.
7861
cafafe0b
GM
7862 * xdisp.c (cursor_row_p): New function.
7863 (try_cursor_movement, display_line): Use it.
52283633 7864
cafafe0b
GM
7865 * xdisp.c (append_space): Also save/restore iterator's current
7866 character and its length.
7867
7868 * xdisp.c (init_from_display_pos): Add an assertion.
7869 (handle_stop): Don't set iterator's add_overlay_start.
7870 (handle_invisible_prop): Likewise.
7871 (load_overlay_strings): If text under an overlay is invisible,
7872 take both before- and after-strings into account when the iterator
7873 is positioned either at the start or at the end of the overlay.
7874 (forward_to_next_line_start): Rewritten.
7875 (reseat_at_next_visible_line_start): Rewritten.
7876 (set_iterator_to_next): Add parameter RESEAT_P.
7877
7878 * dispextern.h (struct it): Remove member add_overlay_start.
7879 (set_iterator_to_next): Change prototype.
7880
c744452b
KH
78812000-10-13 Kenichi Handa <handa@etl.go.jp>
7882
7883 * coding.c (code_convert_region): Be sure to initialize
7884 coding->category_idx.
e4a3f4e1
KH
7885 (decode_coding_string): Set coding->src_multibyte and
7886 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7887 (encode_coding_string): Set coding->src_multibyte and
7888 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7889
321fd26f
SM
78902000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7891
7892 * xfns.c (Fx_create_frame): Don't bother calling
7893 face-set-after-frame-default since the caller does it for us anyway.
7894
76832439
EZ
78952000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7896
7897 * window.c (coordinates_in_window): Fix detection of vertical line
7898 on character terminals.
7899
2483cf58
GM
79002000-10-12 Gerd Moellmann <gerd@gnu.org>
7901
7902 * editfns.c (save_excursion_save): Additionally record the
7903 selected window.
7904 (save_excursion_restore): If buffer was visible in a window, and a
7905 different window was selected, and the old selected window is
7906 still live, restore point in that window.
7907
eb991b25
KH
79082000-10-12 Kenichi Handa <handa@etl.go.jp>
7909
8a0eba09
KH
7910 * xterm.c (x_produce_glyphs): Handle
7911 unibyte_display_via_language_environment correctly.
7912
20401fcc
KH
7913 * regex.c (regex_compile): Change the way of handling a range from
7914 unibyte char to multibyte char.
7915
7916 * syntax.c (skip_chars): Change the way of handling a range from
7917 unibyte char to multibyte char.
7918
eb991b25
KH
7919 * process.c (read_process_output): Cancel previous change.
7920
365dd325
EZ
79212000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7922
c1b096cb
EZ
7923 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7924
365dd325
EZ
7925 * charset.c (Ffind_charset_string): Doc fix.
7926 (Ffind_charset_region): Doc fix.
7927
eb483c2b
KH
79282000-10-11 Kenichi Handa <handa@mule.m17n.org>
7929
7930 * process.c (read_process_output): Fix previous change. Adjust
7931 multibyteness of text to insert in a buffer by
52283633 7932 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7933
b40bfb99
AS
79342000-10-10 Andreas Schwab <schwab@suse.de>
7935
7936 * alloc.c (mark_object): Remove all workarounds installed on
7937 1993-08-08.
7938
caff31d4
KH
79392000-10-10 Kenichi Handa <handa@etl.go.jp>
7940
52283633 7941 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7942 (base64_encode_1): Make it work for a text of multibyte form.
7943 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7944 case. Don't call str_to_multibyte because base64_decode_1
7945 produces correct multibyte form for eight-bit codes.
52283633 7946 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7947 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7948 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7949 codes.
7950
7951 * charset.h (CHAR_STRING): Optimized for single byte characters.
7952
cba026ef
AS
79532000-10-09 Andreas Schwab <schwab@suse.de>
7954
7955 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7956 -1 after socket is closed, to fall through to error processing.
7957
1e21fe48
EZ
79582000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7959
7960 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7961 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7962 background-color, change also the colors of the default face for
7963 this frame.
7964
a640322e
EZ
79652000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7966
7967 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7968 them extern (they are defined on xfaces.c).
7969 (syms_of_msdos): Don't intern and don't staticpro
7970 Qbackground_color and Qforeground_color.
7971
a115794c
EZ
79722000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7973
7974 * frame.c (Fframe_parameter): For non-windowed frames, if
7975 f->param_alist says foreground or background color is unspecified,
7976 call tty_color_name to return the color name computed from the
7977 frame's current colors.
7978
f5533b63
DL
79792000-10-06 Dave Love <fx@gnu.org>
7980
7981 * terminfo.c (ospeed): Don't declare.
7982
7983 * sysdep.c: Don't include string.h.
7984 (h_errno): Declare conditional also on TRY_AGAIN.
7985
7986 * charset.c (Ffind_charset_string): Doc fix.
7987
52283633 7988 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7989 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7990 error messages.
7991
2b06561a
DL
79922000-10-05 Dave Love <fx@gnu.org>
7993
7994 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7995 position like menu-bar.
7996
ca839c85
GM
79972000-10-05 Gerd Moellmann <gerd@gnu.org>
7998
7999 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8000
8001 * xdisp.c (handle_single_display_prop): Use safe_call1.
8002 (safe_call): Renamed from call_function.
8003 (safe_call1): New function.
8004 (handle_fontified_prop): Use safe_call1 instead of call1.
8005 (safe_eval): Renamed from eval_form.
8006 (safe_eval_handler): Renamed from eval_handler.
8007 (handle_single_display_prop, display_mode_element): Use safe_eval
8008 instead of eval_form.
8009
8010 * xfaces.c (merge_face_heights): Use safe_call instead of
8011 call_function.
8012
8013 * keyboard.c (show_help_echo): Use safe_call instead of
8014 call_function; use safe_eval instead of eval_form.
8015
8016 * lisp.h (safe_call): Renamed from call_function.
8017 (safe_eval): Renamed from eval_form.
8018 (safe_call1): Add prototype.
8019
a3489ece
MB
80202000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8021
8022 * xfns.c (image_ascent): Rearrange ascent calculation for the
8023 has-a-font case.
8024
35810b6f
SM
80252000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8026
8027 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8028 (where_is_internal_1): Don't bother ignoring menu-items any more.
8029
3dc78168
GM
80302000-10-04 Gerd Moellmann <gerd@gnu.org>
8031
8032 * keyboard.c (update_menu_bindings): New variable.
8033 (parse_menu_item): Use AREF. If update_menu_bindings
8034 is 0, don't update menu bindings.
8035 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8036
1efc2bb9
EZ
80372000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8038
8039 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8040 to `mark_object'.
8041
3f679f55
SM
80422000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8043
8044 * syntax.c (forw_comment): Match nestedness of ender/starter.
8045 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8046 (prev_char_comstart_first): Remove.
8047 (back_comment): Check two-char comment markers more carefully
8048 to better handle overlapping cases like *//* or /* */* */ ...
8049 Match nestedness of ender/starter.
8050
2021ab61
DL
80512000-10-02 Dave Love <fx@gnu.org>
8052
8053 * config.in (HAVE_GAI_STRERROR): Add undef.
8054
8055 * process.c (Fopen_network_stream): Use it.
8056
8057 * m/alpha.h (NO_REMAP): Don't define.
8058
64e6cc18
GM
80592000-10-02 Gerd Moellmann <gerd@gnu.org>
8060
8061 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8062 return with a string converted to an integer or vice versa when
8063 Vmocklisp_arguments is t.
8064 (Fsignal): Likewise. The function can return for `quit'.
8065 (struct gcpro): Declare member `var' to point to a volatile
8066 Lisp_Object.
8067
8068 * eval.c (error): Prevent compiler warning.
8069
b1904cd9
SM
80702000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8071
8072 * keymap.c (keymap_memberp): New function.
8073 (Fset_keymap_parent): Use it.
8074 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8075 Use keymap_memberp to avoid creating cycles.
8076 (access_keymap): Use KEYMAPP.
8077
71c9ec51
GM
80782000-09-30 Gerd Moellmann <gerd@gnu.org>
8079
8080 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8081 gai_strerror. Make sure xerrno is set if connect fails. Improve
8082 error recovery.
71c9ec51 8083
c70c6b58
JR
80842000-09-29 Jason Rumney <jasonr@gnu.org>
8085
8086 * w32term.c (w32_char_font_type, w32_encode_char)
8087 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8088 (w32_bdf_per_char_metric): New function.
8089 (w32_per_char_metric): Use it.
8090 (x_draw_glyph_string_background): Always draw background for BDF
8091 glyphs.
8092
8093 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8094 GDI object which is a scarce resource.
8095
8096 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8097 (get_quoted_string): Fix limit on memchr search.
8098 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8099 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8100 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8101 (get_cached_font_char, cache_char_offset): Use macro
8102 BDF_CODEPOINT_RANGE_COVER_P.
8103 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8104 (clear_cached_bitmap_slots): New function.
8105 (GET_HEX_VALUE): G-Z, g-z are not hex.
8106 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8107 (get_bitmap_with_cache): Use new cache implementation.
8108 (create_offscreen_bitmap): New function.
8109 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8110
8111 * w32term.c (x_produce_glyphs): If the distance from the current
8112 position to the next tab stop is less than a canonical character
8113 width, use the tab stop after that.
8114 (x_draw_glyphs): Handle case START and END are out of bounds more
8115 carefully.
8116 (x_clear_mouse_face): Block/unblock input.
8117 (x_display_and_set_cursor): Don't show a hollow box cursor for
8118 buffers whose cursor_type is nil.
8119
fe01239f
GM
81202000-09-29 Gerd Moellmann <gerd@gnu.org>
8121
52283633 8122 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8123
8124 * dispextern.h (updating_frame): Declare extern.
8125
e7c52f1f
AS
81262000-09-29 Andreas Schwab <schwab@suse.de>
8127
8128 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8129
de6e1f7c
GM
81302000-09-29 Gerd Moellmann <gerd@gnu.org>
8131
25126faa
GM
8132 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8133 use its function definition.
8134 (tool_bar_items): Likewise.
8135
de6e1f7c 8136 * lisp.h (fatal): Declare NO_RETURN.
52283633 8137
454ee39b
KH
81382000-09-29 Kenichi Handa <handa@etl.go.jp>
8139
8140 * keymap.c: Remove the line "#undef NULL".
8141
96301c5f
GM
81422000-09-28 Gerd Moellmann <gerd@gnu.org>
8143
52283633 8144 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8145
efffeeb4
DL
81462000-09-28 Dave Love <fx@gnu.org>
8147
ecb8b666
DL
8148 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8149
dc3cd20f
DL
8150 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8151
8152 * .gdbinit (xreload): Note its need on GNU/Linux.
8153
efffeeb4
DL
8154 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8155 r_alloc, r_alloc_free.
8156
8610d903
KH
81572000-09-28 Kenichi Handa <handa@etl.go.jp>
8158
8159 * syntax.c (skip_chars): Handle negation correctly.
8160
8901d1ac
GM
81612000-09-27 Gerd Moellmann <gerd@gnu.org>
8162
6f22f1ad
GM
8163 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8164 with non-zero FORCE_P argument.
8165
52283633 8166 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8167 Add assertions.
8168
8169 * xdisp.c (window_box_height): Add an assertion.
8170
8171 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8172 tool-bar than is available.
8173 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8174
36f1966f
DL
81752000-09-27 Dave Love <fx@gnu.org>
8176
efffeeb4 8177 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8178
31d929e5
GM
81792000-09-26 Gerd Moellmann <gerd@gnu.org>
8180
c98863bf
GM
8181 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8182 instead of BITS_PER_INT.
8183 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8184 EMACS_UINT, respectively.
8185 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8186
8187 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8188
8189 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8190
77072ab1
GM
8191 * window.c (freeze_window_starts): Construct last argument for
8192 foreach_window differently.
8193
8194 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8195
8196 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8197 EMACS_UINT instead of `int' and `unsigned int'.
8198 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8199
8200 * frame.h (struct frame): Make the `nothing' member of union
8201 output_data an EMACS_INT.
8202
52283633 8203 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8204 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8205 size in the sdata structure.
8206 (SDATA_NBYTES, SDATA_DATA): New macros.
8207 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8208 differently for the different layout of the sdata structure.
8209 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8210 in sdata.
8211 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8212 Check that size recorded in the string size and size recorded in
8213 the sdata structure agree.
8214
3e60b029
DL
82152000-09-25 Dave Love <fx@gnu.org>
8216
8217 * buffer.c: Include stdio.h.
8218
8219 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8220
3e60b029
DL
8221 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8222
8223 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8224 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8225 (__malloc_extra_blocks): Declare as __malloc_size_t.
8226
8ff16b4e
GM
82272000-09-25 Gerd Moellmann <gerd@gnu.org>
8228
755a2ccd
GM
8229 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8230
d8b4516f
GM
8231 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8232 (read_char): If help-echo is showing, preserve the echo area
8233 when redisplaying.
8234
8235 * xdisp.c (help_echo_showing_p): New variable.
8236 (set_message): Reset it to 0.
8237 (init_xdisp): Initialize help_echo_showing_p.
8238
8239 * dispextern.h (help_echo_showing_p): Declare extern.
8240
8241 * config.in: Fix typo in __GNUC_MINOR__.
8242
8243 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8244
b11af2dd
GM
8245 * s/freebsd.h (POSIX_SIGNALS): Define.
8246
8ff16b4e
GM
8247 * xterm.c (x_clear_mouse_face): Block/unblock input.
8248
844eb643
DL
82492000-09-24 Dave Love <fx@gnu.org>
8250
8251 * fns.c (base64_encode_1): Fix last change.
8252
b30ab1b3
GM
82532000-09-22 Gerd Moellmann <gerd@gnu.org>
8254
8255 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8256
8257 * xdisp.c (try_window_reusing_current_matrix): More fixes
8258 for the case window has a header-line.
8259
c6cbe5f0
DL
82602000-09-22 Dave Love <fx@gnu.org>
8261
4c7c1f3f
DL
8262 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8263 a doc string.
8264
8265 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8266
c6cbe5f0
DL
8267 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8268
550a625e
GM
82692000-09-21 Gerd Moellmann <gerd@gnu.org>
8270
4c7c1f3f 8271 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8272 for GCC >= 2.5.
8273
52283633
SM
8274 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8275 Declare NO_RETURN.
fca99116 8276
80d26f99
GM
8277 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8278 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8279 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8280 warnings.
52283633 8281
80d26f99
GM
8282 * marker.c (byte_char_debug_check): Return void.
8283
623a0aae
GM
8284 * xfns.c (Fx_create_frame): Set default frame parameter value
8285 for tool-bar-lines to 1.
8286
8287 * dispnew.c (scrolling_window): Compare y-positions of rows
8288 equal at the start. Some simplification.
8289
8290 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8291 reused rows' y-position in the case window has a header-line, and
8292 new window start is greater than old window start.
8293
42ac0ae5
GM
8294 * process.c (process_sent_to): New variable.
8295 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8296 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8297 Declare more parameters volatile.
8298
550a625e
GM
8299 * lread.c (Vrecursive_load_depth_limit): New variable.
8300 (Fload): Check recursive loads whose recursion depth exceeds
8301 Vrecursive_load_depth_limit.
8302 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8303
8320414c
GM
83042000-09-20 Gerd Moellmann <gerd@gnu.org>
8305
f46c275e
GM
8306 * fileio.c (Fread_file_name): Doc fix.
8307
8308 * editfns.c (Fmessage_or_box): Doc fix.
8309
8310 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8311
b7e11c5b 8312 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8313
8320414c
GM
8314 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8315 symbols are specified, add color translations to the cache.
52283633 8316 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8317 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8318 xpm_cache_color.
8319 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8320 structures to xpm_init_color_cache.
8321
da1608d9
GM
83222000-09-19 Gerd Moellmann <gerd@gnu.org>
8323
52283633 8324 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8325
6badfa25
AI
83262000-09-19 Andrew Innes <andrewi@gnu.org>
8327
8328 * makefile.nt (bootstrap-emacs): Don't change directory.
8329
3a5f42bb
KH
83302000-09-19 Kenichi Handa <handa@etl.go.jp>
8331
1b7649bd
KH
8332 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8333
3a5f42bb
KH
8334 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8335 If output buffer is too small, signal an appropriated error.
8336
9f83cf0b
DL
83372000-09-18 Dave Love <fx@gnu.org>
8338
52283633 8339 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8340 (current_active_maps): Remove redundant get_local_map call.
8341
28c7826c
GM
83422000-09-18 Gerd Moellmann <gerd@gnu.org>
8343
5cefa566
GM
8344 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8345 cursor for buffers whose cursor_type is nil.
52283633 8346
6fed3546
GM
8347 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8348 a feature to implement that is already implemented.
8349 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8350 warnings.
8351
8352 * xfns.c (x_clear_image_1): New function.
8353 (x_clear_image): Use it.
52283633 8354 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8355
05b1f851
GM
8356 * dispnew.c (update_window): Move test for invisible lines
8357 at the top to update_window_line.
8358 (update_window_line): Handle invisible lines here.
8359
f4779de9
GM
8360 * xfns.c (clear_image_cache): Clear current matrices of all
8361 frames sharing an image cache. Block input while freeing
8362 images. Fix timestamp comparison.
8363 (x_clear_image): Also free the mask.
8364
28c7826c
GM
8365 * xfns.c (lookup_image): Block input while loading the image so
8366 that we won't get interrupted in a state where the image isn't yet
8367 set up completely.
8368 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8369 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8370 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8371 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8372
b7412313
GM
83732000-09-16 Gerd Moellmann <gerd@gnu.org>
8374
8375 * dispnew.c (update_window): Make sure to make desired rows
8376 current even if they are completely invisible at the top
8377 of a window.
8378
47e351a3
GM
83792000-09-15 Gerd Moellmann <gerd@gnu.org>
8380
7f8f1edc
GM
8381 * xfns.c (lookup_image): Build mask before applying an algorithm.
8382 Recognize algorithm `disabled'.
8383 (cross_disabled_images): New variable.
8384 (COLOR_INTENSITY): New macro.
8385 (x_detect_edges): Use COLOR_INTENSITY.
8386 (x_disable_image): New function.
8387 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8388
8389 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8390 disabled state, don't apply an image transformation algorithm if
8391 the user specified an image for the disabled state. Use
28c7826c 8392 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8393 user hasn't specified an image.
8394
ebb8f116
GM
8395 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8396 allocation functions with the XPM lib.
8397 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8398 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8399 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8400 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8401 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8402 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8403 functions, if possible, because these handle color allocation
8404 failure more gracefully.
8405 (Fimage_mask_p): New function.
8406
47e351a3
GM
8407 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8408 (Qedge_detection, Qheuristic): New symbols.
8409 (syms_of_xfns): Initialize new symbols.
8410 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8411 `algorithm (edge-detection ...)'.
8412 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8413 (tiff_format, gif_format, gs_format): Add `:mask'.
8414 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8415 (GIF_MASK, GS_MASK): New enumerators.
8416 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8417 (emboss_matrix, laplace_matrix): New variables.
8418 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8419 (x_edge_detection): New functions.
8420 (x_laplace): Rewritten in terms of x_detect_edges.
8421 (x_build_heuristic_mask): If image has a mask, free it.
8422
fe83b953
AI
84232000-09-14 Andrew Innes <andrewi@gnu.org>
8424
8425 * makefile.w32-in: Revert to Unix line endings.
8426
3021e816
AI
84272000-09-14 Andrew Innes <andrewi@gnu.org>
8428
8429 * makefile.w32-in: Standardize indentation somewhat.
8430 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8431 cater for differences between shells.
8432
8433 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8434
2a32b5ea
GM
84352000-09-14 Gerd Moellmann <gerd@gnu.org>
8436
8437 * xterm.c (x_produce_glyphs): If the distance from the current
8438 position to the next tab stop is less than a canonical character
8439 width, use the tab stop after that.
8440
b4331e96
DL
84412000-09-14 Dave Love <fx@gnu.org>
8442
8443 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8444
ef9e4345
GM
84452000-09-14 Gerd Moellmann <gerd@gnu.org>
8446
085536c2
GM
8447 * xdisp.c (handle_fontified_prop): While running fontification
8448 functions, bind `fontification-functions' and
8449 `after-change-functions' to nil.
8450
ef9e4345
GM
8451 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8452 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8453
8454 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8455
8456 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8457 USE_MMAP_FOR_BUFFERS.
8458
8459 * insdel.c (make_gap): Use enlarge_buffer_text.
8460
8461 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8462 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8463 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8464 from former r_alloc_* functions in ralloc.c.
52283633 8465 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8466 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8467 (mmap_init) [REL_ALLOC_MMAP]: New function.
8468 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8469 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8470 BUFFER_FREE.
8471
8472 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8473 (enlarge_buffer_text): Add prototype.
8474
8475 * ralloc.c: Remove everything having to do with the use of mmap.
8476
f8608968
GM
84772000-09-13 Gerd Moellmann <gerd@gnu.org>
8478
2a494b2d
GM
8479 * sound.c (Fplay_sound): Doc fix.
8480
8c907a56
GM
8481 * keyboard.c: Avoid some more compiler warnings.
8482 (parse_tool_bar_item): Ignore cached key bindings.
8483
f8608968
GM
8484 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8485 and allocation of Lisp data.
8486
6ab70e9a
GM
84872000-09-12 Gerd Moellmann <gerd@gnu.org>
8488
d12d0a9b
GM
8489 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8490 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8491 defaults first.
8492
6ab70e9a
GM
8493 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8494
63c36c3c
KH
84952000-09-12 Miyashita Hisashi <himi@meadowy.org>
8496
8497 * ccl.c: Comment fixed.
8498 (MAX_MAP_SET_LEVEL): Increased to 30.
8499 (PUSH_MAPPING_STACK): Enclose with do-while block.
8500 (POP_MAPPING_STACK): Likewise.
8501 (stack_idx_of_map_multiple): New variable.
8502 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8503 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8504 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8505 (ccl_driver) <CCL_MapSingle>: Likewise.
8506 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8507 with the case where looking up process reaches to the end of
8508 map-set, and call CCL programs as the above change.
8509
7ee3bd7b
GM
85102000-09-11 Gerd Moellmann <gerd@gnu.org>
8511
8ec8a5ec
GM
8512 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8513 that might be clobbered by longjmp.
8514 (check_x_display_info, x_decode_color, create_frame_xic)
8515 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8516 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8517
f74b0705
GM
8518 * lread.c (init_lread): Set Vloads_in_progress to nil.
8519 (Fload): Show list of recursively loaded files, when signaling an
8520 error.
8521
7ee3bd7b
GM
8522 * lread.c (Vloads_in_progress): New variable.
8523 (record_load_unwind): New function.
8524 (Fload): Check for recursive loads.
8525 (syms_of_lread): Initialize Vloads_in_progress.
8526 (read_integer, read1): Avoid some compiler warnings.
8527
8528 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8529 compiler warnings.
8530
974e1e5b
MB
85312000-09-11 Miles Bader <miles@gnu.org>
8532
8533 * editfns.c (Fbuffer_string): Doc fix.
8534
9824c4e3
GM
85352000-09-10 Gerd Moellmann <gerd@gnu.org>
8536
8537 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8538
6a72fdd1
KR
85392000-09-09 Ken Raeburn <raeburn@gnu.org>
8540
8541 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8542 whether to include other header files.
8543
28e6fb66
GM
85442000-09-09 Gerd Moellmann <gerd@gnu.org>
8545
52283633 8546 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8547 by Fmemq as a boolean.
28e6fb66 8548
7f8b6551
SM
85492000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8550
8551 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8552
a8710abf
GM
85532000-09-08 Gerd Moellmann <gerd@gnu.org>
8554
d1a02881
GM
8555 * ralloc.c (mmap_fd): Remove initializer which can make it
8556 read-only in a dumped Emacs.
8557 (mmap_fd_1): New variable.
8558 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8559 restore it from there.
8560 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8561 unconditionally so that mmap_fd can be initialized there.
8562 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8563 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8564 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8565
c454aac1
GM
8566 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8567
8568 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8569 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8570
fc653ef2
GM
8571 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8572
3015eec0
GM
8573 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8574 inheritance.
8575
bfe0ee88
GM
8576 * xdisp.c (try_window_id): When trying to locate cursor in
8577 unchanged rows at the top, handle the case that we can't find it.
8578
a8710abf
GM
8579 * xterm.c (x_draw_glyphs): Handle case START and END are out
8580 of bounds more carefully.
8581
6b7d4ae4
DL
85822000-09-08 Dave Love <fx@gnu.org>
8583
423193c5
DL
8584 * s/sol2.h (REL_ALLOC_MMAP): Define.
8585 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8586
8587 * ralloc.c: Don't include string.h (redundant).
8588 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8589 [!MAP_ANON]: Include fcntl.h.
8590 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8591 (r_alloc, r_re_alloc, r_alloc_free)
8592 (mmap_enlarge, mmap_set_vars): Use it.
8593 (r_alloc_init_fd): New function.
8594 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8595 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8596 malloc type.
8597
8598 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8599 Remove vm-limit.o.
8600
6b7d4ae4
DL
8601 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8602 change to __NetBSD__.
8603
44d31981
KH
86042000-09-08 Kenichi Handa <handa@etl.go.jp>
8605
8606 * search.c (compile_pattern): Check the multibyteness of cached
8607 string and PATTERN.
8608
aad40737
MB
86092000-09-08 Miles Bader <miles@gnu.org>
8610
8611 * xfaces.c (default_face_vector): Function removed.
8612 (Finternal_merge_in_global_face): Restore old global/local
8613 attribute override order. Use inline loop instead of calling
8614 default_face_vector.
8615
91a211b5
GM
86162000-09-07 Gerd Moellmann <gerd@gnu.org>
8617
8618 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8619 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8620 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8621 where necessary, in case POINTER_TYPE is `void'.
8622
03419440
EZ
86232000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8624
8625 * frame.c (make_terminal_frame): Initialize frame foreground and
8626 background colors to unspecified, for the initial instance of an
8627 MSDOS frame.
8628
f46f845b
GM
86292000-09-07 Gerd Moellmann <gerd@gnu.org>
8630
24f76fbf
GM
8631 * ralloc.c (mmap_find): Fix overlap computation.
8632 (mmap_enlarge): Compute nbytes before trying to find an
8633 overlapping region.
8634
f46f845b
GM
8635 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8636 instead of `!='.
8637
8638 * lread.c (syms_of_lread): Change value of regexp
8639 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8640
8641 * xmenu.c (xdialog_show): When looking up the selection in
8642 menu_items, take `quote' boundaries into account; this corresponds
8643 to a nil ITEM in x-popup-dialog.
8644
3c014385
KH
86452000-09-07 Kenichi Handa <handa@etl.go.jp>
8646
fd6f711b
KH
8647 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8648 not 0x81.
8649 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8650
3c014385 8651 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8652 encoding, not decoding. Fix the handling of latin-jisx0201.
8653 Check for the charset katakana-jisx0201 too.
3c014385 8654 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8655 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8656
0da3ecef
GM
86572000-09-07 Gerd Moellmann <gerd@gnu.org>
8658
ab0ee409
GM
8659 * xfaces.c (Vparam_value_alist): New variable.
8660 (syms_of_xfaces): Initialize it.
8661 (Finternal_set_lisp_face_attribute): Avoid more consing.
8662
8663 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8664 specially.
8665 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8666 (Qbackground_mode): New variable.
8667 (syms_of_frame_1): Initialize Qbackground_mode.
8668
8669 * lisp.h (Qdisplay): Declare extern.
1091dd67 8670
0da3ecef
GM
8671 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8672 change face on all frames, and change the default for new frames.
8673
b14654b9
DL
86742000-09-07 Dave Love <fx@gnu.org>
8675
8676 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8677
d24fd56f
KH
86782000-09-07 Kenichi Handa <handa@etl.go.jp>
8679
794f3670
KH
8680 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8681
0fddd0dc
KH
8682 * charset.c: Include composite.h
8683 (lisp_string_width): New function.
8684 (Fstring_width): Call lisp_string_width instead of strwidth.
8685
8686 * Makefile.in (charset.o): Depends on composite.h.
8687
d24fd56f
KH
8688 * process.c (read_process_output): Before inserting the decoded
8689 text in the buffer, adjust the multibyteness.
8690
fa0b693c
GM
86912000-09-06 Gerd Moellmann <gerd@gnu.org>
8692
52283633 8693 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8694 buffer's text buffer is null, map new memory.
8695
0a58f946
GM
8696 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8697 POINTER_TYPE and size_t.
8698 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8699 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8700 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8701 [REL_ALLOC_MMAP]: New macros.
8702 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8703 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8704 [REL_ALLOC_MMAP]: New functions.
8705
8706 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8707 before and after unexec.
8708
8709 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8710 text buffers if necessary.
8711
8712 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8713 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8714 in prototypes.
8715
fa0b693c
GM
8716 * config.in (HAVE_MMAP): Add #undef.
8717
877055f6
GM
87182000-09-05 Gerd Moellmann <gerd@gnu.org>
8719
08ba3862
GM
8720 * frame.c (Qdisplay_type): New variable.
8721 (syms_of_frame_1): Initialize it.
8722 (Fframe_parameter): New function that avoids consing.
8723 (syms_of_frame): Defsubr it.
8724
66ffe51c
GM
8725 * buffer.c (Fother_buffer): Consider buffers as invisible when
8726 they are displayed in a window on an invisible frame.
8727
877055f6
GM
8728 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8729 get-largest-window always return nil.
8730
bb970e67
GM
87312000-09-04 Gerd Moellmann <gerd@gnu.org>
8732
8733 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8734 variable; recognize Emacs 19 elc files.
8735
7a3d0e0e
MB
87362000-09-04 Miles Bader <miles@gnu.org>
8737
8738 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8739 before initially popping up the menu, so the menu doesn't flash
52283633 8740 when the face settings are significantly different from the defaults.
7a3d0e0e 8741
14473664
SM
87422000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8743
8744 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8745 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8746 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8747 (BIT_UNIBYTE): Remove.
8748 (re_match_2_internal): Delete corresponding code and streamline the
8749 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8750 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8751 (re_wctype_t): New type.
8752 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8753 (regex_compile): Use them and fix handling of overly long char classes.
8754
c1174479
AI
87552000-09-03 Andrew Innes <andrewi@gnu.org>
8756
f8803e97
AI
8757 * makefile.w32-in: Change to DOS line endings.
8758
c1174479
AI
8759 * s/ms-w32.h (ORDINARY_LINK): New define.
8760
8761 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8762 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8763
8764 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8765 (distclean): Delete them here instead.
8766
44ef7cf6
AI
8767 * w32proc.c (compare_env): Convert to uppercase for comparison,
8768 not lowercase, to match how the native Windows shell works.
8769
49b3bd82
JR
87702000-09-03 Jason Rumney <jasonr@gnu.org>
8771
8772 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8773 CVS changes the line-ends when checking in/out on DOS/Windows.
8774
8775 * makefile.nt (emacs): Do not change directory to run temacs, as
8776 the load-path is set relative to current directory.
8777
a3d35a39
MB
87782000-09-03 Miles Bader <miles@gnu.org>
8779
8780 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8781
d276b0cf
GM
87822000-09-02 Gerd Moellmann <gerd@gnu.org>
8783
715e84c9
GM
8784 * xdisp.c (redisplay_mode_lines): New function.
8785 (display_mode_lines): Return number of mode lines displayed.
8786 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8787 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8788
8892f40b
GM
8789 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8790 string.h and strings.h.
8791 (index) [HAVE_INDEX]: Add prototype.
8792
d276b0cf
GM
8793 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8794 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8795
8796 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8797 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8798
38404229
GM
87992000-09-01 Gerd Moellmann <gerd@gnu.org>
8800
8801 * lread.c (read1): Accept `?' as symbol constituent, for
8802 compatiblity with XEmacs.
8803
c0f9ea08
SM
88042000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8805
8806 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8807 (struct re_pattern_buffer): Remove newline_anchor.
8808 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8809 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8810 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8811 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8812 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8813 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8814 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8815 Get rid of references to newline_anchor.
8816 (regcomp): Allocate and precompute a fastmap.
8817
8c0f83fe
GM
88182000-08-31 Gerd Moellmann <gerd@gnu.org>
8819
8820 * lread.c (openp): GCPRO local variable `filename'.
8821
4bb91c68
SM
88222000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8823
8824 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8825
8826 * regex.c: Merge some changes from GNU libc. Add prototypes.
8827 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8828 Use memcmp and memcpy instead of bcopy and bcmp.
8829 (init_syntax_once): Use ISALNUM.
8830 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8831 (REG_UNSET_VALUE): Remove. Use NULL instead.
8832 (REG_UNSET, re_match_2_internal): Use NULL.
8833 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8834 New macros.
8835 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8836 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8837 (regex_compile): In handle_interval, return an error rather than try to
8838 unfetch the interval if we can't find the closing brace.
8839 Obey the RE_NO_GNU_OPS syntax bit.
8840 (TOLOWER): New macro.
8841 (regcomp): Use it.
8842 (regexec): Allocate regs.start and regs.end as one block.
8843
5226a931
GM
88442000-08-30 Gerd Moellmann <gerd@gnu.org>
8845
868dd24b
GM
8846 * xdisp.c (echo_area_display): Check display_completed instead
8847 of calling detect_input_pending.
8848
8849 * dispnew.c (update_frame): Only set display_completed here; move
8850 the update_begin and update_end calls here from update_frame_1.
8851 (update_frame_1): Don't set display_completed here, don't call
8852 update_begin/update_end.
8853
5226a931
GM
8854 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8855 instead of store_frame_param.
8856
2a8bd25f
GM
88572000-08-29 Gerd Moellmann <gerd@gnu.org>
8858
8859 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8860 desired window matrix hasn't been displayed, use the current row
8861 instead. Make sure that only those frame rows are updated for
8862 which there exists a corresponding enabled desired row.
52283633 8863
ba3478d9
MB
88642000-08-29 Miles Bader <miles@gnu.org>
8865
8866 * xfaces.c (default_face_vector): New function.
8867 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8868
87d0f685
GM
88692000-08-29 Gerd Moellmann <gerd@gnu.org>
8870
8871 * lread.c (openp): Prevent temporary string passed to
8872 Ffile_readable_p from being garbage collected.
8873
6fa86045
DL
88742000-08-28 Dave Love <fx@gnu.org>
8875
8876 * keymap.c (store_in_keymap): Add `static' to declaration.
8877
bb17930d
GM
88782000-08-28 Gerd Moellmann <gerd@gnu.org>
8879
8880 * emacs.c, callint.c, doc.c, editfns.c
8881 (toplevel) [HAVE_STRING_H]: Include string.h.
8882 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8883 (index): Remove prototypes which might conflict with non-standard
8884 definitions of index/strchr.
8885
8886 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8887 (rindex): Define only if !HAVE_RINDEX.
8888
8889 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8890
8891 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8892
87188200
MB
88932000-08-28 Miles Bader <miles@gnu.org>
8894
8895 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8896 made inconsistent by a font-related attribute in FROM.
8897 (merge_face_inheritance): Add function comment.
8898
41a68aef
KH
88992000-08-28 Kenichi Handa <handa@etl.go.jp>
8900
8901 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8902 the 4th arg (PREV_EVENT) Qt to suppress input method.
8903
f7c436c1
SM
89042000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8905
0b32bf0e
SM
8906 * regex.c: Indent cpp directives and remove parens after `defined'.
8907 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8908 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8909 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8910 (re_compile_pattern): Use size_t for length.
8911 (init_syntax_once): Move to a better place.
8912 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8913 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8914
f7c436c1
SM
8915 * syntax.c (back_comment): Detect cases where a comment-starter is
8916 actually inside another comment as in: /* a // b */ c // d \n.
8917 Make it clear that `comstart_pos' is unused for nested comments.
8918
8919 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8920 (KEYMAPP): New macro.
8921 (Fkeymap_parent, Fset_keymap_parent): Use it.
8922 (fix_submap_inheritance): Mark it static.
8923 (define_as_prefix, describe_buffer_bindings, describe_command)
8924 (describe_translation, describe_map): Complete prototypes.
8925
8926 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8927
8928 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8929 to better match the key-lookup behavior.
8930
6288c62f
GM
89312000-08-27 Gerd Moellmann <gerd@gnu.org>
8932
8933 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8934 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8935
e931344e
EZ
89362000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8937
8938 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8939 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8940 (xterm.o): Depend on coding.h
8941
d10dfeef
KH
89422000-08-26 Kenichi Handa <handa@etl.go.jp>
8943
8944 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8945 the corresponding '#endif'.
8946
2d73e8d3
MB
89472000-08-26 Miles Bader <miles@gnu.org>
8948
8949 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8950 * xfaces.c (QCinherit): New variable.
8951 (syms_of_xfaces): Initialize it.
8952 (LFACE_INHERIT): New macro.
8953 (Finternal_get_lisp_face_attribute)
52283633 8954 (merge_face_vector_with_property)
2d73e8d3
MB
8955 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8956 (check_lface_attrs): Allow new types of face height. Check
8957 inherit attribute.
8958 (CYCLE_CHECK): New macro.
8959 (merge_face_inheritance): New function.
8960 (merge_face_vectors): Merge inherited faces too. Add F and
8961 CYCLE_CHECK arguments.
8962 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8963 (lookup_named_face, lookup_derived_face, realize_named_face)
8964 (face_at_string_position, face_at_buffer_position): Supply
8965 new F and CYCLE_CHECK arguments to merge_face_vectors.
8966 (merge_face_heights): New function.
52283633 8967 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8968 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8969 handle relative face heights.
8970 (lface_same_font_attributes_p): Compare heights using EQ.
8971
6ce974d4
KH
89722000-08-26 Kenichi Handa <handa@etl.go.jp>
8973
8974 * charset.c (char_to_string): Check the character validity.
52283633 8975 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8976
dc1e502d
SM
89772000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8978
8979 * regex.c (PUSH_FAILURE_COUNT): New macro.
8980 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8981 Handle popping of a register's or a counter's data.
8982 (POP_FAILURE_POINT): Use the new name.
8983 (re_match_2_internal): Push counter data on the stack for succeed_n,
8984 jump_n and set_number_at and remove misleading dead code in succeed_n.
8985
bd9d0f3f
GM
89862000-08-25 Gerd Moellmann <gerd@gnu.org>
8987
8988 * xdisp.c (redisplay_internal): If considering all windows on all
8989 frames, update the display for each frame as soon as possible,
8990 instead of first building all desired matrices for all frames, and
8991 then updating them all.
8992 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8993
aa5b8e15
GM
89942000-08-24 Gerd Moellmann <gerd@gnu.org>
8995
17494071
GM
8996 * bytecode.c (mark_byte_stack): Add a comment.
8997
52283633
SM
8998 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8999 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9000 a graphical frame.
9001
c543db81
KH
90022000-08-24 Kenichi Handa <handa@etl.go.jp>
9003
d246d5f5
KH
9004 * minibuf.c (do_completion): Always use compare-string, not
9005 string-equal because the latter doesn't pay attention to
9006 multibyteness of strings.
9007
c543db81
KH
9008 * process.c (create_process): Don't setup raw-text coding here.
9009 (Fopen_network_stream): Don't set coding->src_multibyte and
9010 coding->dst_multibyte here.
9011 (read_process_output): For process filter, return unibyte string
9012 if default-enable-multibyte-characters is nil.
9013 (send_process): If OBJECT is multibyte text, be sure to encoded it
9014 by the specified coding system for the process. Otherwise, setup
9015 raw-text coding.
52283633 9016 (init_process): Don't initialize default-process-coding-system here.
c543db81 9017
9b47cfe0
EZ
90182000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9019
9020 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9021 <scroll-down-aggressively>: Likewise.
9022
f5a36960
KH
90232000-08-23 Kenichi Handa <handa@etl.go.jp>
9024
9025 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9026 zero. Set coding->produced_char correctly.
9027
69a7ffa7
AI
90282000-08-22 Andrew Innes <andrewi@gnu.org>
9029
9030 * makefile.w32-in: New file.
9031
9032 * unexw32.c (unexec): Ignore old_name, and use the actual location
9033 of the current executable instead. Base new_name on this.
9034
9035 * w32proc.c (create_child): Remove reference to security
9036 descriptor, which isn't needed and doesn't compile with mingw32.
9037
9038 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9039 up dllimport attributes.
9040 (x_update_window_end): Update prototype.
9041
9042 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9043 extern, which screws up dllimport attributes.
9044
9045 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9046 up dllimport attributes.
9047
9048 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9049 screws up dllimport attributes.
9050
9051 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9052 up dllimport attributes.
9053 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9054 screws up dllimport attributes.
9055
9056 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9057 up dllimport attributes.
9058
9059 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9060 screws up dllimport attributes.
9061
9062 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9063 screws up dllimport attributes.
9064
9065 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9066 up dllimport attributes.
9067
9068 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9069 unnecessary extern, which screws up dllimport attributes.
9070 (main): Ditto.
9071
9072 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9073 up dllimport attributes.
9074
9075 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9076 unnecessary extern, which screws up dllimport attributes.
9077
9078 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9079 screws up dllimport attributes.
9080
9081 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9082 up dllimport attributes.
9083
9084 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9085
52283633
SM
9086 * w32bdf.c (search_file_line):
9087 (set_bdf_font_info):
9088 (seek_char):
9089 (w32_get_bdf_glyph):
69a7ffa7
AI
9090 (w32_BDF_to_x_font): Fix compile warnings.
9091
52283633 9092 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9093
9094 * w32select.c: Include keyboard.h before frame.h.
9095
9096 * w32fns.c (max): Define macro.
9097 (JOHAB_CHARSET): Define if not known.
9098 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9099 (Fx_show_tip): Synch with X version.
9100
9101 * w32xfns.c: Include keyboard.h before frame.h.
9102
9103 * w32fns.c: Include keyboard.h before frame.h.
9104
9105 * w32term.c: Include keyboard.h before frame.h.
9106
9107 * fontset.c: Include keyboard.h before frame.h.
9108
9109 * w32inevt.c: Include keyboard.h before frame.h.
9110 (MOUSE_MOVED): Define if not known.
9111
9112 * minibuf.c: Include keyboard.h before frame.h.
9113
9114 * keyboard.c: Include keyboard.h before frame.h.
9115
9116 * indent.c: Include keyboard.h before frame.h.
9117
9118 * dispnew.c: Include keyboard.h before frame.h.
9119
9120 * buffer.c: Include keyboard.h before frame.h.
9121
9122 * alloc.c: Include keyboard.h before frame.h.
9123
9124 * print.c: Include keyboard.h before frame.h.
9125
9126 * process.c: Include keyboard.h before frame.h.
9127
9128 * scroll.c: Include keyboard.h before frame.h.
9129
9130 * sysdep.c: Include keyboard.h before frame.h.
9131
9132 * term.c: Include keyboard.h before frame.h.
9133
9134 * window.c: Include keyboard.h before frame.h.
9135
9136 * xdisp.c: Include keyboard.h before frame.h.
9137 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9138
9139 * frame.c: Include keyboard.h before frame.h.
9140
9141 * w32heap.h: Undefine min, max.
9142
9143 * w32gui.h: Undefine min, max.
9144
9145 * unexw32.c: Change PUCHAR to PCHAR.
9146 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9147 (relocate_offset):
9148 (get_section_info):
69a7ffa7
AI
9149 (copy_executable_and_dump_data): Remove unnecessary static defs.
9150 (copy_executable_and_dump_data): Fix compile warnings.
9151
9152 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9153
9154 * w32console.c (min): Define macro.
9155 (clear_frame, write_glyphs): Fix compile warning.
9156
52283633 9157 * w32proc.c (compare_env):
69a7ffa7
AI
9158 (find_child_console): Fix compile warning.
9159
9160 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9161 sys_errlist instead of _sys_errlist.
9162 (get_emacs_configuration_options): New function.
9163
9164 * s/ms-w32.h (sys_nerr): Provide default definition.
9165 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9166 name with _ prepended.
9167 (NSIG): Define if not known.
9168 (get_emacs_configuration): Provide extern declaration.
9169 (get_emacs_configuration_options): Provide extern declaration.
9170 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9171
9172 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9173 (map_w32_filename):
69a7ffa7
AI
9174 (read_unc_volume): Fix compile warning.
9175
9176 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9177 definitions from being used.
9178
9179 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9180
52283633 9181 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9182 (open_unc_volume): Make arg const.
9183
9184 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9185 (read_input_waiting): Remove excess parameter.
9186
9187 * w32.c (init_environment): Call _access.
9188 (check_windows_init_file): Call _close.
9189 (init_user_info): Call _putenv.
9190 (init_environment): Call _putenv and _strdup.
9191 (init_ntproc): Reset volume info cache on startup.
9192
9193 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9194 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9195 cannot override the CRT malloc.
9196
9197 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9198 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9199
9200 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9201 unless we are linking with a static CRT.
9202 (RVA_TO_PTR): Cast result to unsigned char*.
9203
9204 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9205 (add_volume_info): Use xstrdup.
9206
25060080
SM
92072000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9208
9209 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9210 (do_completion, Fminibuffer_complete_word): Use it.
9211 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9212 var so it can take non-boolean values.
9213
6917e6bb
GM
92142000-08-21 Gerd Moellmann <gerd@gnu.org>
9215
acb7cc89 9216 * editfns.c (find_field): Formatting changes.
52283633 9217 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9218 changed to prototypes, some new protypes added, some functions
9219 made static.
9220
9221 * lisp.h (set_time_zone_rule): Add prototype.
9222 (use_dialog_box): External declaration.
9223
0bbfdc25
GM
9224 * keyboard.c (gen_help_event): Add parameter SIZE.
9225 (kbd_buffer_events_waiting): Slightly rewritten.
9226 (clear_event): New function.
9227 (kbd_buffer_get_event): Use it, and clear the input_events of
9228 HELP_EVENTs.
9229 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9230 don't fill the newly created array with nils.
9231 (toplevel): Convert some old-style function forward declarations
9232 to prototypes.
9233
9234 * keyboard.h (gen_help_event): Change prototype.
9235
9236 * xterm.c (XTread_socket): Change calls to gen_help_event.
9237
9238 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9239
6917e6bb
GM
9240 * eval.c (Fmacroexpand): Doc fix.
9241
e5cd3d11
JR
92422000-08-20 Jason Rumney <jasonr@gnu.org>
9243
9244 * w32term.h (x_display_info_for_display): Remove as this function
9245 does not exist on W32.
9246
9247 * w32term.c (help_echo_window): New variable.
9248 (syms_of_w32term): staticpro it.
9249 (note_mode_line_highlight): Set it.
9250 (XTextExtents16): Removed as there is no equivalent on W32.
9251 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9252 the X way of doing this will not work for W32.
9253 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9254 (x_draw_image_foreground): Avoid drawing outside of the clip area
9255 when image doesn't have a mask.
9256 (note_mouse_highlight): Process overlays in the right order of
9257 priority. Set help_echo_window.
9258 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9259 because that's more visible for large images.
9260
9261 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9262 name to single_keymap_panes.
9263 (w32_menu_show): Set wv->title when dealing with titles.
9264 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9265
6e69ab8c
MB
92662000-08-21 Miles Bader <miles@gnu.org>
9267
9268 * minibuf.c (do_completion): Try again if we rewrite the input
9269 string, but no completion was done, so that any completion message
9270 will be correct.
9271
511bd4eb
GM
92722000-08-20 Gerd Moellmann <gerd@gnu.org>
9273
9274 * xfaces.c (lface_equal_p): Compare strings differently.
9275 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9276 (realize_tty_face): Use them.
9277 (syms_of_xfaces): Initialize new variables.
9278 (map_tty_color): New function, extracted from realize_tty_face.
9279 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9280 foreground or background color, store the new color name in the
9281 realized face; previous code trying to do this had no effect.
9282 (realize_tty_face): Use map_tty_color.
9283 (Fclear_face_cache): Set face_change_count and ensure thorough
9284 redisplay.
9285
1433385f
GM
92862000-08-19 Gerd Moellmann <gerd@gnu.org>
9287
511bd4eb
GM
9288 * undo.c (record_first_change, record_marker_adjustment): Don't
9289 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9290
419ac0a2
KH
92912000-08-18 Kenichi Handa <handa@etl.go.jp>
9292
9293 * coding.c (decode_coding_string): Set members consumed,
9294 consumed_char, produced, produced_char of *coding correctly. If
9295 decode_coding doesn't consume any byte, don't try anymore.
9296 (encode_coding_string): Likewise.
9297
7eb9e30d
GM
92982000-08-18 Gerd Moellmann <gerd@gnu.org>
9299
511bd4eb
GM
9300 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9301 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9302
9303 * xdisp.c (redisplay_internal): Compare windows for equality with
9304 EQ, instead of applying XWINDOW to something that might not
9305 be a window.
52283633 9306
dd34a735
KH
93072000-08-18 Kenichi Handa <handa@etl.go.jp>
9308
9309 * fontset.c (Finternal_char_font): Search only the selected frame
9310 for a window of the current buffer.
9311
385ff9e3
GM
93122000-08-18 Gerd Moellmann <gerd@gnu.org>
9313
511bd4eb 9314 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9315 Lisp_Objects.
9316
385ff9e3
GM
9317 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9318 second half of a HELP_EVENT is found at the start of kbd_buffer.
9319
d6abb4c7
MB
93202000-08-18 Miles Bader <miles@gnu.org>
9321
4618074a
MB
9322 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9323
d6abb4c7
MB
9324 * editfns.c (save_restriction_save): Rewrite to use markers.
9325 (save_restriction_restore): Rewrite to understand new form of data
9326 saved by save_restriction_save.
9327 (Fsave_restriction): Remove cautionary note in doc-string.
9328
a7b28523
GM
93292000-08-17 Gerd Moellmann <gerd@gnu.org>
9330
9331 * fileio.c (build_annotations): Add a comment explaining the
9332 return value of format-annotate-function. Replace a spurious call
9333 to Flength with a CONSP test. Call format-annotate-function with
9334 a fifth arg specifying how many times the function is been called
9335 in a row, to let it choose temporary buffers appropriately.
9336
03c9ed77
DL
93372000-08-17 Dave Love <fx@gnu.org>
9338
9339 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9340 declare make_temp_name twice.
9341
52283633 9342 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9343 (unreadpure): Give it an arg.
9344
9345 * unexalpha.c: Prototype fatal_unexec, mark_x,
9346 update_dynamic_symbols. Declare unexec as void.
9347
9348 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9349 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9350
9351 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9352 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9353
9354 * alloca.c: Use #error.
9355 [POINTER_TYPE]: Use it.
9356
9357 * eval.c (Fdefvar): Doc fix.
9358
9359 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9360 INITIALIZE_INTERVAL.
9361
9362 * buffer.h: Avoid DECLARE_INTERVALS.
9363
9364 * config.in: Add size_t.
9365
aae41d97
EZ
93662000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9367
9368 * w16select.c (set_clipboard_data): If there's not enough memory
9369 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9370 expects. In case of other failures, return 3.
9371 (system_error_msg): New error message.
9372 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9373 system_error_msg.
9374
65aa5e85
GM
93752000-08-16 Gerd Moellmann <gerd@gnu.org>
9376
9377 * term.c (write_glyphs): Also turn off inverse video after turning
9378 off other appearances in case TS_exit_attribute_mode is not equal
9379 to TS_end_standout_mode.
9380 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9381 with the same face.
9382 (turn_off_face): Reset standout_mode only if
9383 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9384 is equal to TS_end_standout_mode.
9385
ece23901
KH
93862000-08-16 Kenichi Handa <handa@etl.go.jp>
9387
9d7bcb2e
KH
9388 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9389 sequence at the end of the source block.
9390
ece23901
KH
9391 * ccl.c (Fccl_program_p): Docstring modified.
9392 (Fccl_execute): Likewise.
9393 (Fccl_execute_on_string): Likewise.
9394
5e30eaa2
EZ
93952000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9396
9397 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9398
290602fd
KH
93992000-08-16 Kenichi Handa <handa@etl.go.jp>
9400
9401 The following changes are mainly to fix bugs of
9402 encode/decode-coding-string failing if encoding/decoding return
9403 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9404 variable conversion_buffer.
9405
9406 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9407 decrement dst_end to avoid buffer overflow in the later call of
9408 string_as_multibyte
9409
9410 * coding.h (conversion_buffer_size, conversion_buffer)
9411 (get_conversion_buffer): Extern deleted.
9412
9413 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9414 (conversion_buffer, conversion_buffer_size): Variables deleted.
9415 (get_conversion_buffer): Function deleted.
9416 (struct conversion_buffer): New structure.
9417 (MAX_ALLOCA): New macro.
9418 (allocate_conversion_buffer): New macro.
9419 (extend_conversion_buffer, free_conversion_buffer): New functions.
9420 (ccl_coding_driver): Set coding->result.
9421 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9422 this is the last block of source.
9423 (encode_coding): Likewise. Handle the source block as the last
9424 one only when the whole source text is consumed.
9425 (decode_coding_string): Handle the case that the output buffer is
9426 too small to decode the whole source text. Use
9427 allocate_conversion_buffer, extend_conversion_buffer and
9428 free_conversion_buffer, not get_conversion_buffer.
9429 (encode_coding_string): Likewise.
9430 (init_coding): Function deleted.
52283633 9431 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9432
9433 * emacs.c (main): Don't call init_coding.
9434
52283633 9435 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9436
9437 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9438 (insert_glyphs): Likewise.
9439
9440 * w32console.c (write_glyphs): Use a locally declared
9441 conversion_buffer.
9442
b9f80d41
EZ
94432000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9444
9445 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9446 member of display_info is NULL.
9447
32dc52f7
GM
94482000-08-15 Gerd Moellmann <gerd@gnu.org>
9449
52283633 9450 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9451
32dc52f7 9452 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9453 appearances with capability `me'.
32dc52f7
GM
9454 (write_glyphs): Switch on inverse video before each face change.
9455
4eb22d33
DL
94562000-08-14 Dave Love <fx@gnu.org>
9457
9458 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9459 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9460 (lisp_free): Declare and make static.
9461
9462 * window.c: Fix embedded comment.
9463 (syms_of_window): Fix doc string.
9464
90cbf47e
GM
94652000-08-14 Gerd Moellmann <gerd@gnu.org>
9466
52283633 9467 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9468 make sure to print `C-' before `M-', like in the manual.
9469
440fc135
GM
94702000-08-11 Gerd Moellmann <gerd@gnu.org>
9471
9472 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9473 since they aren't relocated anymore.
52283633 9474 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9475
9476 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9477 partially visible line which is smaller than the window's height.
440fc135 9478
6e264fad
KH
94792000-08-11 Kenichi Handa <handa@etl.go.jp>
9480
9481 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9482 the multibyte form of eight-bit-control characters.
6e264fad
KH
9483 (Fccl_execute_on_string): Initialize ccl->multibyte.
9484
9485 * ccl.h (struct ccl_program): New member multibyte.
9486
9487 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9488
c371f69a
KH
94892000-08-11 Kenichi Handa <handa@etl.go.jp>
9490
9491 * regex.c (regex_compile) <normal_char>: Pay attention to
9492 multibyteness.
9493 (analyse_first) <exactn>: Setup fastmap correctly for
9494 eight-bit-control characters.
9495
94962000-08-11 Kenichi Handa <handa@etl.go.jp>
9497
52283633 9498 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9499
9500 * keyboard.c (make_lispy_event): Handle the new event type
9501 multibyte_char_keystroke.
9502
9503 * xterm.c: Include coding.h.
9504 (XTread_socket): Work around a bug of XmbLookupString. If the
9505 input is from XIM, decode it according to the current locale. In
9506 that case, generate multibyte_char_keystroke events.
9507
b8ddbe71
KH
95082000-08-11 Kenichi Handa <handa@etl.go.jp>
9509
9510 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9511 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9512
47589c8c
GM
95132000-08-10 Gerd Moellmann <gerd@gnu.org>
9514
9515 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9516 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9517 (move_it_in_display_line_to): Record iterator's ascent and descent
9518 before producing glyphs, and restore them when we know the glyph
9519 doesn't fit on the line.
9520 (move_it_to): Restructured so that it's easier to debug. If
9521 moving to a vpos, and not moving to an x or character position,
9522 stop as soon as the specified vpos is reached; don't move further
9523 into that line because that might change the computed line height.
9524 (try_cursor_movement): New function, extracted from the cursor
9525 movement branch of redisplay_window. If ending on a partially
9526 visible line, don't try to scroll if the cursor line is taller
9527 than the window.
9528 (redisplay_window): Use try_cursor_movement.
9529
9530 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9531 because that function doesn't cope with variable-height lines.
9532
9533 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9534 box cursor because that's better visible for large images.
52283633 9535
c51bacd6
MB
95362000-08-10 Miles Bader <miles@gnu.org>
9537
9538 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9539
bea56df7
GM
95402000-08-10 Gerd Moellmann <gerd@gnu.org>
9541
9542 * xdisp.c (Vmessages_buffer_name): New variable.
9543 (message_dolog): Use it.
9544 (syms_of_xdisp): Initialize it.
9545
99cd7364
EZ
95462000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9547
52283633 9548 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9549 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9550 redundant now that keyboard.h is included.
9551
7d093d56
EZ
95522000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9553
9554 * keyboard.c (kbd_buffer_events_waiting): New function.
9555
9556 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9557
9558 * msdos.c: Include keyboard.h.
9559 (XMenuActivate): Empty no_event events from the event buffer. If
9560 no events are left after that, call clear_input_pending.
9561 (mouse_clear_clicks): New function, code moved from mouse_init.
9562 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9563 mouse driver to ``forget'' any past clicks.
9564
9565 * Makefile.in (msdos.o): Depend on keyboard.h.
9566
41e757a6
GM
95672000-08-09 Gerd Moellmann <gerd@gnu.org>
9568
8e7bd231
GM
9569 * lisp.h (input_pending): External declaration.
9570
9571 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9572
8e7bd231
GM
9573 * xdisp.c (echo_area_display): Display thoroughly if input is
9574 pending. Bind redisplay-dont-pause to t during the redisplay.
9575 in case input is pending.
9576
9577 * dispnew.c (Qredisplay_dont_pause): New variable.
9578 (syms_of_display): Initialize and staticpro it.
9579 (update_frame_1): Don't interrupt the display for pending input if
9580 redisplay_dont_pause is set.
52283633 9581
43028b7e
GM
9582 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9583
41e757a6
GM
9584 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9585
2f2174fa
KH
95862000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9587
9588 * callproc.c (Fcall_process): Terminate the unwind-protect around
9589 the post-read-conversion of coding system.
9590
0a6fd67e
MB
9591 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9592 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9593 * buffer.h (overlays_at): Update prototype.
9594 * xdisp.c (next_overlay_change): Update call to overlays_at.
9595 * xfaces.c (face_at_buffer_position): Likewise.
9596 * textprop.c (Fget_char_property): Likewise.
9597 * xterm.c (note_mouse_highlight): Likewise.
9598
0c80756e
MB
9599 * minibuf.c (do_completion): Don't consider a simple change of
9600 case as `completion'.
9601
975f250a
KR
96022000-08-08 Ken Raeburn <raeburn@gnu.org>
9603
52283633 9604 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9605 * undo.c (record_delete): Make sure last_point_position_buffer is
9606 a buffer before comparing pointers.
9607
9608 * coding.h (decode_coding_string): Declare.
9609
9610 * intervals.h (Fprevious_single_char_property_change): Declare.
9611
9612 * textprop.c (Fprevious_single_char_property_change): Don't do
9613 arithmetic directly on lisp objects.
9614
52283633 9615 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9616
9617 * keyboard.h (menu_item_eval_property): Declare.
9618
9619 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9620 reuse as buffer name, instead of recreating (and discarding) every
9621 time a message is logged.
9622 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9623 (current_message_1, truncate_message_1, set_message_1)
9624 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9625 (current_message, truncate_echo_area, display_echo_area)
9626 (resize_echo_area_axactly): Changed calls.
b347b3fd 9627
975f250a 9628 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9629 Lisp object.
975f250a 9630 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9631 must be an integer, not a Lisp object.
975f250a 9632
46dc9912
KH
96332000-08-08 Kenichi Handa <handa@etl.go.jp>
9634
9635 * charset.c (Fchar_width): Doc fix.
9636
9f6d1a6c
GM
96372000-08-08 Gerd Moellmann <gerd@gnu.org>
9638
9639 * charset.c (Fstring_width): Doc fix.
9640
ff3d9573
GM
96412000-08-07 Gerd Moellmann <gerd@gnu.org>
9642
41e757a6 9643 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9644 line, clear ascent and descent members of the iterator structure;
9645 the height of the continued line does not affect the height of the
9646 continuation line.
9647 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9648 line taller than the window.
9649 (redisplay_window) <forced window start>: Handle case that the
9650 middle of the window is not found in any row.
9651 (dump_glyph_row): Show more information.
9652 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9653 first text line in a glyph matrix.
9654
9655 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9656 of the clip area when image doesn't have a mask.
9657
70fc58b3
GM
9658 * fns.c (sweep_weak_table): Fix survival conditions for
9659 key-or-value and key-and-value weakness.
9660
9661 * .gdbinit (xhashtable): New command.
9662
ac0e96ee
GM
9663 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9664 tables out of the list of all weak hash tables.
9665
ff3d9573
GM
9666 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9667 a new buffer is created, make sure echo_area_buffer[] references
9668 the new buffer.
9669
e0d8827b
EZ
96702000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9671
9672 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9673 the doc string.
9674
c6f35378
KH
96752000-08-07 Kenichi Handa <handa@etl.go.jp>
9676
9677 * syntax.c (skip_chars): Fix previous change. Make the handling
9678 of unibyte string consistent with that of regex search.
9679
1fd4c450
GM
96802000-08-05 Gerd Moellmann <gerd@gnu.org>
9681
e49aa397
GM
9682 * xmenu.c (popup_get_selection): Use xfree instead of free.
9683
9684 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9685
9686 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9687
9688 * callproc.c (child_setup): Use xfree instead of free.
9689
9690 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9691 instead of malloc.
9692 (run_mac_command, closedir): Use `xfree' instead of `free'.
9693
9694 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9695
9696 * eval.c (error): Use xfree instead of free.
9697
1fd4c450
GM
9698 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9699
9700 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9701 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9702
82d497fc
KH
97032000-08-05 Kenichi Handa <handa@etl.go.jp>
9704
9705 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9706 conversion.
9707
59f953a2
NF
97082000-08-04 Noah Friedman <friedman@splode.com>
9709
9710 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9711 docstring.
9712
688351f2
GM
97132000-08-04 Gerd Moellmann <gerd@gnu.org>
9714
9715 * syntax.c (skip_chars): Fix typo in error message.
9716
2dad51cc
AS
97172000-08-04 Andreas Schwab <schwab@suse.de>
9718
9719 * m/ia64.h: Moved from s/ia64.h.
9720
99bb2c60
KH
97212000-08-04 Kenichi Handa <handa@etl.go.jp>
9722
082a1df2
KH
9723 * process.c (read_process_output): Big simplification. Handle
9724 composition and post-read-conversion of coding system correctly.
9725 (send_process): Handle composition correctly.
9726
9727 * callproc.c (Fcall_process): Handle post-read-conversion of
9728 coding system if any.
9729
99bb2c60
KH
9730 * coding.c (decode_coding_iso2022): More strict check for handling
9731 single shifting.
082a1df2
KH
9732 (coding_restore_composition): Pay attention to the case that
9733 cmp_data is not set properly (because of invalid code in the
9734 source text).
9735 (run_pre_post_conversion_on_str): Include text properties in the
9736 resulting string.
9737 (decode_coding_string): Set members of coding correctly.
99bb2c60 9738
f4988be7
GM
97392000-08-03 Gerd Moellmann <gerd@gnu.org>
9740
9741 * s/ia64.h: New file.
9742
9743 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9744 Use NULL instead of 0 at the end of variable argument list of
9745 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9746 sizeof (int) < sizeof (void *).
9747
9748 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9749 of variable argument lists of XtVaGetValues and XtVaSetValues.
9750
9751 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9752 variable argument lists of XtVaGetValues and XtVaSetValues.
9753
ead53494
GM
97542000-08-02 Gerd Moellmann <gerd@gnu.org>
9755
9756 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9757 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9758
9759 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9760 prototype.
9761
9762 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9763 in call to Fsingle_key_description.
9764
9765 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9766 Callers changed.
9767
97682000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9769
9770 * window.c (display_buffer_reuse_frames): New variable.
9771 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9772 frames displaying BUFFER.
52283633 9773 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9774
10b0f752
MB
97752000-08-01 Miles Bader <miles@gnu.org>
9776
9777 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9778 when to constrain NEW_POS (they were pretty screwed up before).
9779
16425c4a
EZ
97802000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9781
9782 * msdos.c (run_msdos_command): Save and restore the master
9783 environment, for the case that child_setup signals an error.
9784 When mirroring slashes in DOS shell commands, don't fail when
9785 argv[2] has embedded blanks.
da288c14
EZ
9786 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9787 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9788 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9789
9790 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9791 using alloca; free it after run_msdos_command returns.
9792
27f73852
DL
97932000-07-27 Dave Love <fx@gnu.org>
9794
52283633
SM
9795 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9796 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9797
9798 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9799
c0261b5e
EZ
98002000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9801
9802 * editfns.c (lisp_time_argument): Fix last change.
9803
b548072f
GM
98042000-07-27 Gerd Moellmann <gerd@gnu.org>
9805
3ab82477
GM
9806 * fns.c (Fdelete): Make it work on vectors and strings in addition
9807 to lists.
9808
b548072f
GM
9809 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9810 (syms_of_fns): Initialize new variables.
52283633 9811 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9812 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9813 weakness, with t meaning the same as `key-and-value'.
9814
91ae8751
KH
98152000-07-27 Kenichi Handa <handa@etl.go.jp>
9816
9817 * coding.h (struct coding_system): Member safe_charset deleted.
9818
9819 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9820 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9821 New variables.
91ae8751
KH
9822 (coding_safe_chars): New function.
9823 (CODING_SAFE_CHAR_P): New macro.
9824 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9825 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9826 (detect_coding_iso2022): New local variable safe_chars.
9827 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9828 safe_charsets member of the coding system.
9829 (decode_coding_iso2022): New local variable safe_chars.
9830 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9831 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9832 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9833 (ENCODE_UNSAFE_CHARACTER): New macro.
9834 (encode_coding_iso2022): New local variable safe_chars. Check
9835 unsafe chars.
9836 (setup_coding_system): Delete the code to initialize
9837 coding->safe_charses
9838 (intersection, find_safe_codings): New functions.
9839 (Ffind_coding_systems_region_internal): New function.
9840 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9841 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9842 variable and initialize it.
9843
9844 * fns.c (char_table_ref_and_index): New function.
9845
9846 * lisp.h (char_table_ref_and_index): Add prototype.
9847
34a7a267
SS
98482000-07-26 Sam Steingold <sds@gnu.org>
9849
9850 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9851 (Ffloat_time): New built-in Lisp function.
34a7a267 9852
a95cb10a
GM
98532000-07-26 Gerd Moellmann <gerd@gnu.org>
9854
3353ef5a
GM
9855 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9856 for the character code.
9857
9858 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9859 GNU/Linux.
9860
a95cb10a
GM
9861 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9862 if called for a popup menu.
9863 (xmenu_show): Store help string in widget values.
9864
b4a12321
DL
98652000-07-26 Dave Love <fx@gnu.org>
9866
9867 * syswait.h: Move some definitions.
9868 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9869 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9870 perspicuous definitions.
9871 (WTERMSIG): Fix bit pattern used.
9872
13f5ad37
KH
98732000-07-26 Kenichi Handa <handa@etl.go.jp>
9874
9875 * print.c (print_object): If vector printing is truncated, print
9876 "..." to indicate it as well as the case of list printing.
9877
070fe99c
GM
98782000-07-25 Gerd Moellmann <gerd@gnu.org>
9879
969065c3
GM
9880 * xdisp.c (next_element_from_display_vector): Improve comments.
9881
9882 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9883 for the character code, and the rest for the face id as in 20.x.
9884 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9885
9886 * window.c (window_display_table): Cleaned up.
9887
070fe99c
GM
9888 * syntax.c (Fforward_word): Add last arg nil in call of
9889 Fconstrain_to_field.
9890
bad77ef7
EZ
98912000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9892
969065c3 9893 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9894 identical but for the letter-case, don't call
9895 barf_or_query_if_file_exists.
bad77ef7 9896
c28da489
MB
98972000-07-25 Miles Bader <miles@gnu.org>
9898
9899 * editfns.c (find_field): Honor special `boundary' fields.
9900 (Qboundary): New variables.
9901 (syms_of_editfns): Initialize Qboundary.
9902 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9903 Use scan_buffer instead of find_before_next_newline, because it
9904 allows us to detect the boundary case where there's a newline at
9905 the search limit.
9906 * lisp.h (Fconstrain_to_field): Update external declaration.
9907
e3c31fd5
GM
99082000-07-24 Gerd Moellmann <gerd@gnu.org>
9909
9910 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9911 if that is nil.
c28da489 9912
c66c29a2
DL
99132000-07-24 Dave Love <fx@gnu.org>
9914
9915 * s/sunos4-0.h, s/sol2.h:
9916 (LIBS_TERMCAP): Move from m/sparc.h.
9917
9918 * m/sparc.h (TERMINFO): Moved to system files (probably only
9919 relevant for sunos4 judging by its vintage).
9920 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9921 __arch64__.
9922
fbe0a958
EZ
99232000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9924
9925 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9926 name to single_keymap_panes.
9927
7d88e5c9
AS
99282000-07-24 Andreas Schwab <schwab@suse.de>
9929
9930 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9931
e024b101
GM
99322000-07-24 Gerd Moellmann <gerd@gnu.org>
9933
9934 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9935 parameters instead of using int parameters. Expect FN to accept
9936 EMACS_INT parameters.
9937 (display_echo_area, resize_echo_area_axactly, current_message)
9938 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9939 with new argument list.
9940 (resize_mini_window_1): New callback function.
9941 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9942 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9943
25c1a9ce
KH
99442000-07-24 Kenichi Handa <handa@etl.go.jp>
9945
9946 * fontset.c (fontset_ref): Remove INLINE declaration.
9947 (fontset_ref_via_base): Likewise.
9948 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9949 to downcase.
9950
7f987ac0
EZ
99512000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9952
9953 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9954 correct order of priority. If help echo was found in an overlay,
9955 use that overlay as the object in which the help echo was found.
9956
e2db3069
MB
99572000-07-22 Miles Bader <miles@gnu.org>
9958
9959 * textprop.c (Fprevious_single_char_property_change): The initial
9960 property value should be from the position preceding POSITION, not
9961 following it.
9962
5e3203e4
EZ
99632000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9964
9965 * coding.c (syms_of_coding): Doc fix for
9966 inhibit-iso-escape-detection.
9967
62145073
GM
99682000-07-21 Gerd Moellmann <gerd@gnu.org>
9969
c20aeb83
GM
9970 * xterm.c (note_mouse_highlight): Process overlays in the right
9971 order of priority.
34a7a267 9972
743934db
GM
9973 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9974
9975 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9976 overlay, use that overlay as the object in which the help was found.
743934db 9977
d1dc7e43 9978 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9979
62145073
GM
9980 * window.c (foreach_window): Instead of a fake variable argument
9981 list, take one USER_DATA argument.
9982 (foreach_window_1): Likewise, and call callback functions with two
9983 args, the window and USER_DATA.
9984 (struct check_window_data): New struct.
9985 (check_window_containing): Use it.
9986 (window_from_coordinates): Set up a struct check_window_data for
9987 foreach_window.
9988 (add_window_to_list, freeze_window_start): Change parameters
9989 according to new calling convention.
9990
9991 * window.h (foreach_window): Change prototype.
9992
9993 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9994
99952000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9996
9997 * xmenu.c (menu_help_callback): Call show_help_echo with
9998 additional arguments OBJECT and POS.
9999
11270583
KH
100002000-07-21 Kenichi Handa <handa@etl.go.jp>
10001
07b14857
KH
10002 * data.c (Faset): Allow storing any multibyte character in a
10003 string. Convert unibyte string to multibyte if necessary.
10004
11270583
KH
10005 * xfns.c (x_encode_text): New function.
10006 (x_set_name): Use x_encode_text.
10007 (x_set_title): Likewise.
10008
10009 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10010
10011 * xterm.h (x_encode_text): Add prototype.
10012
bc75b4fd
DL
100132000-07-20 Dave Love <fx@gnu.org>
10014
10015 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10016 xfree, not free.
10017
48c14970
EZ
100182000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10019
10020 * msdos.c (help_echo_window): New variable.
10021 (syms_of_msdos): Initialize and staticpro it.
10022 (IT_note_mode_line_highlight): Set help_echo_window.
10023 (IT_note_mouse_highlight): Ditto.
10024 (dos_rawgetc): Store help_echo_window in the second event produced
10025 for HELP_EVENTs.
10026
10027 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10028 Record the object that generated the help echo and the position of
10029 that object in help_echo_object and help_echo_pos. Record that
10030 some glyphs in a row are displayed in mouse-face.
10031 (IT_update_begin): Don't clear mouse highlight unless one of the
10032 enabled glyph rows is marked as being displayed in mouse-face.
10033 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10034 and position recorded in help_echo_object and help_echo_pos to the
10035 event queue.
10036 (IT_menu_display): Accept a new argument PN: the pane number of
10037 the current menu pane. Record the pane number and the item
10038 number of the item which has associated help string.
10039 (XMenuActivate): Update the prototype for help_callback in
10040 function declaration. Call IT_menu_display with the current menu
10041 pane number as an additional argument. Call help_callback with
10042 two additional arguments: the pane number and the item number of
10043 the menu item associated with the help text.
10044 (help_echo_object, help_echo_pos): New variables.
10045 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10046
10047 * msdos.h (XMenuActivate): Update prototype.
10048
4279296d
GM
100492000-07-19 Gerd Moellmann <gerd@gnu.org>
10050
47db06aa
GM
10051 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10052 Add some more prototypes.
10053
10054 * xterm.c, xterm.h: Add some more prototypes.
10055
10056 * lisp.h (Fnext_single_char_property_change): Add prototype.
10057
10058 * dispnew.c (direct_output_for_insert): Remove confusing
10059 outer local variable mouse_face_overwritten_p.
10060 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10061
4279296d
GM
10062 * alloc.c (allocate_string_data): Don't copy old string contents.
10063
670acd62
KH
100642000-07-19 Kenichi Handa <handa@etl.go.jp>
10065
10066 * coding.c (code_convert_region): Delete text properties before
10067 shrinking the conversion region.
10068
7cea38bc
GM
100692000-07-18 Gerd Moellmann <gerd@gnu.org>
10070
dc1cac59
GM
10071 * dispnew.c (update_text_area): Write the whole row if it
10072 has mouse-face in it.
10073
85a8aca9
GM
10074 * xfaces.c (face-alternative-font-family-alist): Remove
10075 DEFVAR_LISP; staticpro instead.
10076
34a7a267 10077 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10078 new arguments.
10079
10080 * keyboard.c (show_help_echo): Add parameter WINDOW.
10081 (read_char): Call show_help_echo with window extracted from Lisp
10082 help event.
10083 (gen_help_event): Add parameter WINDOW.
10084
10085 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10086
10087 * xterm.c (help_echo_window): New variable.
52283633 10088 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10089 (XTread_socket): Pass help_echo_window to gen_help_event.
10090 (syms_of_xterm): Initialize and staticpro help_echo_window.
10091
f8276b77
DL
100922000-07-18 Dave Love <fx@gnu.org>
10093
52283633 10094 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10095
088831a6
GM
100962000-07-18 Gerd Moellmann <gerd@gnu.org>
10097
3d6cd763
GM
10098 * alloc.c (allocate_string_data): If string had already data
10099 assigned, copy old contents to new string data.
10100
10101 * coding.c (syms_of_coding): Fix typo in spelling of variable
10102 `inhibit-iso-escape-detection'.
10103
088831a6
GM
10104 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10105
10106 * Makefile.in: Add dependencies on dispextern.h.
10107 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10108 `free'; both can conflict with system header files.
10109
bc8a8d55
KH
101102000-07-18 Kenichi Handa <handa@etl.go.jp>
10111
10112 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10113 undefined.
10114
069f5950
DL
101152000-07-18 Dave Love <fx@gnu.org>
10116
10117 * window.c (Fwindow_list): Declare arg `window'.
10118
aa96c820
KH
101192000-07-18 Kenichi Handa <handa@etl.go.jp>
10120
10121 * coding.c (setup_coding_system): Don't override the explicitly
10122 specified designations.
10123
06be8d32
MB
101242000-07-15 Miles Bader <miles@gnu.org>
10125
10126 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10127 from `text_property_eq' and `text_property_stickiness', respectively.
10128 (find_field, Fconstrain_to_field, char_property_eq)
10129 (char_property_stickiness): Changed to call char-property functions
10130 instead of text-property-only ones.
10131
10132 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10133 `next_single_char_property_change'). Do more error checking, and
10134 cleanup limit behavior.
10135 (Fprevious_single_char_property_change): New function.
10136 (syms_of_textprop): Initialize new subrs.
10137
10138 * xdisp.c (display_prop_end, invisible_text_between_p):
10139 Call Fnext_single_char_property_change instead of
10140 next_single_char_property_change.
10141
3fddcdc3
JR
101422000-07-15 Jason Rumney <jasonr@gnu.org>
10143
10144 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10145 after menu is finished with.
10146 (add_menu_item): Only consider wv->title as a menu title.
10147 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10148
10149 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10150 null title.
10151 (FONT_REGEXP): Remove unused macro, and its sub-components.
10152 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10153
10154 * w32term.c (help_echo_object, help_echo_pos): New variables.
10155 (note_mode_line_highlight): Store additional information about the
10156 help-echo in help_echo_object and help_echo_pos. Check both
10157 `local-map' and `keymap' properties for changing the cursor
10158 (note_mouse_highlight): Store additional information about the
10159 help-echo in help_echo_object and help_echo_pos.
10160 (note_tool_bar_highlight): Set help_echo_object to nil and
10161 help_echo_pos to -1.
10162 (w32_read_socket): Use gen_help_event instead of filling
10163 input_events manually.
10164 (syms_of_w32term): Staticpro help_echo_object.
10165 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10166 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10167 (x_clear_mouse_face): New function.
10168 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10169 (x_update_window_begin): No need to turn off the mouse
10170 highlight here.
10171 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10172 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10173 (x_fill_stretch_glyph_string): Consume runs of stretch
10174 glyphs instead of a single one.
10175 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10176 with new argument list.
10177 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10178 (x_append_glyph, x_append_composite_glyph)
10179 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10180 changes in struct glyph starting 1999-12-27. See comments for
10181 xterm.c on 2000-07-05.
10182
178c5d9c
SS
101832000-07-14 Sam Steingold <sds@gnu.org>
10184
10185 * xfaces.c (realize_x_face): Fix the last patch:
10186 check `default_face' before dereferencing.
10187
6fe533f6
DL
101882000-07-14 Dave Love <fx@gnu.org>
10189
069f5950 10190 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10191
dd7b81cf
KH
101922000-07-14 Kenichi Handa <handa@etl.go.jp>
10193
0693904a 10194 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10195 default_face's fontset, not using the default fontset.
0693904a 10196
dd7b81cf
KH
10197 * coding.c (inhibit_iso_escape_detection): New variable.
10198 (syms_of_coding): Make it a Lisp variable.
10199 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10200 nonzero, ignore ISO2022's escape sequence.
10201
d5aa31d8
GM
102022000-07-14 Gerd Moellmann <gerd@gnu.org>
10203
e5acf0ca
GM
10204 * alloca.c (malloc) [emacs]: Define as xmalloc.
10205
bd23a692
GM
10206 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10207 use that instead of the mouse position. Add parameters DX and DY.
10208
10209 * dispextern.h (Fx_show_tip): Adjust number of parameters
10210 in prototype.
10211
9662da0b
GM
10212 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10213 if HELP is a function, call it with OBJECT and POS as parameters
10214 to get the help to display.
10215 (gen_help_event, kbd_buffer_store_help_event): New functions.
10216 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10217 (read_char): Call show_help_echo with new parameters.
10218
178c5d9c 10219 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10220 Add prototypes.
10221
10222 * xterm.c (help_echo_object, help_echo_pos): New variables.
10223 (note_mode_line_highlight): Store additional information about the
10224 help-echo in help_echo_object and help_echo_pos. Check both
10225 `local-map' and `keymap' properties for changing the cursor
10226 (note_mouse_highlight): Store additional information about the
10227 help-echo in help_echo_object and help_echo_pos.
10228 (note_tool_bar_highlight): Set help_echo_object to nil and
10229 help_echo_pos to -1.
10230 (XTread_socket): Use gen_help_event instead of filling
10231 input_events manually.
10232 (syms_of_xterm): Staticpro help_echo_object.
10233
10234 * xmenu.c (menu_highlight_callback): Use
10235 kbd_buffer_store_help_event instead of setting up and input_event
10236 structure manually.
10237
10238 * xdisp.c (eval_form): GCPRO argument sexpr.
10239 (call_function): New function.
10240 (handle_single_display_prop): Use call_function and FUNCTIONP
10241 instead of checking whether if font_height is a symbol and
10242 using eval_form.
10243
10244 * eval.c (internal_condition_case_2): New function.
10245
10246 * lisp.h (FUNCTIONP): New macro.
10247 (internal_condition_case_2, call_function): Add prototypes.
10248
d5aa31d8
GM
10249 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10250 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10251 Always set `arg' member of input_events.
10252 (construct_menu_click): Unused function removed.
10253
10254 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10255
10256 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10257 (construct_drag_n_drop, x_scroll_bar_handle_click)
10258 (w32_read_socket): Always set `arg' member of input_events.
10259
10260 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10261
10262 * lisp.h (eval_form): Add prototype.
10263
10264 * xdisp.c (eval_form): Make it externally visible.
10265
0f1a9b23
GM
102662000-07-13 Gerd Moellmann <gerd@gnu.org>
10267
10268 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10269 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10270 consing. For prefix events, store the frame in the `arg' slot of
10271 the event, otherwise store the key there.
10272 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10273 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10274
10275 * xmenu.c (menu_highlight_callback): Store help string in the
10276 `arg' member of the input event; don't cons.
10277 (menubar_selection_callback): Use the `arg' slot of input events
10278 to queue additional information, instead of consing.
10279
10280 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10281
10282 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10283 TOOL_BAR_EVENTs.
10284 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10285
10286 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10287 input events to queue additional information, instead of consing.
10288
10289 * keyboard.c (kbd_buffer_gcpro): Renamed from
10290 kbd_buffer_frame_or_window. Now used for all Lisp objects
10291 referenced from the input queue.
10292 (kbd_buffer_store_event): Always use structure assignment for
10293 copying input events. Record all Lisp objects referenced from
10294 events in kbd_buffer_gcpro.
10295 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10296 differently from input events. Test for prefix menu_bar_events
10297 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10298 event in kbd_buffer_gcpro to nil.
10299 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10300 frame_or_window is equal to its arg member as prefix events.
10301 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10302 used by an input event to nil.
10303 (init_keyboard): Use two times the size of the input queue
10304 for kbd_buffer_gcpro.
10305 (syms_of_keyboard): Likewise.
10306
52283633
SM
10307 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10308 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10309
10310 * termhooks.h (struct input_event): Add member `arg'.
10311 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10312 (USER_SIGNAL_EVENT): Renamed from user_signal.
10313
10314 * xfaces.c (ASET): Remove definition.
10315
10316 * lisp.h (AREF, ASET, ASIZE): New macros.
10317
10318 * fontset.c (AREF, ASIZE): Remove definitions.
10319
10320 * fns.c (AREF): Remove definition.
178c5d9c 10321
0f1a9b23
GM
10322 * composite.c (AREF): Remove definition.
10323
712eaef2
GM
103242000-07-12 Gerd Moellmann <gerd@gnu.org>
10325
d8ee7803
GM
10326 * dispnew.c (redraw_overlapped_rows): Add missing local.
10327 (scrolling_window): Remove debug code.
10328
712eaef2
GM
10329 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10330 Before scrolling, turn off a mouse-highlight in the window
10331 being scrolled.
10332
10333 * xterm.c (x_update_window_end): Add parameter
10334 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10335 redisplay in XTframe_up_to_date.
10336 (x_clear_mouse_face): New function.
10337 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10338
10339 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10340 current glyph row.
10341 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10342 it when any row is written to that contains glyphs highlighted in
10343 mouse-face.
10344 (update_window): Call the window update end hook with new
10345 parameter MOUSE_FACE_OVERWRITTEN_P.
10346 (direct_output_for_insert): Give up if row contains mouse-face.
10347
10348 * dispextern.h (struct redisplay_interface): Add parameter
10349 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10350 (clear_mouse_face): New function pointer member.
10351
02010917
SM
103522000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10353
10354 * syntax.c (back_comment): Use one switch rather than a few `if's.
10355 Obey open_paren_in_column_0_is_defun_start.
10356 When reverting to the `slow' method, try to nicely handle the case
10357 of nested comments by checking that the comment-starter we found
10358 does indeed match the comment-ender.
10359 (scan_sexps_forward, scan_sexps_forward):
10360 Ignore excessive opening parenthesis rather than throwing an error.
10361
d76c03ea
GM
103622000-07-11 Gerd Moellmann <gerd@gnu.org>
10363
10364 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10365 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10366
10367 * dispnew.c (direct_output_forward_char): Give up if currently
10368 displaying a message instead of the minibuffer contents.
10369
10370 * xterm.c (x_update_window_begin): No need to turn off the mouse
10371 highlight here.
10372 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10373 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10374
10375 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10376 compare the mouse_face_p flags of both rows.
10377
10378 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10379
d55ead18
EZ
103802000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10381
10382 * keyboard.c (show_help_echo): Accept additional parameter
10383 ok_to_overwrite_keystroke_echo.
10384 (read_char): Call show_help_echo with a zero
10385 ok_to_overwrite_keystroke_echo argument.
52283633 10386 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10387 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10388 ok_to_overwrite_keystroke_echo argument.
10389 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10390 non-zero ok_to_overwrite_keystroke_echo argument.
10391
df75b1a3
GM
103922000-07-10 Gerd Moellmann <gerd@gnu.org>
10393
4b92c49a
GM
10394 * xdisp.c (try_window_id): If changes are all below what is
10395 displayed in the window, and point is in the window, we still
10396 might have to find point on the display.
10397
10398 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10399 glyphs instead of a single one.
10400 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10401 with new argument list.
10402 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10403
df75b1a3
GM
10404 * keymap.c (get_keymap_1): Add comment that this function can GC.
10405 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10406 comment that functions can GC.
10407 (Fset_keymap_parent): GCPRO arg KEYMAP.
10408
4314cf3e
EZ
104092000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10410
10411 * msdos.c (XMenuActivate): After exiting the menu, restore the
10412 echo area message and erase it.
10413
ab49ce15
KH
104142000-07-10 Kenichi Handa <handa@etl.go.jp>
10415
10416 * fontset.c (Ffontset_info): Make the return value more compatible
10417 with that of Emacs 20.
10418
090a072f
GM
104192000-07-07 Gerd Moellmann <gerd@gnu.org>
10420
10421 * eval.c (Fsignal): Handle case that backtrace_list is null.
10422
f92de4a6
KH
104232000-07-07 Kenichi Handa <handa@etl.go.jp>
10424
10425 * ccl.c (Fccl_execute): Typo fixed.
10426
dd8888a1
GM
104272000-07-06 Gerd Moellmann <gerd@gnu.org>
10428
e5c81191 10429 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10430
dd8888a1
GM
10431 * window.c (Fwindow_list): Reverse list at the end.
10432 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10433 means allow windows on OWINDOW's frame, only.
10434 (window_loop): Simplified; use Fwindow_list.
10435
10436 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10437
485266d0
GM
104382000-07-05 Gerd Moellmann <gerd@gnu.org>
10439
10440 * xterm.c (XTread_socket): Increment handling_signal at the start,
10441 decrement it at the end.
10442
10443 * eval.c (handling_signal): New variable.
10444 (Fsignal): Abort if handling_signal is non-zero.
10445
10446 * lisp.h (handling_signal): External declaration.
178c5d9c 10447
485266d0
GM
10448 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10449
80fcd514
KR
104502000-07-05 Ken Raeburn <raeburn@gnu.org>
10451
10452 Sound support for NetBSD through "Linux emulation" support:
10453 * config.in (HAVE_SOUNDCARD_H): Undef.
10454 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10455 * Makefile.in (LIBSOUND): New variable.
10456 (LIBES): Include it.
52283633
SM
10457 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10458 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10459 (vox_open): Use DEFAULT_SOUND_DEVICE.
10460 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10461
d5c5cddd
GM
104622000-07-05 Gerd Moellmann <gerd@gnu.org>
10463
10464 * print.c (print_error_message): If Vsignaling_function is set,
10465 show it in *Messages*.
10466
10467 * lisp.h (Vsignaling_function): External declaration.
10468
10469 * eval.c (Vsignaling_function): New variable.
10470 (Fsignal): Compute it.
10471 (syms_of_eval): Staticpro it.
10472
65171e3a
DL
104732000-07-05 Dave Love <fx@gnu.org>
10474
10475 * syswait.h: Use the autoconf recommended approach. Old code
10476 #if'd out in case we need to revert.
10477
178c5d9c 10478 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10479
e2c46326
AI
104802000-07-05 Andrew Innes <andrewi@gnu.org>
10481
10482 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10483 when non-NULL instead of __morecore, to take account of buffer
10484 memory. This also solves a problem with spurious memory warnings
10485 on Windows.
10486
10487 * ralloc.c: Make real_morecore non-static.
10488
10489 * eval.c (internal_condition_case): Comment out abort if
10490 interrupt_input_blocked is not zero.
10491
10492 * makefile.nt: Add support for `bootstrap' and related targets.
10493 Include minimal debug info in emacs.exe in release build.
10494 Remove all dependencies on lisp.h, and fixup some others.
10495
10496 * w32.c (init_environment): Install code from 20.7 for providing
10497 default values for environment variables, based on the
10498 executable's own location.
52283633 10499 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10500 (sys_socket): Install socket inheritance bug fix from 20.7.
10501
10502 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10503 here via blockinput.h).
10504
a027a91b
SM
105052000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10506
e4b31601
SM
10507 * w32menu.c (w32_menu_display_help):
10508 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10509
10510 * keyboard.h (show_help_echo): Declare.
10511
10512 * keyboard.c (show_help_echo): New function, extracted from read_char.
10513 Feval its `msg' argument if it's a cons cell.
10514 (read_char): Use it.
4cf8d9d5 10515 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10516
178c5d9c 10517 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10518 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10519 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10520 (dos_rawgetc):
10521 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10522 (note_tool_bar_highlight, w32_read_socket):
10523 Do not gratuitously ignore non-string `help-echo' properties.
10524
88d75730
GM
105252000-07-05 Gerd Moellmann <gerd@gnu.org>
10526
969f7e79
GM
10527 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10528
71201b00
GM
10529 * window.c (delete_all_subwindows): Reset Vwindow_list.
10530
88d75730
GM
10531 * xterm.c (x_append_glyph, x_append_composite_glyph)
10532 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10533 changes in struct glyph starting 1999-12-27. Some bit-fields of
10534 struct glyph were not set, which made glyphs unequal when compared
10535 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10536 effects were the result. This also depended on the contents of
10537 memory returned by xmalloc. If flickering happens again, activate
10538 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10539 gone with that, chances are that it is caused by something similar.
88d75730
GM
10540
10541 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10542
88d75730
GM
10543 * dispextern.h: Add some comments.
10544
10545 * window.c (add_window_to_list): Add parameter LIST.
10546 (window_list): Order list so that, for each frame, windows are
10547 in canonical order, and so that frames appear in the list in
10548 the order given by Vframe_list.
10549 (next_window): Reverse the handling of NEXT_P.
10550
53654733
GM
105512000-07-04 Gerd Moellmann <gerd@gnu.org>
10552
87efd256
GM
10553 * window.c (Vwindow_list): New variable.
10554 (make_window, delete_window): Set Vwindow_list to nil.
10555 (check_window_containing): New function.
10556 (window_from_coordinates): Rewritten.
10557 (add_window_to_list, window_list, candidate_window_p)
10558 (decode_next_window_args, next_window): New functions.
52283633 10559 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10560 (Fwindow_list): New function.
10561 (Fother_window): Cleaned up.
10562 (foreach_window): Add a longer "variable argument list". Let
10563 callback function return 0 to indicate that cycling over windows
10564 should stop.
10565 (foreach_window_1): Likewise.
10566 (freeze_window_start): Return int.
10567 (init_window): New function.
10568 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10569
10570 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10571 input_event with bzero.
10572 (main): Call init_window.
10573
53654733
GM
10574 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10575 a menu filter.
10576
4a8c194f
KH
105772000-07-04 Kenichi Handa <handa@etl.go.jp>
10578
10579 * composite.h (make_composition_value_copy): Extern it.
10580
10581 * composite.c (make_composition_value_copy): New function.
10582
10583 * editfns.c (Fformat): While copying text properties, make each
10584 composition property value a copy.
10585
10586 * fns.c (concat): While copying text properties, make each
10587 composition property value a copy.
10588
831a6cb0
GM
105892000-07-03 Gerd Moellmann <gerd@gnu.org>
10590
2f516940
GM
10591 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10592
178c5d9c 10593 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10594 marked already.
10595
831a6cb0
GM
10596 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10597 include those frames as candidates which have their focus
10598 redirected to the minibuffer frame.
10599
d9c4f922
SM
106002000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10601
10602 * fns.c (Fputhash): Return `value' rather than nil.
10603
3780bc22
GM
106042000-06-30 Gerd Moellmann <gerd@gnu.org>
10605
97d176db
GM
10606 * frame.c (next_frame): Don't check focus redirection in case
10607 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10608 unless their focus is redirected, which contradicts the
10609 specification of next-frame, and leads to infinite loops in
10610 certain situations when cycling through windows with next-window.
10611
dca9961d
KH
106122000-06-30 Kenichi Handa <handa@etl.go.jp>
10613
10614 * coding.c (code_convert_region): Even if the length of text is
10615 zero, try to convert it if coding->type is coding_type_ccl.
10616 (decode_coding_string, encode_coding_string): Likewise.
10617
d5483ab1
GM
106182000-06-28 Gerd Moellmann <gerd@gnu.org>
10619
af5c25e1 10620 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10621 the display if windows_or_buffers_changed.
af5c25e1
GM
10622
10623 * dispnew.c (struct row_entry): New structure.
10624 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10625 (row_table_size, old_lines, new_lines, old_lines_size)
10626 (new_lines_size, run_pool, runs_size, runs): New variables.
10627 (add_row_entry): New function.
10628 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10629 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10630 holding them in local variables. Use a larger hash table whose
10631 size depends on glyph matrix sizes. Don't use bzero to clear the
10632 hash table; instead, clear used slots only.
10633
10634 * fns.c (next_almost_prime): Make it externally visible.
10635
10636 * lisp.h (next_almost_prime): Add prototype.
10637
d5483ab1
GM
10638 * s/isc4-0.h (sigunblock): Define.
10639
10640 * s/sco5.h (sigunblock): Define.
10641
93e40f40
DL
106422000-06-27 Dave Love <fx@gnu.org>
10643
10644 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10645 (moved to osf5-0.h).
10646 [!NOT_C_CODE]: Protect string.h stuff.
10647
10648 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10649 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10650
3c4b7685
GM
106512000-06-27 Gerd Moellmann <gerd@gnu.org>
10652
97d176db 10653 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10654 below the last line from the needed window height.
10655
32cad0aa
SM
106562000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10657
10658 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10659 (Fwidget_get): Use it.
10660 (syms_of_fns): Defsubr it.
10661
2c69ced2
GM
106622000-06-26 Gerd Moellmann <gerd@gnu.org>
10663
178c5d9c 10664 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10665 display info for XIM.
10666 (xim_open_dpy): Likewise.
10667 (xim_close_dpy): Don't free the display info's XIM.
10668
10669 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10670
10671 * config.in (USE_XIM): New define.
10672
3fc720e4
GM
10673 * keymap.c (get_keyelt): For menu-items containing a `:filter
10674 FILTER', apply FILTER to the menu-item's definition to get the
10675 real definition to use.
10676
10677 * lisp.h (QCfilter): External declaration.
10678
2c69ced2
GM
10679 * xfns.c (Fimage_size): New function.
10680 (syms_of_xfns): Defsubr it.
10681
f978b2a2
AS
106822000-06-26 Andreas Schwab <schwab@suse.de>
10683
10684 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10685 Fstring_as_unibyte.
10686
94cc7892
DL
106872000-06-25 Dave Love <fx@gnu.org>
10688
52283633 10689 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10690
10691 * Makefile.in (blockinput.h): Depend on atimer.h.
10692 (atimer.h): Depend on systime.h.
10693
52283633 10694 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10695
52283633 10696 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10697
10698 * lisp.h (swap_in_global_binding): Declare.
10699
b8c24556
KR
107002000-06-24 Ken Raeburn <raeburn@gnu.org>
10701
10702 * process.c (Fopen_network_stream): Turn off atimers for duration
10703 of call to connect. (Patch from Gerd.)
10704
8cf8560b
DL
107052000-06-23 Dave Love <fx@gnu.org>
10706
511c7541
DL
10707 * ralloc.c: Maybe include unistd.h
10708
8cf8560b
DL
10709 * emacs.c (setgrp): Undefine before defining.
10710 (malloc_warning, set_time_zone_rule, index): Prototype.
10711
10712 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10713 HAVE_STRUCT_TIMEZONE.
10714
10715 * s/osf1.h: Move string.h hack here from alpha.h and make it
10716 conditional.
10717 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10718 _XOPEN_SOURCE.
10719 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10720 (SOCKLEN_TYPE): Don't define.
10721
10722 * m/alpha.h: Remove string.h hack.
10723
10724 * s/osf5-0.h: New file.
10725
10726 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10727 include time.h, done by systime.h.
10728 [__FreeBSD__]: Remove redundant includes.
10729
3fc720e4 10730 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10731 (delete_temp_file): Return Qnil to avoid warning.
10732
10733 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10734
10735 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10736 HAVE_X_WINDOWS.
10737
10738 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10739
10740 * composite.h (compose_text): Declare.
10741
10742 * xterm.c: Don't include sys/types.h unconditionally. Don't
10743 protect its inclusion with !USG (following xmenu.c).
10744
ea055732
GM
107452000-06-23 Gerd Moellmann <gerd@gnu.org>
10746
10747 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10748 in x_create_frame.
10749
74b01b80
EZ
107502000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10751
10752 * coding.c (decode_eol_post_ccl): Special handling for undecided
10753 and inconsistent EOL types.
10754
64f3a166
GM
107552000-06-22 Gerd Moellmann <gerd@gnu.org>
10756
16cf31f7
GM
10757 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10758 trough color and main window's background color.
10759
52283633 10760 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10761
10762 * xterm.h (Xt_app_con): External declaration.
10763
10764 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10765
486a103d
GM
10766 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10767
64f3a166
GM
10768 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10769 (handle_invisible_prop): Record the start of invisible text in
10770 it->add_overlay_start.
10771 (struct overlay_entry): Add member `overlay'.
10772 (handle_overlay_change): Simplify.
10773 (next_overlay_string): After having processed overlay strings at the
10774 end of the buffer, record that fact in
10775 it->overlay_strings_at_end_processed_p.
10776 (compare_overlay_entries): If before- and after-strings come
10777 from the same overlay, let before-strings come first.
10778 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10779 (load_overlay_strings): Take it->add_overlay_start into account
10780 when adding overlay strings.
10781
10782 * dispextern.h (struct it): Add member add_overlay_start.
10783
bb746ea6
DL
107842000-06-22 Dave Love <fx@gnu.org>
10785
10786 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10787
10788 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10789
a8f573f3
KH
107902000-06-22 Kenichi Handa <handa@etl.go.jp>
10791
10792 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10793 is greater than 0.
10794
9f2bbc92
DL
107952000-06-21 Dave Love <fx@gnu.org>
10796
178c5d9c 10797 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10798
3ee5041c
SM
107992000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10800
10801 * syntax.c (back_comment): Simplify string-parity counting (with
10802 the added benefit of handling multiple string-styles as long as
10803 they are not intertwined).
10804 Jump to the slow code as soon as a comment starter is found in
10805 a "string_lossage" position. Fixes the case: " /* " /* " */.
10806
4c343001
DL
108072000-06-21 Dave Love <fx@gnu.org>
10808
10809 * Makefile.in: Use GETLOADAVG_LIBS.
10810
10811 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10812 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10813
e6365855
SM
108142000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10815
10816 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10817 (Fforward_comment, scan_lists):
10818 Check the comstyle of single-char comment-starters.
10819 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10820 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10821 Check the comstyle of single-char comment-starters.
10822 Clarify control-flow around the Scomment case.
e6365855 10823
5700d2cc
DL
108242000-06-20 Dave Love <fx@gnu.org>
10825
d355bd8a
SM
10826 * fns.c (make_hash_table, maybe_resize_hash_table):
10827 Cast arg of next_almost_prime.
5700d2cc 10828
178c5d9c 10829 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10830
10831 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10832 and unistd.h.
10833
4a27bdfb
GM
108342000-06-20 Gerd Moellmann <gerd@gnu.org>
10835
a61d762c 10836 * keyboard.c (adjust_point_for_property): Check if display
52283633 10837 property should be treated as intangible by looking at its value.
a61d762c 10838
178c5d9c 10839 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10840 (display_prop_intangible_p): New functions.
10841
10842 * dispextern.h (display_prop_intangible_p): Add prototype.
10843
10844 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10845
4a27bdfb
GM
10846 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10847 argument to sigprocmask.
10848
10849 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10850 argument to sigprocmask.
10851
10852 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10853 sigprocmask_set, and pass a pointer to it to sigprocmask.
10854
10855 * sysdep.c (sigprocmask_set): New variable.
10856
10857 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10858 report_file_error.
10859
427ec082
SS
108602000-06-20 Sam Steingold <sds@gnu.org>
10861
10862 * xrdb.c: Don't declare xmalloc, xrealloc.
10863
8972fe79 108642000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10865
10866 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10867 (re_comp): Cast gettext return value to avoid complaints when
10868 !HAVE_LIBINTL.
10869
074b6efe
DL
108702000-06-20 Dave Love <fx@gnu.org>
10871
52283633 10872 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10873
5700d2cc 10874 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10875
d355bd8a 10876 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10877
10878 * m/alpha.h: Don't declare xmalloc, xrealloc.
10879
0af4f205
DL
10880 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10881
10882 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10883
10884 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10885
10886 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10887 HAVE_GETWD.
10888
074b6efe
DL
10889 * keyboard.h (poll_for_input_1): Declare.
10890
10891 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10892
10893 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10894
10895 * doprnt.c: Don't declare xmalloc, xrealloc.
10896
10897 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10898 (getenv, ctime, getwd): Removed.
10899 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10900
10901 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10902 x_set_tool_bar_lines.
10903
10904 * config.in: Add HAVE_GETWD. Move some definitions above
10905 machine/system includes.
10906
68a5e97b
KH
109072000-06-20 Kenichi Handa <handa@etl.go.jp>
10908
95417e1e
KH
10909 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10910
68a5e97b
KH
10911 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10912 contain information about ENCODING.
10913
10914 * fontset.c (FONTSET_ASCII): Use the first element of char table
10915 for an ASCII font, not defalt slot.
10916 (fontset_ref_via_base): If FONTSET doesn't contain information for
10917 C, try the default fontset.
10918 (make_fontset): Don't copy the default fontset.
10919 (fontset_font_pattern): Likewise.
10920 (accumulate_font_info): If ELT is nil, use the corresponding
10921 element in the default fontset.
10922
3b4fa1b2
DL
109232000-06-19 Dave Love <fx@gnu.org>
10924
943e731c
DL
10925 * syntax.c (Fparse_partial_sexp): Doc fix.
10926
10927 * regex.h: Test PROTOTYPES as well as __STDC__.
10928
3b4fa1b2
DL
10929 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10930 errno, strerror. Put text after #endif in comment.
10931
52283633 10932 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10933
10934 * xterm.c (x_frame_of_widget): Likewise.
10935
cdf0357b
GM
109362000-06-19 Gerd Moellmann <gerd@gnu.org>
10937
10938 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10939 to Vfundamental_mode_abbrev_table.
10940
10941 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10942 bogus objects are marked. This slows down GC by ~80 percent, but
10943 it might be worth trying when debugging GC-related problems.
10944 This feature requires conservative stack marking to be enabled.
10945
10946 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10947 returns XLookupChars, reset `modifiers' to zero.
10948
998e9f8c
DL
109492000-06-19 Dave Love <fx@gnu.org>
10950
10951 * mktime.c: Unprotoized.
10952
18e21ce8 109532000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10954
10955 * data.c (set_internal): If variable is frame-local,
10956 store the new value immediately into the frame parameter alist.
10957
140c4ac6
KR
109582000-06-19 Ken Raeburn <raeburn@gnu.org>
10959
14358466
KR
10960 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10961 in the custom handler pointer.
10962
140c4ac6
KR
10963 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10964 value, or checks for CHAR_META can fail when Lisp_Object is a
10965 union type.
10966 * keymap.c (get_keyelt): Likewise.
10967
10d7bf84
KH
109682000-06-19 Kenichi Handa <handa@etl.go.jp>
10969
10970 * ccl.h (struct ccl_program): New member eol_type.
10971 (struct ccl_spec): New member cr_carryover.
10972
10973 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10974 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10975
10976 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10977 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10978 (decode_eol_post_ccl): New function.
10979 (decode_coding): Don't detect EOL format here for CCL based coding
10980 systems.
10981 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10982 decode_eol_post_ccl after running the CCL program.
10983 (code_convert_region): Don't detect EOL format here for CCL based
10984 coding systems.
10985 (decode_coding_string): Likewise.
10986
52e386c2
KR
109872000-06-18 Ken Raeburn <raeburn@gnu.org>
10988
10989 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10990 when treating it as an integer.
10991
10992 * coding.h (encode_coding_string): Declare.
10993
10994 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10995 it as an integer.
10996
10997 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10998 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10999 to be passed to get_local_map.
11000
11001 * sound.c (Fplay_sound): Don't call make_number on
11002 Frun_hook_with_args count argument.
11003
11004 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11005 for lisp objects in X event structure data field, when lisp
11006 objects are represented with unions.
11007 (x_scroll_bar_to_input_event): Ditto.
11008
b357b9d4
KR
110092000-06-16 Ken Raeburn <raeburn@gnu.org>
11010
11011 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11012 termination of string. Fix sense of test whether
11013 Vline_number_display_limit is an integer.
b357b9d4 11014
a871441d
GM
110152000-06-16 Gerd Moellmann <gerd@gnu.org>
11016
a9021acd
GM
11017 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11018 only if HAVE_X_WINDOWS.
11019
6344985d
GM
11020 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11021 of titles.
11022
427ec082 11023 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11024 out of bounds.
11025
228b083e
EZ
110262000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11027
11028 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11029 of its headers.
11030
c25b53a2
KH
110312000-06-15 Kenichi Handa <handa@etl.go.jp>
11032
11033 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11034 start of the while loop.
11035
a6981b11
GM
110362000-06-15 Gerd Moellmann <gerd@gnu.org>
11037
e9924e52
GM
11038 * atimer.c (alarm_signal_handler): Add forward declaration.
11039
a6981b11
GM
11040 * data.c (set_internal): Remove debug code.
11041
25fa6deb
GM
110422000-06-14 Gerd Moellmann <gerd@gnu.org>
11043
dce6b995
GM
11044 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11045
9f817ea4
GM
11046 * unexec.c (toplevel) [COFF]: Include coff.h.
11047
11048 * s/lynxos.h: New file.
11049
11050 * keymap.c (Fsingle_key_description): Enclose function key and
11051 event symbol names in angle brackets.
11052
8a4e3c0c
GM
11053 * xdisp.c (setup_echo_area_for_printing): Call
11054 message_log_maybe_newline if message_buf_print is not set.
11055
11056 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11057 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11058 function does something useful even when message_buf_print is
11059 already set.
11060
52283633
SM
11061 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11062 New variables.
25fa6deb
GM
11063 (ensure_echo_area_buffers): Initialize echo buffer's
11064 truncate lines setting to nil.
11065 (with_echo_area_buffer): Don't set the echo buffer's truncate
11066 lines setting here.
8a4e3c0c 11067 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11068 of message_truncate_lines.
11069 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11070 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11071 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11072
11073 * keyboard.c (read_char): Bind message-truncate-lines to t
11074 while displaying a help-echo.
11075
11076 * lisp.h (Qmessage_truncate_lines): External declaration.
11077
163dcff3
GM
110782000-06-13 Gerd Moellmann <gerd@gnu.org>
11079
1681ead6
GM
11080 * xdisp.c (Vline_number_display_limit): Renamed from
11081 line_number_display_limit.
11082 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11083 Extend documentation string. Initialize
11084 Vline_number_display_limit to nil meaning no limit.
11085 (decode_mode_spec): Use Vline_number_display_limit with its new
11086 meaning.
11087
163dcff3
GM
11088 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11089
18e21ce8 110902000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11091
11092 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11093
163dcff3
GM
11094 * xfns.c (x_set_frame_parameters): Comment fix.
11095
11096 * frame.c (store_frame_param): Call swap_in_global_binding if the
11097 variable's current binding was chosen based on this frame.
11098
11099 * data.c (swap_in_global_binding): New function.
11100
a704139d
EZ
111012000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11102
11103 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11104 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11105
9b6610db
EZ
111062000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11107
11108 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11109
c68833d2
JR
111102000-06-12 Jason Rumney <jasonr@gnu.org>
11111
11112 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11113
11114 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11115
11116 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11117
11118 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11119
ed1056b3
GM
111202000-06-12 Gerd Moellmann <gerd@gnu.org>
11121
11122 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11123 (syms_of_xfaces): Defsubr Sdump_colors.
11124 (x_free_colors): Don't treat b&w specially on default visual.
11125 (x_free_dpy_colors): New function.
11126 (free_face_colors): Don't check visual class; it's done
11127 in x_free_colors.
11128
11129 * xterm.c (x_frame_of_widget): New function.
11130 (x_alloc_nearest_color_for_widget): Use it.
11131 (x_copy_dpy_color): New function.
11132 (x_destroy_window): Free various colors.
11133
5050a2ef
KH
111342000-06-12 Kenichi Handa <handa@etl.go.jp>
11135
11136 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11137
11138 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11139
11140 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11141
11142 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11143
11144 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11145
fb1b041d
DL
111462000-06-11 Dave Love <fx@gnu.org>
11147
11148 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11149
ff96b5f4
EZ
111502000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11151
11152 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11153
db8eeecd
GM
111542000-06-11 Gerd Moellmann <gerd@gnu.org>
11155
ed1056b3 11156 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11157 to `XEvent *'.
11158
49b71c5f
KH
111592000-06-10 Kenichi Handa <handa@etl.go.jp>
11160
c479bd55
KH
11161 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11162 (regex_compile): Fix the code for handling the case of single byte
11163 char and multibyte char being mixed in a range within [...].
11164
ff6a65c2
KH
11165 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11166 and dst_multibyte members of coding.
11167
49b71c5f
KH
11168 * charset.c (update_charset_table): Update the table
11169 bytes_by_char_head.
11170 (init_charset_once): Initialize elements of bytes_by_char_head to
11171 1 except for leading codes for private charases.
11172
11173 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11174 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11175
9e80b57d
KR
111762000-06-09 Ken Raeburn <raeburn@gnu.org>
11177
11178 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11179 access the data it doesn't point to.
11180
f83fe4b4
GM
111812000-06-08 Gerd Moellmann <gerd@gnu.org>
11182
11183 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11184 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11185 event queue. This is necessary because Emacs otherwise won't
11186 perform a switch-frame to a new frame until some other event, for
11187 example a keystroke event, forces it to do so. This has various
11188 effects, one visible being that the cursor of a frame created with
11189 C-x 5 2 or switched to with a window manager key binding like
11190 A-TAB stays hollow because selected_window isn't on the newly
11191 focused frame until the switch-frame is performed.
11192
11193 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11194 generating a switch-frame event if necessary.
11195
11196 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11197
11198 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11199 it's an integer.
11200
0890801b
KH
112012000-06-08 Kenichi Handa <handa@etl.go.jp>
11202
52283633 11203 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11204
173cbca8
GM
112052000-06-07 Gerd Moellmann <gerd@gnu.org>
11206
3091c2a6
GM
11207 * window.c (displayed_window_lines): Take empty lines at
11208 the bottom of a window into account.
427ec082 11209
f38952fe
GM
11210 * window.c (displayed_window_lines): New function.
11211 (Fmove_to_window_line): Use displayed_window_lines to determine
11212 the number of lines to move, instead of using the window's height.
11213
11214 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11215 to stop reading, even if the form read sets point to a different
11216 value when evaluated.
11217
427ec082 11218 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11219 put the cursor.
11220
6ba6c818
KH
112212000-06-07 Kenichi Handa <handa@etl.go.jp>
11222
11223 * fileio.c (e_write): Free composition data if stored in
11224 coding->cmp_data.
11225
5f1aea9a
GM
112262000-06-06 Gerd Moellmann <gerd@gnu.org>
11227
666852af
GM
11228 * xdisp.c (display_line): Set row's and iterator's
11229 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11230 Set cursor even if row ends in the middle of a character.
11231 (dump_glyph_row): Print values of new flags.
11232 (redisplay_window) <cursor movement in unchanged window>: When
11233 point has been moved forward, and PT is at the end of the cursor
11234 row, don't place the cursor in the next row if the cursor row ends
11235 in the middle of a character or at ZV.
11236
11237 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11238 (struct glyph_row): Add starts_in_middle_of_char_p and
11239 ends_in_middle_of_char_p.
11240 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11241 ends_in_middle_of_char_p flag.
11242 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11243
d13f3e2e
GM
11244 * term.c (append_glyph): Revert change of 2000-06-06.
11245
11246 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11247 padding glyph not fitting on line as whole character not
11248 fitting on line.
11249
5f1aea9a
GM
11250 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11251 this isn't true for images with `:ascent 100'.
11252
10cda9b0
KH
112532000-06-06 Kenichi Handa <handa@etl.go.jp>
11254
ed00559d
KH
11255 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11256 as modified if it is originally unmodified.
11257
10cda9b0
KH
11258 * term.c (encode_terminal_code): Change the way to check if
11259 terminal coding does any conversion.
11260 (append_glyph): Set glyph->pixel_width correctly.
11261
11262 * xdisp.c (display_line): While checking line continuation, pay
11263 attention to a padding glyph.
11264
1969fae2
GM
112652000-06-05 Gerd Moellmann <gerd@gnu.org>
11266
11267 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11268
162ccef4
DL
112692000-06-05 Dave Love <fx@gnu.org>
11270
f19f32dd
DL
11271 * xdisp.c: Include fontset.h.
11272
11273 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11274
11275 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11276
11277 * dispnew.c: Conditionally include term.h.
11278
11279 * coding.h: Declare code_convert_string_norecord.
11280
11281 * frame.h (struct frame): Use volatile unconditionally.
11282
11283 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11284
11285 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11286
11287 * systime.h: Protect against multiple inclusion.
11288 (timezone) [USG5_4]: Define as time_t.
11289
11290 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11291 (Foptimize_char_table, make_temp_name): Declare.
11292
11293 * Makefile.in (xdisp.o): Depend on fontset.h.
11294
11295 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11296
11297 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11298 (Foptimize_char_table, make_temp_name): Declare.
11299
427ec082 11300 * s/irix4-0.h:
162ccef4
DL
11301 * s/irix5-0.h:
11302 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11303
2082fe81
DL
113042000-06-02 Dave Love <fx@gnu.org>
11305
11306 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11307
dcf671d2
GM
113082000-06-02 Gerd Moellmann <gerd@gnu.org>
11309
11310 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11311 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11312 be freed.
11313
11314 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11315 glyph, use the ASCII NUL character to determine the face.
11316
d42122a3
DL
113172000-06-02 Dave Love <fx@gnu.org>
11318
11319 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11320 (VFORK_RETURN_TYPE): Remove.
427ec082 11321
d42122a3
DL
11322 * config.in: Add NO_MATHERR.
11323
dd432f16
DL
113242000-06-01 Dave Love <fx@gnu.org>
11325
90aa4ea8
DL
11326 * cmds.c (internal_self_insert): Don't check
11327 Vbefore_change_function, Vafter_change_function.
11328
11329 * insdel.c (signal_before_change, signal_after_change): Likewise.
11330
11331 * buffer.c (Vbefore_change_function, Vafter_change_function):
11332 Variables and their initializations deleted.
11333
2330c9d4
DL
11334 * callint.c (Fcall_interactively): Doc fix.
11335
dd432f16
DL
11336 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11337
bf9e8804
DL
113382000-05-31 Dave Love <fx@gnu.org>
11339
11340 * textprop.c: Revert last change -- duplicated.
11341
3694b4ab
GM
113422000-05-31 Gerd Moellmann <gerd@gnu.org>
11343
11344 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11345 in #if 0.
11346
11347 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11348
f14156cd
JR
113492000-05-31 Jason Rumney <jasonr@gnu.org>
11350
8119aab8
JR
11351 * search.c (Fre_search_forward, Fre_search_backward)
11352 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11353
f14156cd
JR
11354 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11355
4aab9be3
JR
113562000-05-30 Jason Rumney <jasonr@gnu.org>
11357
11358 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11359 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11360
52283633 11361 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11362
11363 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11364 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11365 expand a nil default_filename.
11366
11367 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11368 pointer to glyph_to_pixel_coords, not a frame.
11369
11370 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11371 coding.h to dependencies.
11372
11373 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11374
11375 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11376 window pointer to be consistent with w32term.c and xterm.c.
11377
11378 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11379 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11380 (Qline_spacing, Qcenter): New variables.
11381 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11382 (x_set_line_spacing): New function.
52283633 11383 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11384 (x_specified_cursor_type): New function.
11385 (x_set_cursor_type): Use it.
11386 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11387 and icon strings.
11388 (validate_x_resource_name, x_get_resource_string): Measure lengths
11389 of external strings in bytes.
11390 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11391 GetTextExtentPoint32 with NULL title.
11392 (Fx_create_frame): Initialize Qline_spacing.
11393 (w32_load_system_font): Initialize font->double_byte_p.
11394 (x_to_w32_charset): Use Vw32_charset_info_alist.
11395 (Image, busy cursor, tooltip functions): Merged changes from
11396 xfns.c. Not yet functional on Windows.
11397
11398 * w32gui.h (W32FontStruct): Add double_byte_p member.
11399
11400 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11401 (emacs_button_translation): Use it.
11402 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11403 in `mask' to be set.
11404
11405 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11406 menu strings.
11407
11408 * w32term.c: Format and doc changes to bring closer to xterm.c.
11409 (w32_char_font_type): New enum.
11410 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11411 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11412 (w32_encode_char): New function.
11413 (x_encode_char): Removed.
11414 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11415 x_encode_char and w32_font_is_double_byte.
11416 (x_produce_image_glyph): Use image_ascent.
11417 (x_produce_glyphs): Use new version of w32_per_char_metric and
11418 handle NULL return value. Allow extra line spacing.
11419 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11420 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11421 w32_font_type member of glyph instead.
11422 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11423 (fast_find_position): Make sure not to consider rows not visible
11424 in the window.
11425 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11426 w32_menu_display_help with input blocked, as it can abort.
11427 (x_display_and_set_cursor): Choose cursor depending
11428 on buffer-local value of cursor_type.
11429 (x_draw_bar_cursor): Add parameter WIDTH.
11430
11431 * w32term.h (CP_DEFAULT): Define.
11432 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11433
10fc3187
GM
114342000-05-30 Gerd Moellmann <gerd@gnu.org>
11435
11436 * search.c (Fre_search_forward, Fre_search_backward)
11437 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11438
d0555360
KH
114392000-05-30 Kenichi Handa <handa@etl.go.jp>
11440
11441 * coding.c (detect_coding_iso2022): Fix code for checking
11442 CODING_CATEGORY_MASK_ISO_8_2.
11443
f1ad044f
SM
114442000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11445
11446 * regex.c (PREFETCH_NOLIMIT): New function.
11447 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11448
84ec3b4b
GM
114492000-05-29 Gerd Moellmann <gerd@gnu.org>
11450
66254a13
GM
11451 * syntax.c (find_defun_start): Move test for
11452 open_paren_in_column_0_is_defun_start outside of the loop.
11453
49e70dec
GM
11454 * xdisp.c (redisplay_window): Really switch buffers when
11455 displaying mode lines, and temporarily set selected_frame to the
11456 frame of the window that's redisplayed.
11457
84ec3b4b
GM
11458 * xfaces.c (free_realized_faces): Block/unblock input.
11459 (free_realized_multibyte_face): Ditto.
11460
869a3a14
DL
114612000-05-29 Dave Love <fx@gnu.org>
11462
11463 * textprop.c (Qkeymap): New variable.
11464 (syms_of_textprop): Intern it.
11465
11466 * keymap.c: Include intervals.h.
11467 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11468
11469 * Makefile.in (keymap.o): Depend on intervals.h.
11470
11471 * keyboard.c (menu_bar_items, tool_bar_items)
11472 (Fexecute_extended_command): Deal with `keymap' property.
11473 (read_key_sequence): Track map from `keymap' property as well as
11474 `local_map'.
11475
11476 * intervals.c (get_local_map): Extra arg to allow looking for
11477 `keymap' too.
11478
11479 * intervals.h (map_property): New enum.
11480 (get_local_map): Extra arg using it.
11481 (Qkeymap): Declare.
11482
84ec3b4b 11483 * lisp.h (get_local_map): Don't declare here.
869a3a14 11484
89d0c844
KH
114852000-05-29 Kenichi Handa <handa@etl.go.jp>
11486
11487 * Makefile.in (callproc.o): Depend on composite.h.
11488
11489 * callproc.c: Include composite.h.
11490 (Fcall_process): Handle composition correctly.
11491
11492 * coding.h (coding_allocate_composition_data): Extern it.
11493 (coding_restore_composition): Likewise.
11494
11495 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11496 yet allocated, finish decoding with result
11497 CODING_FINISH_INSUFFICIENT_CMP.
11498 (coding_allocate_composition_data): Make it non-static.
11499 (coding_restore_composition): Likewise.
11500
797a084a
EZ
115012000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11502
11503 * charset.c (syms_of_charset): Revert last change.
11504
cf872af5
EZ
115052000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11506
11507 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11508 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11509 Handa.
cf872af5 11510
5b1ae051
EZ
115112000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11512
11513 * charset.c (syms_of_charset): Set width of character sets
11514 eight-bit-control and eight-bit-graphic to 1 column.
11515
34ec9ebe
GM
115162000-05-26 Gerd Moellmann <gerd@gnu.org>
11517
11518 * config.in (HAVE_SPEED_T): New define.
11519
11520 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11521 `extern speed_t'.
11522
dd854dc2
DL
115232000-05-26 Dave Love <fx@gnu.org>
11524
11525 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11526
11527 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11528 (Fsubr_arity): New function.
11529 (syms_of_data): Install them.
11530
ba9f8f95
KH
115312000-05-26 Kenichi Handa <handa@etl.go.jp>
11532
0f3e0672
KH
11533 * charset.c (init_charset_once): Set the table bytes_by_char_head
11534 correctly.
11535
cebefb44
KH
11536 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11537 the default fontset to what Emacs uses by default.
0f3e0672
KH
11538 (check_registry_encoding): This function deleted.
11539 (Fset_fontset_font): Remove the adhoc condition for the default
11540 fontset. Allow cons in FONTNAME.
cebefb44 11541
0f3e0672
KH
11542 * fns.c (map_char_table): Ignore char-table entries for
11543 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11544
7a18af49
KR
115452000-05-25 Ken Raeburn <raeburn@gnu.org>
11546
11547 * emacs.c (main): Initialize keyboard syms before initializing
11548 window code, so face names are available.
11549
d2af47df
SM
115502000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11551
11552 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11553 of an anchor at the beginning of a shy-group.
11554
fc6a6a4e
GM
115552000-05-25 Gerd Moellmann <gerd@gnu.org>
11556
11557 * xdisp.c (handle_invisible_prop): Don't try to skip over
11558 invisible text if end of text is already reached.
11559
005f0d35
DL
115602000-05-25 Dave Love <fx@gnu.org>
11561
02513cdd
DL
11562 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11563
005f0d35
DL
11564 * coding.c (encode_eol): Add null statement after label.
11565
89f6ca4e
EZ
115662000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11567
11568 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11569 2000-05-20.
11570
a4e1759e
KH
115712000-05-25 Kenichi Handa <handa@etl.go.jp>
11572
11573 * ccl.c (ccl_driver): Fix previous change.
11574
eacfd7fe
KH
115752000-05-25 Kenichi Handa <handa@etl.go.jp>
11576
46ab33a9
KH
11577 * coding.c (run_pre_post_conversion_on_str): Set point to the
11578 beginning of buffer before calling coding->post_read_conversion.
11579 (decode_coding_string): Give correct args to
11580 run_pre_post_conversion_on_str.
11581 (encode_coding_string): Likewise.
11582
eacfd7fe
KH
11583 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11584 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11585 eight-bit-graphic correctly.
11586
f8569325
DL
115872000-05-24 Kenichi HANDA <handa@etl.go.jp>
11588
11589 * fileio.c (Finsert_file_contents): Even if a file is not found,
11590 execute codes for setting up coding system. Call
11591 after-insert-file-functions unconditionally.
11592
04545643
GM
115932000-05-24 Gerd Moellmann <gerd@gnu.org>
11594
11595 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11596 BSD_PGRPS are not defined.
11597
747d90ea
KH
115982000-05-24 Kenichi Handa <handa@etl.go.jp>
11599
11600 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11601 DESCRIPTION.
11602 (syms_of_charset): Avoid building same strings.
11603
716e3b88
GM
116042000-05-23 Gerd Moellmann <gerd@gnu.org>
11605
11606 * lread.c (Fload): Add a comment about the meaning of
11607 Vuser_init_file being t.
11608
11609 * puresize.h (BASE_PURESIZE): Increase to 675000.
11610
11611 * s/gnu-linux.h (setpgrp): Don't define it here because this
11612 prevents compilation on GNU/Linux systems with glib 2.2.
11613
11614 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11615 as setpgid.
427ec082 11616
9aeb39fa
EZ
116172000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11618
11619 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11620 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11621 version.
11622 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11623
29ced61b
KH
116242000-05-23 Kenichi Handa <handa@etl.go.jp>
11625
52283633 11626 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11627
3d80f24d
KH
11628 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11629
52283633 11630 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11631
29ced61b
KH
11632 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11633
d7e00792
KH
116342000-05-22 Kenichi Handa <handa@etl.go.jp>
11635
c9d80d38
KH
11636 * keyboard.c (read_char): Allow character codes 128..255 to be
11637 handled by input-method-function.
11638
d7e00792
KH
11639 * insdel.c (adjust_markers_for_replace): Fix previous change.
11640 (adjust_after_replace): If PREV_TEXT is nil, call
11641 adjust_markers_for_insert, not adjust_markers_for_replace.
11642
087121cc 116432000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11644
087121cc
GM
11645 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11646 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11647 [HAVE_GRANDPT]: Define.
11648 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11649
11650 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11651 like SYSV_PTYS.
11652
11653 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11654
11655 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11656
c9671f81
KH
116572000-05-20 Kenichi Handa <handa@etl.go.jp>
11658
11659 The following changes are to handle 8-bit characters in a
11660 multibyte buffer/string without facing with byte combining
11661 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11662 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11663
11664 * Makefile.in (fns.o): Depend on charset.h.
11665
11666 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11667 convert it to unibyte.
11668 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11669
11670 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11671 apparent char boundary.
11672 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11673 0x80..0x9F to/from multibyte form.
11674
11675 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11676 to unibyte.
11677
11678 * callproc.c (Fcall_process): Always encode an argument string if
11679 it is multibyte. Setup src_multibyte and dst_multibyte members of
11680 process_coding properly.
ce75fd23 11681
c9671f81
KH
11682 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11683 SPLIT_NON_ASCII_CHAR.
11684
11685 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11686 as is.
11687 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11688
52283633 11689 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11690 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11691 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11692 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11693 and eight-bit-graphic.
11694 (char_to_string): Likewise. Signal an error for too large
11695 character code.
11696 (char_printable_p): Return 0 for 8-bit characters.
11697 (update_charset_table): Update iso_charset_table only when a final
11698 character is non-negative.
11699 (find_charset_in_text): Renamed from find_charset_in_str.
11700 Arguments and return value changed. Callers changed.
11701 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11702 be -1 if CHARSET is used only internally.
11703 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11704 eight-bit-graphic.
11705 (Fcharset_after): Simplified.
11706 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11707 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11708 (multibyte_chars_in_text): Simplified by assuming there's no
11709 invalid multibyte sequence.
52283633
SM
11710 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11711 (str_as_unibyte): New functions.
11712 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11713 (init_charset_once): Initialization for
11714 LEADING_CODE_8_BIT_CONTROL.
11715 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11716 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11717 eight-bit-control and eight-bit-graphic.
11718
52283633
SM
11719 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11720 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11721 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11722 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11723 (CHARSET_REVERSE_CHARSET): Likewise.
11724 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11725 eight-bit-graphic.
11726 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11727 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11728 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11729 encounter an invalid multibyte sequence.
11730 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11731 sequence is always valid.
11732 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11733 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11734 (CHAR_STRING): For 8-bit characters, call char_to_string.
11735 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11736 multibyte sequence is always valid.
11737 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11738 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11739 (str_as_unibyte): Extern them.
c9671f81 11740 (BCOPY_SHORT): Fix a bug.
52283633 11741 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11742 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11743 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11744 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11745
bd4bde7f 11746 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11747 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11748 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11749 (EMIT_BYTES): New macros.
11750 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11751 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11752 macros deleted.
11753 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11754 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11755 check the validity of multibyte sequence.
11756 (decode_coding_emacs_mule): New function.
11757 (encode_coding_emacs_mule): New macro.
11758 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11759 the source.
11760 (DECODE_ISO_CHARACTER): Just return a character code.
11761 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11762 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11763 EMIT_CHAR to produced decoded characters. Exit the loop only by
11764 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11765 block here.
11766 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11767 only position codes for an invalid character.
11768 (encode_designation_at_bol): Return new destination pointer. 5th
11769 arg DSTP is changed to DST.
11770 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11771 from the source by ONE_MORE_CHAR. Don't handle the case of last
11772 block here.
11773 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11774 macros deleted.
52283633
SM
11775 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11776 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11777 TWO_MORE_BYTES to fetch a byte from the source.
11778 (encode_eol): Pay attention to coding->src_multibyte.
11779 (detect_coding, detect_eol): Preserve members src_multibyte and
11780 dst_multibyte.
11781 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11782 (encoding_buffer_size): Set magnification to 3 for all coding
11783 systems that require encoding.
11784 (ccl_coding_driver): For decoding, be sure that the result is
11785 valid multibyte sequence.
11786 (decode_coding): Initialize coding->errors and coding->result.
11787 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11788 and raw-text, always call decode_eol. Handle the case of last
11789 block here. If not coding->dst_multibyte, convert the resulting
11790 sequence to unibyte.
11791 (encode_coding): Initialize coding->errors and coding->result.
11792 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11793 and raw-text, always call encode_eol. Handle the case of last
11794 block here.
11795 (shrink_decoding_region, shrink_encoding_region): Detect cases
11796 that we can't skip data more rigidly.
11797 (code_convert_region): Setup src_multibyte and dst_multibyte
11798 members of coding. For decoding, if the buffer is multibyte,
11799 convert the source sequence to unibyte in advance. For encoding,
11800 if the buffer is multibyte, convert the resulting sequence to
11801 multibyte afterward.
11802 (run_pre_post_conversion_on_str): New function.
11803 (code_convert_string): Deleted and divided into the following two.
11804 (decode_coding_string, encode_coding_string): New functions.
11805 (code_convert_string1, code_convert_string_norecord): Call one of
11806 above.
11807 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11808 MAKE_NON_ASCII_CHAR.
52283633
SM
11809 (Fset_terminal_coding_system_internal)
11810 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11811 and dst_multibyte members.
11812 (init_coding_once): Initialize iso_code_class with new enum
11813 ISO_control_0 and ISO_control_1.
11814
11815 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11816 devided into ISO_control_0 and ISO_control_1.
11817 (struct coding_system): New members src_multibyte, dst_multibyte,
11818 errors, and result. Delete member fake_multibyte.
11819 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11820 nonzero.
11821 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11822 nonzero.
11823
11824 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11825 (Faset): Likewise.
11826
11827 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11828 multibyte form.
11829 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11830 combining occurs.
11831 (Ftranspose_region): Delete codes for handling byte combining.
11832
11833 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11834 dst_multibyte members of coding. On handling REPLACE on unibyte
11835 buffer, convert the result of decode_coding to unibyte. On
11836 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11837 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11838 multibyteness of the source (buffer or string).
11839
11840 * fns.c (concat): Handle 8-bit characters correctly.
11841 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11842 unibyte in the result.
11843 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11844 valid multibyte form in the result.
11845 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11846 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11847 return -1, signal an error.
11848 (base64_encode_1): New arg MULTIBYTE. Get each character by
11849 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11850 character is found, return -1.
11851 (Fbase64_decode_region): Delete codes for handling byte-combining.
11852 Treat each decoded byte as a unibyte character.
11853 (Fbase64_decode_string): Return unibyte string.
11854 (Fcompare_strings, concat, string_byte_to_char): Use
11855 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11856 FETCH_STRING_CHAR_ADVANCE.
11857 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11858 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11859
11860 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11861 SPLIT_NON_ASCII_CHAR.
11862 (fontset_ref_via_base, fontset_set): Likewise
11863
11864 * insdel.c (adjust_markers_for_record_delete): Deleted.
11865 (adjust_markers_for_insert): Argument changed. Caller changed.
11866 (adjust_markers_for_replace): Likewise.
52283633
SM
11867 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11868 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11869 (copy_text): Delete unused local varialbe c_save. For converting
11870 to multibyte, be sure to make all 8-bit characters in valid
11871 multibyte form.
11872 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11873 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11874 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11875 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11876 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11877 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11878 handling byte combining.
11879 (adjust_before_replace): Deleted.
427ec082 11880
c9671f81
KH
11881 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11882 SPLIT_NON_ASCII_CHAR.
11883 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11884 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11885 (Fkey_description): Likewise.
11886
11887 * lread.c (read1): On reading multibyte string, be sure to make
11888 all 8-bit chararacters in valid multibyte form.
11889 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11890
11891 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11892 unconditionally.
11893
11894 * process.c (Fstart_process): GCPRO current_dir before calling
11895 Ffind_operation_coding_system. Encode arguments here.
11896 (create_process): Don't encode arguments here. Setup
11897 src_multibyte and dst_multibyte members of struct coding.
11898 (read_process_output): Setup src_multibyte and dst_multibyte
11899 members of struct coding. If the output is to multibyte buffer,
11900 always decode the output of the process. Adjust the
52283633 11901 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11902 (send_process): Setup coding->src_multibyte according to the
11903 multibyteness of the source.
11904
52283633 11905 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11906 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11907 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11908
52283633 11909 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11910
11911 * w16select.c (Fw16_set_clipboard_data): Setup members
11912 src_multibyte and dst_multibyte of coding. Adjusted for the
11913 change for find_charset_in_str.
11914 (Fw16_get_clipboard_data): Likewise.
11915
11916 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11917 dst_multibyte of coding.
11918 (x_to_w32_font): Likewise.
11919
11920 * w32select.c (Fw32_set_clipboard_data): Setup members
11921 src_multibyte and dst_multibyte of coding. Adjusted for the
11922 change for find_charset_in_str.
11923 (Fw32_get_clipboard_data): Likewise.
11924
11925 * xdisp.c (get_next_display_element): Handle 8-bit characters
11926 correctly.
52283633
SM
11927 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11928 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11929
11930 * xselect.c (selection_data_to_lisp_data): Setup members
11931 src_multibyte and dst_multibyte of coding. Adjusted for the
11932 change for find_charset_in_str.
11933 (lisp_data_to_selection_data): Likewise.
11934
5f64c9e0
GM
119352000-05-19 Gerd Moellmann <gerd@gnu.org>
11936
52283633 11937 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11938
5f64c9e0
GM
11939 * dispextern.h (Vimage_types): Add extern declaration.
11940
11941 * xdisp.c (Vimage_types): Moved here from xfns.c.
11942 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11943
11944 * xfns.c (Vimages_types): Moved to xdisp.c.
11945 (syms_of_xfns): Move `image-types' to xdisp.c.
11946
11947 * w32fns.c (Vimage_types): Removed.
11948 (syms_of_w32fns): Remove `image-types'.
11949
813086ea
KH
119502000-05-18 Kenichi Handa <handa@etl.go.jp>
11951
11952 * fns.c (map_char_table): Pay attention to character number of
11953 charset. Check the validity of charset at the first level. For
11954 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11955 the default value.
11956
11957 * fontset.c: Include "buffer.h".
11958 (fs_load_font): If the face has fontset, record the face ID in
11959 that fontset.
11960 (Finternal_char_font): New function.
11961 (accumulate_font_info): New function.
11962 (Ffontset_info): Rewritten for the new fontset implementation.
11963 (syms_of_fontset): Register Vdefault_fontset in the first element
11964 of Vfontset_table. Include Vdefault_fontset in
11965 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11966 function.
11967
bdaebbf0
DL
119682000-05-16 Dave Love <fx@gnu.org>
11969
11970 * m/iris5d.h: Deleted -- unused.
11971
cb613bb8
GM
119722000-05-16 Gerd Moellmann <gerd@gnu.org>
11973
b15f3b77
GM
11974 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11975 `invalid' instead of `illegal'.
11976
11977 * indent.c (Fmove_to_column): When ending within a tab, insert
11978 spaces first so that markers at the end of the tab get adjusted.
11979
835c1b36
GM
11980 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11981 buffer list that wasn't selected in that frame.
11982
cb613bb8
GM
11983 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11984 is needed on mescaline, use a 2 char prefix, and call
11985 make_temp_name with second arg non-zero.
11986
11987 * fileio.c (make_temp_name): New function, extracted from
11988 Fmake_temp_name.
11989 (Fmake_temp_name): Use it.
11990
f685bea9
EZ
119912000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11992
52283633 11993 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11994
a1b8d58b
GM
119952000-05-15 Gerd Moellmann <gerd@gnu.org>
11996
11997 * Makefile.in (lisp): Add env.elc.
11998
11999 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12000
a265079f
GM
120012000-05-12 Gerd Moellmann <gerd@gnu.org>
12002
12003 * search.c (Freplace_match): Handle case of `\N' in the
12004 replacement when there's no group N.
12005
da4496b6
GM
120062000-05-11 Gerd Moellmann <gerd@gnu.org>
12007
0ace421a
GM
12008 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12009 of the message to message_dolog.
12010
1172eb8d
GM
12011 * keyboard.c (read_char): Don't clear current message for help
12012 events; let the code handling help events handle this. Change
12013 code detecting help events that should be ignored.
12014
da4496b6
GM
12015 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12016 we're interating over a string.
12017
0623e40f
DL
120182000-05-09 Dave Love <fx@gnu.org>
12019
12020 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12021 that offset before writing. Move gcpro region past call of
12022 Ffile_regular_p.
12023
bae2503b
DL
120242000-05-04 Dave Love <fx@gnu.org>
12025
12026 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12027
ec82fb2f
GM
120282000-05-04 Gerd Moellmann <gerd@gnu.org>
12029
12030 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12031 of inserted characters when BUF equals the current buffer, and PT
12032 is in front of or equal to FROM.
12033
cbf18892
GM
120342000-05-03 Gerd Moellmann <gerd@gnu.org>
12035
4ff40dd0
GM
12036 * xdisp.c (handle_single_display_prop): If display property value
12037 is invalid, or something not supported on the frame, restore
12038 iterator's position to what it was initially. Make sure to return
12039 0 for invalid and unsupported property values.
12040
cbf18892
GM
12041 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12042 that x_per_char_metric returns null.
12043
1b0672c3
GM
120442000-05-02 Gerd Moellmann <gerd@gnu.org>
12045
576da55d
GM
12046 * xterm.h (struct face): Add forward declaration.
12047 (struct image): Ditto.
12048 (image_ascent): Add prototype.
12049
12050 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12051 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12052 image_ascent instead of using IMAGE_ASCENT.
12053
12054 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12055 (IMAGE_ASCENT): Removed.
12056
12057 * xfns.c (Qcenter): New variable.
12058 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12059 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12060 (image_ascent): New function.
12061 (lookup_image): Recognize `:ascent center'.
12062 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12063 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12064 (xbm_load): Don't set image's ascent here.
12065 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12066 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12067 check ascent values here.
12068 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12069 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12070 (syms_of_xfns): Initialize Qcenter.
12071
1b0672c3
GM
12072 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12073 to the limits, increase the limits.
12074
0d7811ed
KH
120752000-05-01 Kenichi Handa <handa@etl.go.jp>
12076
12077 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12078 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12079
a943a5ca
GM
120802000-04-28 Gerd Moellmann <gerd@gnu.org>
12081
12082 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12083 taller than the window.
12084
5dba1e29
KH
120852000-04-28 Kenichi Handa <handa@etl.go.jp>
12086
12087 * xfaces.c (realize_x_face): Fix the argument of the second
12088 xassert. BASE_FACE may not be a face for ASCII.
12089
353964e3
GM
120902000-04-27 Gerd Moellmann <gerd@gnu.org>
12091
c76e04a8
GM
12092 * print.c (print_object): Treat print-length < 0 as nil.
12093
12094 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12095
12096 * s/freebsd.h (TERMCAP_OBJ): Removed.
12097 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12098
12099 * lread.c (read1): Don't treat period followed by certain
12100 characters as symbol start.
12101
12102 * xfns.c (slurp_file): New function.
12103 (xbm_image_p): Handle case of in-memory XBM files.
12104 (xbm_scan): Rewritten to work on memory buffers instead of files.
12105 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12106 Work on memory buffers instead of files. If DATA is null test
12107 if buffer looks like an in-memory XBM file.
12108 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12109 memory buffers instead of files.
12110 (xbm_file_p): New function.
12111 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12112
353964e3
GM
12113 * lread.c (end_of_file_error): New function.
12114 (read1): Call it instead of signaling `end-of-file' directly.
12115
427ec082 12116 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12117 with Fprinc instead of Fprin1.
12118
24d744ac
KR
121192000-04-26 Ken Raeburn <raeburn@gnu.org>
12120
12121 * window.c (freeze_window_start): Check that minibuffer scroll
12122 window isn't nil before extracting the window structure pointer
12123 from it.
12124
12125 * undo.c (record_delete): If we hit the end of the undo list, stop
12126 picking elements apart.
12127
7464346d
GM
121282000-04-26 Gerd Moellmann <gerd@gnu.org>
12129
12130 * xdisp.c (display_line): If lines are continued, restore
12131 iterator's ascent/descent information to the values before the
12132 first glyph not fitting on the line.
12133
612839b6
GM
121342000-04-25 Gerd Moellmann <gerd@gnu.org>
12135
12136 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12137 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12138
12139 * dispnew.c (increment_matrix_positions): Renamed from
12140 increment_glyph_matrix_buffer_positions.
12141 (increment_row_positions): Renamed from
12142 increment_glyph_row_buffer_positions.
12143
12144 * dispextern.h: Change names of renamed functions from dispnew.c
12145 in prototypes.
12146
cc181e95
GM
121472000-04-24 Gerd Moellmann <gerd@gnu.org>
12148
abfcc168
GM
12149 * fileio.c (Fdo_auto_save): Create directories for auto-save
12150 list file if necessary.
12151
cc181e95
GM
12152 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12153 from buffer or frame.
12154 (automatic_hscrolling_p): New variable.
12155 (hscroll_windows): Scroll windows horizontally only if automatic
12156 hscrolling is allowed.
12157 (syms_of_xdisp): New variable `automatic-hscrolling'.
12158
12159 * frame.h (struct frame): Add member extra_line_spacing.
12160
12161 * xfns.c (x_set_line_spacing): New function.
12162 (Fx_create_frame): Set line spacing from resources.
12163 (Qline_spacing): New variable.
12164 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12165
cc181e95
GM
12166 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12167
12168 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12169 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12170 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12171 extra_line_spacing from default value.
12172 (init_buffer_once): Initialize default value of extra_line_spacing.
12173
12174 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12175 and extra3.
12176
12177 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12178 prompt_width. Add extra line spacing.
12179
12180 * term.c (produce_glyphs): Remove reference to struct it's
12181 prompt_width.
12182
12183 * dispextern.h (struct it): Remove member prompt_width, add
12184 extra_line_spacing.
12185
58827478
GM
121862000-04-22 Gerd Moellmann <gerd@gnu.org>
12187
12188 * dispnew.c (update_frame_line): When writing a whole line, make
12189 sure cursor is in the right row afterwards, otherwise a use of
12190 capability `ch' in cmgoto might leave the cursor in the row below.
12191
25a87f42
GM
121922000-04-21 Gerd Moellmann <gerd@gnu.org>
12193
12194 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12195
12196 * keyboard.c (timer_check): Fix typo in comment.
12197
54edf5c2
KH
121982000-04-21 Kenichi Handa <handa@etl.go.jp>
12199
12200 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12201 name change: ch -> character.
12202
3a64eef5
GM
122032000-04-20 Gerd Moellmann <gerd@gnu.org>
12204
12205 * keyboard.c (echo_message_buffer): New variable.
12206 (echo_now): Set echo_message_buffer to the echo area buffer used
12207 to display the echo.
12208 (cancel_echoing): Reset echo_message_buffer to nil.
12209 (read_char): Code rewritten that handles canceling an echo or
12210 echoing a dash, respectively.
12211
12212 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12213 directory doesn't exist.
12214
6142fdcb
DL
122152000-04-19 Dave Love <fx@gnu.org>
12216
12217 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12218 (concat): Don't allow numeric args.
12219 (Fconcat): Doc change.
6142fdcb 12220
ac6b5352
SM
122212000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12222
12223 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12224 instead define end_match(1|2) more carefully.
12225 Use GET_CHAR_BEFORE_2 for `begline'.
12226
cb9215e4
GM
122272000-04-19 Gerd Moellmann <gerd@gnu.org>
12228
5e3dac3f
GM
12229 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12230 on 64-bit systems where NULL is defined as `0'.
12231
12232 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12233 the `variable argument list' to make it work on Alpha.
12234
cb9215e4
GM
12235 * m/alpha.h (_LP64) [!_LP64]: Define.
12236 (ORDINARY_LINK): Define for NetBSD.
12237
12238 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12239
f532dca0
DL
122402000-04-19 Dave Love <fx@gnu.org>
12241
c750667e
DL
12242 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12243 change.
12244
12245 * Makefile.in (LIBS): Don't use.
12246 (GETLOADAVG_OBJ): Define again.
12247 (otherobj): Add GETLOADAVG_OBJ.
12248
f532dca0
DL
12249 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12250
1c7e22fd
GM
122512000-04-18 Gerd Moellmann <gerd@gnu.org>
12252
f6d3257b
GM
12253 * lread.c (read_filtered_event): Cancel and start busy cursor.
12254
427ec082 12255 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12256 that the per-character metrics may be null.
12257
e10f64e7
GM
122582000-04-17 Gerd Moellmann <gerd@gnu.org>
12259
0daee095
GM
12260 * buffer.c (clone_per_buffer_values): New function.
12261 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12262 clone_per_buffer_values if CLONE is not nil.
12263
e10f64e7
GM
12264 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12265
38687d43
DL
122662000-04-16 Dave Love <fx@gnu.org>
12267
12268 * Makefile.in: Remove obsolete localcpp stuff.
12269 (GETLOADAVG_OBJ): Don't define.
12270 (obj): Move LIBOBJS...
12271 (otherobj): ... to here.
12272 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12273 whitespace-only lines after the continuation (Irix).
12274
c21c7262
GM
122752000-04-14 Gerd Moellmann <gerd@gnu.org>
12276
12277 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12278
12279 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12280
314767c0
DL
122812000-04-14 Dave Love <fx@gnu.org>
12282
12283 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12284 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12285 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12286 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12287 NLIST_STRUCT.
12288
12289 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12290 autoconfiscated HAVE_GETLOADAVG.
12291
12292 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12293 BROKEN_MKTIME.
12294
a2522dca
GM
122952000-04-14 Gerd Moellmann <gerd@gnu.org>
12296
12297 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12298 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12299
33744b5d
DL
123002000-04-14 Dave Love <fx@gnu.org>
12301
c21c7262 12302 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12303 (INTERVAL_SRC): Convert to make variable.
12304 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12305 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12306 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12307 add LIBOBJS.
12308 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12309 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12310 (shortlisp): Add facemenu, float-sup, frame.
12311 (SOME_MACHINE_LISP): Remove them from here.
12312 (LIBES): Change unused LDLIBS to autoconf LIBS.
12313
12314 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12315
9d3d5916
KH
123162000-04-14 Kenichi Handa <handa@etl.go.jp>
12317
12318 * composite.c (update_compositions): If FROM and TO are not in a
12319 valid range, do nothing.
12320
198e3c7a
GM
123212000-04-13 Gerd Moellmann <gerd@gnu.org>
12322
52283633 12323 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12324
52283633 12325 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12326
12327 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12328 as TERMCAP_OBJ.
12329
055a28c9
EZ
123302000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12331
12332 * fileio.c (a_write): Remove redundant semi-colons.
12333 (e_write): Return -1 if failed to write all the data.
12334 This fixes the changes made at 1999-12-15.
12335
f5c75033
DL
123362000-04-12 Dave Love <fx@gnu.org>
12337
12338 * fns.c (mapcar1): Test for null vals to support mapc.
12339 (Fmapc): New function.
12340
0c3cfc51
EZ
123412000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12342
12343 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12344 (IT_frame_up_to_date): Support the buffer local value of
12345 cursor-type, if defined.
12346
33465a31
DL
123472000-04-10 Dave Love <fx@gnu.org>
12348
12349 * editfns.c (preceding-char, following-char): Doc fix.
12350
6ed56568
KR
123512000-04-10 Ken Raeburn <raeburn@gnu.org>
12352
12353 * Makefile.in (temacs): Revert 2000-03-12 change.
12354
7cf80d4e
JR
123552000-04-10 Jason Rumney <jasonr@gnu.org>
12356
12357 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12358
34f3f342
GM
123592000-04-10 Gerd Moellmann <gerd@gnu.org>
12360
1a1b1895
GM
12361 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12362 area buffer, if it's not set up yet.
12363
34f3f342
GM
12364 * indent.c (compute_motion): Set immediate_quit.
12365
be0dbdab
GM
123662000-04-09 Gerd Moellmann <gerd@gnu.org>
12367
52283633 12368 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12369 (realize_tty_face): Suppress boldness if colors are the inverse of
12370 the default colors, and tty_suppress_bold_inverse_default_colors_p
12371 is set.
12372 (Ftty_suppress_bold_inverse_default_colors): New function.
12373 (syms_of_xfaces): Defsubr it.
12374
be0dbdab
GM
12375 * buffer.c (Frestore_buffer_modified_p): New function.
12376 (syms_of_buffer): Defsubr it.
12377
e8413c3b
KR
123782000-04-08 Ken Raeburn <raeburn@gnu.org>
12379
87f67317
KR
12380 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12381 charset id (int) argument, not a charset (Lisp_Object).
12382
e8413c3b
KR
12383 * coding.h (code_convert_string): Declare.
12384 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12385 object, as the fourth argument to code_convert_string.
12386
52283633 12387 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12388 (Fset_fontset_font): Use EQ to compare lisp objects.
12389
7c752c80
KR
123902000-04-05 Ken Raeburn <raeburn@gnu.org>
12391
c0333abc
KR
12392 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12393 a pointer that looks like a lisp object.
12394 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12395 zero, instead see whether it's an integer object, since they can't
12396 have intervals.
12397 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12398
52283633
SM
12399 * dispnew.c (allocate_matrices_for_frame_redisplay)
12400 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12401 to convert between (unsigned) int values and lisp integers.
12402 * keyboard.c (read_key_sequence): Likewise.
12403 * lread.c (substitute_object_recurse): Likewise.
12404 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12405 * minibuf.c (do_completion, Fminibuffer_complete_word)
12406 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12407 * term.c (produce_special_glyphs): Likewise.
12408
12409 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12410 * print.c (print_preprocess, print_object): Likewise.
12411
12412 * search.c (compile_pattern): Use NILP when checking for nil.
12413
74e49b38
KR
12414 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12415 __OPTIMIZE__]: Provide a GNU C macro version that handles
12416 lisp-object unions.
12417 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12418 field, to better cope with ENABLE_CHECKING and calls that modify a
12419 Lisp_Object using its old value.
12420
685e5ed2
GM
124212000-04-04 Gerd Moellmann <gerd@gnu.org>
12422
c407c570
GM
12423 * window.c (compare_window_configurations): Signal an error
12424 if parameters C1 or C2 aren't window configurations.
12425
685e5ed2
GM
12426 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12427 AFTER_POTENTIAL_GC calls around calls to functions that can
12428 signal an error and thus invoke the debugger.
12429
587a49ab
GM
124302000-04-03 Gerd Moellmann <gerd@gnu.org>
12431
62f20204
GM
12432 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12433 an error if decoding fails.
12434
587a49ab
GM
12435 * keyboard.c (lispy_mouse_names): Variable removed.
12436 (Vlispy_mouse_stem): New variable.
12437 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12438 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12439 for any mouse button number. Increase size of mouse_syms and
12440 button_down_location as needed. Call modify_event_symbol with
12441 different arguments.
12442 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12443 Call modify_event_symbol with different arguments.
12444 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12445 for any button number. Call modify_event_symbol with different
12446 arguments.
12447 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12448 Accept a string for NAME_ALIST_OR_STEM.
12449
12450 * lisp.h (larger_vector): Add prototype.
12451
12452 * fns.c (larger_vector): Make externally visible.
12453
12454 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12455
2d1675e4
SM
124562000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12457
12458 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12459 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12460 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12461 we are between str1 and str2.
12462 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12463 (PATFETCH): Use `TRANSLATE'.
12464 (PATFETCH_RAW): Fetch multibyte char if applicable.
12465 (PATUNFETCH): Remove.
12466 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12467 When writing a char, write it directly into the pattern buffer rather
12468 than going needlessly through a temp char-array.
12469 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12470 multibyte magic and remove the useless `#ifdef emacs'.
12471 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12472 buffer.
12473
12474 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12475 conditional on `emacs'.
12476
12477 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12478
cc2d8c6b
KR
124792000-04-01 Ken Raeburn <raeburn@gnu.org>
12480
12481 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12482 non-union-type versions of XMARK and friends here, because XMARK
12483 and friends won't work on an integer field if NO_UNION_TYPE is not
12484 defined.
52283633 12485 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12486
52283633 12487 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12488 (syms_of_composite): Delete local var NARGS, pass an int as first
12489 argument to Fmake_hash_table.
12490
2387b382
KR
12491 * editfns.c (text_property_stickiness): Use NILP to test
12492 Lisp_Object boolean value.
12493 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12494 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12495 problems reading from and changing the same lisp value in an
12496 XSETSTRING call.
12497
27660e89
GM
124982000-04-01 Gerd Moellmann <gerd@gnu.org>
12499
12500 * term.c (TN_no_color_video): New variable.
12501 (term_init): Intitialize TN_no_color_video.
12502 (enum no_color_bit): New enumeration.
12503 (MAY_USE_WITH_COLORS_P): New macro.
12504 (turn_on_face): Use it to determine if attributes may be used
12505 combined with colors.
12506
3578db3c
KR
125072000-04-01 Ken Raeburn <raeburn@gnu.org>
12508
12509 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12510 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12511 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12512 proper accessor macros.
12513 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12514 (grow_mini_window): Fix typo getting int value of root->height.
12515
6fc556fd
KR
12516 * xdisp.c (compute_string_pos): Fix order of arguments to
12517 string_pos_nchars_ahead.
12518 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12519 count arg to variable-arg routines like Frun_hook_with_args and
12520 Fformat.
587a49ab
GM
12521 (back_to_previous_visible_line_start)
12522 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12523 fixed-arg routines like Fget_char_property and Fmake_string.
12524 (reconsider_clip_changes): Use XINT when comparing integer lisp
12525 objects, or passing them as int arguments.
587a49ab
GM
12526 (mark_window_display_accurate, insert_left_trunc_glyphs)
12527 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12528 storing or passing integer values as lisp objects.
12529 (set_cursor_from_row, highlight_trailing_whitespace): Use
12530 INTEGERP, not implicit test against zero, for glyph object.
12531 (try_window_id): Don't use make_number when we want an int value.
12532
12533 * xfaces.c (xlfd_symbolic_value): Make last argument a
12534 Lisp_Object, to be consistent with callers.
12535 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12536 (lface_hash): Apply XFASTINT to lisp values before folding in.
12537
12538 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12539 fill in window width and height. Pass an int, not a lisp object,
12540 as first arg to Finsert.
12541
6e7b2457
GM
125422000-04-01 Gerd Moellmann <gerd@gnu.org>
12543
610d841e
GM
12544 * xfaces.c (realize_basic_faces): Block input while realizing
12545 the faces.
12546
6e7b2457
GM
12547 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12548
12549 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12550
aa110c0c
GM
125512000-03-31 Gerd Moellmann <gerd@gnu.org>
12552
12553 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12554 or ASCII, handle case that per-char metric is null.
aa110c0c 12555
8801a864
KR
125562000-03-30 Ken Raeburn <raeburn@gnu.org>
12557
c6129d7e
KR
12558 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12559
52283633
SM
12560 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12561 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12562 pointer, using eassert.
12563 * frame.h (XFRAME): Likewise.
12564
52283633
SM
12565 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12566 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12567 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12568 * data.c (set_internal): Likewise.
52283633
SM
12569 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12570 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12571 * fileio.c (auto_save_1): Likewise.
12572 * insdel.c (check_markers): Likewise.
12573 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12574 * undo.c (record_insert): Likewise.
12575 * vmsproc.c (child_sig): Likewise.
12576 * window.c (unshow_buffer, window_loop): Likewise.
12577 * xterm.c (x_erase_phys_cursor): Likewise.
12578
8e7af858
GM
125792000-03-30 Gerd Moellmann <gerd@gnu.org>
12580
12581 * xfns.c (free_image_cache): Free the cache structure itself
12582 last, after all its members have been freed.
12583
12584 * lisp.h (xstrdup): Add prototype.
12585
12586 * alloc.c (xstrdup): Moved here from xfaces.c.
12587 (allocating_for_lisp): Variable removed.
52283633 12588 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12589
12590 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12591 of Fsymbol_value.
12592 (xstrdup): Moved to alloc.c.
12593
e0b8c689
KR
125942000-03-29 Ken Raeburn <raeburn@gnu.org>
12595
b96f9fb7
KR
12596 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12597
12598 * emacs.c (main): Fix sense of no-loadup test.
12599
e0b8c689
KR
12600 * config.in (ENABLE_CHECKING): Undef.
12601
12602 * lisp.h (struct interval): Replace "parent" field with a union of
12603 interval pointer and Lisp_Object; add new bitfield to use as
12604 discriminant. Change other flag fields to bitfields.
12605 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12606 is defined and the supplied test fails, print a message and abort.
12607 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12608
12609 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12610 pointers; abort if the value looks like a lisp object.
52283633
SM
12611 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12612 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12613 Modify for new interval parent definition.
12614
52283633
SM
12615 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12616 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12617 addressable lisp object in the interval structure.
12618 (die): New function.
12619 (suppress_checking): New variable.
12620
12621 * intervals.c (interval_start_pos): Just return 0 if there's no
12622 parent object.
12623
f83c5440
GM
126242000-03-29 Gerd Moellmann <gerd@gnu.org>
12625
12626 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12627 and earlier Emacs versions.
12628
12629 * keyboard.c (Ftop_level): Cancel busy-cursor.
12630
12631 * eval.c (call_debugger): Cancel busy-cursor.
12632
fdce64ff
KH
126332000-03-29 Kenichi Handa <handa@etl.go.jp>
12634
12635 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12636 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12637
f6a3f532
SM
126382000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12639
12640 * regex.c (analyse_first): New function obtained by ripping out most
12641 of re_compile_fastmap and generalizing it a little bit so that it
12642 can also just return whether a given (sub)pattern can match the empty
12643 string or not.
12644 (regex_compile): Use `analyse_first' to decide whether the loop-check
12645 needs to be done or not for *, +, *? and +? (the loop check is costly
12646 for non-greedy repetition).
12647 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12648
e9b309ac
DL
126492000-03-28 Dave Love <fx@gnu.org>
12650
52283633 12651 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12652
e9b309ac
DL
12653 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12654
ed0767d8
SM
126552000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12656
12657 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12658 an expression.
12659 (enum re_opcode_t): Update description of succeed_n.
12660 (PATFETCH): Always define.
12661 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12662 operators, char classes, shy-groups and intervals).
12663 Optimize special cases of intervals so as to only use succeed_n and
12664 jump_n when really needed.
12665 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12666 that we don't have to handle the special cases any more.
12667 Simplify on_failure_jump handling as well.
12668
e11e7e46
JR
126692000-03-28 Jason Rumney <jasonr@gnu.org>
12670
12671 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12672
88faab89
GM
126732000-03-27 Gerd Moellmann <gerd@gnu.org>
12674
182ff242
GM
12675 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12676
12677 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12678
182ff242
GM
12679 * alloc.c (mark_maybe_object): New function.
12680 (mark_memory): Use it.
12681 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12682 (setjmp_tested_p, longjmp_done): New variables.
12683 (test_setjmp): New function.
12684 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12685 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12686
c1005d06
GM
12687 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12688 to DEC_TEXT_POS and INC_TEXT_POS.
12689
12690 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12691 with parameter MULTIBYTE_P.
12692
52283633 12693 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12694
7439e5b9 12695 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12696 buffers because it looks for multibyte character byte sequences
12697 which don't exist in unibyte text.
7439e5b9 12698
d9c545da
GM
12699 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12700
11fd416e 12701 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12702 [DEBUG_X_COLORS]: New functions.
12703 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12704
12705 * xfns.c (x_set_cursor_color): Get color reference counts right.
12706
12707 * xterm.c (x_copy_color): New function.
12708 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12709
12710 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12711 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12712 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12713 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12714 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12715 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12716 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12717 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12718 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12719 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12720
11fd416e
GM
12721 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12722 names for handling per-buffer variables.
d9c545da
GM
12723
12724 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12725 instead of MAX_BUFFER_LOCAL_VARS.
12726 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12727
12728 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12729
88faab89
GM
12730 * xfns.c (x_specified_cursor_type): New function.
12731 (x_set_cursor_type): Use it.
12732
12733 * buffer.h (struct buffer): Add cursor_type.
12734
d80f42b7
SM
127352000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12736
12737 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12738 (print_partial_compiled_pattern, re_compile_fastmap):
12739 Handle new opcode.
d80f42b7
SM
12740 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12741 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12742 executing it as well as when popping it off the stack to find infinite
12743 loops in non-greedy repetition operators.
12744
89e80928
GM
127452000-03-26 Gerd Moellmann <gerd@gnu.org>
12746
3d4ff2dd
GM
12747 * doc.c (Qfunction_documentation): New variable.
12748 (syms_of_doc): Initialize Qfunction_documentation.
12749 (Fdocumentation): If FUNCTION is a symbol with non-nil
12750 `function-documentation' property, return a documentation derived
12751 from that.
12752
bd96bd79
GM
12753 * buffer.c (syms_of_buffer): Add default-cursor-type.
12754 (init_buffer_once): Don't let cursor_type have a local value
12755 in every buffer.
12756
19d1bc27
GM
12757 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12758 on buffer-local value of cursor_type.
12759 (x_draw_bar_cursor): Add parameter WIDTH.
12760
12761 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12762 (init_buffer_once): Set default cursor_type value to t.
12763 Mark cursor_type as local everywhere.
12764 (syms_of_buffer): New per-buffer variable cursor-type.
12765
89e80928
GM
12766 * buffer.h (struct buffer): Remove member local_var_flags,
12767 add local_flags.
12768 (MAX_BUFFER_LOCAL_VARS): New macro.
12769 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12770 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12771 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12772 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12773
52283633 12774 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12775
12776 * category.c (Fset_category_table): Use new macros for per-buffer
12777 variables.
12778
12779 * buffer.c (buffer_permanent_local_flags): Make a char array.
12780 (max_buffer_local_idx): New variable.
12781 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12782 for new handling of per-buffer variables.
12783 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12784 (init_buffer_once): Initialize per-buffer vars differently.
12785 Set max_buffer_local_idx.
12786
12787 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12788 variables.
12789
52283633 12790 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12791
12792 * data.c (do_symval_forwarding, store_symval_forwarding)
12793 (find_symbol_value, set_internal, default_value, Fset_default)
12794 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12795 per-buffer variables.
12796
12797 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12798
9a0dd3dc
GM
127992000-03-24 Gerd Moellmann <gerd@gnu.org>
12800
b68c375f
GM
12801 * xterm.c (x_term_init): Unblock input around call1 of
12802 Qvendor_specific_keysyms.
12803
9a0dd3dc
GM
12804 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12805 (find_defun_start): Consider an open parenthesis in column 0
12806 a defun start only if open_paren_in_column_0_is_defun_start is set.
12807 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12808
7973e637
SM
128092000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12810
12811 * eval.c (Fautoload): Add entry in load-history (if after dump).
12812 * lread.c (load-history): Update docstring.
12813
39210e90
GM
128142000-03-24 Gerd Moellmann <gerd@gnu.org>
12815
12816 * indent.c (Fvertical_motion): Always use the current buffer.
12817 Temporarily change the window's buffer, if necessary.
12818
72db3ab5
GM
128192000-03-23 Gerd Moellmann <gerd@gnu.org>
12820
12821 * xterm.c (fast_find_position): Make sure not to consider rows
12822 not visible in the window.
12823
990b2375
SM
128242000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12825
12826 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12827 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12828
ff4df011
JR
128292000-03-22 Jason Rumney <jasonr@gnu.org>
12830
12831 * w32menu.c (single_submenu): Set help string to NULL if none.
12832 (w32_menu_show): Set help string correctly.
12833 (add-menu-item): Set help string in MIIM_DATA for menu item.
12834 Load SetMenuItemInfoA explicitly.
12835 (w32_menu_display_help): New function.
427ec082 12836
ff4df011
JR
12837 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12838 (QCdata): Moved to xdisp.c.
12839
12840 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12841 (Vw32_charset_to_codepage_alist): Removed.
12842 (Vw32_charset_info_alist): New variable.
52283633
SM
12843 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12844 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12845 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12846 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12847 with TODO comment.
12848 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12849 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12850 Define Vw32_charset_info_alist and w32_charset symbols.
12851
128522000-03-22 Jason Rumney <jasonr@gnu.org>
12853
12854 * makefile.nt (w32bdf.obj): Update dependencies.
12855
12856 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12857
12858 * w32fns.c: Include fontset.h after dispextern.h.
12859 (Fx_create_frame): Do not create fontset.
12860 (w32_load_system_font): Doc fix.
12861 (Fx_close_connection): Free full_name if it is not shared.
12862
12863 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12864 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12865 Callers updated.
ff4df011
JR
12866 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12867 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12868 (w32_font_is_double_byte): New function, needs body.
12869 (x_append_glyph): Set glyph->glyph_not_available_p.
12870 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12871 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12872 character, convert it to a unibyte character.
12873 (struct glyph_string): Delete member `charset'.
12874 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12875 calculating it is found.
12876 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12877 the case that per char metric is not available correctly.
12878 (x_fill_glyph_string): Handle the case that the specific glyph is
12879 not available correctly.
12880 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12881 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12882 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12883 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12884 fontset. Don't call FS_LOAD_FONT.
12885
439d5cb4
KR
128862000-03-22 Ken Raeburn <raeburn@gnu.org>
12887
12888 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12889 (INT_LISPLIKE): New macro.
12890 (NULL_INTERVAL_P): Use it.
52283633
SM
12891 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12892 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12893 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12894
12895 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12896 explicit references to "parent" field of struct interval and
12897 associated unclean type conversions.
52283633
SM
12898 * intervals.c (create_root_interval, root_interval, rotate_right)
12899 (rotate_left, balance_possible_root_interval, split_interval_right)
12900 (split_interval_left, interval_start_pos, find_interval)
12901 (next_interval, previous_interval, update_interval)
12902 (adjust_intervals_for_insertion, delete_node, delete_interval)
12903 (adjust_intervals_for_deletion, merge_interval_right)
12904 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12905 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12906 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12907 Likewise.
12908 * syntax.c (update_syntax_table): Likewise.
12909
12910 * intervals.c (reproduce_tree_obj): New function, like
12911 reproduce_tree but takes a Lisp_Object for the parent. Declare
12912 with prototype.
12913 (graft_intervals_into_buffer): Use it when appropriate.
12914 (reproduce_tree): Declare with prototype.
12915 (balance_possible_root_interval): Check that the parent is a lisp
12916 object before trying to examine its type.
12917
ee1c5b21
GM
129182000-03-22 Gerd Moellmann <gerd@gnu.org>
12919
12920 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12921 as strings only if both are known to be strings.
12922
12923 * s/openbsd.h (LIBS_TERMCAP): Undef.
12924
1fb352e0
SM
129252000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12926
12927 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12928 definitions for non-Emacs compilation.
12929 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12930 outside of `#ifdef emacs'.
12931 (print_partial_compiled_pattern): Update.
12932 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12933 (re_compile_fastmap): Merge handling of charset and charset_not (for
12934 emacs and non-emacs compilation as well).
12935 Similarly for (not)categoryspec and (not)syntaxspec.
12936 Don't use the fastmap when reaching `anychar' since the added
12937 complexity is not justified.
12938 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12939 and (not)syntaxspec. Merge (not)categoryspec.
12940
fdaa1f77
KH
129412000-03-22 Kenichi Handa <handa@etl.go.jp>
12942
52283633
SM
12943 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12944 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12945 --without-x.
fdaa1f77 12946
d152fb46
DL
129472000-03-21 Dave Love <fx@gnu.org>
12948
12949 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12950 doc string.
12951
d2cafc8c
GM
129522000-03-21 Gerd Moellmann <gerd@gnu.org>
12953
12954 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12955 (lface_fully_specified_p): Don't check contents of
12956 LFACE_FONT_INDEX because that attribute is optional.
12957 (realize_x_face): Remove now unwarranted xassert.
12958
9111d4b5
KH
129592000-03-21 Kenichi HANDA <handa@etl.go.jp>
12960
12961 The following changes are to make font selection based on
12962 characters, not charset. In addition, they recover fontset
12963 facilities while utilizing the new font selection mechanism.
12964
6c4bfdc0
KH
12965 * Makefile.in (fontset.o): Depend on dispextern.h.
12966
12967 * alloc.c (mark_face_cache): Don't mark face->registry.
12968
9111d4b5
KH
12969 * dispextern.h (struct glyph): New member glyph_not_available_p.
12970 Use 22 bits for face_id.
12971 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12972 (struct face): Delete member registry, new member ascii_face.
12973 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12974 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12975 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12976 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12977
12978 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12979 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12980 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12981 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12982 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12983 (fs_free_face_fontset, fontset_font_pattern)
12984 (face_suitable_for_char_p, face_for_char)
12985 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12986 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12987 (FS_LOAD_FACE_FONT): New macro.
12988
12989 * fontset.c: All codes rewritten or adjusted for the change of
12990 fontset implementation. Now fontset is represented by char table.
52283633
SM
12991 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12992 Variables removed.
9111d4b5 12993 (my_strcasecmp): Function removed.
52283633 12994 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12995 (AREF, ASIZE): New macros.
52283633
SM
12996 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12997 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12998 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12999 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13000 (fontset_id_valid_p, font_family_registry, fontset_name)
13001 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13002 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13003 New functions.
13004 (fs_load_font): New arg FACE. Caller changed.
13005 (fs_query_fontset): Argument changed. Caller changed.
13006 (Fquery_fontset): call fs_query_fontset.
13007 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13008 Functions removed.
52283633
SM
13009 (clear_fontset_elements, check_registry_encoding)
13010 (check_fontset_name): New functions.
9111d4b5
KH
13011 (syms_of_fontset): Set char-table-extra-slots property of fontset
13012 to 3. Staticpro and initialize Vfontset_table and
13013 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13014
13015 * frame.h (struct frame): Member `fontset_data' removed.
13016 (FRAME_FONTSET_DATA): Macro removed.
13017
13018 * frame.c (make_frame): Don't allocate f->fontset_data.
13019 (Fdelete_frame): Don't free f->fontset_data.
13020
6c4bfdc0
KH
13021 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13022
9111d4b5
KH
13023 * xdisp.c (charset_at_position): Function removed.
13024 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13025 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13026 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13027 Likewise.
13028 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13029 FACE_FOR_CHARSET.
52283633
SM
13030 (get_next_display_element, append_space)
13031 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13032
13033 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13034 Variables removed.
13035 (clear_font_table, frame_update_line_height, load_face_font):
13036 Adjusted for the change of fontset implementation.
13037 (load_face_fontset_font): Function removed.
13038 (pixel_point_size): New function.
13039 (font_list): Argument type changed. Caller changed.
13040 (LFACE_FONT): New macro.
13041 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13042 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13043 Lisp_Object. Determine the font name by actually loading a font
13044 by the specified pattern. Set LFACE_FONT (lface) to the specified
13045 pattern. Even if a font is not found, don't try alternatives.
13046 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13047 (set_font_frame_param): If `font' is specified in lface, use it.
13048 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13049 (lface_same_font_attributes_p): Likewise.
13050 (make_realized_face): Arguent changed. Caller changed. Set
13051 face->ascii_face to face itself.
13052 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13053 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13054 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13055 (free_realized_multibyte_face): New function.
13056 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13057 changed. Caller changed.
13058 (try_font_list): Argument type changed.
13059 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13060 (choose_face_font): Argument changed. Handle fontset properly.
13061 (choose_face_fontset_font): Function removed.
13062 (realize_default_face, realize_named_face): Don't remove the
13063 former face here.
13064 (realize_face): Argument changed. Caller changed. Remove face
52283633 13065 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13066 (realize_x_face): Argument changed. Caller changed. For a
13067 multibyte character, share fontset with base_face. For a single
52283633 13068 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13069 (realize_tty_face): Argument changed. Caller changed.
13070 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13071 (face_at_buffer_position): Don't check multibyte_p for returning
13072 DEFAULT_FACE_ID.
13073 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13074 FACE_SUITABLE_FOR_CHARSET_P.
13075 (syms_of_xfaces): Remove code for Qx_charset_registry and
13076 Vface_default_registry.
13077
6c4bfdc0
KH
13078 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13079 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13080 (x_per_char_metric): Don't try FONT->default_char. Even if
13081 pcm->width is zero, glyph bits may exist.
13082 (x_encode_char): Always initialize char2b->byte1.
13083 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13084 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13085 (x_append_glyph): Set glyph->glyph_not_available_p.
13086 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13087 it->charset. Handle the case that per char metric is not
13088 available. If it->multibyte_p is zero and it->c is a multibyte
13089 character, convert it to a unibyte character.
13090 (struct glyph_string): Delete member `charset'.
13091 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13092 the case that per char metric is not available correctly.
13093 (x_fill_glyph_string): Handle the case that the specific glyph is
13094 not available correctly.
13095 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13096 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13097 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13098 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13099 fontset. Don't call FS_LOAD_FONT.
13100
13101 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13102 (x_create_tip_frame): Likewise.
13103 (Fx_close_connection): Free full_name of font_info.
13104
13105 * fns.c (optimize_sub_char_table): New function.
13106 (Foptimize_char_table): New function.
13107 (syms_of_fns): Defsubr Soptimize_char_table.
13108
b33dd3b0
GM
131092000-03-20 Gerd Moellmann <gerd@gnu.org>
13110
13111 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13112 only if buffer is displayed in some window.
13113
13114 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13115 (try_window_reusing_current_matrix): Don't call scroll run
13116 function if run's current and desired position are the same;
13117 this prevents cursor flickering.
13118
4e8a9132
SM
131192000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13120
13121 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13122
13123 * regex.c (RE_STRING_CHAR): New macro.
13124 (GET_CHAR_AFER_2): Remove.
13125 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13126 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13127 (print_partial_compiled_pattern, re_compile_fastmap)
13128 (re_match_2_internal): Remove on_failure_jump_exclusive.
13129 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13130 optimization only need to work for * (ie. can use of_keep_string_jump).
13131 Remove the special case for .*\n since it is now covered by the general
13132 optimization.
13133 (re_search_2): Don't bother with `room'.
13134 (skip_one_char): New function.
13135 (skip_noops): Simplify since `memory' is not needed any more.
13136 (mutually_exclusive_p): Restructure slightly to use `switch' and
13137 add handling for "all" remaining cases.
13138 (re_match_2_internal): Change on_failure_jump_smart to use
13139 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13140 rather than on_failure_jump_exclusive.
13141
2136fdd4
GM
131422000-03-19 Gerd Moellmann <gerd@gnu.org>
13143
13144 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13145 number of bits per RGB because it's everywhere used as the depth
13146 of the visual.
13147
13148 * term.c (calculate_costs): Remove code dealing with X frames.
13149
18e21ce8 131502000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13151
13152 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13153
d7b511c4
GM
131542000-03-18 Gerd Moellmann <gerd@gnu.org>
13155
13156 * lread.c (read_integer): Unread the last char not consumed.
13157
16b5d424
GM
131582000-03-17 Gerd Moellmann <gerd@gnu.org>
13159
13160 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13161 which are in the process of being deleted.
16b5d424 13162
1fa28578
GM
131632000-03-16 Gerd Moellmann <gerd@gnu.org>
13164
83488cce
GM
13165 * Makefile.in (mostlyclean): Add `*.core'.
13166 (clean): Add `bootstrap-emacs'.
13167
1fa28578
GM
13168 * lread.c (read_integer): New function.
13169 (read1): Support read syntax #o, #x, #b, #r.
13170
99633e97
SM
131712000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13172
1fa28578
GM
13173 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13174 make sure POINTER_TO_OFFSET gives the same value before and after
13175 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13176 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13177 (debug): Now only active if > 0 rather than if != 0.
13178 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13179 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13180 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13181 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13182 (store_op1, store_op2, insert_op1, insert_op2)
13183 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13184 (group_in_compile_stack): Move to after its arg's types are
13185 declared and add a prototype.
99633e97 13186 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13187 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13188 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13189 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13190 indentation of the greedy-op and shy-group code.
99633e97
SM
13191 (at_(beg|end)line_loc_p): Fix argument's types.
13192 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13193 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13194 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13195 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13196 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13197 QUIT unconditionally.
99633e97 13198
699238d9
GM
131992000-03-15 Gerd Moellmann <gerd@gnu.org>
13200
13201 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13202 a sole completion.
13203
13204 * process.c (send_process): Add a hint that the function
13205 can call Lisp code to its comment.
13206
13207 * lread.c (load_dangerous_libraries): New variable.
13208 (Vbytecomp_version_regexp): New variable.
13209 (safe_to_load_p): New function.
13210 (Fload): Handle files not compiled with Emacs specially.
13211 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13212
34e23e5a
GM
132132000-03-14 Gerd Moellmann <gerd@gnu.org>
13214
9c763cca
GM
13215 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13216
13217 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13218 support functions only if HAVE_X11R6_XIM is defined.
13219 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13220
13221 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13222
13223 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13224 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13225 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13226
13227 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13228 (HAVE_X11R6_XIM): Define.
13229
13230 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13231
34e23e5a
GM
13232 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13233 If set, call XSynchronize.
13234
66f0296e
SM
132352000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13236
34e23e5a
GM
13237 * regex.c: Declare a new type `re_char' used throughout the code
13238 for the string char type. It's `const unsigned char' to match the
13239 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13240 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13241 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13242 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13243 code duplication.
66f0296e
SM
13244
13245 * charset.h (GET_CHAR_AFTER_2): Remove.
13246 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13247
854a025c
KR
132482000-03-12 Ken Raeburn <raeburn@gnu.org>
13249
13250 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13251 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13252 of them try to use backquotes.
13253
b9d2c7e2
DL
132542000-03-12 Dave Love <fx@gnu.org>
13255
13256 * unexelf.c: Restore changes of 1999-10-19.
13257 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13258 fix its type and alignment; copy it from current process.
13259
5e5dff44
GM
132602000-03-12 Gerd Moellmann <gerd@gnu.org>
13261
9b2f3c38
GM
13262 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13263 has been found. Fix bug not computing timer's predecessor.
13264
427ec082 13265 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13266 file name.
13267
e1cff360
GM
13268 * window.c (Fsave_window_excursion): Doc fix.
13269
52283633 13270 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13271
e411ce4b
EZ
132722000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13273
13274 * msdos.c (vga_installed): New function, code moved from
13275 dos_set_window_size.
13276 (Qbar, Qcursor_type, outside_cursor): New variables.
13277 (syms_of_msdos): Intern and staticpro them.
13278 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13279 shape used outside Emacs when called for the first time.
13280 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13281 cursor shape used outside Emacs.
13282 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13283 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13284 type has changed.
13285 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13286 parameters specify the cursor. Make qreverse a global
13287 variable (renamed to Qreverse).
13288
80460654
GM
132892000-03-09 Gerd Moellmann <gerd@gnu.org>
13290
13291 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13292
95cd4c40
SM
132932000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13294
13295 This is a big redesign of failure-stack and register handling, prompted
13296 by bugs revealed when trying to add shy-groups. Overall, what happened
13297 is that loops are now structured a little differently, groups can be
13298 shy and the code is a little simpler.
13299
13300 * regex.h: Update the copyright.
13301 (RE_SHY_GROUPS): New value.
13302 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13303 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13304
80460654
GM
13305 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13306 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13307 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13308 for (start|stop)_memory since they now only take one argument (the
13309 second has becomes unnecessary).
52283633 13310 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13311 (print_compiled_pattern): Use %ld to printf long ints and flush to
13312 make debugging a little easier.
95cd4c40
SM
13313 (union fail_stack_elt): Make the integer unsigned.
13314 (struct fail_stack_type): Add a `frame' element.
13315 (INIT_FAIL_STACK): Init `frame' as well.
13316 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13317 (DEBUG_PUSH, DEBUG_POP): Remove.
13318 (NUM_REG_ITEMS): Remove.
13319 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13320 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13321 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13322 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13323 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13324 New macros.
80460654
GM
13325 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13326 address pushed is not the destination of the jump but the source
13327 of it instead.
95cd4c40
SM
13328 (NUM_FAILURE_ITEMS): Remove.
13329 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13330 registers before the actual failure point). Don't hardcode any
13331 meaning for str==NULL anymore.
95cd4c40 13332 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13333 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13334 Remove.
95cd4c40
SM
13335 (REG_UNSET_VALUE): Use NULL (why not?).
13336 (compile_range): Remove declaration since it doesn't exist.
13337 (struct compile_stack_elt_t): Remove inner_group_offset.
13338 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13339 (regex_grow_registers): Remove dead code.
13340 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13341 (regex_compile): Add shy-groups Change loops to use
13342 on_failure_jump_smart&jump instead of
13343 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13344 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13345 variable to me). Use `jump' instead of `jump_past_alt' and don't
13346 bother with push_dummy_failure in alternatives since it is now
13347 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13348 emacs' for (re)allocating the stack.
13349 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13350 from loop when bufp->can_be_null rather than jumping to `done'.
13351 Avoid jumping backwards so as to ensure termination. Use
13352 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13353 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13354 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13355 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13356 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13357 (lowest_active_reg, highest_active_reg)
13358 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13359 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13360 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13361 variables. Push register (in `start_memory') on the stack rather
13362 than storing it in old_reg(start|end). Remove the cycle detection
13363 from `stop_memory', replaced by the use of on_failure_jump_loop
13364 for greedy loops. Add code for the new on_failure_jump_<foo>.
13365 Remove ad-hoc code in `on_failure_jump' to push more registers in
13366 the case of a loop. Take out code from `maybe_pop_jump' into
13367 separate functions and adapt it to the semantics of
13368 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13369 and push_dummy_failure. Remove dummy_failure handling and
13370 handling of `failures to jump to on_failure_jump' (this last one
13371 was already dead code, it seems).
13372 (group_match_null_string_p, alt_match_null_string_p)
13373 (common_op_match_null_string_p): Remove.
95cd4c40 13374
7397acc4
DL
133752000-03-08 Dave Love <fx@gnu.org>
13376
13377 * config.in: Don't depend on __STDC__ for volatile.
13378 Add POINTER_TYPE, PTR, PROTOTYPES.
13379
13380 * hftctl.c, strftime.c: Use PROTOTYPES.
13381 * eval.c (find_handler_clause): Likewise.
13382
13383 * mem-limits.h: Use POINTER_TYPE.
13384
13385 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13386 (memory_warnings): Declare using POINTER_TYPE.
13387
5e91ff9e
GM
133882000-03-08 Gerd Moellmann <gerd@gnu.org>
13389
feab4fba
GM
13390 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13391
52283633 13392 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13393
5e91ff9e
GM
13394 * xfns.c: Remove obsolete code in #if 0.
13395 (Fx_focus_frame): New function.
13396
a735b7e1
KH
133972000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13398
13399 * coding.c (coding_category_name): Add coding-category-utf-8,
13400 coding-category-utf-16-be, coding-category-utf-16-le.
13401 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13402 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13403 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13404 (detect_coding_utf_8): New function.
13405 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13406 UTF_16_LOW_SURROGATE_P): New macros.
13407 (detect_coding_utf_16): New function
13408 (detect_coding_mask): When priorities are specified, skip any
13409 categories that have `nil' coding-system. Fix bug of returning
13410 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13411 returns a mask not set in PRIORITIES.
13412 (detect_eol_type_in_2_octet_form): New function.
13413 (detect_eol): selects detect_eol_type_XXX to call according to
13414 cooding->category_idx.
13415 (detect_coding_system): Remove `nil' coding-system in the result.
13416 (Fupdate_coding_systems_internal): Update all coding-categories.
13417
52283633
SM
13418 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13419 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13420 New macros.
13421 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13422 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13423 (CODING_CATEGORY_IDX_UTF_16_LE)
13424 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13425 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13426 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13427 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13428
9994cc69
GM
134292000-03-07 Gerd Moellmann <gerd@gnu.org>
13430
e9b4e5ff
GM
13431 * doc.c (Fdocumentation_property): If value is not a string,
13432 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13433
f7daf1e1
GM
13434 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13435 close the display with XtCloseDisplay. This caused a bus error
13436 on OpenWindows.
13437
9994cc69
GM
13438 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13439 complete but not unique.
13440
4336c705
GM
134412000-03-06 Gerd Moellmann <gerd@gnu.org>
13442
18bb0684
GM
13443 * process.c (send_process): Remove local variable `procname' that
13444 might become invalid when a GC happens. Instead, access the
13445 process name slot directly.
13446
4336c705
GM
13447 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13448 orig_height if set.
13449
13450 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13451 orig_height if set.
13452
515d0d0e
EZ
134532000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13454
13455 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13456 glyph matrices have been freed.
13457
100b3cbb
GM
134582000-03-05 Gerd Moellmann <gerd@gnu.org>
13459
50df5e5a 13460 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13461 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13462
13463 * xfns.c (QCdata): Moved to xdisp.c.
13464
13465 * xdisp.c (QCdata): Moved here from xfns.c.
13466 (syms_of_xdisp): Initialize QCdata.
13467
13468 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13469
13470 * window.c (coordinates_in_window): Use
13471 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13472 FRAME_INTERNAL_BORDER_WIDTH.
13473
100b3cbb 13474 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13475 it is obviously invalid.
100b3cbb
GM
13476
13477 * xterm.c (x_term_init): Create a colormap if not using the
13478 default visual.
13479
13480 * xterm.h (select_visual): Change prototype.
13481
13482 * xfns.c (select_visual): Rewritten. Recognize user-specified
13483 visual classes.
13484 (visual_classes): New variable.
13485
64d739c4
GM
134862000-03-04 Gerd Moellmann <gerd@gnu.org>
13487
13488 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13489 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13490 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13491 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13492 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13493 XtNcolormap resources.
13494 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13495 (Fx_create_frame): Initialize color members of x_output structure.
13496 (xpm_load): Pass colormap to XPM lib.
13497
13498 * xfaces.c (x_free_colors): Access colormap of frame using
13499 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13500 when default colormap is used.
13501
13502 * xterm.c (x_term_init): Set Colormap member of x_display_info
13503 structure. Copy colormap if resource `privateColormap' is
13504 specified (PseudoColor only).
13505 (x_setup_relief_color): Access colormap of frame using
13506 FRAME_X_COLORMAP.
13507
13508 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13509 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13510
c3cee013
JR
135112000-03-04 Jason Rumney <jasonr@gnu.org>
13512
13513 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13514 other non-platform-specific equivalents.
64d739c4 13515 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13516 specific functions and macros as their w32 equivalents where
13517 non-platform-specifics are not available.
13518 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13519 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13520 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13521 (frame_update_line_height): Use macros to access f->output_data.
13522 (defined_color): Remove FIXME comments; fixed.
13523 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13524 into #ifdef blocks. Add WINDOWSNT blocks.
13525 (Fx_list_fonts): Use macros for accessing font data.
13526 (set_lface_from_font_name): Different default fonts for X and
13527 WINDOWSNT.
13528 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13529 scalable for backward compatibility.
64d739c4 13530 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13531 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13532
64d739c4 13533 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13534 syms_of_w32faces.
13535
13536 * makefile.nt (w32faces.obj): Remove.
13537 (xfaces.obj): Add.
13538
807cc41c
JR
135392000-03-03 Jason Rumney <jasonr@gnu.org>
13540
13541 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13542 correct parameters.
13543
0007072a
KR
135442000-03-03 Ken Raeburn <raeburn@gnu.org>
13545
13546 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13547 standard ELF definitions here if the system header does not.
13548
71a6ba55
GM
135492000-03-03 Gerd Moellmann <gerd@gnu.org>
13550
13551 * xterm.c (PER_CHAR_METRIC): Removed.
13552 (x_per_char_metric_1, x_default_char): New functions.
13553 (x_per_char_metric): If font's default char is invalid, return
13554 metrics of a suitably chosen usable default char.
13555 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13556 char, replace occurrences of unprintable chars with a suitably
13557 chosen usable default char.
71a6ba55 13558
900fa1f1
GM
135592000-03-02 Gerd Moellmann <gerd@gnu.org>
13560
42f55fe0
GM
13561 * xterm.c (note_mouse_highlight): Return quickly if frame's
13562 glyph matrices have been freed.
13563
13564 * dispnew.c (free_glyphs): Block input while freeing matrices.
13565
900fa1f1
GM
13566 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13567
52283633
SM
13568 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13569 Use x_free_colors.
900fa1f1
GM
13570
13571 * dispextern.h (x_free_colors): Add prototype.
13572
13573 * xfaces.c (x_free_colors): New function.
13574 (unload_color, free_face_colors): Use it.
13575
2f950292
EZ
135762000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13577
13578 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13579
13580 * window.c [MSDOS]: Include msdos.h.
13581
54d04320
DL
135822000-03-02 Dave Love <fx@gnu.org>
13583
13584 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13585
13586 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13587 set C_OPTIMIZE_SWITCH for gcc.
13588
0ba93ac4
KH
135892000-03-02 Kenichi Handa <handa@etl.go.jp>
13590
13591 * coding.c (coding_save_composition): Be sure to allocate
13592 composition data area in coding even if there's no composition in
13593 the current run.
13594
a2bc11d4
JR
135952000-03-01 Jason Rumney <jasonr@gnu.org>
13596
13597 * w32term.c: Equivalent changes to those made to xterm.c on
13598 2000-02-25 and 2000-02-24.
13599
13600 * w32fns.c: Equivalent changes to those made to xfns.c on
13601 2000-02-25 and 2000-02-21.
13602
13603 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13604 correct line-end convention is followed.
13605
13606 * w32menu.c [HAVE_BOXES]: Remove #undef.
13607 (single_keymap_panes): Remove code for simulating checkmarks.
13608 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13609 Remove code for drawing simulated checkmarks.
13610 (w32_menu_show): make unibyte help string correctly.
13611 (add_menu_item): draw standard Windows checkmarks. Draw radio
13612 buttons as radio buttons if possible.
13613
72d19d75
GM
136142000-03-01 Gerd Moellmann <gerd@gnu.org>
13615
2df636f4
GM
13616 * sysdep.c (start_of_text): Don't define this function for NetBSD
13617 with ELF.
13618
427ec082 13619 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13620 Don't define.
13621 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13622 (LINKER): Don't undef if __NetBSD__ is defined.
13623
13624 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13625
13626 * fileio.c [__NetBSD__]: Define `unix'.
13627
72d19d75
GM
13628 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13629
ed4d0512
GM
136302000-02-29 Gerd Moellmann <gerd@gnu.org>
13631
50b1039f
GM
13632 * atimer.c (start_atimer): Don't abort when timers are stopped.
13633 (append_atimer_lists): New function.
13634 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13635 arbitrary lists of stopped and running atimers.
13636
ed4d0512
GM
13637 * atimer.c (cancel_atimer): Handle canceling an atimer when
13638 some timers are stopped.
13639
13640 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13641 after canceling it.
13642
13643 * fns.c (maybe_resize_hash_table): Handle case of new size
13644 coming out as being the same as old size.
13645
387023ee
JR
136462000-02-27 Jason Rumney <jasonr@gnu.org>
13647
13648 * makefile.nt: Add atimer.h to dependencies.
13649 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13650 * w32console.c: Only disable window system features for dispextern.h
13651 (initialize_w32_display): Build a display info for the console.
13652 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13653 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13654 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13655 as 2 button mice.
13656 * w32gui.h (struct W32FontStruct): Revert last change after change
13657 to xdisp.c.
13658 * w32menu.c (single_submenu): Set up help string.
13659 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13660 (w32_dialog_show): Set up help string.
13661 * w32term.c (w32_display_info_for_display): Remove unused function.
13662 (w32_draw_bitmap): Use pre-built bitmaps.
13663 (w32_initialize_display_info): New function to initialize parts of
13664 display info that are common to both GUI and console frames.
13665 (w32_term_init): Use w32_initialize_display_info. Do not set
13666 Vw32_num_mouse_buttons here, as it is not called for console
13667 frames. Build bitmaps for indicating truncated lines etc.
13668 (x_delete_display): Destroy pre-built bitmaps.
13669 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13670 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13671
4516715a
DL
136722000-02-27 Dave Love <fx@gnu.org>
13673
13674 * lisp.h: Add a bunch of prototypes.
13675
171ca836
KH
136762000-02-26 Kenichi Handa <handa@etl.go.jp>
13677
13678 * keyboard.c (read_char): Set `usec' correctly.
13679
4013921d
KH
136802000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13681
13682 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13683 `lambda', set reg[RRR] to the map index.
13684 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13685 reg[RRR] to 0. Otherwise, set it to -1.
13686
9244a058
GM
136872000-02-25 Gerd Moellmann <gerd@gnu.org>
13688
2df636f4 13689 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13690
18e21ce8 136912000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13692
f43d79c1
GM
13693 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13694 and contains a `:', prepend `/:'.
13695
13696 * window.c (select_window_1): If selected_window is nil,
13697 don't "swap out" the buffer's point.
13698 (Fset_window_configuration): Set selected_window to nil
13699 before calling Fselect_window.
13700 (unshow_buffer): Don't set point in buffer from window's point
13701 if another more recently selected window also shows the buffer.
13702
bed0c171
GM
137032000-02-25 Gerd Moellmann <gerd@gnu.org>
13704
449c3c52
GM
13705 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13706
f5b58615
GM
13707 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13708 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13709 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13710 New variables.
f5b58615
GM
13711 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13712 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13713 (hide_busy_cursor): New functions.
13714 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13715
13716 * minibuf.c (read_minibuf): Cancel busy-cursor.
13717
13718 * keyboard.c (command_loop_1): Call start_busy_cursor before
13719 Fcommand_execute and cancel_busy_cursor after it.
13720 (timer_check): Remove busy-cursor code.
13721 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13722 cursor timer.
13723
13724 * process.c (wait_reading_process_input): Remove busy-cursor code.
13725
13726 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13727 Fx_hide_busy_cursor.
13728
13729 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13730 Remove prototyoes.
13731 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13732
13733 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13734
13735 * xterm.c (XTread_socket): Remove busy-cursor code.
13736
4eb8436f
GM
13737 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13738 (build_frame_matrix_from_leaf_window): Put code handling
13739 glyph row's not being a slice of a frame row in #if 0.
13740 (sync_window_with_frame_matrix_rows): New function.
13741 (frame_row_to_window): New function.
13742 (mirror_line_dance): Handle copies between windows.
13743
3cb65b0e
GM
13744 * lread.c (Fload): Use `xfree' instead of `free'.
13745 (init_obarray): Use `xmalloc' instead of `malloc'.
13746
bed0c171
GM
13747 * window.c (Fset_window_buffer): Set WINDOW to the window
13748 after decoding.
2add4349
GM
13749 (coordinates_in_window): Take frame's internal border width
13750 into account.
bed0c171 13751
42088c12
GM
137522000-02-24 Gerd Moellmann <gerd@gnu.org>
13753
13754 * xterm.c (x_display_and_set_cursor): Display cursor of
13755 non-selected windows depending on the setting of
13756 cursor_in_non_selected_windows.
13757
13758 * xdisp.c (cursor_in_non_selected_windows): New variable.
13759 (syms_of_xdisp): DEFVAR_BOOL it.
13760
d1e103b2
GM
137612000-02-23 Gerd Moellmann <gerd@gnu.org>
13762
723e779c
GM
13763 * data.c (Fstring_to_number): If number is greater than what
13764 fits into an integer, return a float.
13765
d1e103b2
GM
13766 * eval.c (specbind): Remove references to
13767 keyword_symbols_constant_flag.
13768
13769 * data.c (keyword_symbols_constant_flag): Removed.
13770 (Fmakunbound, set_internal, syms_of_data): Remove references to
13771 keyword_symbols_constant_flag.
13772
13773 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13774
214f877f
KH
137752000-02-23 Kenichi Handa <handa@etl.go.jp>
13776
13777 * syntax.c (multibyte_syntax_as_symbol): New variable.
13778 (syms_of_syntax): Declare it as a Lisp variable.
13779 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13780 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13781 nonzero, treat all multibyte characters as symbol.
52283633 13782 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13783
130adcb7
EZ
137842000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13785
3cb65b0e 13786 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13787 a deleted frame.
130adcb7 13788
17cbbf95
GM
137892000-02-21 Gerd Moellmann <gerd@gnu.org>
13790
13791 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13792
13793 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13794 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13795
beb0bc36
DL
137962000-02-21 Dave Love <fx@gnu.org>
13797
13798 * frame.c (Vmouse_position_function): New variable.
13799 (Fmouse_position): Use it.
13800 (syms_of_frame): Install it.
13801
13802 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13803
1d92afcd
GM
138042000-02-20 Gerd Moellmann <gerd@gnu.org>
13805
13806 * fileio.c (Finsert_file_contents): Unbind the binding of
13807 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13808
13809 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13810 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13811 (specbind, unbind_to): Handle most common case of non-constant
13812 symbol with trivial value specially.
13813
13814 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13815
18e21ce8 138162000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13817
13818 * data.c (Fmake_variable_buffer_local): Doc fix.
13819 Init found_for_buffer to 0.
13820 (Fmake_variable_frame_local): If the variable has already
13821 been buffer-local, set the check_frame field.
13822
1d4311c3
EZ
138232000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13824
13825 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13826 produced for CODING_MODE_LAST_BLOCK requires.
13827
2dc95ddd
DL
138282000-02-18 Dave Love <fx@gnu.org>
13829
13830 * keyboard.c (echo_keystrokes): Remove declaration.
13831 (Vecho_keystrokes) New variable.
13832 (read_char, record_menu_key, read_key_sequence): Use it to allow
13833 use of float value.
13834 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13835
13836 * lread.c: Undef feature selection macros before defining.
13837
f0930f35
GM
138382000-02-18 Gerd Moellmann <gerd@gnu.org>
13839
13840 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13841 for symbols other than the symbol in question.
13842
e3d4de90
DL
138432000-02-17 Dave Love <fx@gnu.org>
13844
13845 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13846
0b378936
GM
138472000-02-17 Gerd Moellmann <gerd@gnu.org>
13848
d621caf7
GM
13849 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13850
0b378936
GM
13851 * alloc.c (enum mem_type): Compile unconditionally.
13852
3b451f74
EZ
138532000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13854
13855 * xfaces.c (tty_defined_color): Don't return faulire indication
13856 for unspecified-fg and unspecified-bg pseudo-colors.
13857
10689a01
GM
138582000-02-17 Gerd Moellmann <gerd@gnu.org>
13859
1216f5e4
GM
13860 * alloc.c (mark_object): Don't mark symbol names in pure space.
13861 (gc_sweep): Don't unmark symbol names in pure space.
13862
13863 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13864 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13865 [GC_MARK_STACK]: New defines.
427ec082 13866 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13867 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13868
13869 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13870
13871 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13872 allocate_buffer instead of xmalloc.
13873
13874 * alloc.c (toplevel): Include setjmp.h.
13875 (PURE_POINTER_P): New define.
13876 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13877 (Vdead) [GC_MARK_STACK]: New variable.
13878 (lisp_malloc): Add parameter TYPE, call mem_insert if
13879 GC_MARK_STACK is defined.
13880 (allocate_buffer): New function.
427ec082 13881 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13882 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13883 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13884 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13885 (MEM_NIL) [GC_MARK_STACK]: New define.
13886 (struct mem_node) [GC_MARK_STACK]: New structure.
13887 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13888 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13889 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13890 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13891 (mark_stack) [GC_MARK_STACK]: New functions.
13892 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13893 (clear_marks): Removed.
13894 (gc_sweep): Set free conses' car, free floats' type, free
13895 symbols' function to Vdead. Use lisp_free to free buffers.
13896 (init_alloc_once): Initialize Vdead.
13897 (survives_gc_p): Return non-zero for pure objects.
13898
13899 * alloc.c: Add comments throughout the file.
13900
2503c8b1
GM
13901 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13902 that unblocks alarms.
13903
8389e1e2
GM
13904 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13905 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13906 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13907
10689a01 13908 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13909
bfc17d18
KH
139102000-02-17 Kenichi Handa <handa@etl.go.jp>
13911
4a09dee0
KH
13912 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13913 avoid infinite error signaling. Allocate sufficient memory for
13914 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13915
2b927d02
SM
139162000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13917
13918 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13919 depends on the previous behavior.
13920
b49cb764
GM
139212000-02-16 Gerd Moellmann <gerd@gnu.org>
13922
13923 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13924
99e95407
GM
139252000-02-15 Gerd Moellmann <gerd@gnu.org>
13926
13927 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13928
13929 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13930 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13931 write(2).
13932
6ffd3cf7
RS
139332000-02-15 Richard M. Stallman <rms@gnu.org>
13934
13935 * data.c (set_internal): Don't make variable buffer-local
13936 if within a let-binding for the same buffer.
13937 (let_shadows_buffer_binding_p): New function.
13938
13939 * eval.c (specbind): For buffer-local value,
13940 record the current buffer also.
13941 (unbind_to): Cope with that change.
13942
cad53475
GM
139432000-02-15 Gerd Moellmann <gerd@gnu.org>
13944
13945 * window.c (Fsave_window_excursion): Doc fix.
13946
1aa963c8
SM
139472000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13948
13949 * syntax.c (back_comment): Make sure we only consider comment-starters
13950 of the relevant style and return -1 in case of a failure to find the
13951 beginning of the comment.
13952 (Fforward_comment): If back_comment fails, go back to the position just
13953 after the comment-end.
13954 (scan_lists): Add comment describing a very minor bug.
13955
b9b84fd3
SM
139562000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13957
13958 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13959 `completion-regexp-list' in the docstring.
13960
3a28db80
DL
139612000-02-14 Dave Love <fx@gnu.org>
13962
13963 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13964
fb4a568d
SM
139652000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13966
13967 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13968 to Emacs' syntax. Also fix the comment about set/not-set meanings
13969 since Emacs syntax is not the value 0 any more.
13970 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13971 since it's now part of RE_SYNTAX_EMACS.
13972
1063ebb5
DL
139732000-02-12 Dave Love <fx@gnu.org>
13974
52283633 13975 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13976
fb07a302
GM
139772000-02-12 Gerd Moellmann <gerd@gnu.org>
13978
13979 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13980
aaf2320c
DL
139812000-02-12 Dave Love <fx@gnu.org>
13982
13983 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13984
13985 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13986 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13987 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13988
13989 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13990
13991 * s/nextstep.h: Don't define HAVE_ALLOCA.
13992
13993 * config.in: Add vfork bits.
13994
eedf8bde
GM
139952000-02-12 Gerd Moellmann <gerd@gnu.org>
13996
13997 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13998 unwind function to undo the effect of stopping atimers.
13999
52283633 14000 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14001
14002 * atimer.c (stopped_atimers): New variable.
14003 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14004 New functions.
14005
14006 * atimer.h (stop_other_atimers, run_all_atimers)
14007 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14008
eedf8bde
GM
14009 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14010
8476c2f8
KR
140112000-02-11 Ken Raeburn <raeburn@gnu.org>
14012
14013 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14014 library may depend on jpeg.
14015 (atimer.o): Depends on atimer.c.
14016
0e85e4a3
KH
140172000-02-11 Kenichi Handa <handa@etl.go.jp>
14018
14019 * insdel.c (del_range_1): Call update_compositions.
14020 (del_range_both): Call update_compositions just once..
14021
97fa0cc8
DL
140222000-02-10 Dave Love <fx@gnu.org>
14023
14024 * xfns.c (create_frame_xic): Fix initialization of automatic
14025 aggregates for pcc.
14026
25566a3c
KH
140272000-02-09 Kenichi Handa <handa@etl.go.jp>
14028
14029 * ccl.c (CCL_MAKE_CHAR): New macro.
14030 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14031 registers by CCL_MAKE_CHAR before calling translate_char.
14032 <CCL_TranslateCharacterConstTbl> Likewise.
14033
69da54ba
DL
140342000-02-08 Dave Love <fx@gnu.org>
14035
14036 * lread.c (__EXTENSIONS__): Define.
14037
f7136ee8
GM
140382000-02-08 Gerd Moellmann <gerd@gnu.org>
14039
14040 * puresize.h (BASE_PURESIZE): Increase to 650000.
14041
7768790b
EZ
140422000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14043
14044 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14045 the help message.
14046
38fd211b
EZ
140472000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14048
14049 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14050 md, mh, mb, mr, and me to the fake termcap entry.
14051
66e4690f
KR
140522000-02-06 Ken Raeburn <raeburn@gnu.org>
14053
14054 * sound.c (sound_cleanup): Don't call device close routine if the
14055 function pointer is null.
14056
a75dfea0
AI
140572000-02-06 Andrew Innes <andrewi@gnu.org>
14058
14059 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14060 around image definitions and prototypes.
14061 (gamma_correct) [WINDOWSNT]: New prototype.
14062
14063 * w32term.c (x_make_frame_visible): Replace call to
14064 input_poll_signal with poll_for_input.
14065
14066 * window.c [WINDOWSNT]: Include w32term.h.
14067
14068 * xdisp.c [WINDOWSNT]: Include w32term.h.
14069
14070 * makefile.nt: Add dependencies on w32gui.h.
14071 (OBJ1): Include atimer.obj.
14072 ($(BLD)\atimer.obj): New dependency rule.
14073
14074 * w32.c (sigmask): New function (does nothing).
14075 (sigunblock): Ditto.
14076
14077 * frame.c [WINDOWSNT]: Include w32term.h.
14078
14079 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14080
14081 * lread.c (syms_of_lread): Fix literal newlines.
14082
14083 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14084 the string constant limit (2048 bytes) in MSVC.
14085 (main): Ditto.
14086
59ddecde
GM
140872000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14088
52283633 14089 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14090 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14091 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14092 dispatch the event.
14093
07590973
DL
140942000-02-04 Dave Love <fx@gnu.org>
14095
14096 * fileio.c: Remove some unused vars.
14097 (_GNU_SOURCE): Define (for euidaccess).
14098
14099 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14100
14101 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14102 gcpro1, gcpro2.
14103 (read_minibuf): Deal with allow_props correctly.
14104
649351f9
EZ
141052000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14106
14107 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14108
66e4690f 141092000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14110
14111 * search.c (compile_pattern): If a cache entry has a nil regexp,
14112 fill in that entry instead of clobbering a previously cached
14113 string regexp.
14114
66e4690f 141152000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14116
14117 * puresize.h (BASE_PURESIZE): Increase to 610000.
14118
d240a249
GM
141192000-02-02 Gerd Moellmann <gerd@gnu.org>
14120
14121 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14122 can GC.
14123
ca91fb26
KH
141242000-02-02 Kenichi Handa <handa@etl.go.jp>
14125
25660570
KH
14126 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14127 instead of incrementing ic directly.
14128 <CCL_WriteExprConst> Likewise.
14129 <ccl_set_expr>: Set ic to jump_address.
14130
ca91fb26
KH
14131 * fileio.c (e_write): Fix the handling of
14132 CODING_FINISH_INSUFFICIENT_SRC.
14133
2ede9689
DL
141342000-02-01 Dave Love <fx@gnu.org>
14135
14136 * editfns.c (Fpropertize): Doc fix.
14137
14138 * process.c (Fstart_process): Doc fix.
14139
14140 * eval.c: Fix various doc strings not to duplicate information
14141 from help-manyarg-func-alist.
14142
52283633 14143 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14144
14145 * doc.c (Vhelp_manyarg_func_alist): New variable.
14146 (Fdocumentation): Use it.
14147 (syms_of_doc): Define it.
14148
b6680a0e
GM
141492000-01-31 Gerd Moellmann <gerd@gnu.org>
14150
2cb750ba
GM
14151 * xterm.c (xim_open_dpy): Remove unused local variable.
14152
52283633 14153 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14154
14155 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14156 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14157
b6680a0e
GM
14158 * fns.c (sweep_weak_table): New function.
14159 (sweep_weak_hash_tables): Use it. Keep on marking until there
14160 is no more change.
14161
994c5afe
GM
141622000-01-30 Gerd Moellmann <gerd@gnu.org>
14163
14164 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14165 that XTread_socket does not crash by trying to call XNoOp on a
14166 closed display.
427ec082 14167
f00276e3
JR
141682000-01-30 Jason Rumney <jasonr@gnu.org>
14169
14170 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14171 Change selected_frame to SELECTED_FRAME ().
14172 (w32_console_mouse_position): Remove #ifndef MULE from around
14173 `insist' parameter.
14174
14175 * makefile.nt: Remove dosfns.obj.
14176
14177 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14178
14179 * w32fns.c (w32_defined_color): Check for valid frame before
14180 applying gamma correction. Eliminate dependency on frame elsewhere.
14181 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14182 (w32_to_x_font): Use resx and resy not height_in and width_in.
14183 (x_to_w32_font): Doc fix.
14184 (xlfd_strip_height): New function to strip and return font height.
14185 (w32_font_match): Compare height separately from rest of xlfd
14186 spec, using xlfd_strip_height.
14187
14188 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14189 width_in. Use w32_defined_color in place of defined_color.
14190
14191 * w32faces.c: Merge more of DOS and X specifics in preparation for
14192 merge with xfaces.c.
14193 (defined_color): Remove FIXME comment.
14194 (tty_color_name): Provide w32-specific function.
14195 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14196
14197 * w32console.c (turn_on_face, turn_off_face): Removed.
14198 (w32_face_attributes): New function.
14199 (Global_variables): Reduce scope where possible.
14200 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14201 fill attribute.
14202 (hl_mode): Don't modify text attributes.
14203 (write_glyphs): Don't do anything if len <= 0. Use
14204 w32_face_attributes to get attributes for drawing. Write
14205 terminating codes using char_attr_normal.
14206 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14207 (update_begin, update_end): Likewise.
14208 (vga_stdcolor_name): New function.
14209 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14210 (Fset_screen_color): Remove char_attr_reverse.
14211
b08e8bb2
GM
142122000-01-29 Gerd Moellmann <gerd@gnu.org>
14213
14214 * xfns.c (xic_set_preeditarea): Take window parameter and
14215 window-relative pixel-positions.
14216
14217 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14218 is its frame's selected window.
14219 (xim_instantiate_callback): Likewise.
14220
14221 * xfns.c (x_create_im): Removed.
14222 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14223 (supported_xim_styles): Renamed from supported_styles.
14224 (best_xim_style): Renamed from best_style.
14225 (create_frame_xic): Renamed from xic_create_frame.
14226 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14227
b08e8bb2
GM
142282000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14229
14230 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14231 our frames, call XFilterEvent with 2nd parameter `None'.
14232 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14233 returning XBufferOverflow.
52283633 14234 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14235 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14236 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14237 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14238 (xim_initialize, xim_close)
14239 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14240 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14241 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14242 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14243
14244 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14245 and `xim_styles'.
14246 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14247 `xic_style' and `xic_xfs'.
14248 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14249 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14250 (FRAME_XIM): Removed.
14251
14252 * xfns.c (supported_styles): New variable.
14253 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14254 (xic_create_xfontset, best_style, xic_create_frame)
14255 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14256 (xic_set_xfontset): New functions.
14257
142e109c
DL
142582000-01-28 Dave Love <fx@gnu.org>
14259
14260 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14261
14262 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14263
b02786f9
GM
142642000-01-28 Gerd Moellmann <gerd@gnu.org>
14265
d060bc9f
GM
14266 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14267 for *scratch* if it already existed.
14268
b02786f9
GM
14269 * emacs.c (USAGE): New macro.
14270 (main): Use it to display usage information.
14271
2c52d7e4
EZ
142722000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14273
14274 Support for the menu-help feature:
14275
52283633 14276 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14277
14278 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14279 part of the line to the termscript file.
14280 (IT_clear_to_end): Clear the entire line, not just its beginning.
14281 (menu_help_message, prev_menu_help_message): New variables.
14282 (IT_menu_make_room): Make room for the help_text member.
14283 (IT_menu_display): New argument disp_help; all callers changed.
14284 If disp_help is non-zero, store the help text of the active menu
14285 item in menu_help_message.
14286 (XMenuAddPane): Initialize the help_text member to NULL.
14287 (XMenuAddSelection): New argument help_text. Store it in the
14288 XMenu structure.
14289 (XMenuActivate): New argument help_callback. If the value of
14290 menu_help_message has changed since the last time, display the
14291 menu help message text while waiting for the mouse to move. Clear
14292 the echo area before exiting.
14293 (XMenuDestroy): Free the help_text member.
14294
ffe0bcd1
GM
142952000-01-27 Gerd Moellmann <gerd@gnu.org>
14296
14297 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14298 XMenuAddSelection. Pass help callback to XMenuActivate.
14299 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14300
50dbd23f
EZ
143012000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14302
14303 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14304 and EMACS_SET_USECS.
14305
f5941bf8
GM
143062000-01-26 Dave Love <fx@gnu.org>
14307
6c67ddee
DL
14308 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14309
f5941bf8
GM
14310 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14311 an error may be signalled.
14312
9e49c990
GM
143132000-01-26 Gerd Moellmann <gerd@gnu.org>
14314
fc3cb460
GM
14315 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14316 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14317
9e49c990
GM
14318 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14319
d0c037d8
GM
143202000-01-25 Gerd Moellmann <gerd@gnu.org>
14321
14322 * charset.c (Fstring): If there is a multibyte char among
14323 the args, always return a multibyte string.
14324
e12489f9
GM
143252000-01-25 Gerd Moellmann <gerd@gnu.org>
14326
14327 * sysdep.c (sys_select): Turn atimers off and on instead of
14328 recording and restoring old alarm handler
14329
14330 * process.c (toplevel): Include atimer.h.
14331 (create_process_1): Rewritten.
14332 (create_process): Use atimers instead of alarm.
14333 (wait_reading_process_input) [hpux]: Turn atimers off instead
14334 of turning off SIGALRM.
14335 (wait_reading_process_input): Turn off atimers instead off
14336 calling stop_polling.
14337
14338 * emacs.c (main): Call init_atimer.
14339
14340 * keyboard.c (toplevel): Include systime.h and atimer.h.
14341 (polling_for_input): Removed because unused.
14342 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14343 (poll_timer): New variable.
14344 (poll_for_input, poll_for_input_1): New functions.
14345 (start_polling, stop_polling): Rewritten.
14346
14347 * keyboard.h (polling_for_input): Removed.
427ec082 14348
e12489f9
GM
14349 * atimer.h, atimer.c: New files.
14350
14351 * Makefile.in (obj): Add atimer.o.
14352 (atimer.o): New target.
14353
14354 * blockinput.h (pending_atimers): Add extern declaration.
14355 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14356
14357 * lisp.h (popup_activated_flag): Add extern declaration.
14358
14359 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14360 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14361 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14362
14363 * xterm.c (toplevel): Include atimer.h.
14364 (toolkit_scroll_bar_interaction): New variable.
14365 (Fxt_process_timeouts): Removed.
14366 (x_process_timeouts): New function.
14367 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14368 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14369 (x_make_frame_visible): Call poll_for_input_1 instead of
14370 input_poll_signal. Don't call alarm.
14371 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14372
1e5279b9
DL
143732000-01-24 Dave Love <fx@gnu.org>
14374
6c67ddee 14375 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14376 Don't use -cckr -- apparently not now necessary.
14377
edf6aeb8
EZ
143782000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14379
14380 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14381 screen boundary.
14382
9badad41
JR
143832000-01-23 Jason Rumney <jasonr@gnu.org>
14384
14385 * w32fns.c (w32_defined_color): Apply gamma correction before
14386 trying to map to the palette.
14387 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14388 to w32_clear_rect.
14389
14390 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14391 here. Callers changed to always pass real device context.
14392 (w32_draw_bitmap): Likewise.
14393 (w32_get_glyph_overhangs): Likewise.
52283633 14394 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14395 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14396 pfnSetScrollInfo and SetScrollRange.
14397 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14398 back into MULE characters after decoding them.
14399 (x_get_glyph_face_and_encoding): Likewise.
14400 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14401 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14402 (x_produce_glyphs): Calculate per char metrics for a character
14403 that we know exists in default font when font_not_found_p is true.
14404
63bd786b
JR
144052000-01-22 Jason Rumney <jasonr@gnu.org>
14406
14407 * makefile.nt (intervals.obj, composite.obj): New modules.
14408 (composite.h): Added as dependency where appropriate.
14409
14410 * w32gui.h (XGCValue): New struct for emulating X GCs.
14411
14412 * w32term.h (XCharStruct): New struct for emulating X.
14413
14414 * w32console.c (turn_on_face, turn_off_face): New functions.
14415 (change_line_highlight): New prototype for new redisplay.
14416 (write_glyphs): Support multibyte text. Support faces.
14417
52283633 14418 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14419
14420 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14421 throughout. struct frame * in place of FRAME_PTR.
14422 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14423 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14424 (w32_get_arg): Renamed from x_get_arg.
14425 (Fx_file_dialog): New function.
14426 (w32_list_fonts): Check cache before asking system.
14427 (Vw32_enable_synthesized_fonts): New variable.
14428 (Vw32_enable_italics): Obsolete, removed.
14429
14430 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14431 Use SELECTED_FRAME macro.
14432
14433 * w32menu.c: Add skeleton support for help strings on menus.
14434 (add_menu_item): Native checkbox and radio support added, but not
14435 yet enabled due to bugs.
14436 (push_menu_item): Add parameters type, selection and help.
14437 Callers updated.
14438 Formatting changes to reduce unnecessary diffs with xmenu.c.
14439
14440 * w32select.c (Fw32_set_clipboard_data): Update call to
14441 find_charset_in_str.
14442
14443 * w32term.c: Complete rewrite for new redisplay based on new
14444 xterm.c with necessary sections merged back in from old w32term.c.
14445
6ffd3cf7 144462000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14447
14448 * data.c (set_internal): Further fix in same criterion.
14449
6ffd3cf7 144502000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14451
14452 * data.c (set_internal): Fix the criteria for whether
14453 to swap out the old cached binding.
14454
60af03f1
DL
144552000-01-19 Dave Love <fx@gnu.org>
14456
14457 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14458
f9be074f
KH
144592000-01-18 Kenichi Handa <handa@etl.go.jp>
14460
14461 * regex.c (re_compile_fastmap): While checking a range table for
14462 `charset', skip flag bits for a character class correctly.
14463
52b8dbf9
GM
144642000-01-17 Gerd Moellmann <gerd@gnu.org>
14465
d36100c9
GM
14466 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14467
52283633 14468 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14469
14470 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14471 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14472
14473 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14474 MENU_ITEMS_ITEM_.*.
14475 (MENU_ITEMS_ITEM_HELP): New enumerator.
14476 (push_menu_item): Add parameter HELP. Record help in menu_items.
14477 (single_menu_item, single_submenu, list_of_items): Call
14478 push_menu_item with new parameter.
14479 (single_submenu): Set help string in widget value.
14480 (menu_highlight_callback): New function.
14481 (set_frame_menubar): Call lw_create_widget with new
14482 parameter list.
14483 (xmenu_show, xdialog_show): Ditto.
14484
3139018f
GM
144852000-01-13 Gerd Moellmann <gerd@gnu.org>
14486
14487 * sound.c (Fplay_sound): Improve doc string.
14488
83c8f461
RS
144892000-01-11 Richard M. Stallman <rms@gnu.org>
14490
14491 * lisp.h (set_internal): Enter the new arg.
14492
14493 * eval.c (specbind): Record buffer-local variables specially,
14494 indicating which buffer's binding was saved.
14495 (unbind_to): Restore buffer-local variables specially
14496 in the proper buffer.
14497
14498 * data.c (set_internal): New arg BUF.
427ec082 14499
83c8f461
RS
14500 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14501 * data.c (Fset): Pass new arg to set_internal.
14502 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14503
1fab1775
GM
145042000-01-11 Gerd Moellmann <gerd@gnu.org>
14505
52283633 14506 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14507
83c8f461 145082000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14509
14510 * minibuf.c (Ftry_completion): Doc fix.
14511
7a85e4df
GM
145122000-01-11 Gerd Moellmann <gerd@gnu.org>
14513
14514 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14515 vector, too.
14516
a970dae4
AS
145172000-01-11 Andreas Schwab <schwab@suse.de>
14518
14519 * coding.c (code_convert_region): Initialize total_skip.
14520
c65d14ee
DL
145212000-01-08 Dave Love <fx@gnu.org>
14522
14523 * eval.c (Fuser_variable_p): Check customizability too.
14524
834938d2
GM
145252000-01-07 Gerd Moellmann <gerd@gnu.org>
14526
14527 * minibuf.c (Fcompleting_read): Doc fix.
14528
e0303cd6
GM
145292000-01-05 Gerd Moellmann <gerd@gnu.org>
14530
8a26744b
GM
14531 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14532 -L /usr/local/lib.
14533
e0303cd6
GM
14534 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14535 Check that input style is supported before trying to create an
14536 IC for it.
14537 (x_window): Call x_create_im.
427ec082 14538
2e471eb5
GM
145392000-01-04 Gerd Moellmann <gerd@gnu.org>
14540
560a7bd2
GM
14541 * xfns.c (current_gif_memory_src): New variable.
14542 (gif_load): Record the address of the current memory source
14543 in current_gif_memory_src.
14544 (gif_read_from_memory): Use current_gif_memory_src.
14545
f9ee84a3
GM
14546 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14547 macros statement form.
14548
d1299cde
GM
14549 * sound.c (struct sound): Renamed from struct sound_file.
14550 (struct sound): Add members `data' and `header_size'.
14551 (enum sound_attr): Add SOUND_DATA.
14552 (current_sound, current_sound_device): Variables renamed from
14553 sound_file and sound_device.
14554 (parse_sound): Parse :data.
14555 (parse_sound): Handle sound data in strings.
14556 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14557 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14558 needed header size.
14559 (wav_play, au_play): Play sounds from string data.
14560
2e471eb5
GM
14561 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14562
14563 * lisp.h: Add prototype for allocate_string_data.
14564
52283633 14565 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14566
14567 * alloc.c (mark_buffer): Remove code in #if 0.
14568 (gc_sweep): Ditto.
14569 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14570 (strings_consed): New variable.
14571 (allocate_string): Set it.
14572 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14573 (Fmemory_use_counts): Return strings_consed. Use Flist.
14574
14575 * alloc.c: General cleanup in comments etc. Remove conditional
14576 compilation for `standalone'.
14577
14578 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14579
14580 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14581 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14582 (DONT_COPY_FLAG): Removed.
14583 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14584 (struct sdata, struct sblock): New
14585 (struct string_block): Rewritten.
14586 (STRINGS_IN_STRING_BLOCK): New macro.
14587 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14588 (large_sblocks, string_blocks, string_free_list): New variables.
14589 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14590 (init_strings): Rewritten.
14591 (allocate_string, allocate_string_data, compact_small_strings)
14592 (free_large_strings, sweep_strings): New functions.
14593 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14594 (struct string_block_head, current_string_block)
14595 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14596 (STRING_PAD): Removed.
14597 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14598 (Fgarbage_collect): Don't set mark bit in large strings.
14599 (mark_object): Mark strings differently. Mark symbol names
14600 differently.
14601 (survives_gc_p): Test marked strings differently.
427ec082 14602 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14603 symbol names.
14604 (compact_strings): Removed.
14605
42608ba8
EZ
146062000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14607
14608 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14609 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14610
e0a09e1a
KH
146112000-01-04 Kenichi Handa <handa@etl.go.jp>
14612
dd9f0750 14613 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14614 in a non-empty buffer.
dd9f0750 14615
3c0f3b15 14616 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14617
44cd3ae5
GM
146182000-01-03 Gerd Moellmann <gerd@gnu.org>
14619
14620 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14621 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14622
14623 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14624
c182a70f
EZ
146252000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14626
14627 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14628 need to test for MSDOS frames.
14629
24480d5b
EZ
146302000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14631
14632 * dosfns.c (unspecified_colors): Remove.
14633 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14634 unspecified_bg.
14635 (msdos_stdcolor_name): Return strings for unspecified fore- and
14636 back-ground colors.
14637
14638 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14639 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14640 (tty_color_name): Return Lisp strings for unspecified fore- and
14641 back-ground colors.
14642 (Finternal_set_lisp_face_attribute): Remove the special treatment
14643 for Qunspecified_{f,b}g.
52283633 14644 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14645
047f434a
GM
146462000-01-03 Gerd Moellmann <gerd@gnu.org>
14647
14648 * xdisp.c (reseat_at_next_visible_line_start): Position before
14649 newline only if ending up on a newline.
14650 (next_element_from_ellipsis): Return success. Handle case of
52283633 14651 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14652 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14653 returns 0.
14654
d684c676
EZ
146552000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14656
14657 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14658 (Fcolor_supported_p): Renamed from face-color-supported-p.
14659
5fe1d139
EZ
146602000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14661
14662 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14663 list of colors renamed to tty-defined-color-alist.
14664 (tty_color_name): Pass the frame to tty-color-by-index.
14665 (realize_tty_face): tty-color-alist is now a function which
14666 accepts the frame as argument.
14667
52283633 14668 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14669
816be8b8
EZ
146702000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14671
14672 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14673 encode_terminal_code.
14674
b635321e
EZ
146752000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14676
14677 * dispnew.c (mode_line_string): Support termcap frames as well.
14678
9b784e96
GM
146792000-01-01 Gerd Moellmann <gerd@gnu.org>
14680
27189709
GM
14681 * syntax.c (Fforward_word): Undo previous change.
14682
14683 * editfns.c (Fconstrain_to_field): Don't constrain if
14684 inhibit-field-text-motion is non-nil.
14685 (Fline_beginning_position): Undo previous change.
14686 (Fline_end_position): Ditto.
14687
14688 * syntax.c (Fforward_word): Notice field boundaries only if
14689 inhibit-field-text-motion is nil.
14690
14691 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14692
14693 * editfns.c (Vinhibit_field_text_motion): New variable.
14694 (inhibit-field-text-motion): New DEFVAR_LISP.
14695 (Fline_beginning_position, Fline_end_position): Notice field
14696 boundaries only if inhibit-field-text-motion is nil.
14697
45158a91
GM
14698 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14699 All calls adjusted.
14700 (x_build_heuristic_mask): Likewise.
14701 (xbm_load_image_from_file): Change error output.
14702 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14703 (gif_load, gs_load, x_kill_gs_process): Ditto.
14704
9b784e96
GM
14705 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14706 color indices when accessing raster pixels.
63cec32f
GM
14707 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14708 one of :file or :data.
14709 (enum pbm_keyword_index): Add PBM_DATA.
14710 (pbm_format): Add :data.
14711 (pbm_image_p): Allow either :file or :data.
14712 (pbm_read_file): New function.
14713 (pbm_scan_number): Rewritten to read from string.
14714 (pbm_load): Support :data.
9b784e96 14715
2cb085db 14716See ChangeLog.8 for earlier changes.
6922b018
KH
14717
14718;; Local Variables:
49b3bd82 14719;; coding: iso-2022-7bit
6922b018 14720;; End:
2a34a036
GM
14721
14722 Copyright (C) 2001 Free Software Foundation, Inc.
14723 Copying and distribution of this file, with or without modification,
14724 are permitted provided the copyright notice and this notice are preserved.