(vc-cvs-parse-entry): Rewrite, comparing the string-
[bpt/emacs.git] / src / ChangeLog
CommitLineData
438e57dd
SM
12001-11-25 Stefan Monnier <monnier@cs.yale.edu>
2
3 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
4
59ce1461
JR
52001-11-25 Jason Rumney <jasonr@gnu.org>
6
7 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
8
9 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
10 (Fx_show_tip): Block input during frame creation.
11 (Fx_show_tip, Fx_hide_tip): Enable.
12
8727d588
RS
132001-11-24 Richard M. Stallman <rms@gnu.org>
14
15 * lread.c (Fload): Detect recursive load error for more than 3
16 nestings of the same file.
17 (Vrecursive_load_depth_limit): Variable deleted.
18 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
19
cc63037e
JR
202001-11-24 Jason Rumney <jasonr@gnu.org>
21
22 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
23 mouse position if either left or top is not specified.
24
25 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
26 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
27 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
28 (my_create_tip_window): Assign tip_window.
29 (x_create_tip_frame): Use same defaults as X.
30 (compute_tip_xy): Remove unused variable. Use full screen width.
31 (Fx_show_tip): Do not double height. Call ShowWindow directly.
32
33 * w32term.c (x_after_update_window_line): Doc fix.
34 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
35 frames.
36 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
37
38 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
39 for all Windowed systems.
40
deece6f5
EZ
412001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
42
43 * msdos.c (IT_clear_screen): If the frame's faces are not yet
44 realized, use the initial screen colors to clear the screen.
45
1b944d9c
PJ
462001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
47
28ff4293
PJ
48 * textprop.c (Fset_text_properties): Remove unused variables
49 `unchanged', `prev_changed', `s' and `len'.
50
56167cc5
PJ
51 * search.c (Freplace_match): Remove unused variable `inslen'.
52
1b944d9c
PJ
53 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
54
ca56d953
JR
552001-11-22 Jason Rumney <jasonr@gnu.org>
56
57 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
58 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
59 (my_create_tip_window): New function.
60 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
61 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
62
33399dce
JR
632001-11-20 Jason Rumney <jasonr@gnu.org>
64
65 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
66 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
67
68 * w32fns.c (Vw32_system_coding_system): Remove.
69 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
70
9b46de40
SM
712001-11-19 Stefan Monnier <monnier@cs.yale.edu>
72
6710ea06
SM
73 * fileio.c (Fwrite_region): Move choose_write_coding_system to
74 after build_annotations.
75
a395ef6a
SM
76 * syntax.c (describe_syntax): Add dummy arg.
77 (describe_syntax_1): Update call to describe_vector.
78
79 * category.c (describe_category): Add dummy arg.
80 (describe_category_1): Update call to describe_vector.
81
82 * keymap.c (Fdescribe_vector): Add `describer' parameter.
83 (describe_command, describe_translation): Add dummy second param.
84 (describe_map): Call elt_describer with two arguments.
85 (describe_vector_princ): Add `fun' parameter.
86 Call it instead of the hardcoded `princ'.
87 (describe_vector): Add arg `args'.
88 Pass it as a new second argument to elt_describer.
89
90 * keymap.h (describe_vector): Update prototype.
91
9b46de40
SM
92 * frame.c: Don't include keymap.h any more.
93 (keys_of_frame): Remove.
94
95 * lisp.h (keys_of_frame): Remove declaration.
96
97 * emacs.c (main): Don't call `keys_of_frame' any more.
98
aff37336
SS
992001-11-14 Andreas Schwab <schwab@suse.de>
100
101 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
102 if defined, 0 otherwise.
9b46de40 103 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
104 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
105
b9937f07
RS
1062001-11-19 Richard M. Stallman <rms@gnu.org>
107
108 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
109
2cd23960
JR
1102001-11-18 Jason Rumney <jasonr@gnu.org>
111
112 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
113 (x_draw_bar_cursor): If the background color of the glyph under
114 the cursor equals the frame's cursor color, use the glyph's
115 foreground color for drawing the bar cursor.
116 (x_after_update_window_line): Clear internal border in different
117 circumstances.
118 (w32_set_vertical_scroll_bar): Check for width and height > 0.
119 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
120 (x_set_glyph_string_background_width):
121 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
122 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
123 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
124 if cursor_in_non_selected_windows is false.
9b46de40 125 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
126 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
127 Notice if cursor gets overwritten.
128 (notice_overwritten_cursor): Renamed from
129 note_overwritten_text_cursor. Rewritten to take glyph widths
130 into account, and to take X positions as parameters.
131 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
132 around call to x_draw_glyphs.
133 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
134 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
135 color to use for image glyph reliefs.
136 (x_draw_image_relief): Accept zero tool_bar_button_relief.
137 (glyph_rect): Remove unused variable `area'.
138
139 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
140 some items.
141 (x_set_internal_border_width): Set frame garbaged when window
142 doesn't exist yet.
143 (Fx_create_frame): Accept zero tool_bar_button_relief.
144 (x_clear_image_1, four_corners_best, image_background)
145 (image_background_transparent): New functions.
146 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
147 (gs_format): Add `:background' entry.
148 (lookup_image): Set IMG's background color if specified.
149 (pbm_load, xbm_load_image, png_load): Set IMG's background field
150 when appropriate.
151 (x_clear_image_1): Reset `background_valid' and
152 `background_transparent_valid' fields.
153 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
154 calculating it here. Set IMG's background_transparent field.
155 (enum xpm_keyword_index): Add XPM_BACKGROUND.
156 (enum png_keyword_index): Add PNG_BACKGROUND.
157 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
158 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
159 (enum gif_keyword_index): Add GIF_BACKGROUND.
160 (enum gs_keyword_index): Add GS_BACKGROUND.
161 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
162 Pre-calculate image background color where necessary.
9b46de40
SM
163 (x_create_x_image_and_pixmap, xbm_load, gs_load):
164 Use display info's n_cbits entry for screen depth.
2cd23960
JR
165 (Fx_show_tip): Remove unused variables `buffer', `top',
166 `left', `max_width' and `max_height'.
167
168 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
169
a4184c1c
GM
1702001-11-18 Gerd Moellmann <gerd@gnu.org>
171
172 * puresize.h (BASE_PURESIZE): Increase to 750000.
173
f6fa0866
PJ
1742001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
175
176 * frame.c (Fframe_live_p): Doc fix.
177
f4ca4b00
RS
1782001-11-18 Richard M. Stallman <rms@gnu.org>
179
180 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
181 (message_dolog_marker3): New static variables hold three markers.
182 (syms_of_xdisp): Initialize and staticpro them.
183 (message_dolog): Use message_dolog_marker1..3 instead of
184 allocating markers each time. Unchain them when done.
185
f4e25f94
RS
1862001-11-17 Richard M. Stallman <rms@gnu.org>
187
188 * doc.c (Fsnarf_documentation): Doc fix.
189
91c153e2
AS
1902001-11-17 Andreas Schwab <schwab@suse.de>
191
192 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
193
65b7d3e7
RS
1942001-11-17 Richard M. Stallman <rms@gnu.org>
195
196 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
197
6b5f6311
JR
1982001-11-17 Jason Rumney <jasonr@gnu.org>
199
200 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
201
be676094
GM
2022001-11-17 Gerd Moellmann <gerd@gnu.org>
203
204 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
205 with invalid position.
206
032a857d
RS
2072001-11-16 Richard M. Stallman <rms@gnu.org>
208
209 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
210
211 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
212 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
213 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
214
215 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
216
b6270150
SM
2172001-11-16 Stefan Monnier <monnier@cs.yale.edu>
218
219 * fileio.c (build_annotations): Split off the tail.
220 (build_annotations_2): New fun. Extracted from build_annotations.
221 (Fwrite_region): Split the call to build_annotations into two
222 calls to build_annotations and build_annotations_2.
223
792e5cbd
PJ
2242001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
225
98cbb9fa
PJ
226 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
227 clear_waiting_for_input with argument.
228
229 * xterm.h (x_update_cursor): Remove duplicated prototype.
230
b6270150 231 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 232
ea904403 233 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 234
ea904403 235 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 236
fa336b91
SM
2372001-11-16 Stefan Monnier <monnier@cs.yale.edu>
238
239 * fileio.c (choose_write_coding_system): New fun, extracted
240 from Fwrite_region.
241 (Fwrite_region): Use it.
242
243 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
244 (funcall_lambda, run_hook_with_args): Make static and add prototype.
245 (ml_apply, find_handler_clause): Add prototype.
246
077907d4
EZ
2472001-11-16 Eli Zaretskii <eliz@gnu.org>
248
aa2af83a
EZ
249 * config.in: Add #undef HAVE_COFF_H.
250
077907d4
EZ
251 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
252 Required for ISC 4.1.
253
1756e2fb
EZ
2542001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
255
256 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
257 Andrew Wiseman <a.wiseman@btclick.com>.
258
06e8f738
KS
2592001-11-16 Kim F. Storm <storm@cua.dk>
260
261 The following changes are made to clean up the various internal
262 references to the fringes to actually use the term `fringe' for
263 them. Previously, they were called `flags areas', `bitmap areas',
264 `left/right side of windows', or implicitly as `flags' or
265 `bitmaps':
266
267 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
268 Comments fixed. Use renamed symbols.
fa336b91 269
06e8f738 270 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 271
06e8f738
KS
272 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
273 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
274 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 275
06e8f738 276 * msdos.c: Comment fix.
fa336b91 277
06e8f738 278 * w32fns.c: Use renamed symbols.
fa336b91 279
06e8f738
KS
280 * w32term.c: Comment fixes. Use renamed symbols.
281 (fringe_bitmap_type): Renamed from bitmap_type.
282 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
283 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
284 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 285
06e8f738
KS
286 * w32term.h: Comment fixes. Use renamed symbols.
287 (fringes_extra): Renamed from flags_areas_extra.
288 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
289 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
290 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
291 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
292 (FRAME_X_LEFT_FRINGE_WIDTH):
293 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
294 (FRAME_X_RIGHT_FRINGE_WIDTH):
295 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
296
06e8f738 297 * widget.c: Use renamed symbols.
fa336b91 298
06e8f738
KS
299 * window.c: Comment fixes. Use renamed symbols.
300 (coordinates-in-window-p): Doc fix.
fa336b91 301
06e8f738 302 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 303
06e8f738 304 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 305
06e8f738 306 * xfns.c: Use renamed symbols.
fa336b91 307
06e8f738
KS
308 * xterm.c: Comment fixes. Use renamed symbols.
309 (fringe_bitmap_type): Renamed from bitmap_type.
310 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
311 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
312 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
313
314 * xterm.h: Comment fixes. Use renamed symbols.
315 (fringes_extra): Renamed from flags_areas_extra.
316 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
317 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
318 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
319 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
320 (FRAME_X_LEFT_FRINGE_WIDTH):
321 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
322 (FRAME_X_RIGHT_FRINGE_WIDTH):
323 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 324
9ce647f4
JR
3252001-11-15 Jason Rumney <jasonr@gnu.org>
326
327 * w32menu.c (add-menu-item): Make help_echo and radio buttons
328 work for most menu items. From David Ponce
329 <david.ponce@wanadoo.fr>.
330
9b784ab8
GM
3312001-11-15 Gerd Moellmann <gerd@gnu.org>
332
9f7e52b4
GM
333 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
334 Some x_set_* function expect to be called even if old and new
335 value are equal.
336
337 * xdisp.c (build_desired_tool_bar_string): Accept zero
338 tool_bar_button_relief.
339
340 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
341
342 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 343
34e5d0af
GM
344 * xterm.c (x_draw_bar_cursor): If the background color of the
345 glyph under the cursor equals the frame's cursor color, use
346 the glyph's foreground color for drawing the bar cursor.
347
9b784ab8
GM
348 * dispnew.c (direct_output_forward_char): Fix character/byte
349 position comparison.
350
89512fcd
MB
3512001-11-15 Miles Bader <miles@gnu.org>
352
353 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
354 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
355 Update arguments to find_field.
356 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
357 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
358 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
359 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
360
7d18891d
RS
3612001-11-14 Richard M. Stallman <rms@gnu.org>
362
d2936d21
RS
363 * editfns.c (Fpropertize): Allow call with 1 arg.
364
7d18891d
RS
365 * dispextern.h (image_background, image_background_transparent):
366 Conditionalize on HAVE_X_WINDOWS.
367
3682001-11-13 Richard M. Stallman <rms@gnu.org>
369
370 * print.c (Fprin1_to_string): Doc fix.
371
372 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
373
374 * floatfns.c (Fceiling, Ffloor): Doc fixes.
375
376 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
377
378 * fileio.c (Ffile_accessible_directory_p): Doc fix.
379
380 * eval.c (syms_of_eval): Doc fix.
381
382 * coding.c (syms_of_coding): Doc fix.
383
384 * doc.c (Fsnarf_documentation): Doc fix.
385
386 * dispnew.c (syms_of_display): Doc fix.
387
388 * category.c (Fget_unused_category): Doc fix.
389
390 * buffer.c (syms_of_buffer): Doc fixes.
391
9474c847
EZ
3922001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
393
394 * print.c (prin1, print): Doc fix.
395
e3059a5d
PJ
3962001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
397
2b6f3c2b 398 * fontset.h: Remove declarations of variables
e3059a5d
PJ
399 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
400
401 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
402 `Vclip_large_size_font'.
403
b3700ae7
JR
4042001-11-13 Jason Rumney <jasonr@gnu.org>
405
406 * w32fns.c: Doc fix.
407
eae936e2
PJ
4082001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
409
4bb962be
PJ
410 * xfaces.c (Fface_attributes_as_vector): Doc fix.
411
0a332240
PJ
412 * w32fns.c (Fx_synchronize): Reindent.
413
ddb67bdc
PJ
414 * fns.c: Doc fix.
415
3467c402
PJ
416 * emacs.c: Doc fix.
417
418 * coding.c: Doc fix.
419
6e1b91d7
PJ
420 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
421 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
422 `new style' [w/`doc:' keyword].
423
f6e34773
PJ
424 * xmenu.c (x-popup-menu): Reindent.
425 (x-popup-dialog): Likewise.
426
fa336b91 427 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 428
c2552f79
PJ
429 * xdisp.c (Fdump_tool_bar_row): Reindent.
430
94c7167b
PJ
431 * minibuf.c (Fminibuffer_complete_word): Reindent.
432 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 433 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
434 (Fminibuffer_message): Likewise.
435
462a5e3a
PJ
436 * fns.c (Freverse): Reindent.
437
b8de5714
PJ
438 * eval.c (Fif): Reindent.
439 (Fand): Likewise.
440
deb8e082
PJ
441 * editfns.c (Fuser_real_login_name): Reindent.
442 (Finsert_buffer_substring): Likewise.
443 (Fcompare_buffer_substrings): Likewise.
444 (Fsubst_char_in_region): Likewise.
445
bacf09b4
PJ
446 * dispnew.c (Fsit_for): Reindent.
447 (Fframe_or_buffer_changed_p): Likewise.
448 (Finternal_show_cursor_p): Likewise.
449 (syms_of_display): Likewise.
450
eae936e2
PJ
451 * alloc.c (Flist): Reindent.
452 (Fvector): Likewise.
453
1c1d3d69
RS
4542001-11-12 Richard M. Stallman <rms@gnu.org>
455
456 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
457 LeaveNotify events. Only FocusIn and FocusOut do that now.
458 (x_display_and_set_cursor): Do display hollow cursors in active
459 minibuffer windows when they are not selected.
460
b6f4c7ba
JR
4612001-11-12 Jason Rumney <jasonr@gnu.org>
462
463 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
464 * w32term.c: Change doc-string comments to `new style'.
465 [w/`doc:' keyword]. Doc fixes.
466
467 * w32fns.c: Don't define max.
468 (Fx_open_connection): Only execute once.
469
a89f435d
PJ
4702001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
471
472 * ccl.c: Change macros to use do-while block instead of if-else.
473 Use braces to follow GNU Coding Standards.
474
a4cd0cd7
RS
4752001-11-11 Richard M. Stallman <rms@gnu.org>
476
eafb659a
RS
477 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
478
479 * lread.c (read_escape): Use end_of_file_error for reporting eof.
480
a4cd0cd7
RS
481 * insdel.c (replace_range): Use adjust_markers_for_replace
482 instead of adjust_markers_for_delete and adjust_markers_for_insert.
483
484 * intervals.h: Declare set_text_properties and set_text_properties_1.
485
486 * textprop.c (set_text_properties_1): New subroutine
487 broken out of set_text_properties.
488 (set_text_properties): Use set_text_properties_1.
489
490 * intervals.c (graft_intervals_into_buffer):
491 Use set_text_properties_1 to clear out properties.
492
493 * search.c (Freplace_match): Use replace_range to insert
494 and delete. Don't request property inheritance from
495 surrounding text.
496
91823618
JR
4972001-11-10 Jason Rumney <jasonr@gnu.org>
498
499 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
500 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 501 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 502
86928dfb
GM
5032001-11-10 Gerd Moellmann <gerd@gnu.org>
504
fa336b91 505 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
506 instead of malloc/free.
507
40ef1eda
PJ
5082001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
509
ab8469eb
PJ
510 * xfaces.c (merge_face_vectors): Use braces to follow GNU
511 Coding Standards.
512 (Finternal_set_lisp_face_attribute): Likewise.
513
a78e0303
PJ
514 * buffer.c (Fbury_buffer): Likewise.
515
40ef1eda
PJ
516 * indent.c (current_column_1): Remove unused variable `prev_col'.
517
fabf4a91
PJ
518 * coding.c (encode_coding): Use precomputed value of `src'.
519 (encode_coding): Remove unused variable `src_end'.
520 (code_convert_region): Remove unused variables `count'.
521
0c99b139
JR
5222001-11-07 Jason Rumney <jasonr@gnu.org>
523
524 * w32term.c (x_display_and_set_cursor): Do not move system caret
525 if cursor_glyph is NULL.
526
830ddd77
PJ
5272001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
528
529 * keymap.c (access_keymap): Fix compilation error.
530
55c6d645
MB
5312001-11-07 Miles Bader <miles@gnu.org>
532
533 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
534
5de38842
PJ
5352001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
536
7a4564a4
PJ
537 * intervals.c (graft_intervals_into_buffer):
538 Remove #ifdef'd-out code.
539 (graft_intervals_into_buffer): Remove unused variable `middle'.
540
5de38842
PJ
541 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
542 code (eval-current-buffer).
543 Change doc-string comments to `new style' [w/`doc:' keyword].
544
4fa23df5
RS
5452001-11-06 Richard M. Stallman <rms@gnu.org>
546
547 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
548
7a6a97d7
SM
5492001-11-06 Stefan Monnier <monnier@cs.yale.edu>
550
c191d13c
SM
551 * lread.c (read1): Fix behavior with nested backquoting.
552
7a6a97d7
SM
553 * keyboard.c (make_lispy_event): Check integerness and fix
554 Lisp_Object/int mixup.
555
44dc78e0
PJ
5562001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
557
558 * fns.c (copy_hash_table): Remove unused variable `v'.
559
17893c65
PJ
560 * fontset.c (fontset_font_pattern): Remove unused variable
561 `family_registry'.
562
4d994a79
PJ
563 * indent.c (current_column_1): Remove unused variable `prev_col'.
564
d5360cc7
RS
5652001-11-05 Richard M. Stallman <rms@gnu.org>
566
567 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
568
569 * buffer.c (Fkill_buffer): Don't delete auto save file
570 if buffer is modified.
571
96238a5a
AI
5722001-11-05 Andrew Innes <andrewi@gnu.org>
573
574 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
575 CHECK_NUMBER_CDR.
576
d9d54213
RS
5772001-11-05 Richard M. Stallman <rms@gnu.org>
578
579 * unexelf.c (unexec): Minor changes; clean up comments.
580
b116830b
SS
5812001-11-05 Sam Steingold <sds@gnu.org>
582
583 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
584
3297e2a1
AS
5852001-11-05 Andreas Schwab <schwab@suse.de>
586
587 * sound.c (sound_perror): Save errno from being clobbered.
588
9212319f 5892001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
590
591 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
592 the program image directly.
593
7dd73b78
PJ
5942001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
595
596 * buffer.h (Fbuffer_local_value): Add prototype.
597
982f6c7e
RS
5982001-11-04 Richard M. Stallman <rms@gnu.org>
599
d31053f9
RS
600 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
601 and CHECK_BUFFER.
602
603 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
604 (record_char): Likewise.
605
606 * keyboard.c (make_lispy_event): Don't insist a drag event must
607 move to a different buffer position. Instead, check for moving at
608 least double_click_fuzz.
609
610 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
611
612 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
613
982f6c7e
RS
614 * indent.c (current_column_1, Fmove_to_column): Separate the code
615 for display-table glyphs from the code buffer text, to fix
616 bugs in the former.
617
830047fd
RS
6182001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
619
620 * buffer.c (Fbuffer_local_value): New function.
c191d13c 621 (syms_of_buffer): Defsubr it.
b116830b 622
830047fd
RS
623 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
624 value of `cursor-in-non-selected-windows'.
625
626 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
627 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
628 (syms_of_xdisp): Initialize it.
b116830b 629
2df5238c
PJ
6302001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
631
4e397688
PJ
632 * xfns.c (Fx_create_frame): Doc fix.
633
48b0f3ae
PJ
634 * coding.c: Change doc-string comments to `new style' [w/`doc:'
635 keyword].
636
2df5238c
PJ
637 * eval.c (top_level_value, top_level_set): Remove commented and
638 #ifdef'd-out code.
639 (Fdefvar): Fix usage in doc-string.
640
3ecaf7e5
RS
6412001-11-03 Richard M. Stallman <rms@gnu.org>
642
643 * xfns.c: Include unistd.h, if it exists.
644
645 * editfns.c: Move the include of ctype.h after unistd.h.
646
647 * gmalloc.c: Test BROKEN_PROTOTYPES.
648
8db2e33b
KR
6492001-11-03 Ken Raeburn <raeburn@gnu.org>
650
651 * lisp.h (CHECK_STRING_CAR): New macro.
652 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
653 treating XCAR and XCDR as lvalues.
654 (openp): Use CHECK_STRING_CAR.
655 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
656
aed29b97
EZ
6572001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
658
659 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 660 (SIGMASKTYPE): Define.
aed29b97
EZ
661
662 * syssignal.h (sigunblock): Don't define if already defined.
663
6cb16f95
PJ
6642001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
665
16b45be4
EZ
666 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
667 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
668 Fix typos in comments.
669
020f9b38
PJ
670 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
671 and #ifdef'd-out code.
672 Fix and reindent comments.
673
c191d13c 674 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 675
6cb16f95
PJ
676 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
677 argument `i' in macros.
678
679 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
680 `i' in macros.
681
16b45be4
EZ
682 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
683 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
684 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
685 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
686 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
687 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
688 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
689 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
690 in macros.
691
692 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
693 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
694 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
695 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
696 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
697 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
698 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
699 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
700 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
701 (remove unused second argument).
702
7e9d3c2f
SM
7032001-11-02 Stefan Monnier <monnier@cs.yale.edu>
704
705 * syntax.c (describe_syntax): New wrapper.
706 (Finternal_describe_syntax_value): Rename from describe_syntax.
707 Don't insert space at front and \n at the end.
708 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
709
710 * regex.c (re_wctype): Try to fix some warnings.
711 (regcomp, regexec): Don't forget the __restrict.
712
e6bff182
RS
7132001-11-02 Richard M. Stallman <rms@gnu.org>
714
715 * textprop.c (Fget_char_property): Doc fix.
716
9ba48103
PJ
7172001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
718
719 * process.c (Fstart_process): Add usage to doc-string.
720
721 * data.c (Fsetq_default): Ditto.
722
723 * callint.c (Finteractive): Ditto.
724
c22e59e1
SM
7252001-11-01 Stefan Monnier <monnier@cs.yale.edu>
726
727 * macros.c: Don't include keymap.h any more.
728
9271ed2c
RS
7292001-11-01 Richard M. Stallman <rms@gnu.org>
730
e6bff182
RS
731 * data.c (Fmake_local_variable): Doc fix.
732
733 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
734 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
735
9271ed2c
RS
736 * keymap.c (Fdescribe_buffer_bindings): Print character property
737 bindings along with or instead of the buffer local map.
738 Make the overriding maps override what they should.
739
8b8bd9c6
PJ
7402001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
741
742 * window.c (grow_mini_window): Fix typo in comment.
743
27188d11
GM
7442001-11-01 Gerd Moellmann <gerd@gnu.org>
745
7b49b9d2
GM
746 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
747 (XTset_vertical_scroll_bar): Likewise.
748
43f7c3ea
GM
749 * xfns.c (x_build_heuristic_mask): Use four_corners_best
750 instead of IMAGE_BACKGROUND.
c22e59e1 751
b350c2e5
GM
752 * xfns.c (four_corners_best): Reindent.
753
c22e59e1 754 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
755 Handle :box so that it is possible to specify sexprs.
756
d576358b
PJ
7572001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
758
759 * xfaces.c (Finternal_merge_in_global_face): Reindent.
760 (Fface_font): Ditto.
761 (Finternal_set_alternative_font_registry_alist): Ditto.
762 (Ftty_suppress_bold_inverse_default_colors): Ditto.
763
764 * xfns.c (x-get-resource): Reindent.
765
bf00d461
EZ
7662001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
767
768 * s/hpux11.h: New file.
769
4e10df59
PJ
7702001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
771
2b209b97
PJ
772 * emacs.c (USAGE1): Show command line option --no-window-system
773 instead of --no-windows in usage.
774 (standard_args): Rename --no-windows to --no-window-system.
775 (bug_reporting_address): Follow Emacs coding conventions.
776
9dbc9081
PJ
777 * eval.c (Fcommandp): Doc fix.
778 Change doc-string comments to `new style' [w/`doc:' keyword].
779
4e10df59
PJ
780 * frame.c (Fframe_live_p): Doc fix.
781
782 * buffer.c (selective-display-ellipses): Doc fix.
783
dd387b25
GM
7842001-10-31 Gerd Moellmann <gerd@gnu.org>
785
fe957e65
GM
786 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
787
dd387b25
GM
788 * xfaces.c (realize_x_face): If C is not a single-byte character,
789 set the face's colors_copied_bitwise_p instead of the defaulted_p
790 members which have a different meaning.
791 (free_face_colors): Do nothing for a face whose colors have been
792 copied bitwise.
793
c22e59e1 794 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 795
2e1280f8
PJ
7962001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
797
687784e8
PJ
798 * marker.c, mocklisp.c: Change doc-string comments to `new style'
799 [w/`doc:' keyword].
2e1280f8 800
b9d9a9b9
GM
8012001-10-31 Gerd Moellmann <gerd@gnu.org>
802
803 * fns.c (require_unwind): Return Lisp_Object.
804
48400103
PJ
8052001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
806
fa1361cb
PJ
807 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
808 (last-input-char): Revert doc-string to be the same as the
809 doc-string of `last-input-event'.
810
48400103
PJ
811 * xdisp.c: Fix typos in comments.
812
eafa3196
GM
8132001-10-31 Gerd Moellmann <gerd@gnu.org>
814
815 * window.c (grow_mini_window): Handle case that the root
816 window is already smaller than the nominal mininum height.
817
747d3f2a
SM
8182001-10-30 Stefan Monnier <monnier@cs.yale.edu>
819
bf9bb76f
SM
820 * emacs.c (main): Don't call keys_of_macros any more.
821
822 * lisp.h (keys_of_macros): Remove.
823
824 * macros.c (keys_of_macros): Remove.
825
747d3f2a
SM
826 * xfaces.c (Fface_attribute_relative_p): Declare args.
827
5e905a57
JR
8282001-10-30 Jason Rumney <jasonr@gnu.org>
829
830 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
831 (enum_font_cb2): Ignore fonts with vertical orientation.
832
3a426197
RS
8332001-10-30 Richard M. Stallman <rms@gnu.org>
834
835 * keyboard.c (Finput_pending_p): Doc fix.
836
a742d646
GM
8372001-10-30 Gerd Moellmann <gerd@gnu.org>
838
259cf6bc
GM
839 * xterm.c (x_after_update_window_line): Don't run the code
840 clearing in borders for rows whose visible height is 0.
841
3f99f948
GM
842 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
843 resized_p flag is set. If not set, use the much less flickering
844 method previously used.
845
846 * dispnew.c (change_frame_size_1): Set frame's resized_p.
847
848 * frame.h (struct frame) <resized_p>: New member.
849
b4a3be43
GM
850 * lread.c (to_multibyte): Ensure read_buffer is at least twice
851 as large as the number of bytes to convert.
747d3f2a 852
a742d646
GM
853 * lread.c (to_multibyte): New function.
854 (read1): Use it.
855
cacbb9e9
EZ
8562001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
857
858 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
859
99cb6b2f
GM
8602001-10-30 Gerd Moellmann <gerd@gnu.org>
861
327f42ee 862 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
863 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
864 if the row's fill_line_p is set and drawing the last glyph with
865 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 866
99cb6b2f
GM
867 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
868
8e8223e2
SM
8692001-10-29 Stefan Monnier <monnier@cs.yale.edu>
870
871 * xmenu.c: Include coding.h and charset.h.
872 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
873 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
874 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
875 Explicitly set wv->help. Use `TRUE' rather than `True'.
876 (menu_help_callback): Use empty_string.
877
878 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
879 (Fx_popup_dialog): Explicitly init f.
880 (w32_menu_display_help): Use empty_string.
881
4d083a8f
RS
8822001-10-29 Richard M. Stallman <rms@gnu.org>
883
b2304472
RS
884 * fns.c (Frequire): Detect recursive try to require the same
885 feature 3 or more levels deep, and get error.
886 (require_unwind): New subroutine.
887 (require_nesting_list): New variable.
888 (syms_of_fns): Init and staticpro it.
889
4d083a8f
RS
890 * print.c (print_object): Clarify indication of insertion type.
891
2fe41216
EZ
8922001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
893
90480000
EZ
894 * coding.c (syms_of_coding): Document that locale-coding-system is
895 used for decoding input on X.
896
2fe41216
EZ
897 * window.c (Fscroll_left, Fscroll_right): Doc fix.
898
74e79967
PJ
8992001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
900
901 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
902 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
903
60ebcfe8
GM
9042001-10-29 Gerd Moellmann <gerd@gnu.org>
905
9a7bdceb
GM
906 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
907 use NO_CURSOR if cursor_in_non_selected_windows is false.
908
3f08fcd2
GM
909 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
910 the slant attribute if FRAME is t.
911
0ccfdad2
GM
912 * xfns.c (x_set_internal_border_width): Set frame garbaged
913 when X window doesn't exist yet.
914
ef253080
GM
915 * xterm.c (x_after_update_window_line): Clear internal border
916 in different circumstances.
b116830b 917
60ebcfe8
GM
918 * xterm.c (XTread_socket) <KeyPress>: Don't use
919 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
920 <handa@etl.go.jp>.
921
73d25f9c
EZ
9222001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
923
924 * m/ibms390.h: New file. From Adam Thornton
925 <athornton@sinenomine.net>.
926
cac1daf0
GM
9272001-10-28 Gerd Moellmann <gerd@gnu.org>
928
053b3256 929 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 930
cac1daf0
GM
931 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
932 a loop counter.
933
13b1a09c
PJ
9342001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
935
186486eb
PJ
936 * emacs.c: Use argv[0] instead of emacs when -t was specified.
937
4707d2d0
PJ
938 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
939 keyword].
940 Fix typos in comments.
b116830b 941
d883731c
PJ
942 * emacs.c (bug_reporting_address): New function.
943 Use it when displaying usage message.
944
04012254
PJ
945 * minibuf.c (read_minibuf): Remove unused external declaration of
946 variable `Qread_only'.
947
13b1a09c
PJ
948 * keymap.c (access_keymap): Remove unused variable `charset'.
949
5bbf4378
MB
9502001-10-28 Miles Bader <miles@gnu.org>
951
952 * xfaces.c (merge_face_heights): Handle TO being relative as well.
953 Remove #ifdef'd-out code.
954 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
955 (syms_of_xfaces): Initialize them.
956
1ce1e4ee
JR
9572001-10-27 Jason Rumney <jasonr@gnu.org>
958
959 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
960 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
961 position using the system caret.
962
963 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
964 (w32_system_caret_height, w32_system_caret_x)
965 (w32_system_caret_y): New variables for tracking system caret.
966 (w32_initialize): Initialize them.
c2d53558 967 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 968
c2d53558
SM
969 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
970 New messages types.
1ce1e4ee
JR
971
972 * w32term.c (note_mouse_highlight): Clear old help_echo.
973
4e30ce42
PJ
9742001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
975
bb4600a4
PJ
976 * xterm.c: Fix typo in a comment.
977
7db35a48
PJ
978 * emacs.c: Fix typos in comments.
979 Remove unnecessary spaces.
980 Change doc-string comments to `new style' [w/`doc:' keyword].
981 (USAGE2): Fix typos in usage string.
982
a7248e4f
PJ
983 * xterm.c: Fix typo in a comment.
984
4e30ce42
PJ
985 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
986 emacs.c.
987
62725a92
GM
9882001-10-27 Gerd Moellmann <gerd@gnu.org>
989
798dbe1f 990 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 991 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
992 farther backward when target_y was not reached.
993
62725a92
GM
994 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
995 Display errno only if non-zero.
996 (sound_warning): New function.
997 (vox_configure): Don't treat failing to set sample rate as error.
998 (various places): Improve error messages.
999
d4e34d24
EZ
10002001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1001
944e6f60
EZ
1002 * fileio.c (Faccess_file): Run the argument filename through
1003 Fexpand_file_name, before using it.
1004
d4e34d24
EZ
1005 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1006 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1007
38d2af0c
GM
10082001-10-26 Gerd Moellmann <gerd@gnu.org>
1009
da80a8d5
GM
1010 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1011
38d2af0c
GM
1012 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1013 Fix clearing in the case of scroll bars on the right.
c2d53558 1014
56f508dd
EZ
10152001-10-26 Juanma Barranquero <lektu@terra.es>
1016
1017 * w32gui.h (XImage): Add a dummy typedef.
1018
fbd5ceb2
GM
10192001-10-26 Gerd Moellmann <gerd@gnu.org>
1020
c2d53558 1021 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1022
b23236fb
EZ
10232001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1024
1025 * frame.c (Fframe_parameter): Fix last change.
1026
5d991fc4
EZ
1027 * fileio.c: Revert last change (which removed old commented-out
1028 version of expand-file-name). Add a comment that explains why
1029 this old version should not be removed.
1030
879eadc3
GM
10312001-10-25 Gerd Moellmann <gerd@gnu.org>
1032
75700ff2
GM
1033 * frame.c (Fframe_parameter): Fix a bug whereby some
1034 ``artificial'' frame parameters, like `minibuffer' were not
1035 obtained by calling Fframe_parameters.
1036
dfe92a6a
GM
1037 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1038 cursor differently.
1039
879eadc3
GM
1040 * xdisp.c (move_it_vertically_backward): Compute line height
1041 differently. Add heuristic to try to be more compatible to 20.x.
1042
e1010ebe
SM
10432001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1044
d73a471b
SM
1045 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1046
d6da5a06
GM
1047 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1048 boolean.
e1010ebe 1049
f66bd220
MB
10502001-10-25 Miles Bader <miles@gnu.org>
1051
1052 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1053 BG is a pointer to a structure, not a structure.
1054 (gif_format, png_format): Add missing commas.
1055
d436d538
RS
10562001-10-24 Richard M. Stallman <rms@gnu.org>
1057
1058 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1059 (syms_of_xfaces): Defsubr it.
d436d538 1060
075c507b
PJ
10612001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1062
1063 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1064 variable `area'.
1065
d492b584
PJ
10662001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1067
c2d53558 1068 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1069
e2a57b34
MB
10702001-10-25 Miles Bader <miles@gnu.org>
1071
1072 * dispextern.h (struct image): Add `background',
1073 `background_valid', and `background_transparent' fields.
1074 (image_background, image_background_transparent): New declarations.
1075 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1076 * xfns.c (image_background, image_background_transparent)
1077 (four_corners_best): New functions.
c2d53558 1078 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1079 (gs_format): Add `:background' entry.
1080 (lookup_image): Set IMG's background color if specified.
1081 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1082 when appropriate.
1083 (x_clear_image_1): Reset `background_valid' and
1084 `background_transparent_valid' fields.
1085 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1086 calculating it here. Set IMG's background_transparent field.
1087 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1088 (enum png_keyword_index): Add PNG_BACKGROUND.
1089 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1090 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1091 (enum gif_keyword_index): Add GIF_BACKGROUND.
1092 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1093 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1094 Pre-calculate image background color where necessary.
1095 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1096 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1097 color to use for image glyph reliefs.
1098
b547b6e8
GM
10992001-10-24 Gerd Moellmann <gerd@gnu.org>
1100
d9e3b8c6
GM
1101 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1102 in full-width rows.
c2d53558 1103
b547b6e8
GM
1104 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1105 Fix clearing of area not covered by scroll bar.
1106
2beb36f9
PJ
11072001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1108
1109 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1110 and `real_start'.
c2d53558 1111 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1112 (glyph_rect): Remove unused variable `area'.
1113
76cb5e06
GM
11142001-10-24 Gerd Moellmann <gerd@gnu.org>
1115
bdbdebff 1116 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1117
1118 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1119 (row_containing_pos): Take additional argument DY.
1120 Treat rows ending in middle of char differently.
62e33982
GM
1121 (display_line): Handle tabs on window systems differently.
1122
1123 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1124 with additional argument.
1125
1126 * dispextern.h (row_containing_pos): Adjust prototype.
1127
76cb5e06
GM
1128 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1129 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1130 (try_window_id, try_window_reusing_current_matrix)
1131 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1132 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1133
996fee11
PJ
11342001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1135
c9e60620
PJ
1136 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1137 gnuemacs).
1138 (HAVE_BOXES): Fix typo in comment.
1139 (push_menu_pane): Fix typo in comment.
1140
3b552d56
PJ
1141 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1142 of `Qwhen'.
1143 (single_display_prop_string_p): Remove unused local declarations
1144 of `Qwhen' and `Qmargin'.
1145 (string_buffer_position): Remove unused variable `around'.
1146 (store_frame_title): Remove unused variable `width'.
1147
15c565ac
PJ
1148 * window.c: Don't define max.
1149 (coordinates_in_window): Remove unused variable `uy'.
1150
a8818eb9
PJ
1151 * widget.c: Don't define max.
1152
996fee11
PJ
1153 * process.c: Don't define max.
1154 (create_process): Remove unused variable `buffer'.
1155
496e1a5b
GM
11562001-10-23 Gerd Moellmann <gerd@gnu.org>
1157
c2d53558 1158 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1159
5905ae8b
EZ
11602001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1161
1162 * xfaces.c (Finternal_set_lisp_face_attribute)
1163 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1164 frame is on a windowed display.
1165
24db49fb
GM
11662001-10-23 Gerd Moellmann <gerd@gnu.org>
1167
c2d53558
SM
1168 * dispnew.c (sync_window_with_frame_matrix_rows):
1169 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1170 of marginal areas.
1171
c2d53558 1172 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1173
f0487f05
EZ
11742001-10-23 Andreas Schwab <schwab@suse.de>
1175
1176 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1177 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1178
f0a48a01
GM
11792001-10-23 Gerd Moellmann <gerd@gnu.org>
1180
c2d53558 1181 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1182 REAL_END. Notice if cursor gets overwritten.
1183 (notice_overwritten_cursor): Take X positions as parameters.
1184 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1185 around call to x_draw_glyphs.
1186
a50a10a0
PJ
11872001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1188
fc11dff0
PJ
1189 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1190 instead of C) and usage.
a50a10a0 1191
fc11dff0
PJ
1192 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1193 of C) and usage.
a50a10a0
PJ
1194
1195 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1196 `left', `max_width' and `max_height'.
1197
8738febd
GM
11982001-10-23 Gerd Moellmann <gerd@gnu.org>
1199
1200 * xdisp.c (display_line): For a tab continued to the next line,
1201 set row's ends_in_middle_of_char_p.
1202
653c329b
GM
12032001-10-22 Gerd Moellmann <gerd@gnu.org>
1204
1205 * xdisp.c (display_line): Fix computation of continuation lines
1206 width for TABs.
1207
f958c5ac
PJ
12082001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1209
7ba51063
PJ
1210 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1211 `Qlaplace'.
1212
f958c5ac
PJ
1213 * fileio.c: Remove unused code.
1214
eb360291
MB
12152001-10-22 Miles Bader <miles@gnu.org>
1216
1217 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1218 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1219 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1220
98515cf0
JR
12212001-10-21 Jason Rumney <jasonr@gnu.org>
1222
1223 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1224
93026d88
EZ
12252001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1226
1227 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1228 (Finsert_string): Avoid the multi-line string literals warning.
1229
c9a95b79
MB
12302001-10-22 Miles Bader <miles@gnu.org>
1231
1232 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1233 (Fdocumentation): Don't use it.
1234 (syms_of_doc): Don't initialize it.
1235
1236 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1237 * print.c (Fwith_output_to_temp_buffer): Likewise.
1238 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1239 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1240 (Fsave_restriction): Likewise.
c2d53558
SM
1241 * eval.c (Frun_hooks, Frun_hook_with_args)
1242 (Frun_hook_with_args_until_failure)
1243 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1244 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1245 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1246 (Funwind_protect, Fcondition_case): Likewise.
1247 * coding.c (Ffind_operation_coding_system): Likewise.
1248 * keyboard.c (Ftrack_mouse): Likewise.
1249
a3b10252
MB
12502001-10-21 Miles Bader <miles@gnu.org>
1251
c2d53558 1252 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1253 (Fmake_hash_table): Add usage: string to doc string.
1254 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1255 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1256 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1257 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1258 (Fml_prefix_argument_loop): Likewise.
1259
c6f73eec
PJ
12602001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1261
c2d53558 1262 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1263
c6f73eec
PJ
1264 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1265 style' [w/`doc:' keyword].
1266
1267 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1268 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1269 comments to `new style' [w/`doc:' keyword].
1270
3cf3436e
JR
12712001-10-21 Jason Rumney <jasonr@gnu.org>
1272
1273 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1274
c169b8f1
JR
1275 * w32term.c (remember_mouse_glyph): New function.
1276 (w32_mouse_position): Use it.
1277 (note_mouse_movement): If the mouse moved off the glyph, remember
1278 its new position.
c2d53558 1279
4fdd691b
JR
1280 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1281 (w32_display_info): Add mouse_face_overlay.
1282
c169b8f1
JR
1283 * w32term.c (notice_overwritten_cursor): Renamed from
1284 note_overwritten_text_cursor. Rewritten to take glyph widths into
1285 account.
1286 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1287 (fast_find_string_pos): New function.
1288 (fast_find_position): Return the correct vpos. Add parameter
1289 STOP. In the final row, stop before glyphs having STOP as object.
1290 Don't consider glyphs that are not from a buffer.
1291 (fast_find_position) [0]: Add a presumably more correct version
1292 for after 21.1.
1293 (expose_window_tree, expose_frame): Don't compute intersections here.
1294 (expose_window): Do it here instead.
1295 (expose_window_tree, expose_window, expose_line): Return 1 when
1296 overwriting mouse-face.
1297 (expose_window): If W is the window currently being updated, mark
1298 the frame garbaged.
1299 (expose_frame): If mouse-face was overwritten, redo it.
1300 (x_use_underline_position_properties): New variable.
1301 (syms_of_xterm): DEFVAR_BOOL it.
1302 (x_draw_glyph_string): Add comment to use it in future.
1303 (x_draw_glyph_string): Restore clipping after drawing box.
1304 Fix a computation of the underline position.
1305 (w32_get_glyph_string_clip_rect): Minor cleanup.
1306 (x_fill_stretch_glyph_string): Remove an assertion.
1307 (x_produce_glyphs): Don't convert multibyte characters
1308 to unibyte characters in unibyte buffers.
1309 (cursor_in_mouse_face_p): New function.
1310 (x_draw_stretch_glyph_string): Use it to choose a different GC
1311 when drawing a cursor within highlighted text. Don't draw
1312 background again if it has already been drawn.
1313 (x_draw_glyph_string_box): Don't draw a full-width
1314 box just because the glyph row's full_width_p flag is set.
1315 (x_draw_glyphs): Fix computation of rightmost x for
1316 full-width rows.
1317 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1318 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1319 change bottom shadow accordingly. Some cleanup.
1320 (x_update_window_end): Handle overwritten mouse face
1321 also for tool bar windows.
1322 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1323 DRAW is DRAW_IMAGE_RAISED.
1324 (clear_mouse_face): Return 1 if text with mouse face was
1325 actually redrawn. Make the function static. Reset
1326 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1327 optimize away highlighting if we pass over that same overlay again.
1328 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1329 to detect a case where we have to highlight a different region
1330 despite not having left the currently highlighted region.
1331 Set mouse_face_overlay in the x_display_info. Avoid changing the
1332 mouse pointer shape when show_mouse_face has already done it, or
1333 there is no need. Handle mouse-face and help-echo in strings.
1334 (glyph_rect): New function.
1335 (w32_mouse_position): Use it to raise the threshold for mouse
1336 movement event generation.
1337 (w32_initialize_display_info): Initialize the x_display_info's
1338 mouse_face_overlay.
1339 (w32_set_vertical_scroll_bar): Don't clear a zero height
1340 or width area.
1341 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1342 a widget to zero height.
1343
3cf3436e 1344 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1345 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1346 equivalents in menu_items.
1347 (w32_menu_show): Don't overwrite an item's name with its key
1348 description in case the description is a multibyte string.
1349 (single_submenu): Some cleanup.
1350
1351 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1352 (postprocess_image): New function.
1353 (lookup_image): Call it for all image types except PostScript.
1354 (x_kill_gs_process): Call postprocess_image.
1355 (tiff_error_handler, tiff_warning_handler): New functions.
1356 (tiff_load): Install them as handlers.
1357 (x_kill_gs_process): Recognize if someone has cleared the image
1358 cache under us.
1359 (valid_image_p): Protect better against invalid image
1360 specifications. Previous code could signal an error.
1361 (Fx_hide_tip, Fshow_tip): Doc fix.
1362 (Fv_max_tooltip_size): New variable.
1363 (syns_of_xfns): DEFVAR_LISP it.
1364 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1365 window buffer to *tip* right after creating the frame. Set frame's
1366 window_width. Use a maximum tooltip size specified by
1367 Vx_max_tooltip_size, if that has valid contents.
1368 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1369 Make sure the tooltip is completely visible.
1370 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1371 (Fx_create_frame): Adjust the frame's height for presence
1372 of the tool bar before calling x_figure_window_size.
1373 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1374 when the window gets smaller.
1375 (x_set_foreground_color): Set frame's cursor_pixel.
1376 (x_set_foreground_color, x_set_background_color): Cleaned up.
1377 (x_set_font): Handle case of x_new_fontset returning the same name
1378 as before, although there was a change in fontsets.
1379
386ca361
MB
13802001-10-21 Miles Bader <miles@gnu.org>
1381
c2d53558 1382 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1383 (Flogxor): Add usage: string to doc string.
1384 * charset.c (Fstring): Likewise.
1385 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1386 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1387
14ff1ee0
PJ
13882001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1389
03be2694
PJ
1390 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1391
1392 * alloc.c: Reindent DEFUNs with doc: keywords.
1393
1394 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1395
14ff1ee0
PJ
1396 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1397 keyword].
1398
71431a0e
GM
13992001-10-20 Gerd Moellmann <gerd@gnu.org>
1400
6aa97356 1401 * (Version 21.1 released.)
71431a0e 1402
39f624fa
PJ
14032001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1404
c2d53558 1405 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1406
1407 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1408 0 because unused.
1409
1410 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1411 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1412 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1413
abcce93a
MB
14142001-10-20 Miles Bader <miles@gnu.org>
1415
1416 The following changes remove the glyph_row `inverse_p' field,
1417 which is never set anymore, due to other changes:
1418
1419 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1420 (reassert_line_highlight, change_line_highlight): Declarations removed.
1421 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1422 (line_hash_code, row_equal_p, fake_current_matrices)
1423 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1424 (update_frame_line, update_frame_line, update_frame_line):
1425 Don't use `inverse_p' field.
1426 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1427 change_line_highlight_hook.
1428 (XTreassert_line_highlight, x_change_line_highlight):
1429 Functions removed.
c2d53558 1430 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1431 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1432 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1433 `inverse_p' field.
c2d53558 1434 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1435 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1436 (w32_reassert_line_highlight, x_change_line_highlight):
1437 Functions removed.
1438 * w32console.c (reassert_line_highlight, change_line_highlight):
1439 Functions removed.
1440 (initialize_w32_display): Don't set reassert_line_highlight_hook
1441 or change_line_highlight_hook.
1442 (hl_mode): Function removed.
c2d53558
SM
1443 (reset_terminal_modes, set_terminal_modes, update_begin)
1444 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1445 (clear_frame, ins_del_lines): Don't call it.
1446 * termhooks.h (reassert_line_highlight_hook)
1447 (change_line_highlight_hook): Declarations removed.
1448 * term.c (reassert_line_highlight_hook)
1449 (change_line_highlight_hook): Variables removed.
1450 (reassert_line_highlight, change_line_highlight): Functions removed.
1451 * msdos.c (IT_reassert_line_highlight)
1452 (IT_change_line_highlight): Functions removed.
1453 (internal_terminal_init): Don't set reassert_line_highlight_hook
1454 or change_line_highlight_hook.
1455 (highlight): Variable removed.
c2d53558 1456 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1457 (IT_set_terminal_modes): Don't set or use it.
1458
1459 The following changes remove inverse-video support for terminals
1460 that use a `magic cookie' standout mode. Due to changes in the
1461 way mode-lines are displayed, such support no longer works
1462 anyway, and it's probable that almost no one uses such terminals
1463 anymore:
1464
1465 * term.c (standout_requested): Variable removed.
1466 (update_end, highlight_if_desired): Don't use it.
1467 (chars_wasted, copybuf): Variables removed.
1468 (write_standout_marker): Function removed.
c2d53558 1469 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1470 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1471 Don't use `chars_wasted' or `copybuf'.
1472 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1473 Set `costs_set' to true.
1474 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1475 `chars_wasted'.
1476 (clear_end_of_line): Function removed.
1477 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1478 (clear_to_end): Call `clear_end_of_line' instead of
1479 `clear_end_of_line_raw'.
54800acb
MB
1480 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1481 (term_init): Don't set them.
1482 Turn off any standout/underline modes that require magic cookies.
c2d53558 1483 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1484 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1485 Remove special processing for magic-cookie standout modes.
1486 (turn_off_face, turn_on_face): Remove special processing for
1487 underline magic-cookie glitch.
abcce93a 1488
0b5f679f
RS
14892001-10-19 Richard M. Stallman <rms@gnu.org>
1490
1491 * eval.c (syms_of_eval): Doc fixes.
1492
5a4a5bd4
GM
14932001-10-19 Gerd Moellmann <gerd@gnu.org>
1494
1495 * xdisp.c (redisplay_internal): Don't clear echo area if the
1496 mini-window is selected.
1497
79f1f96c
MB
14982001-10-19 Miles Bader <miles@gnu.org>
1499
b57c2708
MB
1500 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1501 doesn't take precedence if the affected property's value is nil.
1502
1503 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1504
79f1f96c
MB
1505 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1506 with fields and suggest using `forward-line' to avoid them.
1507 * editfns.c (Fline_beginning_position, Fline_end_position):
1508 Clarify documentation.
1509
ef879104
SM
15102001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1511
1512 * keymap.c (current_minor_maps): `override' only shadows its
1513 correspondent in minor-mode-map-alist, not the whole tail.
1514
97f4db8c
AI
15152001-10-18 Andrew Innes <andrewi@gnu.org>
1516
1517 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1518 optimization. The fontp->encoding array was not being initialized
1519 correctly when compiled with optimizations by MSVC.
1520
e6b70fd8
GM
15212001-10-18 Gerd Moellmann <gerd@gnu.org>
1522
30903479 1523 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1524
0e804d38
AI
15252001-10-17 Andrew Innes <andrewi@gnu.org>
1526
1527 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1528
1529 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1530 font_info.charset field.
1531
1532 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1533 rather than working it out by calling w32_codepage_for_font for
1534 every glyph.
1535
66e5868a
AI
15362001-10-17 Andrew Innes <andrewi@gnu.org>
1537
1538 * w32term.c (w32_read_socket): Determine clipping rectangle for
1539 the entire frame, including areas covered by scrollbars and the
1540 menubar. This avoids internal arguments about whether a frame is
1541 fully obscured or not.
1542
15b00083
GM
15432001-10-17 Gerd Moellmann <gerd@gnu.org>
1544
23e8bd86
GM
1545 * xdisp.c (try_window_id): Undo last change. Give up if
1546 window ends in strings.
30903479 1547
9c6ba6d1 1548 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1549 end if the rest of the window after the window end was already blank.
23e8bd86 1550
30903479 1551 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1552 for the release of 21.1.
1553
30903479 1554 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1555
945220bd
MB
15562001-10-17 Miles Bader <miles@gnu.org>
1557
1558 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1559 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1560 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1561 Change doc-string comments to `new style' [w/`doc:' keyword].
1562 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1563 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1564 out make-docfile.
1565
14242528
MB
15662001-10-16 Miles Bader <miles@gnu.org>
1567
1568 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1569
3ddf952f
GM
15702001-10-16 Gerd Moellmann <gerd@gnu.org>
1571
1572 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1573 *scratch*.
1574
f3fbd155
KR
15752001-10-16 Ken Raeburn <raeburn@gnu.org>
1576
1577 Avoid the assumption that car and cdr slots of cons cells are
1578 addressable lvalues; this allows for easier experimentation with
1579 other lisp implementations that may not permit such accesses for
1580 various reasons. Not quite complete -- buffer.c still needs some
1581 work, and w32/mac files need rechecking -- so compile-time
1582 enforcement is left disabled for now.
1583
1584 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1585 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1586 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1587 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1588 (XSETCAR, XSETCDR): New macros.
1589 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1590 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1591 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1592 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1593 XSETCDR.
1594 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1595 * buffer.c (record_buffer, Fbury_buffer)
1596 (swap_out_buffer_local_variables, recenter_overlay_lists)
1597 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1598 fields of a cons cell respectively.
1599 * callint.c (quotify_args, Fcall_interactively): Likewise.
1600 * ccl.c (Fregister_code_conversion_map): Likewise.
1601 * coding.c (detect_coding_system): Likewise.
1602 * composite.c (get_composition_id, make_composition_value_copy):
1603 Likewise.
30903479
SM
1604 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1605 (swap_in_symval_forwarding, set_internal, Fset_default)
1606 (Fmake_variable_buffer_local, Fmake_local_variable)
1607 (Fmake_variable_frame_local): Likewise.
f3fbd155 1608 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1609 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1610 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1611 * minibuf.c (get_minibuffer): Likewise.
1612 * search.c (Fmatch_data): Likewise.
1613 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1614 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1615 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1616 Likewise.
1617 * w32term.c (x_delete_display): Likewise.
1618 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1619 Likewise.
c2d53558 1620 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1621 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1622 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1623 (Fread_file_name): Use XSETCAR.
1624 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1625 CHECK_NUMBER_CDR.
1626 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1627 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1628 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1629 CHECK_NUMBER_CDR.
1630 * keyboard.c (read_char): Alter list traversal to avoid taking the
1631 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1632 (parse_menu_item): Use XSETCAR and XSETCDR.
1633 (reach_char_x_menu_prompt): Use XSETCAR.
1634 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1635 (Fcommand_execute): Use XSETCDR.
1636 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1637 (openp): Change list traversal to avoid using XCAR as lvalue.
1638 (read_list): Use XSETCDR.
1639 * process.c (wait_reading_process_input): Change wait_for_cell
1640 handling to avoid taking addresses of cons cell slots.
30903479
SM
1641 * xselect.c (x_own_selection, x_handle_selection_clear)
1642 (x_clear_frame_selections): Use XSETCDR.
1643 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1644 (x_handle_property_notify, x_get_foreign_selection)
1645 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1646
502150e5
PJ
16472001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1648
018ba359
PJ
1649 * buffer.c: Put doc strings in comments.
1650
30903479 1651 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1652
b56ba8de
SS
16532001-10-15 Sam Steingold <sds@gnu.org>
1654
1655 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1656
6a0b793a
PJ
16572001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1658
30903479
SM
1659 * process.c (process-inherit-coding-system-flag)
1660 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1661 in comment.
1662
a1f17501 1663 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1664 arguments. Put doc strings in comments.
a65da641
PJ
1665
1666 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1667
aa601ad0
GM
16682001-10-15 Gerd Moellmann <gerd@gnu.org>
1669
30903479 1670 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1671
aa601ad0
GM
1672 * window.c (select_window_1): Unfreeze window start. Remove a
1673 doubled test for WINDOW being live.
1674
288148a1
PJ
16752001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1676
dd8d1e71
PJ
1677 * fns.c (Fmapconcat): Fix typo in a doc string.
1678
288148a1
PJ
1679 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1680
9f5eb4a3
GM
16812001-10-15 Gerd Moellmann <gerd@gnu.org>
1682
1683 * xterm.c (x_draw_glyph_string): Restore clipping after
1684 drawing box.
1685
dbae44c8
PJ
16862001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1687
30903479 1688 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1689
0c88c937
SM
16902001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1691
56378db4
GM
1692 * indent.c (skip_invisible): Use new retval of
1693 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1694
845e4cf4
SM
1695 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1696 If a parent is reached and noinherit is set, exit immediately.
1697 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1698
0c88c937
SM
1699 * s/ms-w32.h (EXEC_SUFFIXES):
1700 * s/msdos.h (EXEC_SUFFIXES):
1701 * process.h (EXEC_SUFFIXES): Remove.
1702
1703 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1704 (decode_suffixes): Remove.
1705
1706 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1707 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1708 (invisible_ellipsis_p): Remove.
0c88c937
SM
1709
1710 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1711 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1712 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1713 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1714 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1715
d19be8a9
PJ
17162001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1717
04d7d066
PJ
1718 * lisp.h (Ftop_level): Add prototype.
1719
d624284c
PJ
1720 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1721 (XTread_socket): Improve style of comments to follow other
1722 comments.
1723
a87414f9
PJ
1724 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1725 is already prototyped in included lisp.h).
1726
d19be8a9
PJ
1727 * frame.c (Fset_mouse_position): Improve style of comment to
1728 follow other comments.
1729 (Fset_mouse_pixel_position): Improve style of comment to follow
1730 other comments.
1731 (Fmake_frame_visible): Doc fix and typo in comment.
1732 (Fmake_frame_invisible): Doc fix and typo in comment.
1733 (Ficonify_frame): Fix typo in comment.
1734
c061c855
GM
17352001-10-14 Gerd Moellmann <gerd@gnu.org>
1736
37f6b5b6 1737 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1738 * term.c, alloc.c: Put doc strings in comments.
c061c855 1739
e641b454
GM
17402001-10-13 Gerd Moellmann <gerd@gnu.org>
1741
1742 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1743 Provide definitions for doc strings in comments.
1744
1745 * fns.c: Put doc strings in comments.
1746
51724e26
EZ
17472001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1748
1749 * dired.c (file_name_completion): Ignore a candidate directory if
1750 it matches an element in completion-ignored-extensions that ends
1751 in a slash.
1752 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1753 feature in the doc string.
1754 (Ffile_name_completion): Ditto.
1755
be5fc59b
SM
17562001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1757
5a1373f3
SM
1758 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1759
1760 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1761
1762 * lisp.h (Fprovide): Update prototype.
1763 (Ffeaturep, invisible_p): Remove.
1764
bbc4a3d3 1765 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1766 (DOLIST, LOOP_PROPVAL): New macros.
1767 (invisible_p, invisible_ellipsis_p): Use them.
1768 (invisible_noellipsis_p): New function.
1769 (syms_of_xdisp): Use empty_string.
1770
1771 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1772
1773 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1774 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1775
1776 * print.c (Fwith_output_to_temp_buffer): Align with
1777 internal_with_output_to_temp_buffer.
1778 (print_preprocess): Use traverse_intervals_noorder.
1779 (print_object): Update call to traverse_intervals.
1780
1781 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1782 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1783
1784 * intervals.c (traverse_intervals_noorder): New function.
1785 (search_for_interval, count_intervals): Use it.
1786 (traverse_intervals): Use less stack space and drop `depth' arg.
1787
1788 * fns.c (Ffeaturep): Add new `subfeature' arg.
1789 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1790 (Qsubfeatures): New var.
1791 (syms_of_fns): Initialize it.
1792
026f408d
SM
1793 * keymap.c (Fkey_description): Use empty_string.
1794 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1795 (syms_of_keymap): Setup inheritance between maps.
1796 Don't export Sdescribe_bindings_internal any more.
1797
be5fc59b
SM
1798 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1799
3365175e
GM
18002001-10-12 Gerd Moellmann <gerd@gnu.org>
1801
1802 * xterm.c (notice_overwritten_cursor): Renamed from
1803 note_overwritten_text_cursor. Rewritten to take glyph widths into
1804 account.
1805
2ab7765c
EZ
18062001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1807
1808 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1809 multi-line strings without a trailing "\n\".
1810
311346bb
PJ
18112001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1812
1813 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1814 defined.
1815
2168e04d
SM
18162001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1817
026f408d
SM
1818 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1819
c0ec53ad
SM
1820 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1821 * w32proc.c (sys_spawnve):
1822 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1823 * w32.c (check_windows_init_file):
1824 * sound.c (Fplay_sound):
026f408d 1825 * emacs.c (init_cmdargs):
c0ec53ad
SM
1826 * process.c (Fstart_process): Update calls to openp.
1827
1828 * callproc.c (Vexec_suffixes): New var.
1829 (Fcall_process): Update call to openp.
1830 (decode_suffixes): New function.
1831 (syms_of_callproc): Init exec-suffixes.
1832
1833 * lread.c (Vload_suffixes, default_suffixes): New vars.
1834 (openp): Take a lisp list of suffixes.
1835 Check for file-name-handlers even if the file was absolute already.
1836 (syms_of_lread): Declare load-suffixes.
1837 (Fload): Fix up call to openp.
1838 Don't bother checking for file-name-handler at the very beginning.
1839
f6333468
SM
1840 * keymap.h (Fcopy_keymap): Don't export.
1841
1842 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1843 (Vload_suffixes, Vexec_suffixes): Declare.
1844 (openp): Update prototype.
f6333468
SM
1845
1846 * emacs.c (empty_string): New var.
1847 (syms_of_emacs): Initialize it.
1848
1849 * search.c (wordify): Use it.
1850
1851 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1852 selected window if it's not displayed there. Handle the case
1853 when the window is dedicated.
1854 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1855
1856 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1857
2168e04d
SM
1858 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1859 Remove left_ok and right_ok.
1860 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1861 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1862 new meaning of b_property.
1863
1864 * syntax.c (update_syntax_table): Simplify.
1865 (Fforward_comment): Don't skip quoted chars when going backward.
1866
13d95cc0
GM
18672001-10-11 Gerd Moellmann <gerd@gnu.org>
1868
beb0990f
GM
1869 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1870 in case I is of some unsigned type, in which case
1871 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1872 comparison becomes bogus.
1873
cb938d46
GM
1874 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1875 (Fuser_full_name): Fix bug treating a float as a fixnum.
1876
1877 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1878
1879 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1880
13d95cc0
GM
1881 * lisp.h (circular_list_error): Add prototype.
1882
1883 * data.c (Qcircular_list): New variable.
1884 (circular_list_error): New function.
1885 (syms_of_data): Initialize it Qcircular_list.
1886
e35f6ff7
SM
18872001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1888
1889 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1890 casefiddle.c, buffer.c: Include keymap.h.
1891
619632ac
GM
18922001-10-10 Gerd Moellmann <gerd@gnu.org>
1893
1894 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1895 options. From Dave Love <d.love@dl.ac.uk>.
1896
5e5388f6
GM
18972001-10-09 Gerd Moellmann <gerd@gnu.org>
1898
1899 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1900 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1901
14a3dff7
GM
1902 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1903 unsigned char.
1904 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1905
76ba8daf
AI
19062001-10-08 Andrew Innes <andrewi@gnu.org>
1907
1908 * lisp.h [max]: Undef min and max before redefining them.
1909
1910 * w32gui.h: Do not undef min and max.
1911
1912 * w32heap.h: Do not undef min and max.
1913
1914 * s/ms-w32.h: Do not undef min and max.
1915
166253cb
SM
19162001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1917
1918 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1919
0c4d9527
SS
19202001-10-08 Sam Steingold <sds@gnu.org>
1921
1922 * keymap.c (current-active-maps): Quote newlines (compilation error).
1923
14bfa771
EZ
19242001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1925
1926 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1927 bindings.elc, since otherwise doc strings in bindings.el get wrong
1928 offsets in etc/DOC.
1929
bdb7aa47
SM
19302001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1931
9985827f
SM
1932 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1933
1934 * keyboard.h (map_prompt): Remove.
1935
1936 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1937 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1938
bdb7aa47
SM
1939 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1940
1941 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1942
1943 * keyboard.c (map_prompt): Remove.
1944 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1945 Use Fkeymap_prompt.
1946
1947 * keymap.h: New file. Extracted from lisp.h.
1948
9985827f
SM
1949 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1950 (accessible_keymaps_1): New function.
1951 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1952 (Fwhere_is_internal): Use Fcurrent_active_maps.
1953 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1954 Insert in current buffer rather than standard-output.
1955 Don't call `help-mode'. Export to elisp.
1956 (describe_buffer_bindings): New wrapper.
1957 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1958 and Sdescribe_buffer_bindings.
1959
402c9a51
GM
19602001-10-08 Gerd Moellmann <gerd@gnu.org>
1961
9985827f 1962 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1963 Remove code setting signal handler.
1964
9985827f 1965 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1966 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1967
3fe81fdf
PJ
19682001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1969
1970 * keyboard.c: Don't define min/max.
1971
55fa7820
GM
19722001-10-08 Gerd Moellmann <gerd@gnu.org>
1973
9985827f 1974 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1975 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1976 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1977 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1978 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1979 Don't define min/max.
1980
1981 * lisp.h (min, max): New macros.
1982
55fa7820
GM
1983 * puresize.h (BASE_PURESIZE): Increase to 725000.
1984
1aad31e4
PJ
19852001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1986
9180dc8c
PJ
1987 * xfaces.c (free_frame_menubar): Add prototype.
1988
01f67d2c
PJ
1989 * lisp.h (init_window): Add prototype.
1990
1991 * editfns.c: Include ctype.h.
1992
1993 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1994 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1995 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1996 variable `sb'.
1997
5f351ff1
PJ
1998 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1999 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2000 `popup_activated_flag' and `title'.
2001
479dfe87
PJ
2002 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2003
dff49fc8
PJ
2004 * emacs.c (main): Remove extra `;'.
2005
248ac615
PJ
2006 * atimer.h (struct atimer): Fix typos in a comment.
2007
2008 * atimer.c: Fix typo.
2009
af232c7d
PJ
2010 * Makefile.in: Fix typo.
2011
2012 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2013
d876f455
MB
20142001-10-07 Miles Bader <miles@gnu.org>
2015
2016 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2017
0037e2f2
KR
20182001-10-07 Ken Raeburn <raeburn@gnu.org>
2019
b056f36d
KR
2020 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2021 Lisp_Object.
2022
0037e2f2
KR
2023 * lisp.h (Ffield_end): Declare.
2024
1a4372ef
GM
20252001-10-07 Gerd Moellmann <gerd@gnu.org>
2026
a4a74e8c
GM
2027 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2028
2029 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2030
2031 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2032
2033 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2034
1a4372ef
GM
2035 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2036 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2037
2038 * alloc.c (inhibit_garbage_collection): Simplify.
2039 (Fmemory_use_counts): Ditto.
2040
9985827f 2041 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2042 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2043 most-negative-fixnum.
2044
9985827f 2045 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2046 (FIXNUM_OVERFLOW_P): New macros.
2047
4650e362
MB
20482001-10-06 Miles Bader <miles@gnu.org>
2049
2050 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2051 scroll_bar_bottom_shadow_pixel fields.
2052 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2053 for the shadows, and tell the toolkit about them if we succeed.
2054 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2055 Free scroll-bar shadow colors.
2056 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2057 Free scroll-bar shadow colors when the background color changes.
2058 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2059 Initialize scroll-bar shadow-color fields.
2060
ace64e0a
GM
20612001-10-05 Gerd Moellmann <gerd@gnu.org>
2062
2063 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2064
ec66bdc7
MB
20652001-10-05 Miles Bader <miles@gnu.org>
2066
9985827f
SM
2067 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2068 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2069 New functions (were in simple.el).
9985827f 2070 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2071 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2072 (syms_of_minibuf): Initialize them.
2073
a0fb4492
GM
20742001-10-05 Gerd Moellmann <gerd@gnu.org>
2075
2076 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2077 (tiff_load): Install them as error and warning handler.
2078
0bcf87c1
AI
20792001-10-04 Andrew Innes <andrewi@gnu.org>
2080
2081 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2082 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2083 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2084 (x_to_w32_charset): Handle private format for unknown charsets.
2085 Handle wildcards in charset spec, by ignoring them.
2086 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2087 "*-" prefix from charset.
2088 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2089 handle the truncated font spec form constructed by font_list_1, so
2090 that we correctly identify the charset fields. Don't remove "*-"
2091 prefix from charset.
2092 (w32_list_synthesized_fonts): Fix argument to alloca.
2093
c89e4bc5
GM
20942001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2095
2096 * window.h (MINI_WINDOW_P): Use NILP.
2097
2098 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2099
2100 * termhooks.h (struct input_event): Use proper type for `kind'.
2101
21022001-10-04 Gerd Moellmann <gerd@gnu.org>
2103
2104 This handles unknown keysyms better than before. For example,
2105 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2106 Emacs formerly completely ignored F5. With the change, it derives
2107 a key symbol from the name of the X keysym, `ccaron' in this case.
2108 Reported by Martin Buchholz.
2109
2110 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2111 unknown keysyms.
2112
2113 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2114 that EVENT->code isn't a function key, use the keysym's name.
2115
21162001-10-04 Gerd Moellmann <gerd@gnu.org>
2117
2118 FOREACH is a macro that should make it easier to loop over Lisp
2119 lists with checks for cycles and proper lists.
2120
2121 * lisp.h (LIST_END_P, FOREACH): New macros.
2122
21232001-10-04 Gerd Moellmann <gerd@gnu.org>
2124
2125 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2126 called for a lost connection. Prevent dumping core in this case.
2127 Instead print the X error, and exit. On user request.
2128
2129 * xterm.c (error_msg): New variable.
2130 (x_fatal_error_signal): New function.
2131 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2132 as fatal_error_signal_hook around the call to XtCloseDisplay.
2133
2134 * emacs.c (fatal_error_signal_hook): New variable.
2135 (fatal_error_signal): Call that function.
2136
21372001-10-04 Gerd Moellmann <gerd@gnu.org>
2138
2139 With this, Emacs prints how much pure storage it will
2140 approximately need in case pure storage overflows while dumping.
2141
2142 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2143 New variables.
2144 (init_alloc_once): Initialize new variables.
2145 (PURE_POINTER_P): Use new variables.
2146 (pure_alloc): If pure storage overflows, allocate from the heap.
2147 (check_pure_size): New function.
2148 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2149
2150 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2151 (check_pure_size): Add prototype.
2152
2153 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2154
21552001-10-04 Gerd Moellmann <gerd@gnu.org>
2156
2157 This adds a post-gc-hook that's run with GC inhibited.
2158 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2159
2160 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2161 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2162 (Fgarbage_collect): Run post-gc-hook.
2163
21642001-10-04 Gerd Moellmann <gerd@gnu.org>
2165
2166 This adds `defvaralias' and `indirect-variable'. Changes not
2167 directly related to this feature are there to gain the same
2168 performance again as before variable aliases.
2169
2170 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2171 code to get and set symbol values, to take defvaralias into account.
2172
2173 (Note: the new `constant' bit-flag in symbols would make it
2174 possible to define arbitrary read-only variables, e.g. with
2175 `defconst'.)
2176
2177 Documentation is in lispref/variables.texi. Added to NEWS.
2178
2179 * lisp.h (enum symbol_interned): New enumeration.
2180 (struct Lisp_Symbol): Remove member `obarray', add
2181 `indirect_variable', `constant', and `interned'.
2182 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2183 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2184 (indirect_variable): Add prototype.
2185
2186 * print.c (print_preprocess, print_object): Test internedness of
2187 symbols differently.
2188
2189 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2190 bit-fields.
2191 (init_obarray): Likewise for t and nil.
2192
2193 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2194 (Fdefvaralias): New function.
2195 (specbind): Simplify the test if symbol is a constant.
2196 (syms_of_eval): Defsubr Fdefvaralias.
2197
2198 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2199 (Qcyclic_variable_indirection): New variable.
2200 (Fkeywordp): Check for internedness differently.
2201 (Fmakunbound): Simplify the test if symbol is a constant.
2202 (indirect_variable, Findirect_variable): New functions.
2203 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2204 aliased symbol.
2205 (let_shadows_buffer_binding_p): Check for variable aliases.
2206 (set_internal): Simplify the test if SYMBOL is a constant.
2207 If SYMBOL has a buffer-local value and is an alias, use the aliased
2208 symbol instead.
2209 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2210 Sindirect_variable.
2211
2212 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2213 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2214 set directly.
2215
2216 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2217
2218 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2219 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2220 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2221
ab952a4f
GM
22222001-10-04 Gerd Moellmann <gerd@gnu.org>
2223
2224 * Branch for 21.1.
b56ba8de 2225
ba88ff28
MB
22262001-10-03 Miles Bader <miles@gnu.org>
2227
2228 * callproc.c (syms_of_callproc): Explicitly state in the
2229 documentation for `process-environment' that earlier entries take
2230 precedence over later ones.
2231
ae1a9581
MB
22322001-10-02 Miles Bader <miles@gnu.org>
2233
2234 * textprop.c (Fnext_char_property_change)
2235 (Fprevious_char_property_change): Remove reference to non-existant
2236 argument OBJECT from doc-string.
2237
257e3f57
GM
22382001-10-01 Gerd Moellmann <gerd@gnu.org>
2239
2240 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2241 (try_window_id): Skip back over lines ending in a newline from a
2242 string.
2243
2244 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2245 New bit flag
2246
c1f29759
RS
22472001-10-01 Richard M. Stallman <rms@gnu.org>
2248
2249 * search.c (Freplace_match): Doc fix.
2250
c30dce3d
AI
22512001-09-28 Andrew Innes <andrewi@gnu.org>
2252
2253 * w32menu.c (set_frame_menubar): Take into account that
2254 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2255 <raeburn@gnu.org>.
2256
03be5931
EZ
22572001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2258
2259 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2260
75bec752
PJ
22612001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2262
2263 * s/gnu-linux.h: Fix a typo in comment.
2264
83100e0a
AS
22652001-09-28 Andreas Schwab <schwab@suse.de>
2266
2267 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2268 nocombreloc, in case -z combreloc is the default.
2269
a74b48cf
GM
22702001-09-28 Gerd Moellmann <gerd@gnu.org>
2271
2272 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2273 really going on here.
2274
09c4719e
SM
22752001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2276
2277 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2278
f7d5d963
EZ
22792001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2280
2281 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2282 utf-8, menu-bar, and latin-N.
2283 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2284 unconditionally now.
2285 (lisp): Add latin-N, since they are preloaded.
2286
9240e746
GM
22872001-09-27 Gerd Moellmann <gerd@gnu.org>
2288
14531065
GM
2289 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2290 to the left. Some cleanup.
2291
9240e746
GM
2292 * xdisp.c (display_mode_element): One more case where a string's
2293 multibyteness should be used for display.
2294
edd1e654
GM
22952001-09-26 Gerd Moellmann <gerd@gnu.org>
2296
b02439c8
GM
2297 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2298 reading at EOF.
2299
032906b1 2300 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2301 of the only temporarily set echoing flag for deciding when
032906b1
GM
2302 the cancel echoing.
2303
2304 * keyboard.c (echo_kboard): Make externally visible.
2305
2306 * lisp.h (echo_kboard): Declare extern.
2307
cb617e7c 2308 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2309 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2310 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2311 this round of redisplay if make_cursor_line_fully_visible fails.
2312 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2313 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2314
2315 * dispextern.h (required_matrix_width, required_matrix_height):
2316 Add prototypes.
2317
09c4719e
SM
2318 * dispnew.c (required_matrix_width, required_matrix_height):
2319 New functions.
cb617e7c 2320 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2321 (allocate_matrices_for_frame_redisplay: Use them.
2322 Remove parameters CH_DIM.
cb617e7c 2323
edd1e654
GM
2324 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2325 and selected_window to the frame of the window whose mode-lines
2326 are displayed, and to the window itself.
2327 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2328 here.
edd1e654 2329
924b604c
GM
23302001-09-25 Gerd Moellmann <gerd@gnu.org>
2331
daba7643
GM
2332 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2333 the image cache under us.
2334
b7a22712 2335 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2336 with a string value, use that string's multibyteness for displaying.
b7a22712 2337
ad648212
GM
2338 * keyboard.c (read_char): Don't clear a message for a switch-frame
2339 event. From Stefan Monnier <monnier@cs.yale.edu>.
2340
9f8531e5
GM
2341 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2342 version for after 21.1.
2343
2344 * xdisp.c (row_containing_pos): Make externally visible.
2345
2346 * dispextern.h (row_containing_pos): Add prototype.
2347
924b604c
GM
2348 * process.c (send_process): Disable composition if from_byte < 0.
2349 From Kenichi Handa <handa@etl.go.jp>.
2350
6f3f0db4
GM
23512001-09-24 Gerd Moellmann <gerd@gnu.org>
2352
c69c0ebc
GM
2353 * xterm.c (refreshicon): Function removed.
2354
d1182bc4
GM
2355 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2356
2357 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2358
2359 * xterm.c (toplevel): Remove includes in #if 0.
2360
6f3f0db4
GM
2361 * process.c (sigchld_handler) [LINUX]: Don't return from
2362 the signal handler at the end of the loop.
2363
59957f85
GM
23642001-09-21 Gerd Moellmann <gerd@gnu.org>
2365
09c4719e
SM
2366 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2367 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2368
a0528984
EZ
23692001-09-21 Markus Rost <rost@math.ohio-state.edu>
2370
2371 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2372
db92b288
GM
23732001-09-20 Gerd Moellmann <gerd@gnu.org>
2374
3fed8ad5
GM
2375 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2376 since this function can be called during GC.
2377
db92b288
GM
2378 * callproc.c (Fcall_process): Handle errors from pipe(2).
2379 (child_setup): Delete code in #ifdef vipc.
2380
7121b85a
GM
23812001-09-19 Gerd Moellmann <gerd@gnu.org>
2382
72f62cb5
GM
2383 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2384 (display_mode_element): Display the string from decode_mode_spec
2385 depending on its multibyteness.
2386
a2697022
GM
2387 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2388
7121b85a
GM
2389 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2390
bfc97351
GM
23912001-09-18 Gerd Moellmann <gerd@gnu.org>
2392
c9063433
GM
2393 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2394 recursive_edit_unwind.
2395 (recursive_edit_unwind): Set kboard state according to
2396 SINGLE-KBOARD.
2397
3fbdba3e
GM
2398 * buffer.c (modify_overlay): Don't do nothing if START == END;
2399 This can still be a modification, for example when an overlay has
2400 a before-string or after-string.
2401 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2402 an overlay with before-string or after-string.
2403
1270031d
GM
2404 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2405 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2406
bfc97351
GM
2407 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2408 first_unchanged_at_end_row is in front of
2409 last_unchanged_at_beg_row. This code should be removed after the
2410 release of 21.1.
2411
d8a973aa
GM
24122001-09-17 Gerd Moellmann <gerd@gnu.org>
2413
e18c8b8d
GM
2414 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2415 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2416
d8a973aa
GM
2417 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2418 versions >= 2.95.
2419
ed7d6ba4
EZ
24202001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2421
2422 * dired.c (Ffile_attributes): Doc fix.
2423
551629f9
GM
24242001-09-14 Gerd Moellmann <gerd@gnu.org>
2425
2426 * fileio.c (Ffile_symlink_p): Fix last change.
2427
2428 * filelock.c (current_lock_owner): Fix last change.
2429
4c8c7926
GM
24302001-09-13 Gerd Moellmann <gerd@gnu.org>
2431
620c4704
GM
2432 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2433 take that to mean that the buffer is too small.
2434
81c3310d
GM
2435 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2436 that to mean that the buffer is too small.
2437
06fd3792
GM
2438 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2439 current buffer's multibyteness when discarding the iterator's
2440 stack.
2441
4c8c7926
GM
2442 * xfns.c (Fx_window_property): Handle case that property gets
2443 deleted between the two calls to XGetWindowProperty.
2444
9a72e4c1
GM
24452001-09-11 Gerd Moellmann <gerd@gnu.org>
2446
bd819d14 2447 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2448
a41edd99
GM
2449 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2450 in addition to read-only.
2451
2452 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2453 to t in addition to read-only.
2454
2455 * lisp.h (Qinhibit_modification_hooks): Declare.
2456
2457 * insdel.c (Qinhibit_modification_hooks): New variable.
2458 (syms_of_insdel): Initialize and staticpro it.
2459
d4881c6a
GM
2460 * textprop.c (verify_interval_modification): Don't run
2461 modification-hooks if inhibit_modification_hooks.
2462
2463 * dispnew.c (set_window_cursor_after_update): Fix code
2464 finding glyph row containing cursor when cursor_in_echo_area
2465 is >= 0.
2466
9a72e4c1
GM
2467 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2468 (add_to_log): Use bcopy instead of strcpy.
2469 (init_from_display_pos): Use an explicit loop over bytes in
2470 overlay strings instead of calling index.
2471
f4a374a1
GM
24722001-09-10 Gerd Moellmann <gerd@gnu.org>
2473
300e57bd
GM
2474 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2475
2476 * dispnew.c (direct_output_for_insert): Don't change IT's
2477 stop_charpos to something in front of its current position.
2478
f4a374a1
GM
2479 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2480 `format'.
2481
7e4cbc91
RS
24822001-09-10 Richard M. Stallman <rms@gnu.org>
2483
2484 * frame.c (Fmouse_position): Doc fix.
2485
6afad91e
GM
24862001-09-07 Gerd Moellmann <gerd@gnu.org>
2487
2488 * xdisp.c (init_from_display_pos): Don't compare the result
2489 of calling index with NULL.
2490
f76e0368
GM
24912001-09-06 Gerd Moellmann <gerd@gnu.org>
2492
2493 * xfns.c (x_set_background_color): Don't change the colors
2494 of the X window of scroll bar widgets.
2495
9ead1b60
AI
24962001-09-05 Andrew Innes <andrewi@gnu.org>
2497
2498 * w32fns.c (w32_createwindow): Undo last change.
2499
c3b497b3
GM
25002001-09-05 Gerd Moellmann <gerd@gnu.org>
2501
08e1d6df
GM
2502 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2503
c3b497b3
GM
2504 * xdisp.c (string_buffer_position): Use *single_char_property*
2505 functions instead of the *single_property* functions.
b56ba8de 2506
8f860180
AI
25072001-09-04 Andrew Innes <andrewi@gnu.org>
2508
9a72e4c1
GM
2509 * w32term.c (w32_read_socket): Add more information to debugging
2510 output.
8f860180
AI
2511
2512 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2513 from Emacs frames, so that calls to GetClipBox in w32term.c
2514 correctly report when part of a frame is visible (including
2515 scrollbars, etc). This prevents repeated redrawing of frames when
2516 only a scrollbar is visible.
2517 (w32_wnd_proc): Add more frame information to debugging output.
2518
2ee1aa00
SM
25192001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2520
2521 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2522
e3b22517
GM
25232001-09-03 Gerd Moellmann <gerd@gnu.org>
2524
7e376260
GM
2525 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2526 help-echo for a string which doesn't have help-echo itself, use
2527 get-char-property to obtain the help-echo from the string's buffer
2528 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2529 have mouse-face, look ``under'' the string for mouse-face from an
2530 overlay.
2531 (fast_find_position): Add parameter STOP. In the final row, stop
2532 before glyphs having STOP as object. Don't consider glyphs that
2533 are not from a buffer.
2534
e3b22517
GM
2535 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2536
9a249bba
EZ
25372001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2538
2539 * fns.c (Fmd5): Doc fix.
2540
c9979669
GM
25412001-08-31 Gerd Moellmann <gerd@gnu.org>
2542
2543 * composite.c (update_compositions): Do nothing if
2544 inhibit-modification-hooks is set.
2545
9584e63a
GM
25462001-08-30 Gerd Moellmann <gerd@gnu.org>
2547
986ec8f2 2548 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2549 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2550 glyph matrices etc. in a core dump.
2551
92a25631
GM
2552 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2553 (syms_of_xdisp): Initialize them.
2554 (handle_single_display_prop): Don't change point, bind `object',
2555 `position', and `buffer-position' instead to the object having the
2ee1aa00 2556 `display' property, position in the object and position in the buffer.
92a25631 2557
9584e63a
GM
2558 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2559 of the buffer if REPLACE is non-nil.
2560
d38633a3
GM
25612001-08-29 Gerd Moellmann <gerd@gnu.org>
2562
2563 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2564
f4fccc1e
EZ
25652001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2566
2567 * w32term.c (x_set_glyph_string_background_width)
2568 (show_mouse_face): Track the last changes in xterm.c.
2569
eaaa65b0
GM
25702001-08-28 Gerd Moellmann <gerd@gnu.org>
2571
7b0870b2
GM
2572 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2573 string's background width so that multi-line mouse-face is drawn
2574 to the right edge of the window.
2575 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2576 glyphs.
2577
6b6e2422 2578 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2579 before inserting/writing glyphs.
6b6e2422 2580
eaaa65b0
GM
2581 * xdisp.c (display_mode_element): Use string_byte_to_char to
2582 determine character positions in strings, use chars_in_text
2583 instead of strwidth.
2584 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2585 a matrix as parameter; this is easier to use from GDB.
2586
9ad62cf8
MB
25872001-08-28 Miles Bader <miles@gnu.org>
2588
2ee1aa00
SM
2589 * textprop.c (Fprevious_single_char_property_change)
2590 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2591
32171635
GM
25922001-08-27 Gerd Moellmann <gerd@gnu.org>
2593
47d57b22
GM
2594 * fileio.c (Finsert_file_contents): Allocate, restore, and
2595 free composition data in the case of REPLACE not being nil.
2596
2597 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2598 there exist overlay strings with newlines at POS.
2599 (text_outside_line_unchanged_p): Return 0 if changes start at
2600 START and overlays exist at START. Likewise for END.
2601 (try_window_id): Give up if init_to_row_end returns 0.
2602
32171635
GM
2603 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2604 unconditionally.
2605
e1249666
GM
26062001-08-24 Gerd Moellmann <gerd@gnu.org>
2607
33954c45
GM
2608 * keymap.c (access_keymap): Return the cdr of the binding of
2609 a generic character instead of its definition (KEY . BINDING).
2610
e1249666
GM
2611 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2612 to 0 also in the REPLACE case.
2613
fb4c6c96
AC
26142001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2615
2616 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2617 open to determine whether file is readable (as for DOS_NT).
2618
59ecf80b
GM
26192001-08-23 Gerd Moellmann <gerd@gnu.org>
2620
2621 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2622 coding.type is coding_type_no_conversion or coding_type_raw_text,
2623 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2624 non-nil instead of just setting enable_multibyte_characters in the
2625 buffer to nil.
2626
40e33037
GM
26272001-08-22 Gerd Moellmann <gerd@gnu.org>
2628
374388c3
GM
2629 * dispextern.h (struct face_cache): Add member
2630 menu_face_changed_p.
2631
2632 * xfaces.c (menu_face_changed_default): New variable.
2633 (menu_face_changed_count): Variable removed.
2634 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2635 the menu_face_changed_default flag, otherwise set the FRAME's
2636 menu_face_changed_p flag if the `menu' face has been changed.
2637 Prevent calling set_font_frame_param if FRAME is t.
2638 (make_face_cache): Initialize cache's menu_face_changed_p
2639 from menu_face_changed_default.
2640 (realize_basic_faces): Look into the frame's face cache to
2641 determine if the menu appearance needs updating.
2642
40e33037
GM
2643 * keymap.c (access_keymap): Fix last change to not consider
2644 IDX when it has modifiers.
2645
859ea4b8
GM
26462001-08-21 Gerd Moellmann <gerd@gnu.org>
2647
2648 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2649 . BINDING) exists, where GENERIC-CHAR is the generic character of
2650 the charset of IDX, return BINDING unless there exists a binding
2651 for IDX itself.
2652
e8660d73
GM
26532001-08-16 Gerd Moellmann <gerd@gnu.org>
2654
cca1b1d7
GM
2655 * xrdb.c (SYSV): Don't define on Solaris 2.
2656 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2657
e8660d73 2658 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2659 of the screen line, not text line, containing IT's current position.
e8660d73 2660
93aba6fc
GM
26612001-08-15 Gerd Moellmann <gerd@gnu.org>
2662
288d4e06
GM
2663 * window.c (window_scroll_pixel_based): Don't recenter if
2664 PT is partially visible in the window.
2665
3452efc2
SM
2666 * xterm.c (expose_window_tree, expose_window, expose_line):
2667 Return 1 when overwriting mouse-face.
82f053ab
GM
2668 (expose_frame): If mouse-face was overwritten, redo it.
2669
93aba6fc
GM
2670 * xfaces.c (x_update_menu_appearance): Don't call
2671 set_frame_menubar, let the next redisplay do it.
2672
858a55c1
AI
26732001-08-14 Andrew Innes <andrewi@gnu.org>
2674
2675 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2676 drawing glyph string.
2677
3a990b67
EZ
26782001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2679
2680 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2681 running HI-UX/MPP.
2682
04386463
GM
26832001-08-14 Gerd Moellmann <gerd@gnu.org>
2684
2685 * xfaces.c (x_update_menu_appearance): Save and restore value of
2686 interrupt_input_blocked.
2687
3e6385a4
GM
26882001-08-13 Gerd Moellmann <gerd@gnu.org>
2689
b0e619b4
GM
2690 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2691 a line start, move back to the line start.
3452efc2 2692
0de73d5a
GM
2693 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2694 exactly when a mini-buffer is active.
2695
3e6385a4
GM
2696 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2697 in units of 1/8 character on non window-system frames.
2698 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2699
d1b5f629
EZ
27002001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2701
2702 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2703 a doc string.
2704
eaa2319f
GM
27052001-08-09 Gerd Moellmann <gerd@gnu.org>
2706
8e3189f0
GM
2707 * keyboard.c (Vpre_help_message): New variable.
2708 (syms_of_keyboard): Initialize and staticpro it.
2709 (show_help_echo): Record current message before displaying a
2710 help-echo, and restore that message when clearing the help.
2711
eaa2319f
GM
2712 * xfns.c (x_create_im): Remove prototype.
2713
2714 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2715
2716 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2717
eaa2319f
GM
27182001-08-08 Gerd Moellmann <gerd@gnu.org>
2719
2720 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2721 windows whose height has changed, disable partially visible lines.
eaa2319f 2722
17fdcfc8
GM
27232001-08-07 Gerd Moellmann <gerd@gnu.org>
2724
22d01aed 2725 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2726 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2727
17fdcfc8
GM
2728 * xdisp.c (start_display): Don't try to determine the continuation
2729 lines width if lines are truncated. It's superfluous and leads to
2730 incorrect results if POS is not visible in the window after
2731 reseating the iterator at the previous line start.
2732
8e3fe78e
GM
27332001-08-06 Gerd Moellmann <gerd@gnu.org>
2734
2735 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2736
98a8938c
GM
27372001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2738
2739 * alloc.c (init_stack): Remove declaration.
2740
18f9986a
GM
27412001-08-03 Gerd Moellmann <gerd@gnu.org>
2742
5e1f85e0
GM
2743 * keyboard.c (read_key_sequence): Check that key is an integer
2744 before comparing it with quit_char.
2745 (add_command_key): Use larger_vector.
2746 (read_char_x_menu_prompt): Instead of converting symbol and
2747 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2748 which cannot be confused with valid events.
5e1f85e0
GM
2749 (read_char): When reading from Vunread_command_events, check for
2750 events of the form (EVENT . disabled) instead of
2751 (EVENT . nil).
2752
18f9986a
GM
2753 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2754 a float, determine the max height from the frame's height.
2755
fbc7f2a6
GM
27562001-08-02 Gerd Moellmann <gerd@gnu.org>
2757
2758 * xdisp.c (redisplay_internal): Take message_cleared_p into
2759 account only if minibuf_level == 0.
2760
81b1a79d
GM
27612001-08-01 Gerd Moellmann <gerd@gnu.org>
2762
e5c60873
GM
2763 * xdisp.c (redisplay_internal): Add a check for the last
2764 displayed message.
3452efc2 2765
6e019995
GM
2766 * xdisp.c (message_cleared_p): New variable.
2767 (clear_message): Set message_cleared_p when clearing the current
2768 message.
2769 (redisplay_internal): Look at message_cleared_p to capture
2770 the case that the echo area should be cleared.
2771
308a74d8
GM
2772 * keyboard.c (command_loop_1): Fix spelling of
2773 resize_echo_area_exactly.
2774
3452efc2 2775 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2776
2777 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2778
81b1a79d
GM
2779 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2780 current matrix when the window gets smaller.
2781
ada329e6
EZ
27822001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2783
2784 * print.c (strout): Cast the character passed to insert_char to
2785 unsigned char, to avoid sign extension when it is promoted to int.
2786
ed86208c
GM
27872001-07-31 Gerd Moellmann <gerd@gnu.org>
2788
2789 * fileio.c (Finsert_file_contents): Don't treat a return value
2790 of 0 from emacs_read as an IO error.
2791
6594ac22
GM
27922001-07-30 Gerd Moellmann <gerd@gnu.org>
2793
cef68af5
GM
2794 * keyboard.c (abs): New macro.
2795 (double_click_fuzz): New variable.
2796 (make_lispy_event): Use it to determine what makes a double-click.
2797 (syms_of_keyboard): DEFVAR_INT it.
2798
6594ac22
GM
2799 * xmenu.c (set_frame_menubar): Take into account that
2800 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2801 <raeburn@gnu.org>.
2802
75c5350a
GM
28032001-07-27 Gerd Moellmann <gerd@gnu.org>
2804
2805 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2806
2807 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2808 of row's visible height.
2809
2810 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2811 deal with the first overlay string having an image `display' property.
2812 (try_window_reusing_current_matrix, compute_line_metrics):
2813 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2814 row is invisible above and part of the row is at the same time
2815 invisible below the window.
2816
ac49effe
GM
28172001-07-26 Gerd Moellmann <gerd@gnu.org>
2818
2819 * xfns.c (x-show-tip): Doc fix.
3452efc2 2820
ac49effe
GM
2821 * xfns.c (Vx_max_tooltip_size): New variable.
2822 (syms_of_xfns): DEFVAR_LISP it.
2823 (Fx_show_tip): Set frame's window_width to the width of the
2824 window. Use a maximum tooltip size specified by
2825 Vx_max_tooltip_size, if that has valid contents.
2826 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2827
8c3b00cb
AI
28282001-07-26 Andrew Innes <andrewi@gnu.org>
2829
2830 * w32term.c (x_display_list): New variable.
2831 (w32_term_init): Set it.
2832
2833 * w32term.h (x_display_list): New extern.
2834
16098288
GM
28352001-07-26 Gerd Moellmann <gerd@gnu.org>
2836
2837 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2838 is non-nil, instead of when redisplaying_p is non-zero.
2839 See comment there.
16098288
GM
2840 (mark_window_display_accurate_1): Add an assertion.
2841
64c5be50
GM
28422001-07-25 Gerd Moellmann <gerd@gnu.org>
2843
e743f599
GM
2844 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2845
563b384d
GM
2846 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2847 events so that we get a chance of processing expose events.
2848
64c5be50
GM
2849 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2850
296808a5
GM
28512001-07-24 Gerd Moellmann <gerd@gnu.org>
2852
2853 * xfns.c (valid_image_p): Protect better against invalid image
2854 specifications. Previous code could signal an error.
2855
5247262a
GM
28562001-07-23 Gerd Moellmann <gerd@gnu.org>
2857
3452efc2 2858 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2859 presence of display table entries.
2860 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2861
dd42b31a
GM
2862 * dispnew.c (adjust_glyph_matrix): In the optimization for
2863 windows whose height has changed, use the new window height
2864 to compute which rows to invalidate.
2865
9e5a7f2a
GM
2866 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2867 (MAX_10_EXP): New macro.
2868 (Fformat): Use it.
2869
5247262a
GM
2870 * coding.c (code_convert_region): Handle the multibyte case if
2871 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2872
177ab8ce
GM
28732001-07-20 Gerd Moellmann <gerd@gnu.org>
2874
6e07c0a5
GM
2875 * dispextern.h (struct face): Change type of `stipple' to
2876 int; it's an ID.
2877
177ab8ce
GM
2878 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2879
b5b80599
GM
28802001-07-19 Gerd Moellmann <gerd@gnu.org>
2881
4e2a256b
GM
2882 * dispnew.c (update_window): Don't set the cursor at the end
2883 of the update if display update has been paused.
2884
3452efc2 2885 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2886
c1fd9232
KR
28872001-07-18 Ken Raeburn <raeburn@gnu.org>
2888
2889 * fns.c (Fset_char_table_default): Check that a charset is defined
2890 before checking its dimension.
2891
928a85c1
KR
28922001-07-17 Ken Raeburn <raeburn@gnu.org>
2893
2894 * coding.c (setup_coding_system): Don't do any designation based
2895 on reg_bits if charset is not yet defined.
2896
fb4c6c96 2897 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2898 pointer, using eassert.
2899
de11c1ea
GM
29002001-07-17 Gerd Moellmann <gerd@gnu.org>
2901
3452efc2
SM
2902 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2903 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2904
467f1209
GM
29052001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2906
2907 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2908
c3d6be34
GM
29092001-07-16 Gerd Moellmann <gerd@gnu.org>
2910
c1d61a7d
GM
2911 * fileio.c (unwind_read): Function removed.
2912 (read_non_regular, read_non_regular_quit): New functions.
2913 (Finsert_file_contents): When reading from non-regular files,
2914 arrange to catch a `quit' and terminate the loop. Rearrange
2915 code so that a `quit' when reading from a regular file doesn't
2916 insert text in the buffer.
2917
c3d6be34
GM
2918 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2919 Clear faces afterwards.
2920 (clear_font_table): Take a x_display_info parameter. Don't free
2921 fonts being the default font of any frame on the given display.
2922
e06aa1f9
GM
29232001-07-13 Gerd Moellmann <gerd@gnu.org>
2924
2925 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2926 instead of CHAR_STRING which can signal an error.
2927
2928 * charset.c (char_to_string_1): Extracted from char_to_string.
2929 Return -1 instead of signaling an error.
2930 (char_to_string): Use it.
2931
2932 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2933
176c92e6
SM
29342001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2935
2936 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2937 is t, don't try to append anything to it.
2938
1c56232f
EZ
29392001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2940
2941 * dired.c (file_name_completion): Pass dp->d_name to
2942 Fstring_match, not elt, which is always nil here.
2943
1d2b2268
GM
29442001-07-12 Gerd Moellmann <gerd@gnu.org>
2945
2946 * xselect.c (x_decline_selection_request): Handle errors
2947 caused by receivers that have vanished.
2948
2949 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2950 ignoring events on foreign windows in #if 0. Always dispatch
2951 the event after checking it with x_handle_property_notify.
2952
2953 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2954 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2955 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2956 (toplevel): Add prototypes for file-local functions.
2957 (x_atom_to_symbol): Remove DPYINFO parameter.
2958
fe5a0162
SM
29592001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2960
2961 * w32menu.c (menubar_selection_callback, w32_menu_show):
2962 Initialize `entry' to nil.
2963 (w32_dialog_show): Remove unused `save_wv' variable.
2964 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2965
a777242c
GM
29662001-07-11 Gerd Moellmann <gerd@gnu.org>
2967
8ee5b6a3
GM
2968 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2969
d0e2444e
GM
2970 * fileio.c (unwind_read): Print a message when discarding inserted
2971 text or switching the buffer to unibyte. Change parameter.
2972 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2973
a777242c
GM
2974 * fileio.c (unwind_read): New function.
2975 (Finsert_file_contents): Record it as unwind-function for
2976 the case that reading is interrupted by C-g.
2977
ae794295
GM
29782001-07-10 Gerd Moellmann <gerd@gnu.org>
2979
fe5a0162 2980 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2981 update when scrolling_window returns 0.
2982
6b05fae3
GM
2983 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2984
2985 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2986 for the case that x_decode_color signals an error.
6b05fae3 2987
ae794295
GM
2988 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2989
bb6e8cee
GM
29902001-07-09 Gerd Moellmann <gerd@gnu.org>
2991
2992 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2993 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2994 around ioctls.
2995
36b40a8a
EZ
29962001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2997
24b97d4b
EZ
2998 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2999 doc string line for dos-timezone-offset.
3000
36b40a8a
EZ
3001 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3002 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3003 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3004 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3005
3006 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3007
0967b4b0
GM
30082001-07-05 Gerd Moellmann <gerd@gnu.org>
3009
f25cfe53
GM
3010 * sound.c: Include Emacs' header files with #include "...".
3011
0967b4b0
GM
3012 * eval.c (specbind): Additionally record the buffer that was
3013 current when a buffer-local or frame-local variable was bound.
3014
c347a1c3
GM
30152001-07-04 Gerd Moellmann <gerd@gnu.org>
3016
3017 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3018 to unibyte characters in unibyte buffers.
3019
6332ca8a
GM
30202001-07-03 Gerd Moellmann <gerd@gnu.org>
3021
38472d44
GM
3022 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3023 the frame on the binding stack. Change format of entries for
3024 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3025 (unbind_to): Handle unbinding a frame-local variable.
3026
6332ca8a 3027 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3028 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3029 (dump_glyph_row): Print row's continuation_lines_width.
3030 (try_window_id): Take the shortcut if ZV is visible in the
3031 window, but there are actually no changes at ZV.
3032
63d1b174
GM
30332001-07-02 Gerd Moellmann <gerd@gnu.org>
3034
4c175203
GM
3035 * xterm.h (x_free_dpy_colors): Add prototype.
3036
3037 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3038 right number of arguments.
3039
0b54ce28
GM
3040 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3041 ($(lwlibdir)TAGS): New target.
4c175203 3042 (TAGS): Fix dependency list.
0b54ce28 3043
63d1b174
GM
3044 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3045 with input blocked.
3046
d827466c
GM
30472001-06-30 Gerd Moellmann <gerd@gnu.org>
3048
3049 * emacs.c (main): Remove extern declaration for sys_nerr, which
3050 isn't used and causes a compilation error with GCC 3.0 on
3051 FreeBSD 4.3.
3052
b5cb1ada
GM
30532001-06-27 Gerd Moellmann <gerd@gnu.org>
3054
a5d3ec3f 3055 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3056 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3057 (toplevel): Include <signal.h> and syssignal.h.
3058
b5cb1ada
GM
3059 * sound.c (vox_configure, vox_close): Turn off atimers
3060 around ioctls.
3061
d9bad487
GM
30622001-06-26 Gerd Moellmann <gerd@gnu.org>
3063
fdbb67fe
GM
3064 * keyboard.c (read_char) <non_reread>: Record the previous idle
3065 start time before calling timer_stop_idle.
3066 (read_char) <reread_first>: After processing a help-echo event,
3067 restore the previous idle start time.
3068
d9bad487
GM
3069 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3070 the start of invisible text.
3071 (setup_for_ellipsis): New function.
3072 (next_overlay_string): After all overlay strings have been
3073 processed, display an ellipsis if necessary.
3074 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3075 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3076
3077 * dispextern.h (struct iterator_stack_entry): Add member
3078 display_ellipsis_p.
3079
2b9c25e0
GM
30802001-06-25 Gerd Moellmann <gerd@gnu.org>
3081
80de57df
GM
3082 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3083 on the value of the wait-for-wm frame parameter.
3084
3085 * xterm.h (struct x_output): Add member wait_for_wm.
3086
3087 * xfns.c (Qwait_for_wm): New variable.
3088 (x_frame_parms): Add entry for `wait-for-wm".
3089 (x_set_wait_for_wm): New function.
3090 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3091 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3092
2b9c25e0
GM
3093 * xdisp.c (try_window_id) <all changes below window end>: Don't
3094 take this shortcut if ZV is visible in the window.
3095 (try_window_id): When checking for window start being in changed
3096 text, don't check that the buffer's size has changed.
3097
f772775c
RS
30982001-06-23 Richard M. Stallman <rms@gnu.org>
3099
3100 * minibuf.c (Fcompleting_read): Doc fix.
3101
fa9090b8
GM
31022001-06-19 Gerd Moellmann <gerd@gnu.org>
3103
3104 * composite.c (Ffind_composition_internal): Accept ZV
3105 and a string's end position as POS.
3106
f6f1beba
GM
31072001-06-18 Gerd Moellmann <gerd@gnu.org>
3108
3109 * composite.c (Ffind_composition_internal): Check POS
3110 for validity.
3111
0ae83348
EZ
31122001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3113
3114 * editfns.c (Fmessage_box): If the frame is not under a window
3115 system, output the message in the echo area.
3116
e4cdc335
RS
31172001-06-14 Richard M. Stallman <rms@gnu.org>
3118
3119 * xdisp.c (try_window_id): When EOB is visible, don't treat
3120 insertion at EOB as if it were "off the bottom of the screen."
3121
a55a5f3c
AI
31222001-06-11 Andrew Innes <andrewi@gnu.org>
3123
3124 * w32proc.c (create_child): Add new parameter is_gui_app.
3125 (w32_executable_type): Add new parameter is_gui_app.
3126 (sys_spawnve): Use it.
3127 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3128 SIGQUIT. This matches better how the signals are interpreted by
3129 MSVC compiled programs.
3130 (syms_of_ntproc): Update docstring.
3131
1b85dc1c
SM
31322001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3133
3134 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3135 well otherwise note_mouse_highlight might optimize away highlighting
3136 if we pass over that same overlay again.
3137
b75f8eab
EZ
31382001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3139
3140 * lread.c (Fload): Document that the argument is run via
3141 substitute-in-file-name.
3142
94843cc1
GM
31432001-05-31 Gerd Moellmann <gerd@gnu.org>
3144
b14659e6
GM
3145 * Makefile.in (bootstrap-doc): New target.
3146 (bootstrap-emacs): Depend on it.
3147
0894672f
GM
3148 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3149 auto-save-list-file-name when shutting down Emacs, because
3150 creating the directory might signal an error, and leaves
3151 Emacs in a strange state.
3152
94843cc1
GM
3153 * term.c: (tty_cursor_hidden): New variable.
3154 (update_begin): Don't call tty_hide_cursor. Clean up.
3155 (update_end, set_terminal_window, set_scroll_region): Clean up.
3156 (ring_bell, reset_terminal_modes): Clean up.
3157 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3158 on tty_cursor_hidden.
3159 (write_glyphs): Call tty_hide_cursor.
3160
db3a49a6
SM
31612001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3162
3163 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3164
8bd189fb
GM
31652001-05-30 Gerd Moellmann <gerd@gnu.org>
3166
6f1be3b9
GM
3167 * xfns.c (enum image_value_type): New enumerator
3168 IMAGE_STRING_OR_NIL_VALUE.
3169 (parse_image_spec): Handle it.
3170 (xbm_format, pbm_format): Use it for :foreground and :background.
3171 (xbm_load, pbm_load): Check for nil color names.
3172
8bd189fb
GM
3173 * xterm.c (note_mouse_highlight): If an overlapping overlay
3174 exists, but we find that we highlight the same overlay as before,
3175 don't do the highlighting again.
3176
7bdba03c
GM
31772001-05-29 Gerd Moellmann <gerd@gnu.org>
3178
4c329aa8
GM
3179 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3180 Protect unibyte strings created by replacing their multibyte
3181 equivalents in menu_items.
3182
e15e2828
GM
3183 * keymap.c (Fsingle_key_description): NUL-terminate the string
3184 buffer before calling build_string.
3185
7bdba03c
GM
3186 * callproc.c (Fcall_process): Deal with decode_coding returning
3187 CODING_FINISH_INCONSISTENT_EOL.
3188
89c8dc6c
GM
31892001-05-28 Gerd Moellmann <gerd@gnu.org>
3190
db3a49a6 3191 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3192 an item's name with its key description in case the description
3193 is a multibyte string.
3194
3195 * keymap.c (Fsingle_key_description): Create a multibyte string
3196 only if necessary.
3197
eb04d6cd
GM
3198 * macros.c (Fstart_kbd_macro): Doc fix.
3199
8bd6307f
GM
3200 * xterm.c (cursor_in_mouse_face_p): New function.
3201 (x_draw_stretch_glyph_string): Use it to choose a different GC
3202 when drawing a cursor within highlighted text.
3203
e26c4089
GM
3204 * editfns.c (char_property_eq): Put in #if 0.
3205
3206 * indent.c (string_display_width): Put in #if 0.
3207
3208 * lread.c (Fload): Remove unused label.
3209
89c8dc6c
GM
3210 * termcap.c (speeds): Put in #if 0.
3211
9a1211f2
GM
32122001-05-18 Gerd Moellmann <gerd@gnu.org>
3213
29148a3f
GM
3214 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3215
9a1211f2
GM
3216 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3217 transformation matrix by 10.
3218
09393d07
GM
32192001-05-16 Gerd Moellmann <gerd@gnu.org>
3220
3221 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3222 only if it's equal to the former foreground pixel color.
db3a49a6 3223 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3224 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3225
460e6bae
GM
32262001-05-16 Dave Love <fx@gnu.org>
3227
3228 * insdel.c (signal_before_change, signal_after_change): Consider a
3229 local change hook which changes the buffer.
99c78ce8
GM
3230
3231 * process.c (read_process_output): Don't call signal_after_change
3232 and update_compositions after insert_from_string_before_markers.
3233
dbcf3c03
GM
32342001-05-16 Gerd Moellmann <gerd@gnu.org>
3235
a90b3d3c
GM
3236 * xfaces.c (split_font_name): Use the right field when
3237 checking for `[...]' syntax.
3238
1b7818b4
GM
3239 * buffer.c (copy_overlays): New function.
3240 (clone_per_buffer_values): Use it.
3241
3242 * buffer.h (OVERLAY_PLIST): New macro.
3243
9bae8781
GM
3244 * keymap.c (Fsingle_key_description): Replace a build_string with
3245 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3246
dbcf3c03
GM
3247 * fontset.c (Ffontset_info): Check that face is non-null
3248 before accessing its fields.
3249
8a1ae4dd
GM
32502001-05-15 Gerd Moellmann <gerd@gnu.org>
3251
18a0a39e
GM
3252 * keyboard.c (read_key_sequence): Prevent generating a fake
3253 prefix key twice.
3254
e335b66a
GM
3255 * xfaces.c (split_font_name): Handle `[...]' for the right
3256 font name fields.
3257
8a1ae4dd
GM
3258 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3259 of CCL_STAT_INVALID_CMD.
3260
3cf80731
SM
32612001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3262
33568849
SM
3263 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3264 in <var> has no default value yet.
3265
3cf80731
SM
3266 * xfaces.c (try_alternative_families): First try the FAMILY.
3267 And if nothing is found in the end, try again with scalable fonts.
3268 (try_font_list): Let try_alternative_families do a bit more of
3269 the work. Only use FAMILY if it is not nil.
3270 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3271
933b0249
GM
32722001-05-14 Gerd Moellmann <gerd@gnu.org>
3273
58e5af83
GM
3274 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3275 pointer shape when show_mouse_face has already done it.
33568849 3276
58e5af83 3277 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3278 full-width rows.
3279
7b16a6bf
GM
3280 * xfaces.c (split_font_name): Make sure to leave the loop
3281 with the right value of `i'.
3cf80731 3282
933b0249
GM
3283 * xfaces.c (split_font_name): Handle matrix transformations
3284 in the pixel and point size fields of XLFD font names.
3285 (xlfd_point_size): Likewise.
3286
dddcbf00
EZ
32872001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3288
3cf80731 3289 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3290 (x_to_w32_font): Add prototype.
3291
7689ef0b
EZ
3292 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3293 redefining, to avoid compiler warnings.
3294
e7c15bba
EZ
3295 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3296
dddcbf00
EZ
3297 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3298 (w32_get_bdf_glyph): Cast between unsigned char and char when
3299 passing arguments to subroutines, to shut up compiler warnings.
3300 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3301 GET_HEX_VAL.
3302
3303 * xfaces.c: Include keyboard.h before frame.h, not after it.
3304
3305 * widget.c: Include keyboard.h before frame.h.
3306
3307 * w32term.h (struct image, struct face): Forward declaration, to
3308 avoid compiler warnings.
3309
7bd2d083
GM
33102001-05-11 Gerd Moellmann <gerd@gnu.org>
3311
47e72862
GM
3312 * keyboard.c (read_key_sequence): Don't modify events when
3313 generating fake prefix keys (mode-line, scroll-bar, ...) since
3314 this prevents proper processing of such events when pushed back
3315 into unread-command-events.
3316
dd5f324b
GM
3317 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3318 actually redrawn. Make the function static.
3319 (note_mouse_highlight): Fix a case where the mouse cursor
3320 was changed back to the text cursor.
3321
3322 * xterm.h (clear_mouse_face): Remove prototype.
3323
d88a79d4
GM
3324 * xdisp.c (try_window_id): Fix the fix and set the right
3325 window_end_vpos.
3326
3327 * xdisp.c (try_window_id): Fix computation of window end in the
3328 case that lines were deleted at the end of the window. Add some
3329 more debug_method_adds.
0416532f 3330
7bd2d083
GM
3331 * xfaces.c (try_alternative_families): New function.
3332 (try_font_list): Use it. If ATTRS specifies a family, check
3333 fonts from that family first.
3334 (choose_face_font): Remove code setting the family part of
3335 the pattern to nil.
3336
23fca891
GM
33372001-05-10 Gerd Moellmann <gerd@gnu.org>
3338
ff9aa2ca
GM
3339 * xdisp.c (try_window_id): Fix case of all changes before
3340 the window start.
7b2654b5 3341
23fca891
GM
3342 * xdisp.c (try_window_id): Add some xasserts.
3343
e9726794
GM
33442001-05-09 Gerd Moellmann <gerd@gnu.org>
3345
3346 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3347
9e53a675
GM
33482001-05-09 Dave Love <fx@gnu.org>
3349
3350 * xdisp.c (GIVE_UP): Fix for K&R C.
3351
0d487c52
GM
33522001-05-09 Gerd Moellmann <gerd@gnu.org>
3353
fe88d421
GM
3354 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3355
0d487c52
GM
3356 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3357 back to the text cursor shape without need.
3358
1e9fc92e
GM
33592001-05-07 Gerd Moellmann <gerd@gnu.org>
3360
a2a6232e
GM
3361 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3362
3363 * dispextern.h (inverse_video): Declare extern.
3364
1e9fc92e
GM
3365 * keyboard.c (delete_kboard): Handle the case that selected_frame
3366 has been deleted in the course of x_connection_closed.
3367
12949a7f
EZ
33682001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3369
7b2654b5
SM
3370 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3371 Fix the change from 2001-04-30.
12949a7f 3372
2fa2f461
GM
33732001-05-03 Gerd Moellmann <gerd@gnu.org>
3374
a779d213
GM
3375 * xfns.c (file_dialog_unmap_cb): New function.
3376 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3377 where a dialog is closed via the window manager.
3378
7b2654b5 3379 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3380 the window start or all below the window end mostly rewritten.
3381 (redisplay_window): Move the tests if try_window_id is
3382 applicable to try_window_id.
3383 (GIVE_UP): New macro.
3384
3356df63
GM
33852001-05-02 Gerd Moellmann <gerd@gnu.org>
3386
a39202f6 3387 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3388 currently being updated, mark the frame garbaged.
3389 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3390 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3391
3356df63
GM
3392 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3393 again if it has already been drawn.
3394
a9d2fd1d
SM
33952001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3396
3397 * syntax.c (update_syntax_table): Check that oldi has the same
3398 properties as old_prop before deciding not to invalidate.
3399
c95fc5f1
GM
34002001-04-30 Gerd Moellmann <gerd@gnu.org>
3401
a9793e45
GM
3402 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3403 read-only text that is so because of text properties.
3404
c95fc5f1 3405 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3406 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3407 windows that are components of a Lucid menu bar.
3408
5a5d9185
GM
34092001-04-27 Gerd Moellmann <gerd@gnu.org>
3410
3411 * term.c (turn_on_face): Fix reverse video handling on terminals
3412 that don't support colors.
3413
ba973f7a
GM
34142001-04-26 Gerd Moellmann <gerd@gnu.org>
3415
3416 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3417 a non-buffer.
3418
8c56a983
GM
34192001-04-25 Gerd Moellmann <gerd@gnu.org>
3420
a728644c
GM
3421 * term.c (toggle_highlight): New function.
3422 (turn_on_face): Change handling of reverse video.
3423
7b2654b5
SM
3424 * process.c (wait_reading_process_input):
3425 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3426
bfd8410f
GM
3427 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3428 of the number of overlays to check.
3429
be2488ca
GM
3430 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3431
8c56a983
GM
3432 * xdisp.c (try_window_id): Fix a case where window_end_pos
3433 and window_end_bytepos were not adjusted.
3434
522d42f7
GM
34352001-04-23 Gerd Moellmann <gerd@gnu.org>
3436
3437 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3438 zero instead of -1.
3439
78c1afb6
EZ
34402001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3441
a9d2fd1d
SM
3442 * process.c (wait_reading_process_input) [!subprocesses]:
3443 Don't reference waiting_for_user_input_p, it's not defined in the
3444 branch without async subprocesses support.
78c1afb6 3445
a2fab450
GM
34462001-04-19 Gerd Moellmann <gerd@gnu.org>
3447
a122a38e
GM
3448 * keyboard.c (delete_kboard): Prevent a dangling reference
3449 from current_kboard to KB, which is freed.
3450
a9d2fd1d
SM
3451 * process.c (wait_reading_process_input):
3452 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3453 read_key_sequence aware of buffer changes from under it.
3454
0f8d6dc7
GM
34552001-04-18 Gerd Moellmann <gerd@gnu.org>
3456
eeffb293
GM
3457 * xfaces.c (Qscalable_fonts_allowed): New variable.
3458 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3459 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3460 removed.
eeffb293 3461 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3462 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3463 for scalable-fonts-allowed to t.
eeffb293 3464
0f8d6dc7
GM
3465 * fileio.c (Finsert_file_contents): If the file size returned from
3466 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3467 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3468
eec2d1de
EZ
34692001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3470
3471 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3472 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3473 (__memalign_hook): Make the two prototypes consistent.
3474
f4f480bd
GM
34752001-04-17 Gerd Moellmann <gerd@gnu.org>
3476
3477 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3478 matrix of mini-windows.
3479
52283633
SM
34802001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3481
3482 * intervals.c (find_interval): Don't rebalance during signal handling.
3483
ec2423c9
GM
34842001-04-11 Gerd Moellmann <gerd@gnu.org>
3485
30cb0001 3486 * fns.c: Include blockinput.h.
52283633 3487
ec2423c9
GM
3488 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3489
719d83ad
GM
34902001-04-10 Gerd Moellmann <gerd@gnu.org>
3491
60f8d735
GM
3492 * fns.c (Fcompare_strings): Fix return values.
3493
afffeb57
GM
3494 * window.c (window_scroll): Change the meaning of N to mean
3495 N screen-fulls or N lines.
3496 (window_scroll_pixel_based, window_scroll_line_based)
3497 (scroll_command, Fscroll_other_window): Change accordingly.
3498
52283633
SM
3499 * window.c (window_scroll_pixel_based, Frecenter):
3500 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3501 height of the window.
3502
3503 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3504 instead of using it.last_visible_y for the height of the window.
52283633 3505
719d83ad 3506 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3507 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3508
3509 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3510 able to write to hidden and system files. From Dan Holmsand
3511 <dan@eyebee.com>.
719d83ad 3512
8ddf3ee1
GM
3513 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3514 Holmsand <dan@eyebee.com>.
719d83ad 3515
522ed7fb
GM
35162001-04-09 Gerd Moellmann <gerd@gnu.org>
3517
9170e5d4
GM
3518 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3519
522ed7fb
GM
3520 * window.c (window_internal_height): Return 1 less if the
3521 window has a header line.
3522
3523 * xdisp.c (try_window_id): When scrolling on a terminal, take
3524 the change of window_internal_height into account.
3525
ceeb3d7d
EZ
35262001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3527
3528 * gmalloc.c (align): If the argument SIZE would overflow
3529 __malloc_ptrdiff_t, fail right away.
3530
63685b9d
GM
35312001-04-06 Gerd Moellmann <gerd@gnu.org>
3532
3533 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3534 Make sure the tooltip is completely visible.
3535 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3536
3537 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3538
3539 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3540
3ffb33bb
DL
35412001-04-06 Dave Love <fx@gnu.org>
3542
52283633
SM
3543 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3544 Fix test of `from'.
3ffb33bb 3545
869fb12c
GM
35462001-04-06 Gerd Moellmann <gerd@gnu.org>
3547
52283633 3548 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3549
869fb12c
GM
3550 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3551
441bf856
GM
35522001-04-05 Gerd Moellmann <gerd@gnu.org>
3553
4d664b04
GM
3554 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3555
52283633 3556 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3557
30ca89f5
GM
3558 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3559 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3560
3561 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3562 shell widget's position only if it is non-null.
3563
52283633
SM
3564 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3565 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3566
81a81c0f
GM
3567 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3568 FILENAME to bring it in synch with the documentation.
3569
441bf856
GM
3570 * xfaces.c (realizing_basic_faces_p): Renamed from
3571 realize_default_face_p.
3572 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3573 (realize_default_face): Don't set the flag.
3574
702a1e8e
GM
35752001-04-04 Gerd Moellmann <gerd@gnu.org>
3576
1013f4e3
GM
3577 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3578
52283633
SM
3579 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3580
1013f4e3
GM
3581 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3582 the buffer that was used for echoing.
3583
702a1e8e
GM
3584 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3585 (first_font_matching): Removed unused function.
3586 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3587 (may_use_scalable_font_p): Remove parameter FONT; rename
3588 parameter NAME to FONT.
3589 (x_face_list_fonts): Fix missing bounds check.
3590 (realizing_default_face_p): New variable.
3591 (realize_default_face): Set and clear that flag.
3592 (x_face_list_fonts): When called during the realization of the
3593 default face, and no matching fonts are found when ignoring
3594 scalable fonts and fonts matching a regexp from
3595 face-ignored-fonts, try without ignoring fonts.
3596
f9dbcda4
GM
35972001-04-03 Gerd Moellmann <gerd@gnu.org>
3598
ad18ffb1
GM
3599 * xfns.c (postprocess_image): New function.
3600 (lookup_image): Call it for all image types except PostScript.
3601 (x_kill_gs_process): Call postprocess_image.
3602
f9dbcda4
GM
3603 * xterm.c (x_use_underline_position_properties): New variable.
3604 (x_draw_glyph_string): Use it.
3605 (syms_of_xterm): DEFVAR_BOOL it.
3606
651f03b6
GM
36072001-04-02 Gerd Moellmann <gerd@gnu.org>
3608
3609 * xterm.c (x_alloc_nearest_color_1): New function.
3610 (x_alloc_nearest_color): Use it.
3611 (x_color_cells): Take a Display as argument, instead of a frame.
3612 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3613 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3614 (x_initialize): Register cvt_string_to_pixel as resource converter
3615 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3616
73d75a62
GM
36172001-03-30 Gerd Moellmann <gerd@gnu.org>
3618
b2046df8
GM
3619 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3620 (set_iterator_to_next): If a string from a display property ends,
3621 consider the case that this might also be the end of an
3622 overlay string having the display property.
3623
52283633 3624 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3625
87d8eba4
GM
3626 * xdisp.c (reseat_to_string): Undo last change.
3627
73d75a62
GM
3628 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3629 matrix of a window when the header line changes, when
3630 new rows are allocated, or when the width changes.
3631
911a2406
EZ
36322001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3633
52283633 3634 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3635
aea51abe
EZ
36362001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3637
3638 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3639 deprecated.
3640
176bc847
GM
36412001-03-29 Gerd Moellmann <gerd@gnu.org>
3642
ed31fabf
GM
3643 * data.c (Fsubr_interactive_form): New function.
3644 (syms_of_data): Defsubr it.
3645
176bc847
GM
3646 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3647 (live_float_p, live_misc_p): Return 1 only if the offset of the
3648 pointer in its block is >= 0.
3649
e59d0e9d
GM
36502001-03-28 Paul Eggert <eggert@twinsun.com>
3651
3652 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3653 microseconds calcuation. Avoid double-rounding problem.
3654 In doc string, warn that the result is approximate.
3655
f827b862
GM
36562001-03-28 Gerd Moellmann <gerd@gnu.org>
3657
30a3f61c
GM
3658 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3659 bind `inhibit-eval-during-redisplay' to t.
3660
3661 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3662
3663 * xdisp.c (inhibit_eval_during_redisplay)
3664 (Qinhibit_eval_during_redisplay): New variables.
3665 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3666 don't eval, return nil instead.
3667 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3668 Initialize Qinhibit_eval_during_redisplay.
3669
e719f5ae
GM
3670 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3671 the iterator's multibyte_p flag.
3672
deb2613a
GM
3673 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3674 instead of setting it to zero; it's incremented for each frame
3675 where the menu face is changed.
3676
52283633
SM
3677 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3678 change bottom shadow accordingly.
3679
3680 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3681 intersections here.
3682 (expose_window): Do it here instead.
52283633 3683 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3684
f827b862
GM
3685 * bytecode.c (BYTE_CODE_QUIT): New macro.
3686 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3687
4bde0ebb
GM
36882001-03-27 Gerd Moellmann <gerd@gnu.org>
3689
607ec83c
GM
3690 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3691 Give up if matrix starts in an ellipsis.
3692 (init_from_display_pos): Do nothing if POS doesn't specify
3693 a dpvec_index but the iterator has such a position.
3694
0245398f
GM
3695 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3696
aba25348
GM
3697 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3698 x/y position is (0, 0) after destroying the menu bar, restore
3699 its original position.
3700
4bde0ebb
GM
3701 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3702 (init_from_display_pos): Use it.
3703 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3704
8cdb267e
GM
37052001-03-26 Gerd Moellmann <gerd@gnu.org>
3706
3707 * xdisp.c (try_window_id): Undo last change.
3708
9948db79
EZ
37092001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3710
3711 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3712
3713 * buffer.c (syms_of_buffer): Doc fix.
3714
2eddf899
GM
37152001-03-26 Gerd Moellmann <gerd@gnu.org>
3716
3717 * xfaces.c (x_update_menu_appearance): Use local variable
3718 popup_path for setting font resources.
3719
6c145d35
EZ
37202001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3721
6a65b1b5
EZ
3722 * frame.c (Fframe_list): Don't reference tip_frame if
3723 HAVE_WINDOW_SYSTEM is not defined.
3724
6c145d35
EZ
3725 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3726 <wl@gnu.org>.
3727
d74c1900
GM
37282001-03-25 Gerd Moellmann <gerd@gnu.org>
3729
20fbd925
GM
3730 * xdisp.c (init_from_display_pos): Test invisible property
3731 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3732
927c5b3b
GM
3733 * xdisp.c (redisplay_internal) <update one window>: Make sure
3734 last_arrow_position and last_arrow_string are set.
3735
d74c1900
GM
3736 * frame.c (Fframe_list): Don't return a tooltip frame.
3737
091f8878
GM
37382001-03-23 Gerd Moellmann <gerd@gnu.org>
3739
52283633
SM
3740 * xdisp.c (mark_window_display_accurate_1): New function,
3741 extracted from mark_window_display_accurate.
3742 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3743 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3744 (mark_window_display_accurate): Use it.
3745 (redisplay_internal): Use it for the selected window.
3746 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3747 for the selected frame.
3748
ac90c44f
GM
3749 * xdisp.c Use make_number, for readability.
3750 (try_window_id): Disable rows below the window end.
3751 (try_window_reusing_current_matrix): Use cursor_row_p.
3752 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3753 of rows.
3754 (init_from_display_pos): If POS specifies a position in a display
3755 vector, maybe get the iterator set up for that ellipsis.
43c09969 3756
091f8878
GM
3757 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3758
991786dd
EZ
37592001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3760
3761 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3762
6c29b43c
GM
37632001-03-23 Gerd Moellmann <gerd@gnu.org>
3764
3765 * xfaces.c (x_update_menu_appearance): Use a different path
3766 for Lucid popup menus.
3767
d8731202
SM
37682001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3769
3770 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3771
3772 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3773 (string_buffer_position): Use `make_number'.
3774
f61a541b
GM
37752001-03-22 Gerd Moellmann <gerd@gnu.org>
3776
3c9e997b
GM
3777 * xfaces.c (x_update_menu_appearance): Renamed from
3778 x_set_menu_face_resources. Use different resources for popups.
3779
3780 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3781 (GC_CHECK_STRING_BYTES): Don't define.
3782
364cd450
GM
3783 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3784 Removed, together with subroutines.
3785 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3786 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3787
d8731202
SM
3788 * dispextern.h (x_set_menu_resources_from_menu_face):
3789 Remove prototype.
364cd450 3790
d8731202 3791 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3792 Remove calls to x_set_menu_resources_from_menu_face.
3793
d8731202
SM
3794 * xfaces.c (xm_set_menu_resources_from_menu_face):
3795 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3796
3797 * xmenu.c: Include widget.h.
3798 (single_submenu): Return int. Some cleanup.
3799 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3800
140330de
GM
38012001-03-21 Gerd Moellmann <gerd@gnu.org>
3802
3803 * xterm.c (x_update_window_end): Handle overwritten mouse face
3804 also for tool bar windows.
3805 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3806 DRAW is DRAW_IMAGE_RAISED.
3807
1741905c
GM
38082001-03-20 Gerd Moellmann <gerd@gnu.org>
3809
fa88947e
GM
3810 * print.c (syms_of_print): Doc fixes.
3811
1741905c
GM
3812 * fns.c (Fmd5): Doc fix.
3813
ade0bee1
GM
38142001-03-19 Gerd Moellmann <gerd@gnu.org>
3815
357e7376
GM
3816 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3817 Clear area of the frame not occupied by the scroll bar.
3818
c2c097cc
GM
3819 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3820 tip frame's root window buffer to *tip* right after creating
3821 the frame.
3822
ade0bee1
GM
3823 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3824 is an integer don't have to be for space characters.
3825
88c6e37e
GM
38262001-03-16 Gerd Moellmann <gerd@gnu.org>
3827
52283633
SM
3828 * indent.c (current_column, current_column_1, Fmove_to_column)
3829 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3830
c62eed76
KH
38312001-03-15 Kenichi Handa <handa@etl.go.jp>
3832
3833 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3834 drawing glyph string.
3835
c899e7e6
GM
38362001-03-15 Gerd Moellmann <gerd@gnu.org>
3837
d0bbfc99
GM
3838 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3839 (command_loop_1): Undo last change.
3840
03d1a189
GM
3841 * xterm.c (fast_find_position): Return the correct vpos.
3842
c899e7e6 3843 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3844 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3845 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3846 Call store_symval_forwarding with BUF null.
3847 (set_internal): Call store_symval_forwarding with the BUF
3848 parameter passed to set_internal. Formerly, the value was always
3849 set in the current buffer; the buffer recorded in specbind for
3850 this case wasn't used.
3851 (arith_driver): Reindent.
3852
52283633
SM
3853 * buffer.c (swap_out_buffer_local_variables):
3854 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3855
3856 * lisp.h (store_symval_forwarding): Change prototype.
3857
3858 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3859
57ac7c81
GM
38602001-03-14 Gerd Moellmann <gerd@gnu.org>
3861
697617d9
GM
3862 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3863 FOR_DELETION. Avoid resizing the mini-window of the selected
3864 frame if FOR_DELETION is set.
3865 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3866 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3867 signature.
3868
3869 * window.c (Fset_window_configuration): Change call to
3870 do_switch_frame to new format.
3871
3872 * keyboard.c (quit_throw_to_read_char): Change call to
3873 do_switch_frame to new format.
3874
3875 * lisp.h (do_switch_frame): Change prototype.
3876
819dce0f
GM
3877 * frame.c (Fframe_parameters): In the `buffer-list' frame
3878 parameter, store the buffer list of FRAME, not the list of the
3879 selected frame.
3880
57ac7c81
GM
3881 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3882 box just because the glyph row's full_width_p flag is set.
3883
65008712
GM
38842001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3885
3886 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3887 skip the padding blanks inserted in extend_face_to_end_of_line,
3888 before checking for trailing whitespace.
3889
159cf431
GM
38902001-03-13 Gerd Moellmann <gerd@gnu.org>
3891
52283633 3892 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3893 Remove special handling for LessTif/Motif.
3894 (toplevel): Don't include Xm/Xm.h.
3895
52283633
SM
3896 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3897 Remove workaround code for LessTif; it doesn't work anymore.
3898
2564ea1b 3899 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3900 Xm/ScrollBarP.h.
afcdc0a1 3901
52283633
SM
3902 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3903 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3904 contemporary LessTif.
3905
52283633
SM
3906 * xfaces.c (xm_set_menu_resources_from_menu_face):
3907 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3908
159cf431
GM
3909 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3910 removing button grabs.
3911
c6f7429a
KH
39122001-03-13 Kenichi Handa <handa@etl.go.jp>
3913
cb82d767
KH
3914 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3915 and clip-large-size-font as obsolete.
3916
c6f7429a
KH
3917 * lread.c (read_multibyte): Check the validity of multibyte
3918 sequence. If invalid, return the first byte.
3919
760cefb5
GM
39202001-03-12 Gerd Moellmann <gerd@gnu.org>
3921
3922 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3923 before running the command; timer functions or process
3924 filters may have set it.
3925
5141f9d0
EZ
39262001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3927
3928 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3929 Doc fix.
3930
b6a15240
GM
39312001-03-12 Gerd Moellmann <gerd@gnu.org>
3932
3933 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3934 to sprintf.
3935
95522746
GM
39362001-03-09 Gerd Moellmann <gerd@gnu.org>
3937
db14cfc5
GM
3938 * dispextern.h (string_buffer_position): Add prototype.
3939
52283633 3940 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3941 (single_display_prop_string_p): New functions.
3942
3943 * xterm.c (note_mouse_highlight): If there's no help-echo on
3944 a string, look at the buffer text ``under'' it.
3945
3946 * keyboard.c (make_lispy_event): Add string info to the event,
3947 analogous to what's done on mode lines.
3948 (read_key_sequence): For a click on a string, consider `local-map'
3949 and `keymap' of that string.
3950
52283633
SM
3951 * keyboard.c (make_lispy_event, make_lispy_movement):
3952 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3953
3954 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3955
3956 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3957 POS; return void.
3958
95522746
GM
3959 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3960 flags argument to emacs_open; it seems to conflict with O_EXCL.
3961
898a399d
KH
39622001-03-09 Kenichi Handa <handa@etl.go.jp>
3963
28cd4910
KH
3964 * composite.h (struct composition): Change types of members;
3965 glyph_len to unsigned, width to unsigned short.
898a399d 3966
4cdf6a6c
AI
39672001-03-08 Andrew Innes <andrewi@gnu.org>
3968
3969 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3970 menu titles.
3971
129004d3
GM
39722001-03-08 Gerd Moellmann <gerd@gnu.org>
3973
221dd3e7
GM
3974 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3975 instead of nil.
3976
52283633 3977 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3978 help-echo in strings.
3979 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3980 (fast_find_string_pos): New function.
3981
52283633
SM
3982 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3983 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3984
3985 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3986 Handle `mouse-face'.
3987
3988 * dispextern.h (face_at_string_position): Change prototype.
3989
52283633 3990 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3991
129004d3
GM
3992 * keyboard.c (make_lispy_event): Avoid generating drag events
3993 if the mouse hasn't actually moved to another buffer position.
52283633 3994
80c8ab8c
DL
39952001-03-08 Dave Love <fx@gnu.org>
3996
129004d3 3997 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3998
989521fd
GM
39992001-03-08 Gerd Moellmann <gerd@gnu.org>
4000
4001 * process.c (Fset_process_window_size): Fix a typo.
4002
bb5c338d
KH
40032001-03-08 Kenichi Handa <handa@etl.go.jp>
4004
4005 * coding.c (detect_coding_sjis): Do more rigid check.
4006 (detect_coding_big5): Likewise.
4007 (decode_coding_sjis_big5): Likewise.
4008 (Fdetect_coding_region): Call detect_coding_system with tailing
4009 anchor byte `\0' for more rigid detection.
52283633 4010 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4011 (Fdetect_coding_string): Likewise.
4012
8b8f9197
SM
40132001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4014
4015 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4016 a string before extracting its data.
4017
3bdf2660
GM
40182001-03-07 Gerd Moellmann <gerd@gnu.org>
4019
4020 * window.c (Frecenter): Rewrite code handling negative values
4021 of ARG on graphical frames.
4022
40232001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4024
4025 * window.c (displayed_window_lines): If W->start is outside the
4026 accessible portion of the buffer, call start_display with BEGV or
4027 ZV instead of W->start.
4028
471f86b9
GM
40292001-03-07 Gerd Moellmann <gerd@gnu.org>
4030
2ab62c6c
GM
4031 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4032
471f86b9
GM
4033 * process.c (Fset_process_filter): Don't crash if the input
4034 file descriptor of PROCESS is closed.
4035 (Fset_process_window_size): Likewise.
4036
101922c3
GM
40372001-03-06 Kenichi Handa <handa@etl.go.jp>
4038
4039 * xterm.c (XTflash): Make the timeout of select shorter, and call
4040 select repeatedly until the desired time expires.
4041
45d051a7
GM
40422001-03-06 Gerd Moellmann <gerd@gnu.org>
4043
4044 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4045
4046 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4047
4048 * lisp.h (Vwindow_list): Declare extern.
4049
8f372c46
EZ
40502001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4051
4052 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4053
f16a7aa5
GM
40542001-03-06 Gerd Moellmann <gerd@gnu.org>
4055
157ae273
GM
4056 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4057 to detect a case where we have to highlight a different region
4058 despite not having left the currently highlighted region.
4059 Set mouse_face_overlay in the x_display_info.
45d051a7 4060 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4061
4062 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4063
4064 * buffer.c (mouse_face_overlay_overlaps): New function.
4065
4066 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4067 (Qmouse_face): Declare extern.
4068
f16a7aa5
GM
4069 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4070 if face_change_count is non-zero.
4071
827afcac
KH
40722001-03-06 Kenichi Handa <handa@etl.go.jp>
4073
4074 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4075 that the source is unibyte.
4076
14c7242e
DL
40772001-03-05 Dave Love <fx@gnu.org>
4078
827afcac 4079 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4080
c28b847b
GM
40812001-03-05 Gerd Moellmann <gerd@gnu.org>
4082
4083 * minibuf.c (read_minibuf): Clean up the binding stack if
4084 called noninteractively.
4085
b86644f2
KH
40862001-03-05 Kenichi Handa <handa@etl.go.jp>
4087
4088 * coding.c (syms_of_coding): Docstring modified.
4089
203682cc 40902001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4091
4092 * charset.c (char_to_string): If a single byte char has modifier
4093 bits that can't be reflected to the character code, ignore them
45d051a7 4094 instead of signaling an error.
b86644f2 4095
e30bd7b7
EZ
40962001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4097
4098 * s/msdos.h: Update copyright notice.
4099
4100 * dosfns.h: Update copyright notice.
4101
4102 * dosfns.c: Update copyright notice.
4103
4104 * msdos.c: Update copyright notice.
4105
b52b65bd
GM
41062001-03-02 Gerd Moellmann <gerd@gnu.org>
4107
4108 * xterm.c (glyph_rect): New function.
4109 (XTmouse_position): Use it to raise the threshold for mouse
4110 movement event generation.
4111
53c4b1e6
EZ
41122001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4113
4114 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4115 specifies (reverse . t), reverse the initial screen colors.
4116 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4117 but we are reversing the colors, set bg_set, not fg_set.
4118 Likewise for setting background-color and reversing: set fg_set.
4119 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4120 in effect.
4121
4122 * xfaces.c (Finternal_set_lisp_face_attribute)
4123 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4124 parameters alist.
4125
f964b4d7
GM
41262001-03-02 Gerd Moellmann <gerd@gnu.org>
4127
ef53d75e
GM
4128 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4129 to a single slash in the middle of file names.
4130
52283633 4131 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4132 Accept only alphanumeric time zone names.
4133
f964b4d7
GM
4134 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4135 or width area.
4136 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4137 a widget to zero height.
52283633 4138
c3c45f65
GM
41392001-03-01 Gerd Moellmann <gerd@gnu.org>
4140
4141 * window.c (Fwindow_end): Call move_it_past_eol only if
4142 ending up on a partially visible line.
4143
028d739a
DL
41442001-03-01 Dave Love <fx@gnu.org>
4145
4146 * ccl.c (Fccl_execute): Doc fix.
4147
57c5889c
GM
41482001-03-01 Gerd Moellmann <gerd@gnu.org>
4149
35f59f6b
GM
4150 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4151 of the tool bar before calling x_figure_window_size.
4152
f84ff02c
GM
4153 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4154 NULL after destroying it, otherwise XTread_socket can access a
4155 destroyed widget when input is unblocked.
4156
8b8f9197 4157 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4158
57c5889c
GM
4159 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4160 same name as before, although there was a change in fontsets.
4161
224227d1
KR
41622001-02-28 Ken Raeburn <raeburn@gnu.org>
4163
4560730a
KR
4164 * lisp.h (Fframe_parameter): Declare.
4165
224227d1 4166 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4167 Lisp_Object.
224227d1 4168
ece93c02
GM
41692001-02-28 Gerd Moellmann <gerd@gnu.org>
4170
11ef99b9
GM
4171 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4172 NULL instead.
4173
4174 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4175 NULL instead.
4176
ece93c02
GM
4177 * alloc.c (toplevel): Include process.h.
4178 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4179 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4180 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4181 (allocate_vector, allocate_hash_table, allocate_window)
4182 (allocate_frame, allocate_process, allocate_other_vector):
4183 New functions.
ece93c02
GM
4184 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4185 (mark_maybe_pointer): New function.
52283633 4186 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4187 remain and not Lisp_Objects.
4188 (min_heap_address, max_heap_address): New variables.
4189 (mem_find): Return MEM_NIL if START is below min_heap_address or
4190 above max_heap_address.
4191 (mem_insert): Compute min_heap_address and max_heap_address.
4192
4193 * process.c (make_process): Use allocate_process.
4194
4195 * frame.c (make_frame): Use allocate_frame.
4196
4197 * window.c (make_window, make_dummy_parent): Use allocate_window.
4198 (Fcurrent_window_configuration): Use allocate_other_vector.
4199
4200 * lisp.h (allocate_vectorlike): Remove prototype.
4201 (allocate_vector, allocate_other_vector, allocate_frame)
4202 (allocate_window, allocate_process, allocate_hash_table):
4203 Add prototypes.
4204
4205 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4206 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4207
063af457
KH
42082001-02-27 Kenichi Handa <handa@etl.go.jp>
4209
4210 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4211 treat the produced bytes as a valid multibyte sequence.
4212
4213 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4214 (ccl_driver) <CCL_WriteMultibyteChar2>:
4215 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4216 <ccl_finish>: Set ccl->eight_bit_control properly.
4217
4218 * ccl.h (struct ccl_program): New member eight_bit_control.
4219
f58c6494
SM
42202001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4221
4222 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4223 accessible_keymaps_char_table.
4224 (accessible_keymaps_char_table): Obey `is_metized'.
4225 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4226 Lisp_Object.
4227
c596c392
GM
42282001-02-26 Gerd Moellmann <gerd@gnu.org>
4229
4230 * dispnew.c: Check HAVE_TERM_H before including term.h.
4231
425de386
AI
42322001-02-24 Andrew Innes <andrewi@gnu.org>
4233
4234 * makefile.w32-in: Update copyright notice.
4235
2ba11bbd
SM
42362001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4237
4238 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4239
66c56ed1
KH
42402001-02-24 Kenichi Handa <handa@etl.go.jp>
4241
4c1593ce
KH
4242 * Makefile.in (lisp): Add international/utf-8.elc.
4243
66c56ed1
KH
4244 * fontset.c (Fnew_fontset): Fix handling of the case that an
4245 element of FONTLIST is a cons of family and registry.
4246
796ead7e
JR
42472001-02-23 Jason Rumney <jasonr@gnu.org>
4248
4249 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4250 to height unconditionally.
4251
4252 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4253 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4254 (x_insert_glyphs): Call window_box_left to obtain the left
4255 x-coordinate of the area to shift.
4256
4257 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4258 safe_run_hooks.
4259
f6839838
AI
42602001-02-22 Andrew Innes <andrewi@gnu.org>
4261
52283633 4262 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4263 ($(BLD)\dispnew.obj):
4264 ($(BLD)\editfns.obj):
4265 ($(BLD)\fileio.obj):
4266 ($(BLD)\filelock.obj):
4267 ($(BLD)\keyboard.obj):
4268 ($(BLD)\w32proc.obj):
4269 ($(BLD)\process.obj):
4270 ($(BLD)\sysdep.obj): Ditto.
4271
4272 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4273 header files.
52283633
SM
4274 ($(BLD)/dispnew.$(O)):
4275 ($(BLD)/editfns.$(O)):
4276 ($(BLD)/fileio.$(O)):
4277 ($(BLD)/filelock.$(O)):
4278 ($(BLD)/keyboard.$(O)):
4279 ($(BLD)/w32proc.$(O)):
4280 ($(BLD)/process.$(O)):
f6839838
AI
4281 ($(BLD)/sysdep.$(O)): Ditto.
4282
c224f70b
GM
42832001-02-22 Gerd Moellmann <gerd@gnu.org>
4284
51695746
GM
4285 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4286 at the start of the function, check that the \n in it->c is
4287 from the iterator's current position.
52283633 4288
a61b7058
GM
4289 * xdisp.c (handle_single_display_prop): Add parameter
4290 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4291 properties which replace the display of text with something else.
4292 (handle_display_prop): Call handle_single_display_prop with
4293 additional argument saying if we already replaced text display
4294 with something else. Use AREF.
52283633 4295 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4296 (decode_mode_spec_coding): Use AREF and ASIZE.
4297
3473f362
GM
4298 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4299 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4300 * vmstime.h: Files removed.
52283633 4301
2bb58df3
GM
4302 * unexencap.c, unexfx2800.c: Files removed.
4303
c224f70b
GM
4304 * dispnew.c (direct_output_for_insert): Give up if we are showing
4305 a message or just cleared the message because we might need to
4306 resize the echo area window or display an empty echo area.
4307
ffc9ff0c
GM
43082001-02-21 Gerd Moellmann <gerd@gnu.org>
4309
0528abe1
GM
4310 * xdisp.c (redisplay_internal): Do the
4311 mark_window_display_accurate after all windows have been
4312 redisplayed because this call resets flags in buffers which are
4313 needed for proper redisplay.
4314
52283633
SM
4315 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4316 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4317 the old names.
4318
52283633
SM
4319 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4320 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4321
4322 * msdos.h (struct x_output): Rename busy_window to
4323 hourglass_window, busy_p to hourglass_p.
4324
52283633
SM
4325 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4326 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4327
4328 * xfns.c: Rename everything containing *busy_cursor* and similar
4329 to *hourglass*.
4330 (syms_of_w32fns): Rename x-busy-pointer-shape to
4331 x-hourglass-pointer-shape, display-busy-cursor to
4332 display-hourglass, busy-cursor-delay to hourglass-delay.
4333
4334 * w32fns.c: Rename everything containing *busy_cursor* and similar
4335 to *hourglass*.
4336 (syms_of_w32fns): Rename x-busy-pointer-shape to
4337 x-hourglass-pointer-shape, display-busy-cursor to
4338 display-hourglass, busy-cursor-delay to hourglass-delay.
4339
4340 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4341 of its busy_p flag.
4342
4343 * dispextern.h (start_hourglass, cancel_hourglass)
4344 (display_hourglass_p): Renamed from *busy_cursor*.
4345
ab2c5f0a
GM
43462001-02-20 Gerd Moellmann <gerd@gnu.org>
4347
d17e49a8
GM
4348 * keyboard.c (read_char): When an event from unread-command-events
4349 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4350
fa97adf6
GM
4351 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4352 equal to the current buffer.
4353
ab2c5f0a
GM
4354 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4355 nil, otherwise we're left with truncate_lines t when a message
4356 is printed with message-truncate-lines bound to t.
4357
aeac019e
GM
43582001-02-19 Gerd Moellmann <gerd@gnu.org>
4359
c8bc6f65
GM
4360 * window.c (Fmove_to_window_line): Undo last change.
4361 (displayed_window_lines): Call line_bottom_y to determine
4362 the line's bottom position.
4363
4364 * dispextern.h (line_bottom_y): Add prototype.
4365
52283633 4366 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4367 (pos_visible_p): Use it.
4368
980a2d69
GM
4369 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4370 set redisplaying_p to 0 here instead of in Frecursive_edit.
4371 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4372 set redisplaying_p.
4373
52283633 4374 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4375 New variables.
4376 (syms_of_xdisp): Initialize new variables.
4377 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4378 Specbind `inhibit-menubar-update' when updating the menu bar.
4379
65048e97
GM
4380 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4381 safe_run_hooks.
4382
4383 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4384 safe_run_hooks.
4385
a57c4026
GM
4386 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4387 is null.
4388
aeac019e
GM
4389 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4390 to the start of the file.
4391
76846b31
GM
43922001-02-16 Gerd Moellmann <gerd@gnu.org>
4393
f3f053f3 4394 * window.c (set_window_buffer): Fix last change.
52283633 4395
f3f053f3
GM
4396 * window.c (set_window_buffer): Set window's vscroll to 0.
4397
dad75588
GM
4398 * window.c (coordinates_in_window): Increase width of area
4399 where the vertical line can be dragged.
4400
c220b753
GM
4401 * xterm.c (x_set_glyph_string_background_width): Extend the
4402 background face to the end of the drawing area in the text
4403 area, only.
4404
c56b1c1b
GM
4405 * xdisp.c (handle_single_display_prop): Set iterator's position
4406 to where the `display' property starts, like for images.
4407 (dump_glyph): New function.
4408 (dump_glyph_row): Use it. Dump info about marginal areas.
4409
4410 * dispnew.c (direct_output_for_insert): Recognize more cases where
4411 glyphs can be written instead of being inserted.
4412
4413 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4414 the left x-coordinate of the area to shift.
4415
76846b31
GM
4416 * dired.c (directory_files_internal): Set result list to nil
4417 before retrying.
4418
0fc71a77
KH
44192001-02-15 Kenichi Handa <handa@etl.go.jp>
4420
4421 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4422 invalid multibyte sequence, treat *SRC as a character of
4423 eight-bit-graphic.
4424
25078b54
EZ
44252001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4426
4427 * textprop.c (Fset_text_properties): Doc fix.
4428
8399f8a0
GM
44292001-02-15 Gerd Moellmann <gerd@gnu.org>
4430
4431 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4432
9a2a6f73
DL
44332001-02-14 Dave Love <fx@gnu.org>
4434
4435 * coding.c: Doc and message fixes.
4436
bf853fee
AI
44372001-02-14 Andrew Innes <andrewi@gnu.org>
4438
4439 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4440 Emacs frame above the screen size.
4441
78c663d8
GM
44422001-02-14 Gerd Moellmann <gerd@gnu.org>
4443
4444 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4445
7cc9f69f
GM
44462001-02-13 Gerd Moellmann <gerd@gnu.org>
4447
0a411995
GM
4448 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4449 case that TO ends up beyond ZV after running before-change-functions.
4450
5ddc1b75
GM
4451 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4452 the selected window if it is showing the buffer in question.
4453
7cc9f69f
GM
4454 * dired.c (directory_files_internal): Initialize errno.
4455 (toplevel): Include errno.h.
4456
2e6621ca
GM
44572001-02-13 Kenichi Handa <handa@etl.go.jp>
4458
4459 * xfaces.c (best_matching_font): New parameter width_ratio.
4460 Multiply avgwidth by width_ratio.
4461 (choose_face_font): Call best_matching_font with width_ratio
4462 calculated from the column width of C.
4463
60222d69
AI
44642001-02-12 Andrew Innes <andrewi@gnu.org>
4465
4466 The following changes are to draw box lines inside characters area
4467 if line-width is negative.
52283633 4468
60222d69
AI
4469 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4470 face->box_line_width is negative.
4471 (x_produce_stretch_glyph): Likewise.
4472 (x_produce_glyphs): Likewise.
4473 (x_estimate_mode_line_height): Likewise.
4474 (x_draw_glyph_string_background): Likewise.
4475 (x_draw_glyph_string_foreground): Likewise.
4476 (x_draw_composite_glyph_string_foreground): Likewise.
4477 (x_draw_glyph_string_box): Likewise.
4478 (x_draw_image_foreground): Likewise.
4479 (x_draw_image_relief): Likewise.
4480 (x_draw_image_foreground_1): Likewise.
4481 (x_draw_image_glyph_string): Likewise.
4482
9804b846
KH
44832001-02-09 Kenichi Handa <handa@etl.go.jp>
4484
4485 The following changes are to draw box lines inside characters area
4486 if line-width is negative.
52283633 4487
9804b846
KH
4488 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4489 face->box_line_width is negative.
4490 (x_produce_stretch_glyph): Likewise.
4491 (x_produce_glyphs): Likewise.
4492 (x_estimate_mode_line_height): Likewise.
4493 (x_draw_glyph_string_background): Likewise.
4494 (x_draw_glyph_string_foreground): Likewise.
4495 (x_draw_composite_glyph_string_foreground): Likewise.
4496 (x_draw_glyph_string_box): Likewise.
4497 (x_draw_image_foreground): Likewise.
4498 (x_draw_image_relief): Likewise.
4499 (x_draw_image_foreground_1): Likewise.
4500 (x_draw_image_glyph_string): Likewise.
4501
4502 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4503 and :line-width can be negative.
52283633 4504 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4505
49be9f70
JR
45062001-02-09 Jason Rumney <jasonr@gnu.org>
4507
4508 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4509 characters the same as ASCII and latin-1.
4510 (x_display_and_set_cursor): Check for the focus frame's selected
4511 window instead of selected_window.
4512 (x_after_update_window_line): Don't clear if frame's internal
4513 border width is zero.
4514 (x_new_font): Don't change a tooltip's size.
4515 (w32_initialize): Set char_ins_del_ok to 1.
4516
4517 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4518 (x_set_font): If font hasn't changed, avoid recomputing
4519 faces and other things.
52283633
SM
4520 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4521 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4522 (x_create_tip_frame): Prevent changing the tooltip's
4523 background color by specifying a color for the default font
4524 in .Xdefaults.
4525 (Qcancel_timer): New variable.
4526 (syms_of_w32fns): Initialize and staticpro it.
4527 (Fx_hide_tip, Fx_show_tip): Use it.
4528 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4529 the timer.
4530 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4531
4532 * w32.c (init_environment): Duplicate local string before putenv.
4533
555e35d2
SZ
45342001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4535
4536 * charset.c (Fstring): A typo.
4537
19c92c94
KH
45382001-02-09 Kenichi Handa <handa@etl.go.jp>
4539
e47a1c33
KH
4540 * charset.c (Fstring): If all arguments are less than 256, return
4541 a unibyte string.
4542
4543 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4544 return a unibyte string.
4545
19c92c94
KH
4546 * coding.c (code_convert_region): After detecting a coding, if
4547 nothing found, set coding->composing to COMPOSITION_NO.
4548 (decode_coding_string): Likewise.
4549
d8e675f5
SM
45502001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4551
4552 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4553 to avoid overflow.
4554
bd503487
KH
45552001-02-07 Kenichi Handa <handa@etl.go.jp>
4556
4557 * charset.c (parse_str_to_multibyte): New function.
4558
4559 * charset.h (parse_str_to_multibyte): Extern it.
4560
4561 * print.c (print_string): If we are going to print a unibyte
4562 string into a multibyte buffer, convert the string to multibyte by
4563 str_to_multibyte.
4564
a8370d72
AI
45652001-02-06 Andrew Innes <andrewi@gnu.org>
4566
4567 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4568 been created. It seems we can get sent window messages such as
4569 WM_ERASEBKGND before we properly update a frame.
4570
c363a1d6
GM
45712001-02-06 Gerd Moellmann <gerd@gnu.org>
4572
4573 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4574 Avoid some unnecessary cursor positioning.
4575
a08332c0
GM
45762001-02-05 Gerd Moellmann <gerd@gnu.org>
4577
52283633 4578 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4579 (LFACE_AVGWIDTH): New macro.
4580 (LFACEP): Use AREF.
4581 (check_lface_attrs): Check LFACE_AVGWIDTH.
4582 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4583 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4584 (merge_face_vectors): Check LFACE_AVGWIDTH.
4585 (Finternal_make_lisp_face): Use AREF.
4586 (xm_set_menu_resources_from_menu_face)
4587 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4588 (Finternal_lisp_face_empty_p): Use AREF.
4589 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4590 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4591 Compare average widths..
4592 (best_matching_font): Arrange for comparing average widths.
4593
52283633
SM
4594 * dispextern.h (enum lface_attribute_index):
4595 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4596
5cb3c8d4
DL
45972001-02-05 Dave Love <fx@gnu.org>
4598
4599 * puresize.h: Revert last change following loadup.el change.
4600
193fba87
AI
46012001-02-05 Andrew Innes <andrewi@gnu.org>
4602
4603 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4604 invocation of temacs, to work with Windows 2000.
4605 (bootstrap-emacs): Ditto.
4606
e16f52ce
GM
46072001-02-05 Gerd Moellmann <gerd@gnu.org>
4608
7a58ab59
GM
4609 * xterm.c (x_display_and_set_cursor): Check for the focus
4610 frame's selected window instead of selected_window.
4611
e89aaabd
GM
4612 * xdisp.c (try_scrolling): If point is in the line below the
4613 window, make sure to move the iterator at least a canonical
4614 char height down.
4615
52283633 4616 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4617
789ce875
KH
46182001-02-05 Kenichi Handa <handa@etl.go.jp>
4619
52283633
SM
4620 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4621 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4622 (ccl_driver): If the CCL program is terminated because of
4623 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4624 destination instead of throwing them away.
4625
20b28f82
GM
46262001-02-02 Gerd Moellmann <gerd@gnu.org>
4627
79fb38c0
GM
4628 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4629 faces and other things.
4630
20b28f82
GM
4631 * xdisp.c (get_next_display_element): Fix case of empty
4632 display table entry.
4633
5a72551e
EZ
46342001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4635
eb24d0bf
EZ
4636 * editfns.c (Fconstrain_to_field): Doc fix.
4637
6a3f48c7
EZ
4638 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4639 into `thoroughly', to make it consistent with the doc string.
4640
5a72551e
EZ
4641 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4642
01acdb05
GM
46432001-02-01 Gerd Moellmann <gerd@gnu.org>
4644
0353b28f
GM
4645 * search.c (search_buffer): Call set_search_regs with a byte
4646 position, not a character position.
4647
01acdb05
GM
4648 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4649 minibuffer-only,
4650
e86b5133
EZ
46512001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4652
4653 * frame.c (Fmodify_frame_parameters): Doc fix.
4654
7442878f
GM
46552001-01-31 Gerd Moellmann <gerd@gnu.org>
4656
01acdb05
GM
4657 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4658 identifier which is not reserved by Standard C.
52283633 4659
7442878f
GM
4660 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4661
4662 * window.c (enum window_part): New enumeration.
4663 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4664 Qright_bitmap_area.
4665 (coordinates_in_window): Return an enumerator from enum
4666 window_part. Fix handling of right scroll bar.
4667 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4668 `right-fringe' instead of `left-bitmap-area' and
4669 `right-bitmap-area'. Use enumerators from enum window_part
4670 instead of hard-coded integers.
52283633
SM
4671 (check_window_containing, window_from_coordinates):
4672 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4673 (syms_of_window): Replace Qleft_bitmap_area and
4674 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4675
7c132cba
EZ
46762001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4677
4678 * editfns.c (Fformat_time_string): Doc fix.
4679
c359dd9e
SM
46802001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4681
4682 * keymap.c (Fwhere_is_internal): Use the first valid binding
4683 if no ascii binding is found (when firstonly is t).
4684
ce070307
GM
46852001-01-31 Gerd Moellmann <gerd@gnu.org>
4686
b4f30ec5
GM
4687 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4688 instead of Finteractive_p.
4689
4690 * lisp.h (interactive_p): Add prototype.
4691
4692 * eval.c (interactive_p): New function.
4693 (Finteractive_p): Use it.
4694
ce070307
GM
4695 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4696
f57b6e64
DL
46972001-01-31 Dave Love <fx@gnu.org>
4698
d61c7afe
DL
4699 * .gdbinit (hook-run): Define to run xreload.
4700
f57b6e64
DL
4701 * textprop.c (Fset_text_properties): Fix newline in doc string.
4702
eef93f99
GM
47032001-01-30 Gerd Moellmann <gerd@gnu.org>
4704
52283633
SM
4705 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4706 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4707
4708 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4709 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4710 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4711
4712 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4713 height.
4714
d9c1f6f9
DL
47152001-01-30 Dave Love <fx@gnu.org>
4716
4717 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4718 AFTER_POTENTIAL_GC.
4719
e8f044a0
GM
47202001-01-29 Gerd Moellmann <gerd@gnu.org>
4721
52283633
SM
4722 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4723 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4724
8e1db7b3
EZ
47252001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4726
4727 * textprop.c (Fset_text_properties): Doc fix.
4728
4eefd9d2
GM
47292001-01-29 Gerd Moellmann <gerd@gnu.org>
4730
4731 * xdisp.c (forward_to_next_line_start): Remove xassert.
4732
fccb8288
EZ
47332001-01-29 Jason Rumney <jasonr@gnu.org>
4734
4eefd9d2 4735 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4736 returning without releasing it.
4737
76581eab
KH
47382001-01-29 Kenichi Handa <handa@etl.go.jp>
4739
4740 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4741 for '^', '$', and '\0'.
4742
83a96b4d
AC
47432001-01-28 Andrew Choi <akochoi@i-cable.com>
4744
5604ec34
AC
4745 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4746 regex for '^', '$', and '\0'.
4747
83a96b4d
AC
4748 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4749 only if current_sblock has been initialized.
4750
4751 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4752 terminal frame even if it is the only visible frame.
4753
c09a6440
KH
47542001-01-28 Kenichi Handa <handa@etl.go.jp>
4755
4756 * fontset.c (font_family_registry): Even if FONTNAME conform to
4757 XLFD, if it specifies other fields than family and registry,
52283633 4758 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4759 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4760 a signle byte character. Don't set FAMILY part to nil here.
4761 It is handled by the caller choose_face_font.
c09a6440
KH
4762 (Fnew_fontset): Call font_family_registry with FORCE 0.
4763 (Fset_fontset_font): Likewise.
4764
4dcd74e6
GM
47652001-01-27 Gerd Moellmann <gerd@gnu.org>
4766
4767 * xdisp.c (display_line): Don't treat a newline as fitting
4768 on the line.
4769
d2906bf8
GM
47702001-01-26 Gerd Moellmann <gerd@gnu.org>
4771
0130fe1a
GM
4772 * window.c (size_window): Set the window's orig_top to nil when
4773 changing heights, so that a future shrink_mini_window won't
4774 restore a bogus height.
4775
550f0e6a
GM
4776 * frame.c (do_switch_frame): If selected frame has a mini-window,
4777 resize that to exact size.
4778
b7b20fbd
GM
4779 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4780
a47b7816
GM
4781 * xdisp.c (display_line): Simplify check for glyphs fitting
4782 entirely in the line.
4783
d2906bf8
GM
4784 * xfns.c (xic_style): New variable.
4785 (create_frame_xic): Move static variable to global scope for
550f0e6a 4786 the case that `static' gets defined away.
d2906bf8 4787
73df2b1e
KH
47882001-01-26 Kenichi Handa <handa@etl.go.jp>
4789
4790 * coding.c (decode_coding): Set a flag for inhibiting
4791 inconsistent eol.
4792 (code_convert_region): Always set saved_coding_symbol.
4793 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4794 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4795
6613cfc4
GM
47962001-01-25 Gerd Moellmann <gerd@gnu.org>
4797
c5e6e06b
GM
4798 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4799 XClearArea.
4800
4801 * xterm.c (x_after_update_window_line): Don't clear if frame's
4802 internal border width is zero.
4803 (x_clear_area): New function.
4804 (x_after_update_window_line, x_clear_end_of_line)
4805 (x_scroll_bar_create, x_scroll_bar_set_handle)
4806 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4807 instead of XClearArea.
4808
4809 * xterm.h (x_clear_area): Add prototype.
4810
6613cfc4
GM
4811 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4812 which doesn't seem necessary anymore with Lesstif 0.92.
4813
650cc6cc
DL
48142001-01-25 Dave Love <fx@gnu.org>
4815
34ac3367
DL
4816 * puresize.h (BASE_PURESIZE): Up to 720000.
4817
650cc6cc
DL
4818 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4819
5e37dc22
GM
48202001-01-25 Gerd Moellmann <gerd@gnu.org>
4821
e1e441f9
GM
4822 * xdisp.c (echo_area_display): Don't call redisplay_internal
4823 when Emacs is shutting down. We can't run hooks etc. that
4824 would be necessary to do a redisplay.
4825
5e37dc22
GM
4826 * lread.c (read_integer): Use type EMACS_INT instead of int.
4827
0fb94c7f
EZ
48282001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4829
4830 * ccl.c (ccl_driver): Fix last change.
4831
e3778624
KH
48322001-01-25 Kenichi Handa <handa@etl.go.jp>
4833
4834 * ccl.h (sturct ccl_program): New member suppress_error.
4835
bb264518 4836 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4837 insert error message to the output.
4838 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4839
4840 * coding.h (struct coding_system): New member suppress_error.
4841
4842 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4843 (Fset_terminal_coding_system_internal): Set the member
4844 suppress_error to 1.
4845 (Fset_safe_terminal_coding_system_internal): Likewise.
4846
245ed2b1
SM
48472001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4848
4849 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4850 as if it was a `charset'.
4851
f9aaedb6
GM
48522001-01-24 Gerd Moellmann <gerd@gnu.org>
4853
4854 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4855 value in where_is_cache; the next lookup in the cache returns
4856 something bogus if we do.
4857
c3902c3e
EZ
48582001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4859
4860 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4861 if HAVE_WINDOW_SYSTEM isn't defined.
4862
3497f73e
GM
48632001-01-24 Gerd Moellmann <gerd@gnu.org>
4864
e7e41584
GM
4865 * fns.c (sweep_weak_table): Fix code taking items out of
4866 the hash collision chain. Some cleanup.
4867
3497f73e
GM
4868 * xterm.c (x_new_font): Don't change a tooltip's size.
4869
4870 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4871 background color by specifying a color for the default font
4872 in .Xdefaults.
4873
3d48e687
KH
48742001-01-24 Kenichi Handa <handa@etl.go.jp>
4875
96531b20
KH
4876 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4877 a workaround for SunOS 4's cc.
4878 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4879 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4880 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4881 statement.
3d48e687 4882
a30629d2
GM
48832001-01-23 Gerd Moellmann <gerd@gnu.org>
4884
4885 * xterm.c (x_set_window_size_1): New function extracted from
4886 x_set_window_size.
4887 (x_set_window_size): Use it.
4888 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4889 doesn't have a widget, like tooltips.
4890
5a43decf
EZ
48912001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4892
52283633 4893 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4894
b0e98867
KH
48952001-01-23 Kenichi Handa <handa@etl.go.jp>
4896
4897 * fns.c (Fset_char_table_default): Fix to make sub char-table
4898 correctly.
4899
50606b4c
GM
49002001-01-22 Gerd Moellmann <gerd@gnu.org>
4901
cb2ddc53 4902 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4903 a desired tool bar string, even if there are no tool bar items.
4904
57c28064
GM
4905 * xdisp.c (Ftool_bar_lines_needed): New function.
4906 (syms_of_xdisp): Defsubr it.
4907
50606b4c
GM
4908 * editfns.c (Fformat): Don't extend text properties from arguments
4909 to padding chars in the result.
4910
2f169c38
EZ
49112001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4912
4913 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4914
0f32f023
AI
49152001-01-20 Andrew Innes <andrewi@gnu.org>
4916
52283633 4917 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4918 (w32_initialize): Don't set term hooks that aren't actually needed
4919 in windowed mode.
4920
4921 * xfaces.c (realize_default_face):
4922 (realize_face):
4923 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4924
4925 * xdisp.c (handle_single_display_prop): Remove references to
4926 FRAME_W32_CONSOLE_P.
4927
52283633 4928 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4929
4930 * frame.h (output_method): Remove output_w32_console method.
4931 (FRAME_W32_CONSOLE_P): Remove macro.
4932
4933 * frame.c (Qw32_console): Remove variable.
4934 (Fframep): Remove references to it.
4935 (syms_of_frame): Ditto.
4936 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4937
4938 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4939 redefinition.
4940
7173eada
KH
49412001-01-20 Kenichi Handa <handa@etl.go.jp>
4942
4943 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4944
755b45ce
AI
49452001-01-19 Andrew Innes <andrewi@gnu.org>
4946
4947 * w32.c (init_environment): Add a version-independent site-lisp
4948 directory to EMACSLOADPATH, after the version dependent one.
4949
0a949811
GM
49502001-01-19 Gerd Moellmann <gerd@gnu.org>
4951
8501998a
GM
4952 * editfns.c (Fbuffer_substring): Doc fix.
4953
52283633
SM
4954 * xdisp.c (message_dolog, message2, message2_nolog):
4955 Rename parameter LEN to NBYTES.
0a949811 4956
e6ebcbbe
KH
49572001-01-19 Kenichi Handa <handa@etl.go.jp>
4958
200ecca2
KH
4959 * charset.c (strwidth): Use c_string_width.
4960 (c_string_width): New function.
4961 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4962 Caller changed.
4963
4964 * charset.h (c_string_width, lisp_string_width): Extern them.
4965
52283633 4966 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4967
e6ebcbbe
KH
4968 * indent.c (check_composition): Check validity of composition.
4969
200ecca2
KH
4970 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4971 characters by calling c_string_width.
4972 (x_consider_frame_title): Get byte length of frame tile string
4973 correctly.
4974 (display_mode_element): Pay attention to width of non-ASCII
4975 characters by calling strwidth.
4976
8692ca92
GM
49772001-01-18 Gerd Moellmann <gerd@gnu.org>
4978
8962e303
GM
4979 * xfns.c (Qcancel_timer): New variable.
4980 (syms_of_xfns): Initialize and staticpro it.
4981 (Fx_hide_tip, Fx_show_tip): Use it.
4982 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4983 the timer.
4984 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4985
91523be9
GM
4986 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4987
4988 * window.h (WINDOW_LIVE_P): New macro.
4989
b0b7ed0e
GM
4990 * window.c (window_size_fixed): New variable.
4991 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4992 the doc string.
4993
06bccf8e
GM
4994 * eval.c (specbind): If binding a per-buffer variable which
4995 doesn't have a buffer-local value in the current buffer, change
4996 the global value by changing the value of the symbol bound in all
4997 buffers not having their own value, to make it consistent with
4998 what happens with other buffer-local variables.
4999
8692ca92
GM
5000 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5001
5002 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5003 when searching for a newline.
5004
bb3a3b50
KH
50052001-01-18 Kenichi Handa <handa@etl.go.jp>
5006
5007 * xdisp.c (display_string): Fix previous change.
5008
c2cc16fa
JR
50092001-01-18 Jason Rumney <jasonr@gnu.org>
5010
5011 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5012 GLYPH_DEBUG is defined.
5013 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5014 true for images with `:ascent 100'.
5015 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5016 meantime, use face MOUSE_FACE_ID.
5017 If first glyph isn't a character glyph, use the ASCII NUL
5018 character to determine the face.
5019 (expose_area): Do not treat left margin specially.
5020 (note_mode_line_highlight): If no local_map, check global keymap.
5021 (note_mouse_highlight): Initialize overlay.
52283633 5022 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5023 (show_scroll_bars): Remove unused function.
5024 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5025 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5026 Clip to row.
52283633 5027 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5028 (x_free_frame_resources): Unload relief colors.
5029
9c11f79e
GM
50302001-01-17 Gerd Moellmann <gerd@gnu.org>
5031
3aec8722 5032 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5033 get_next_display_element when the newline is already found.
5034 This may change the iterator's position, when its current position is
3aec8722
GM
5035 equal to the iterator's stop_charpos.
5036
f3ffc2c3
GM
5037 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5038 zero, use this method only at the end of a line.
5039
52283633 5040 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5041 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5042 if SCALABLE_FONTS_P is set.
52283633 5043
d26d6fd9
GM
5044 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5045 so that scalable fonts are included.
5046
9c11f79e
GM
5047 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5048 In the cache, use a key containing the information if scalable
5049 fonts are included.
5050 (x_load_font): Adapt to change of keys in the font cache.
5051
50522001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5053
d26d6fd9
GM
5054 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5055 XListFonts to take advantage of font caching.
5056
9c11f79e
GM
5057 * xterm.c (x_list_fonts): Ensure caching font information when
5058 called for a null frame, which is the case frequently when Emacs
5059 starts.
5060
51446987
GM
50612001-01-17 Gerd Moellmann <gerd@gnu.org>
5062
f864120f
GM
5063 * xfns.c (QCconversion): Replaces QCalgorithm.
5064
5065 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5066
5067 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5068 of :algorithm.
52283633 5069
e37d1417
GM
5070 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5071 not everything could be displayed.
5072
51446987
GM
5073 * line.h, x-list-font.c: Files removed because unused.
5074
9ad4f3e5
AI
50752001-01-17 Andrew Innes <andrewi@gnu.org>
5076
5077 * dired.c (directory_files_internal): Convert result from readdir
5078 to a unibyte string initially, to avoid possible misinterpretation
5079 of some bytes as the internal form of Emacs characters.
5080
2eda09b5
KH
50812001-01-17 Kenichi Handa <handa@etl.go.jp>
5082
5083 * fns.c (concat): Be sure to avoid putting the same `composition'
5084 property on the adjacent regions.
5085
826f3788
GM
50862001-01-16 Gerd Moellmann <gerd@gnu.org>
5087
52283633 5088 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5089 (Fscroll_right, Fscroll_left): Set it here instead, if called
5090 interactively.
5091
d57b83b3
GM
5092 * buffer.c (Fset_buffer_modified_p): Set buffer's
5093 prevent_redisplay_optimizations_p flag.
5094
826f3788 5095 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5096 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5097 with additional arg.
5098
5099 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5100 Change prototype.
826f3788 5101
826f3788
GM
5102 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5103 FROM_WHERE, for debugging.
5104
261d788b
KH
51052001-01-16 Kenichi Handa <handa@etl.go.jp>
5106
5107 * ccl.c (Fregister_ccl_program): Handle the return value of
5108 resolve_symbol_ccl_program correctly.
52283633 5109 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5110
bccee4f2
GM
51112001-01-15 Gerd Moellmann <gerd@gnu.org>
5112
e4ded23c
GM
5113 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5114 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5115
5116 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5117 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5118 the display; we didn't open it.
5119
bccee4f2
GM
5120 * dispnew.c (save_or_restore_current_matrices): Function removed.
5121 (save_current_matrix, restore_current_matrix): New functions.
5122 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5123 restore the frame's current matrix. Due to the glyph pointer
5124 setup done in adjust_glyph_matrix, there is no easy way to make
5125 saving the current matrix in the desired matrix generally correct,
5126 so don't try it.
5127
ebeccffa
KH
51282001-01-15 Kenichi Handa <handa@etl.go.jp>
5129
5130 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5131 truncation glyphs.
5132 (display_line): Optimize for wide characters.
e4ded23c 5133 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5134 partially. On ttys, produce more than one truncation glyph for
5135 multi-column characters that don't fit on the line.
5136
64388126
KH
51372001-01-13 Kenichi Handa <handa@etl.go.jp>
5138
52283633
SM
5139 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5140 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5141
8edb0a6f
JR
51422001-01-13 Jason Rumney <jasonr@gnu.org>
5143
5144 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5145 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5146 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5147 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5148
52283633
SM
5149 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5150 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5151 (x_draw_image_glyph_string): Adapt to change of image margins.
5152
5153 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5154 variables.
5155
5156 * w32bdf.c (search_file_line, get_cached_font_char)
5157 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5158
5159 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5160
5161 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5162 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5163 (Fw32_send_sys_command): Remove unused variables.
5164 (w32_msg_pump): Add parentheses.
5165
5166 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5167 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5168 Add parentheses.
5169
4956d1ef
GM
51702001-01-12 Gerd Moellmann <gerd@gnu.org>
5171
b30623be
GM
5172 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5173 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5174 being a pair of margins.
5175 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5176 to DEFVAR_LISP. Extend doc.
5177
5178 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5179 margins.
5180 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5181 pair of integers `(X . Y)', use X for the horizontal and Y for the
5182 vertical margin.
5183 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5184 (parse_image_spec): Check it.
52283633
SM
5185 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5186 (tiff_format, gif_format, gs_format):
5187 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5188
52283633
SM
5189 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5190 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5191 (x_draw_image_glyph_string): Adapt to the change of image margins.
5192
5193 * dispextern.h (struct image): Replace member `margin' with
5194 `hmargin' and `vmargin'.
5195
4554cc79
GM
5196 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5197 and GLYPHS.
5198
5199 * dispnew.c (update_text_area): Put code which decrements the
5200 stop position when the row's face extends to the end of the
3bffc665 5201 line in #if 0.
4554cc79 5202
3cccce8d
GM
5203 * xfns.c (x_set_mouse_color): Fix color allocation.
5204
4956d1ef
GM
5205 * keyboard.c: Call get_local_map with new argument list.
5206
5207 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5208
5209 * intervals.h (enum map_property): Removed.
5210 (get_local_map): Change prototype.
5211
5212 * keymap.c: Call get_local_map with new argument list.
5213 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5214
2c2ff7f2
GM
52152001-01-11 Gerd Moellmann <gerd@gnu.org>
5216
a23887b9
GM
5217 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5218 of the size needed for the tool bar string. For the last image,
5219 use a `display' property that reaches to the end of the string.
5220
a7ee2d2e
GM
5221 * xselect.c (selection_request_dpyinfo): New variable.
5222 (x_handle_selection_request): Set it.
5223 (x_selection_request_lisp_error): Don't call
5224 x_decline_selection_request if selection request's display has
5225 been closed.
5226
52283633
SM
5227 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5228 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5229
457b792c
GM
52302001-01-10 Dave Love <fx@gnu.org>
5231
5232 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5233 ${SOME_MACHINE_LISP}, not ${lisp}.
5234
c1efd260
GM
52352001-01-10 Gerd Moellmann <gerd@gnu.org>
5236
52283633
SM
5237 * xdisp.c (display_line): On ttys, produce more than one truncation
5238 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5239
ac95a621
GM
5240 * xselect.c (x_reply_selection_request): Add a comment.
5241
c1efd260
GM
5242 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5243 XkbGetNames instead of XkbGetKeyboard.
5244
1bfb1345
DL
52452001-01-10 Dave Love <fx@gnu.org>
5246
5247 * sysdep.c (random): Revert the declaration.
5248
38119822
GM
52492001-01-09 Gerd Moellmann <gerd@gnu.org>
5250
52283633
SM
5251 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5252 Call function string_bytes.
35f464a7
GM
5253 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5254
5255 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5256 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5257 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5258 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5259 the current sblock.
5260 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5261 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5262 after sweeping strings, and at the end.
5263 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5264
38119822
GM
5265 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5266 ensure that pop_message is called.
5267
5268 * keyboard.c (Fexecute_extended_command): Use a
5269 record_unwind_protect to ensure that pop_message is called.
5270
5271 * lisp.h (push_message_unwind): Add prototype.
5272
5273 * xdisp.c (push_message_unwind): New function.
5274
5275 * fileio.c (do_auto_save_unwind): Do the pop_message here
5276 instead of in Fdo_auto_save.
5277 (Fdo_auto_save): Don't call pop_message.
5278
f47a9ec4
KR
52792001-01-08 Ken Raeburn <raeburn@gnu.org>
5280
5281 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5282 in inner block.
5283
a758f97d
GM
52842001-01-08 Gerd Moellmann <gerd@gnu.org>
5285
6d0afc03
GM
5286 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5287 when increasing window's vscroll.
5288
a758f97d
GM
5289 * macros.c (Qkbd_macro_termination_hook): New variable.
5290 (syms_of_macros): Initialize and staticpro it.
5291 (pop_kbd_macro): Run kbd-macro-termination-hook.
5292
5293 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5294
1bfb1345 52952001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5296
5297 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5298 arglist, for documentation's sake.
5299
0dac6924
AI
53002001-01-06 Andrew Innes <andrewi@gnu.org>
5301
5302 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5303 of *.pdb.
5304
8182406a
AI
53052001-01-05 Andrew Innes <andrewi@gnu.org>
5306
5307 * term.c (update_end): Don't check updating_frame; for some reason
5308 this can be 0 sometimes, such as after dismissing a popup menu,
5309 and isn't necessary given the explicit frame argument.
5310
3828218c
GM
53112001-01-05 Gerd Moellmann <gerd@gnu.org>
5312
5313 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5314 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5315
2f5ded21
GM
53162001-01-04 Gerd Moellmann <gerd@gnu.org>
5317
52283633 5318 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5319
5320 * xfns.c (x_create_tip_frame): Preserve the value of
5321 face_change_count around the creation of the tip frame.
52283633 5322
2f5ded21
GM
5323 * xfns.c (last_show_tip_args): New variable.
5324 (compute_tip_xy): New function.
5325 (Fx_show_tip): Reuse an existing tip frame, if possible.
5326 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5327
dfad65fa
DL
53282001-01-04 Dave Love <fx@gnu.org>
5329
64d4ec0f
DL
5330 * editfns.c (Fformat): Doc fix.
5331
dfad65fa
DL
5332 * systime.h (set_file_times): Prototype.
5333
5334 * widget.h (EmacsFrameSetCharSize_): Prototype.
5335
5336 * sysdep.c (random, srandom): Declare explicitly.
5337
5338 * dispextern.h (move_it_vertically_backward): Declare.
5339
85fe3b5e
GM
53402001-01-04 Gerd Moellmann <gerd@gnu.org>
5341
0f2ac578
GM
5342 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5343 like in Fx_create_frame.
5344
482cca61
GM
5345 * xfaces.c (set_font_frame_param): Don't do anything for
5346 non-graphical frames.
5347
85fe3b5e
GM
5348 * window.c (Fdelete_other_windows): Set window's window_end_valid
5349 to nil when changing the window's start. Don't change the
5350 window's start when its top position hasn't changed. If we do,
5351 this will set the window's optional_new_start, which act's like a
5352 force_start during redisplay with C-x 1 M-> under particular
5353 circumstances (see report from Per Starback to emacs-pretest-bug
5354 from 2000-12-13.).
5355
3e99d3b4
GM
53562001-01-03 Gerd Moellmann <gerd@gnu.org>
5357
a77dc1ec
GM
5358 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5359 short cut at the start of the function. Add an assertion.
5360 (reseat_at_next_visible_line_start): Add an assertion.
5361
2f3cad6c
GM
5362 * window.c (Frecenter): When changing the window start, set the
5363 window's window_end_valid to nil.
5364 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5365
5366 * dispextern.h (move_it_past_eol): Add prototype.
5367
5368 * xdisp.c (move_it_past_eol): New function.
5369
3e99d3b4
GM
5370 * window.c (Fwindow_end): Doc fix.
5371
53722001-01-03 Dave Love <fx@gnu.org>
5373
52283633 5374 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5375
bafb434c
GM
53762001-01-03 Gerd Moellmann <gerd@gnu.org>
5377
5378 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5379 the enabled_p flag of the glyph row at window_end_vpos to 0.
5380 (handle_single_display_prop): Fix last change.
5381
5297fb00
RS
53822001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5383
5384 * window.c (Frecenter): Doc fix.
5385
13d6a61c
AI
53862001-01-02 Andrew Innes <andrewi@gnu.org>
5387
5388 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5389
5390 * frame.h (output_method): Add output_w32_console method.
5391 (FRAME_W32_CONSOLE_P): New macro.
5392
5393 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5394 use output_w32_console method.
5395 (Qw32_console): New Lisp_Object.
5396 (Fframep): Return it.
5397 (syms_of_frame): Init it.
52283633 5398 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5399
5400 * xfaces.c (realize_default_face): Set face foreground and
5401 background to unspecified for w32_console frames.
5402 (realize_face): Realize face cache for w32_console frames.
5403 (realize_tty_face): Accept w32_console frames.
5404
52283633 5405 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5406 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5407 necessary, even if running interactively.
5408
5409 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5410 w32_console frames.
5411
52283633
SM
5412 * w32term.c (x_update_begin):
5413 (x_update_end):
5414 (x_clear_frame):
5415 (x_ins_del_lines):
5416 (x_change_line_highlight):
5417 (x_delete_glyphs):
5418 (w32_ring_bell):
5419 (x_update_begin):
5420 (x_update_end):
5421 (w32_reassert_line_highlight):
5422 (w32_frame_rehighlight):
13d6a61c
AI
5423 (w32_frame_raise_lower): Do nothing if not w32 frame.
5424
5425 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5426
5427 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5428 system doesn't tell us directly.
5429 (Fx_display_visual_class): Implement properly.
5430
d6bb0c0d
GM
54312001-01-02 Gerd Moellmann <gerd@gnu.org>
5432
5433 * window.c (Frecenter): Handle centering in graphical frames
5434 specially. Centering on the basis of line counts doesn't work
5435 reliably with variable-height lines.
52283633 5436
315f5865
EZ
54372001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5438
5439 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5440 and al[].
5441
52283633 5442 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5443 (update_compositions): Remove unused variable `hook'.
5444
5445 * intervals.c (get_local_map): Remove unused variable `tem'.
5446
5447 * doprnt.c (doprnt1): Remove unused variable `size'.
5448
5449 * fns.c (Flength): Remove unused variable `tail'.
5450 (Fdelete): Remove unused variable `size'.
5451
5452 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5453 and `gcpro2'.
5454
52283633 5455 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5456
5457 * data.c (find_symbol_value): Remove extra 3rd argument in the
5458 call to swap_in_symval_forwarding.
5459
52283633 5460 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5461
5462 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5463 (trivial_regexp_p): Remove unused variable `c'.
5464 (boyer_moore): Remove unused variable `k'.
5465
5466 * indent.c (current_column): Remove unused variable `stopchar'.
5467 (Fcompute_motion): Remove unused variable `contin'.
5468
5469 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5470
5471 * dired.c (directory_files_internal): Fix a typo in a comment.
5472 Remove an unused variable `handler'.
52283633 5473 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5474 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5475 on BSD4_2.
5476
52283633 5477 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5478
5479 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5480 and `buf'.
5481 (Fmarker_insertion_type): Remove unused variable `buf'.
5482
5483 * insdel.c (make_gap): Remove unused variable `result'.
5484
52283633 5485 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5486 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5487 (menu_bar_items): Remove unused function-scope variable `tem'.
5488
5489 * fontset.c (fontset_ref): Remove unused variable `i'.
5490 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5491 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5492 (make_fontset_for_ascii_face): Remove unused variable `name'.
5493 (fs_load_font): Remove unused variable `font_idx'.
52283633 5494 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5495 (list_fontsets): Remove unused variable `tail'.
5496 (Fnew_fontset): Remove unused variables `family' and `registry'.
5497 (accumulate_font_info): Remove unused variable `tmp'.
5498 (Ffontset_font): Remove unused variable `id'.
5499 (syms_of_fontset): Remove unused variable `i'.
5500
5501 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5502 to x_term_init.
5503 (lookup_image): Remove unused variable `file'.
5504 (xbm_load): Remove unused variables `bitmap_data', `height', and
5505 `width'. Remove function-local variable `i', leave the
5506 block-local one.
5507 (gif_load): Remove unused variable `inc'.
5508
52283633 5509 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5510 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5511 leave only the one in the inner block.
5512
5513 * xfaces.c (face_fontset, realize_default_face): Remove unused
5514 variable `fontset'.
5515 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5516
5517 * term.c (encode_terminal_code): Remove unused variable `c'.
5518
5519 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5520 char *' instead of `char *'.
5521
5522 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5523 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5524 (Fchar_category_set): Remove unused variables `val', `charset',
5525 `c1' and `c2'.
5526
52283633
SM
5527 * coding.c (detect_coding_iso2022, setup_coding_system):
5528 Remove unused variable `i'.
315f5865
EZ
5529 (detect_coding_mask): Remove unused variable `idx'.
5530 (detect_coding): Remove unused variable `i'.
5531 (ccl_coding_driver): Remove unused variable `result'.
5532 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5533 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5534 (encode_coding_string): Remove unused variables `gcpro1' and
5535 `saved_coding_symbol'.
5536 (Ffind_coding_systems_region_internal): Remove function-local
5537 variable args[], leave only the block-local one.
5538 (code_convert_region1): Remove unused variable `len'.
5539
5540 * charset.c (char_printable_p): Remove unused variable `chars'.
5541 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5542 (str_to_multibyte): Remove unused variable `c'.
5543
5544 * window.c (size_window): Remove block-local variable `min_size'.
5545
5546 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5547 `header_line_height'.
5548 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5549 enum display_element_type.
5550
1a8a9daf
GM
55512001-01-02 Gerd Moellmann <gerd@gnu.org>
5552
6dde6abc 5553 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5554 statements that call X. Save away the error message in a local copy.
5555
1883b2c6
GM
5556 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5557 the start.
5558
a13be207
GM
5559 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5560 in or at the start of invisible text.
5561
1a8a9daf
GM
5562 * dispnew.c (update_window): Don't check_current_matrix_flags.
5563
3608c0f9
JR
55642001-01-01 Jason Rumney <jasonr@gnu.org>
5565
5566 * w32fns.c (x_figure_window_size): Do not allow new_height and
5567 new_width of frame to override specified values.
5568
abb1acc4
KH
55692000-12-30 Kenichi Handa <handa@etl.go.jp>
5570
52283633 5571 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5572
762a68ec
GM
55732000-12-29 Gerd Moellmann <gerd@gnu.org>
5574
52283633 5575 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5576 (update_window) [GLYPH_DEBUG]: Call it.
5577 (scrolling_window): Prevent including current rows which are below
5578 what's displayed in the window.
5579
5580 * xdisp.c (try_window_reusing_current_matrix)
5581 <new start <= old start>: Disable rows in the current matrix
5582 which are below the window after scrolling.
52283633 5583
762a68ec
GM
5584 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5585 is zero. It's not worth the complexity.
5586 (invisible_text_between_p): Put in #if 0 because unused.
5587
2d5912c1
GM
55882000-12-28 Gerd Moellmann <gerd@gnu.org>
5589
46f6a258
GM
5590 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5591 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5592
89f93679
GM
5593 * keyboard.c (echo_char): If C is an integer, always call
5594 push_key_description. Former code could signal an invalid
5595 character error.
5596
5597 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5598 If set, print multibyte text.
5599 (Fsingle_key_description): Call push_key_description with
5600 FORCE_MULTIBYTE set.
5601 (describe_buffer_bindings): Likewise.
5602
5603 * lisp.h (push_key_description): Add prototype.
5604
c06017fb
GM
5605 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5606 around the call to redisplay_internal.
5607
f1d2ce7f
GM
5608 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5609
2d5912c1
GM
5610 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5611
9371f831
KH
56122000-12-28 Kenichi Handa <handa@etl.go.jp>
5613
5614 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5615 (ccl_driver): New local variable `extra_bytes'.
5616
5617 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5618
52283633
SM
5619 * coding.c (setup_coding_system):
5620 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5621 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5622
0c80628a
KH
56232000-12-28 Kenichi Handa <handa@etl.go.jp>
5624
5625 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5626 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5627 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5628 (decode_composition_emacs_mule): New function.
5629 (decode_coding_emacs_mule): Decode composition sequence by calling
5630 decode_composition_emacs_mule.
5631 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5632 (encode_coding_emacs_mule): Changed from macro to function.
5633 If a text contains compositions, encode them correctly.
0c80628a
KH
5634 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5635 that decoding and encoding are required.
5636
3e32cc27
GM
56372000-12-27 Gerd Moellmann <gerd@gnu.org>
5638
5e25feee
GM
5639 * xfaces.c (PT_PER_INCH): New macro.
5640 (xlfd_point_size): Compute real point size from font's pixel size.
5641 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5642 instead of 72.
5643
892d8fcd
GM
5644 * .gdbinit: Comment out the line pointing to the Lesstif source
5645 directory.
5646
12c8b416
GM
5647 * window.c (Frecenter): Use displayed_window_lines instead
5648 of window_internal_height.
5649
6061fbf0
GM
5650 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5651 instead of x-toolkit-scroll-bars-p.
5652 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5653
5654 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5655 instead of x-toolkit-scroll-bars-p.
5656 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5657
3e32cc27
GM
5658 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5659 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5660 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5661 New variables.
5662 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5663 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5664 (build_frame_matrix_from_leaf_window): Remove unused code.
5665 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5666 redisplay history.
5667 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5668 (update_window) [GLYPH_DEBUG]: Likewise.
5669 (syms_of_display): Defsubr dump-redisplay-history.
5670
31798cfe
GM
56712000-12-23 Gerd Moellmann <gerd@gnu.org>
5672
f717c2ba
GM
5673 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5674 the end of the prompt. Set echo_after_prompt to the offset
5675 of echoptr in echobuf.
5676
aeb2b8fc
GM
5677 * xdisp.c (init_from_display_pos): Pop until the iterator's
5678 stack is empty; there may be frames for stretch or images
5679 on the stack.
5680
31798cfe
GM
5681 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5682 (save_or_restore_current_matrix): New function for the same
5683 purpose, but more efficient.
5684 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5685
f8156156
EZ
56862000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5687
5688 * xdisp.c (syms_of_xdisp): Fix last change.
5689
bdd6d4e8
GM
56902000-12-23 Gerd Moellmann <gerd@gnu.org>
5691
5692 * xdisp.c (syms_of_xdisp): Doc fix.
5693
5694 * xdisp.c (redisplay_window): Remove label restore_buffers;
5695 use finish_scroll_bars instead to make sure that scroll bars
5696 are redeemed. If we don't do this, flickering can result from
5697 scroll bars being destroyed and recreated.
5698
9436cdf9
JR
56992000-12-22 Jason Rumney <jasonr@gnu.org>
5700
5701 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5702 in the wrong colors when the foreground is not black.
5703 (expose_window): Don't redraw the window that's currently being
5704 updated.
5705
951f9df5
GM
57062000-12-22 Gerd Moellmann <gerd@gnu.org>
5707
856ff7a7
GM
5708 * window.c (size_window): When setting the window's too_small_ok
5709 flag, compare old size with minimum size depending on WIDTH_P,
5710 don't compare with window_min_width.
52283633 5711
951f9df5
GM
5712 * window.c (delete_window): Simplify somewhat.
5713 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5714 freeing window matrices. The flag windows_or_buffers_changed is
5715 set, so the next redisplay will consider all windows; this should
5716 suffice.
5717
886bc933
KH
57182000-12-22 Kenichi Handa <handa@etl.go.jp>
5719
5720 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5721
5722 * ccl.h (struct ccl_program): New member cr_consumed.
5723
5724 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5725 (CCL_READ_CHAR): Handle EOL conversion here.
5726 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5727
177f4e88
GM
57282000-12-21 Gerd Moellmann <gerd@gnu.org>
5729
52283633 5730 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5731
5732 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5733 otherwise tabs of different size compare equal.
5734
5735 * callint.c (Fcall_interactively): Prevent a compiler warning.
5736
5737 * print.c (print_unwind): Return nil.
5738 (PRINTDECLARE): Initialize all local variables.
5739 (print_preprocess): Add a default case.
5740
8e15274f
GM
5741 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5742
5743 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5744
52283633 5745 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5746 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5747
5748 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5749
5750 * dispnew.c (ensure_frame_matrix): Removed.
5751 (save_frame_matrix, restore_frame_matrix): New functions.
5752 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5753
5754 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5755 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5756
99012074
AI
57572000-12-21 Andrew Innes <andrewi@gnu.org>
5758
5759 * w32term.c (x_update_begin): Regenerate the palette here, rather
5760 than for each window.
5761
5762 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5763 palette is NULL, since this corrupts memory! Also get
5764 display_info reference from frame.
5765
29ef7d2d
JR
57662000-12-21 Jason Rumney <jasonr@gnu.org>
5767
5768 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5769
5770 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5771 to avoid returning without releasing it.
3e27fa1f 5772
3f9d67a6
KH
57732000-12-21 Kenichi Handa <handa@etl.go.jp>
5774
587fc3f9
KH
5775 * keymap.c (push_key_description): Don't convert eight-bit-control
5776 and eight-bit-graphic to multibyte character.
5777
3f9d67a6
KH
5778 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5779 generic character and CODE1 is nil, return the smallest character
5780 in CHARSET.
5781
774ba8c9
DL
57822000-12-20 Dave Love <fx@gnu.org>
5783
5784 * s/osf5-0.h (NSIG): Don't redefine.
5785
88416888
SM
57862000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5787
5788 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5789 excluding menu-bar and tool-bar.
5790 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5791 (menu_item_p): Remove.
5792 (where_is_internal_1): Don't ignore menu-items.
5793
a6426c6f
GM
57942000-12-20 Gerd Moellmann <gerd@gnu.org>
5795
03ff8aab
GM
5796 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5797 into account.
5798
5799 * window.c (make_window): Initialize window's min_hscroll.
5800 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5801 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5802 to zero.
5803 (struct saved_window): New member min_hscroll.
5804 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5805 (Fset_window_configuration): Set window's min_hscroll.
5806 (save_window_save): Save window's min_hscroll.
5807 (compare_window_configurations): Compare min_hscroll values.
5808
5809 * window.h (struct window): New member min_hscroll.
5810
5811 * keyboard.c (echo_prompt): Prevent a compiler warning.
5812
8de4aaf8
GM
5813 * xdisp.c (try_cursor_movement): Fix last change. The real
5814 condition is that PT is at the end of the row, and should
5815 be displayed at the start of the next row.
52283633 5816
3f7e3031
GM
5817 * xdisp.c (try_cursor_movement): If we end on a partially
5818 visible line, end we already decided to scroll, return -1.
5819
a6426c6f
GM
5820 * dispextern.h (ensure_frame_matrix): Add prototype.
5821
5822 * window.c (delete_window, Fsplit_window)
5823 (Fset_window_configuration): Call ensure_frame_matrix.
5824
52283633
SM
5825 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5826 New functions.
a6426c6f
GM
5827 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5828 completed, call fake_current_matrices instead of marking frame
5829 garbaged.
5830
57fa2774
JR
58312000-12-20 Jason Rumney <jasonr@gnu.org>
5832
5833 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5834
d925df90
EZ
58352000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5836
5837 * fns.c (Frequire): Doc fix.
5838
7b93a85b
GM
58392000-12-19 Gerd Moellmann <gerd@gnu.org>
5840
52283633 5841 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5842
c74e645b
GM
5843 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5844 currently displaying a message.
5845
7b93a85b
GM
5846 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5847 xterm.h.
5848 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5849
90d97e64
AI
58502000-12-18 Andrew Innes <andrewi@gnu.org>
5851
5852 * w32.c (w32_strerror): New function.
5853
5854 * w32.h (w32_strerror): New extern.
5855
5856 * w32fns.c (Fw32_shell_execute): Use it.
5857
91c9e6ce
GM
58582000-12-18 Gerd Moellmann <gerd@gnu.org>
5859
5860 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5861
6f4745e2
EZ
58622000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5863
5864 * msdos.c (IT_set_face): Obey inverse_video.
5865
c9e088ce
KH
58662000-12-18 Kenichi Handa <handa@etl.go.jp>
5867
5868 * dired.c (directory_files_internal): Always return decoded filenames.
5869
c3695f5f
GM
58702000-12-18 Gerd Moellmann <gerd@gnu.org>
5871
52d8e4ff
GM
5872 * xterm.c (x_connection_closed): Prevent being called recursively
5873 because of an error condition in XtCloseDisplay.
52283633 5874
62be9979
GM
5875 * xdisp.c (init_iterator): If noninteractive, and the frame's
5876 face cache is null, make one.
5877
52283633 5878 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5879
c3695f5f
GM
5880 * process.c (wait_reading_process_input): Check for pending
5881 input when running timers.
5882
78555fbe
EZ
58832000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5884
52283633 5885 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5886
b2b36264
KH
58872000-12-18 Kenichi Handa <handa@etl.go.jp>
5888
5889 * process.c (read_process_output): Don't run a filter if the code
5890 decoder produces nothing but carryover.
5891
9c543fbf
AI
58922000-12-17 Andrew Innes <andrewi@gnu.org>
5893
5894 * w32.c (sys_rename): Only check errno against EEXIST, and not
5895 EACCES, when determining whether rename failed because the target
5896 exists. This was resulting in indefinite looping on Windows 9x if
5897 the source file was locked by another process.
5898
5899 * w32fns.c (Ffile_system_info): New function.
5900 (syms_of_w32fns): Defsubr it.
5901
10c2b5a8
GM
59022000-12-17 Gerd Moellmann <gerd@gnu.org>
5903
b0228ace
GM
5904 * window.c (coordinates_in_window): Fix computation for
5905 position on vertical line between mode lines.
5906
10c2b5a8
GM
5907 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5908 Don't alter tip_frame or tip_window.
5909 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5910 was deleted.
5911
c844a81a
GM
5912 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5913 Don't alter tip_frame or tip_window.
5914 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5915 was deleted.
5916
6c825f8e
EZ
59172000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5918
5919 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5920 be consistent with the doc string. Reported by NAKAJIMA Mikio
5921 <minakaji@osaka.email.ne.jp>.
5922
af4bb4c8
KH
59232000-12-16 Kenichi Handa <handa@etl.go.jp>
5924
5925 * xfaces.c (Vface_ignored_fonts): New variable.
5926 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5927 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5928
8062e53a
GM
59292000-12-15 Gerd Moellmann <gerd@gnu.org>
5930
e87b8809
GM
5931 * dispnew.c (update_window): Detect pending input every nth line
5932 updated, i.e. do it depending on real work done, and not on the
5933 vpos of the line.
5934
5935 * xterm.c (expose_window): Don't redraw the window that's
5936 currently being updated.
5937
a6768cc5
GM
5938 * window.c (Fset_window_point): Remove test for
5939 cursor_in_non_selected_windows.
5940
4ea7fdca
GM
5941 * lread.c (read1): Recognize end of file after `\\'.
5942
8062e53a
GM
5943 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5944 not unwind_create_frame.
5945
bb7959c1
GM
59462000-12-15 Dave Love <fx@gnu.org>
5947
5948 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5949 bcopy & al.
5950
5951 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5952
ced04c42
KH
59532000-12-15 Kenichi Handa <handa@etl.go.jp>
5954
c5443913
KH
5955 * coding.c (setup_coding_system): Clear all members of the struct
5956 coding_system at first.
bc137305
KH
5957 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5958 argument.
5959 (code_convert_region): Don't override coding->src_multibyte and
5960 coding->dst_multibyte.
c5443913 5961
ced04c42
KH
5962 * fns.c (Fmd5): Docstring improved.
5963
c2d7f289
MB
59642000-12-15 Miles Bader <miles@gnu.org>
5965
5966 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5967 are actually marked as mode-lines; otherwise use
5968 estimate_mode_line_height.
5969
9d7d9263
GM
59702000-12-14 Gerd Moellmann <gerd@gnu.org>
5971
5972 * editfns.c (Fformat): Prevent a buffer overrun when the format
5973 specifies a precision.
5974
7cf0153a
EZ
59752000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5976
5977 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5978 argument is outside the range [2..3].
5979
1de0f662
AI
59802000-12-14 Andrew Innes <andrewi@gnu.org>
5981
5982 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5983 nothing to do. Bind inhibit-quit.
5984 (tip_frame): Make it a Lisp_Object.
5985 (x_create_tip_frame): Set tip_frame after it has been added to
5986 Vframe_list.
5987 (Fx_show_tip): Don't set tip_frame here.
52283633 5988 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5989 (unwind_create_frame, unwind_create_tip_frame): New functions.
5990 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5991 while a frame is only partially constructed.
5992
5993 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5994 (x_free_frame_resources): New function.
5995 (x_destroy_window): Use it.
5996
02387dcc
GM
59972000-12-14 Gerd Moellmann <gerd@gnu.org>
5998
5999 * xfns.c (Fx_backspace_delete_keys_p): New function.
6000 (syms_of_xfns): Defsubr it.
6001
6002 * config.in (HAVE_XKBGETKEYBOARD): Add.
6003
0544ef49
KH
60042000-12-14 Kenichi Handa <handa@etl.go.jp>
6005
98d62747
KH
6006 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6007 Always store string in multibyte representation in echobuf.
6008 (echo_char): Always store string in multibyte representation in
6009 echobuf.
6010 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6011 (read_key_sequence): Adjusted for the change of echo_prompt.
6012
a20193cd
KH
6013 * fns.c (Fmd5): Docstring improved.
6014
191b83b6
KH
6015 * lisp.h (detect_coding_system): Prototype adjusted.
6016
0544ef49
KH
6017 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6018 (detect_coding_emacs_mule, detect_coding_iso2022,)
6019 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6020 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6021 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6022 (detect_coding_mask, detect_coding_system): New argument
6023 MULTIBYTEP. Callers changed.
1da1bb05
KH
6024 (decode_coding_string): Set coding->src_multibyte and
6025 coding->dst_multibyte before calling detect_coding and detect_eol.
6026 Update them after some coding system is detected.
52283633 6027
d5b3eb1b
SM
60282000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6029
6030 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6031
6032 * keyboard.c (menu_bar_items, tool_bar_items):
6033 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6034
f7f8bb69
GM
60352000-12-13 Gerd Moellmann <gerd@gnu.org>
6036
52283633 6037 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6038 New variables.
6039 (unwind_create_frame, unwind_create_tip_frame): New functions.
6040 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6041 while a frame is only partially constructed.
6042
6043 * xterm.h (x_free_frame_resources): Declare.
6044
6045 * xterm.c (x_free_frame_resources): New function.
6046 (x_destroy_window): Use it.
6047
e10da507
GM
6048 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6049 don't interrupt the update for pending input initially, i.e.
6050 update at least some lines.
6051
6052 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6053
d5b3eb1b 6054 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6055
6056 * xfns.c (gray_bitmap_bits): Declare `char *'.
6057
90aa2856
GM
60582000-12-12 Gerd Moellmann <gerd@gnu.org>
6059
6060 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6061 lines start with a relief line.
6062
a308c9cd
DL
60632000-12-12 Dave Love <fx@gnu.org>
6064
6065 * window.c (Fdisplay_buffer): Doc fix.
6066 (Fwindow_list): Remove unused var.
6067
6068 * buffer.h (mmap_set_vars): Declare.
6069
6070 * window.h (Fset_window_point): Declare.
6071
d575011f
EZ
60722000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6073
bf6282d2 6074 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6075 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6076 variable `area'. When looking for a row under (X,Y), give up if some
6077 of the previous rows is not enabled.
d575011f 6078
ecf4d726
GM
60792000-12-12 Gerd Moellmann <gerd@gnu.org>
6080
2ebf6139
GM
6081 * window.c (Fset_window_point): If displaying cursors in windows
6082 other than the selected window, make sure redisplay updates
6083 other windows to show the new value of point in the window.
6084
6085 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6086
bfdb75ee
GM
6087 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6088 the buffer is the sole visible buffer when in the mini-buffer.
6089
52283633 6090 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6091 Bind `inhibit-read-only' to t.
6092 (unwind_with_echo_area_buffer): Use AREF.
6093
c0006262
GM
6094 * xfns.c (Fx_hide_tip): Simplified.
6095
52283633
SM
6096 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6097 instead of `1'.
e9a59cad 6098
ecf4d726
GM
6099 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6100
e5959a9a
GM
61012000-12-11 Gerd Moellmann <gerd@gnu.org>
6102
a3642e49 6103 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6104
44b5a125
GM
6105 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6106 nothing to do. Bind inhibit-quit.
6107 (tip_frame): Make it a Lisp_Object.
6108 (x_create_tip_frame): Set tip_frame after it has been added to
6109 Vframe_list.
6110 (Fx_show_tip): Don't set tip_frame here.
6111
6112 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6113
6114 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6115 Lisp_Object.
6116
6117 * dispextern.h: Change external declaration of tip_frame.
6118
d990421f
GM
6119 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6120 return an empty string.
6121
4db87380
GM
6122 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6123 of the window's update_mode_line flag, since the former is set by
6124 force-mode-line-update, not the latter. This makes
6125 column-number-mode slightly faster.
52283633 6126
e5959a9a
GM
6127 * xdisp.c (try_window_id) <all changes above window start>:
6128 Set the cursor.
6129
169fe44e
GM
61302000-12-11 Paul Eggert <eggert@twinsun.com>
6131
6132 * config.in (HAVE_FTELLO): Remove.
6133 (HAVE_FSEEKO): Add.
6134 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6135 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6136 HAVE_FTELLO.
6137 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6138 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6139
59ec59ae
MB
61402000-12-11 Miles Bader <miles@gnu.org>
6141
6142 * window.c (displayed_window_lines): Don't round up when
6143 converting empty space at bottom to lines.
ff904dd6
MB
6144 Handle non-newline-terminated final lines properly.
6145 (Fwindow_text_height): New function (used to be in lisp).
6146 (syms_of_window): Initialize it.
59ec59ae 6147
42ebfa31
SM
61482000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6149
6150 * syntax.c (scan_lists): Check that the right quote char has the
6151 right Sstring syntax when jumping over strings.
6152 (init_syntax_once): Use Smax rather than 13.
6153
5cdb3cf3
MB
61542000-12-09 Miles Bader <miles@gnu.org>
6155
6156 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6157 with PARTIALLY, inverting the sense.
6158 (window_scroll_pixel_based): Scroll partially visible lines into
6159 place if we hit the beginning or end of the buffer.
a12167c5
MB
6160 (displayed_window_lines): Don't include partially visible lines.
6161 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6162
842b2a94
GM
61632000-12-08 Gerd Moellmann <gerd@gnu.org>
6164
6165 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6166
6167 * tparam.c (tparam1): Change the way buffers are reallocated to be
6168 portable and less obfuscated.
6169
6170 * termcap.c (tgetent): Change the way buffers are reallocated to
6171 be portable and less obfuscated.
6172
6173 * macros.c (store_kbd_macro_char): Change the way buffers are
6174 reallocated to be portable and less obfuscated.
6175
6176 * lread.c (read1): Change the way buffers are reallocated to be
6177 portable and less obfuscated.
6178
6179 * doc.c (Fsubstitute_command_keys): Change the way buffers
6180 are reallocated so that it is portable.
6181
137cad7c
EZ
61822000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6183
6184 * dosfns.c (Ffile_system_info): New function.
6185 (syms_of_dosfns): Defsubr it.
6186
5c7f629c
SM
61872000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6188
6189 * alloc.c (gc_sweep): Add comment.
6190
959e647d
GM
61912000-12-07 Gerd Moellmann <gerd@gnu.org>
6192
52283633
SM
6193 * sound.c (vox_configure): Change order of ioctls.
6194 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6195 Ignore errors when changing volume.
6196 (vox_close): Don't reset the device.
6197
926b7e5e
GM
6198 * process.c (read_process_output): Make sure the process marker's
6199 position is valid when the process buffer is changed in
6200 after-change functions. W3 does that.
52283633 6201
959e647d
GM
6202 * xfns.c (x_free_gcs): New function.
6203
6204 * xterm.h (x_free_gcs): Add prototype.
6205
6206 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6207 freeing GCs here.
6208
6209 * xterm.c (x_destroy_window): Call x_free_gcs so that
6210 resources of non-toolkit X windows will be freed.
6211
478ea067
AI
62122000-12-07 Andrew Innes <andrewi@gnu.org>
6213
6214 * w32fns.c (xlfd_charset_of_font): Fix last change.
6215
fbee3231
DL
62162000-12-06 Dave Love <fx@gnu.org>
6217
67292061
DL
6218 * md5.h (__P): Don't define -- it comes from config.h.
6219
fbee3231
DL
6220 * strftime.c: Change some #if foo to #ifdef foo.
6221
4ee87dbb
AI
62222000-12-06 Andrew Innes <andrewi@gnu.org>
6223
6224 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6225
52283633 6226 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6227 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6228 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6229
9765b4a4
GM
62302000-12-06 Gerd Moellmann <gerd@gnu.org>
6231
d285b373
GM
6232 * alloc.c (gc_sweep): Prevent symbols read during loadup
6233 from being freed.
6234
384333ee
GM
6235 * xdisp.c (underlying_face_id): New function.
6236 (handle_face_prop, face_before_or_after_it_pos): Use it
6237 to determine the face ``under'' a string. Let strings inherit
6238 the face of the buffer under them.
6239
6240 * xfaces.c (face_at_string_position): Update function comment.
52283633 6241
d4b72d58
GM
6242 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6243 matrix if the window's left position has changed; we need to
6244 redraw it in this case.
6245
6246 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6247
e1d05387
GM
6248 * window.c (coordinates_in_window): Check mouse on mode-line or
6249 header-line first.
6250
eb1b0c74
GM
6251 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6252 advertized by the function documentation.
6253
d94d636f
GM
6254 * window.c (syms_of_window): Doc fix.
6255
3887b449
GM
6256 * sound.c (vox_configure): Set volume for left and right channel.
6257 (sound_cleanup): Return nil.
6258
efc8f57a
GM
6259 * xdisp.c (move_it_by_lines): Fix paren typo.
6260
9765b4a4
GM
6261 * xterm.c (x_load_font): Don't use the font's max_bounds for
6262 computing the height of the font. If max_bounds' ascent or
6263 descent are greater than the font's ascent or descent, this means
6264 glyphs overlap, which should be handled now by redisplay.
6265
6529ed87
GM
6266 * window.c (Veven_window_heights): New variable.
6267 (syms_of_window): DEFVAR_LISP it.
6268 (Fdisplay_buffer): Check Veven_window_heights before evening the
6269 window heights.
52283633 6270
0eb2ecde
MB
62712000-12-06 Miles Bader <miles@gnu.org>
6272
6273 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6274 update `default-frame-alist' instead of setting no frame parameters.
6275
03d7a167
KH
62762000-12-06 Kenichi Handa <handa@etl.go.jp>
6277
6278 * composite.c (update_compositions): Fix typo (use the correct
6279 variable).
6280
5f8803c2
JR
62812000-12-05 Jason Rumney <jasonr@gnu.org>
6282
6283 * md5.h: Remove underscores from function declarations.
6284 (__attribute__, __alignof__) [!__GNUC__]: Define.
6285
6286 * md5.c: Delay include of md5.h until after namespace cleaning.
6287
c28a075b
JR
6288 * makefile.w32-in (fns.o): Depend on md5.h
6289 (md5.o): New target.
6290 (sunfns.o): Remove.
6291
6292 * makefile.nt: Likewise.
6293
ff3c7056
JR
62942000-12-05 Jason Rumney <jasonr@altavista.net>
6295
6296 * w32term.c (expose_area): Complete last change.
6297
0c21eeeb
KR
62982000-12-05 Ken Raeburn <raeburn@gnu.org>
6299
6300 * minibuf.c: Include intervals.h.
6301
f201d732
JR
63022000-12-05 Jason Rumney <jasonr@gnu.org>
6303
6304 * w32term.c (x_produce_glyphs): If a font for a component of
6305 a composition is not found, use 1 pixel dot ascent and 0 dot
6306 descent value to avoid displaying terribly tall empty boxes.
6307 (expose_area): Pass x-coordinate relative to the exposed
6308 area to x_draw_glyphs instead of a window-relative coordinate.
6309
21999ab9
GM
63102000-12-05 Gerd Moellmann <gerd@gnu.org>
6311
4d2036e4
GM
6312 * xdisp.c (next_element_from_ellipsis): Save face before selective
6313 display in saved_face_id, and set face_before_selective_p.
6314 (reseat_1): Reset face_before_selective_p.
6315 (append_space, extend_face_to_end_of_line): If iterator's
6316 face_before_selective_p is set, use the face from saved_face_id.
6317 (extend_face_to_end_of_line): For tty frames, make sure to
6318 use the right face id when producing spaces at the end of
6319 the line.
6320
6321 * dispextern.h (struct it): Add face_before_selective_p.
6322
52be17cc
GM
6323 * keyboard.c (record_char): Don't record identical help-echo
6324 events in recent_keys.
6325
8a4f36cc
GM
6326 * xterm.c [USE_X_TOOLKIT]: Close the display.
6327 (xim_close_dpy): Handle case that the display has been closed.
6328
57d6e381
GM
6329 * xterm.c (x_destroy_window): Reset the frame's X window after
6330 destroying it.
6331
21999ab9
GM
6332 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6333 variable window_width.
6334 (line_draw_cost): Fix code skipping over spaces at the end of the
6335 line when must_write_spaces is not set.
6336 (scrolling_window): Fix code inserting runs in list of all runs.
6337
91372bb7
KH
63382000-12-05 Kenichi Handa <handa@etl.go.jp>
6339
6340 * coding.c (setup_coding_system): Be sure to initialize
6341 coding->category_idx.
6342
6c083b4c
GM
63432000-12-04 Gerd Moellmann <gerd@gnu.org>
6344
0c68ce6f 6345 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6346
6452929e
GM
6347 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6348 area to x_draw_glyphs instead of a window-relative coordinate.
6349
d7f31e22
GM
6350 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6351 error in the message.
6352
ae18aa3b
GM
6353 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6354 timer after having read a key. It's not good for code reading
6355 several keys in a loop, like an input method.
6356
caa15ef7
GM
6357 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6358 record undo information for format-decode.
6359
6360 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6361 current buffer is read-only, not if it isn't.
6362
6c083b4c
GM
6363 * keyboard.c (record_char): Record `help-echo' input events
6364 in recent_keys only if they display some help. Don't record
6365 `help-echo' events as macro char.
6366
caa15ef7
GM
63672000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6368
6369 * editfns.c (save_excursion_restore): Don't move point
6370 in another window if it is showing the wrong buffer.
6371 Avoid the call to Fwindow_live_p, for speed.
6372
5a13529b
KH
63732000-12-04 Kenichi Handa <handa@etl.go.jp>
6374
e225faa7
KH
6375 * xfaces.c (struct font_name): New member registry_priority.
6376 (split_font_name): Initialize the above member to zero.
6377 (concat_font_list): New function.
6378 (font_list): Include fonts of all alternative registries.
6379 (FONT_POINT_SIZE_QUANTUM): New macro.
6380 (better_font_p): Ignore point size difference less than
6381 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6382
e89648b4
KH
6383 * xterm.c (x_produce_glyphs): If a font for a component of
6384 a composition is not found, use 1 pixel dot ascent and 0 dot
6385 descent value to avoid displaying terribly tall empty boxes.
6386
5a13529b
KH
6387 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6388
d7935eb6
KR
63892000-12-03 Ken Raeburn <raeburn@gnu.org>
6390
6391 * coding.h (code_convert_string1): Declare.
6392
6393 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6394
52283633 6395 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6396
0dd5e255
JR
63972000-12-02 Jason Rumney <jasonr@gnu.org>
6398
6399 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6400 correctly for single byte character case.
6401 (w32_per_char_metric): Do not try to make any assumptions about
6402 the metrics of BDF fonts.
250cfece 6403 (x_estimate_mode_line_height): If `mode-line' face
52283633 6404 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6405 (note_mouse_highlight): Change the cursor shape on the vertical
6406 border between windows [not enabled].
6407
6408 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6409
6410 * w32fns.c (Fx_create_frame): Reintroduce the call to
6411 face-set-after-frame-defaults.
6412 (Vx_window_horizontal_drag_shape): New variable.
6413 (syms_of_xfns): DEFVAR_LISP it.
6414 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6415 enabled].
0dd5e255 6416
b5d8d2ca
GM
64172000-12-02 Simon Josefsson <simon@josefsson.org>
6418
6419 * fns.c (Fmd5): Use a different logic to decide the coding system
6420 to use.
6421
6422 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6423
fbb87147
EZ
64242000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6425
52283633 6426 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6427
447e9da0
GM
64282000-12-01 Gerd Moellmann <gerd@gnu.org>
6429
7708ced0
GM
6430 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6431 height for YNegative.
6432 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6433 height; also see comment there.
6434
447e9da0
GM
6435 * window.c (coordinates_in_window): Handle computations for
6436 positions on the vertical bar and fringes differently for
6437 window-system frames. Consider some pixels near the vertical bar
6438 as on the bar if the frame doesn't have vertical scroll bars.
6439 Associate positions between mode or header lines with the
6440 right window, the left one.
6441
86d1db20
JR
64422000-12-01 Jason Rumney <jasonr@gnu.org>
6443
6444 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6445
6446 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6447 invalid frame.
6448
a1d58e5b
GM
64492000-12-01 Gerd Moellmann <gerd@gnu.org>
6450
52283633 6451 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6452 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6453 (save_window_save, Fset_window_configuration): Save/restore
6454 window's orig_top and orig_height.
6455
89c609af
JR
64562000-12-01 Jason Rumney <jasonr@gnu.org>
6457
4d177746 6458 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6459
89c609af
JR
6460 * w32fns.c (x_set_cursor_color): Fix last change.
6461
eccc05db
GM
64622000-11-30 Gerd Moellmann <gerd@gnu.org>
6463
31b6671b
GM
6464 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6465 sure that the next redisplay displays the minibuffer, so that
6466 the cursor will be replaced with what the minibuffer wants.
6467
eccc05db
GM
6468 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6469 #ifndef instead of using #if.
6470 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6471 USE_TOOLKIT_SCROLL_BARS is defined.
6472
162de750
JR
64732000-11-30 Jason Rumney <jasonr@gnu.org>
6474
6475 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6476 x_display_cursor.
6477
693c4692
GM
64782000-11-30 Gerd Moellmann <gerd@gnu.org>
6479
6480 * fns.c (Fmd5): Doc fix.
6481
b5d8d2ca 64822000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6483
6484 * fns.c (Fmd5): New function.
6485 (syms_of_fns): Defsubr md5.
6486
6487 * Makefile.in (obj): Add md5.o
6488
b02cd40b
GM
64892000-11-30 Gerd Moellmann <gerd@gnu.org>
6490
edfb795e
GM
6491 * md5.h, md5.c: New files, taken from glibc.
6492
df3aedcf
GM
6493 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6494
b02cd40b 6495 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6496 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6497
8b5176cd
SM
64982000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6499
6500 * eval.c (Frun_hooks): Allow 0 arguments.
6501
346598f1
GM
65022000-11-29 Gerd Moellmann <gerd@gnu.org>
6503
f9396e03
GM
6504 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6505 is over the menu bar widget, say it's not on the frame.
6506
4a967a9b
GM
6507 * xfns.c (Fx_create_frame): Reintroduce the call to
6508 face-set-after-frame-defaults.
6509
346598f1
GM
6510 * eval.c (Fsignal): Reset handling_signal.
6511
222456a1
JR
65122000-11-28 Jason Rumney <jasonr@gnu.org>
6513
6514 * w32menu.c (add_menu_item): Reset menu item text when changing
6515 type to radio button.
6516
8049ddc0
GM
65172000-11-28 Gerd Moellmann <gerd@gnu.org>
6518
346598f1 6519 * xselect.c: Update copyright.
f4f4ee4d 6520
bebe4a2c
GM
6521 * window.c (coordinates_in_window): If on a mode or header line,
6522 but sufficiently close to its start, return ``on vertical
6523 border''. This gives us a way to drag windows horizontally when
6524 using toolkit scroll bars.
6525
6526 * xterm.c (note_mouse_highlight): Change the cursor shape
6527 on the vertical border between windows.
6528
6529 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6530
6531 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6532 (syms_of_xfns): DEFVAR_LISP it.
6533 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6534
8d2c2642
GM
6535 * textprop.c (text_read_only): New function.
6536 (verify_interval_modification): Use it instead of signaling
6537 `text-read-only'. This makes it easier to catch this error
52283633 6538 with a breakpoint.:
8d2c2642 6539
52283633 6540 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6541 not end of line, which includes CR.
6542
5a2bae6c
KH
65432000-11-28 Kenichi Handa <handa@etl.go.jp>
6544
6545 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6546 include no-conversion.
6547
ae31f84d
JR
65482000-11-27 Jason Rumney <jasonr@gnu.org>
6549
6550 * w32fns.c (w32_load_system_font): Always mark font as double byte
6551 if codepage is unicode.
6552
67f1cf4c
GM
65532000-11-27 Gerd Moellmann <gerd@gnu.org>
6554
4a74d071 6555 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6556 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6557
902ae620
GM
6558 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6559 `vertical-line', `mode-line' and `header-line' events.
6560
6561 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6562 of a character, a TAB for instance. This is easier than to set
6563 up the iterator exactly, and it's not a frequent case, so the
6564 additional effort wouldn't really pay off.
6565
c1e279c2
AC
65662000-11-26 Andrew Choi <akochoi@i-cable.com>
6567
67f1cf4c 6568 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6569 init_window_once.
6570
a609568a
JR
65712000-11-25 Jason Rumney <jasonr@gnu.org>
6572
52283633
SM
6573 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6574 Args to window_from_coordinates should be pixel coordinates.
48b21762 6575
a609568a
JR
6576 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6577 redisplay handles them properly.
6578
a658d039
MB
65792000-11-25 Miles Bader <miles@gnu.org>
6580
6581 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6582
d3416cca
JR
65832000-11-24 Jason Rumney <jasonr@gnu.org>
6584
6585 * w32.c (init_environment): Set LANG environment variable based on
6586 locale settings, if not set.
6587
6588 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6589 making tool bar smaller. When clearing the frame, also
6590 clear current matrices. Clear frame when tool bar disappears.
6591 Don't use more lines for the tool-bar than is available.
6592 (x_change_window_heights): New function.
6593
ba193890
GM
65942000-11-24 Gerd Moellmann <gerd@gnu.org>
6595
2be8f184
GM
6596 * xdisp.c (init_from_display_pos): If POS says we're already after
6597 an overlay string ending at POS, make sure to pop the iterator
6598 because it will be in front of that overlay string. When POS is
6599 ZV, we've thereby also ``processed'' overlay strings at ZV.
6600
ba193890
GM
6601 * xfaces.c (lface_from_face_name): Function comment fix.
6602
1862a24e
MB
66032000-11-24 Miles Bader <miles@gnu.org>
6604
6605 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6606 apply `mode-line-inverse-video' -- zero means force display using
6607 the default face, non-zero means display using the specialized face.
6608 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6609
f07fa1b8
KH
66102000-11-23 Kenichi Handa <handa@etl.go.jp>
6611
6612 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6613 hard coded `4'.
6614
2bcdf662
EZ
66152000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6616
6617 * coding.c (decode_coding_emacs_mule): Fix the case of
6618 CODING_EOL_LF, which used uninitialized value of c.
6619
ba8299ff
SM
66202000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6621
6622 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6623
f4117c4d
GM
66242000-11-22 Gerd Moellmann <gerd@gnu.org>
6625
03e757c1
GM
6626 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6627 buffer object.
6628
f4117c4d
GM
6629 * frame.h (struct frame): Replace desired_tool_bar_items,
6630 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6631 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6632
6633 * frame.c (make_frame): Change initialization of tool bar
6634 items accordingly.
6635
6636 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6637 Change references to members deleted from struct frame to use the
f4117c4d
GM
6638 new ones.
6639
6640 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6641 references to members deleted from struct frame to use the new ones.
f4117c4d 6642
52283633 6643 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6644
6645 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6646
6647 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6648 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6649 from struct frame to use the new ones.
6650
f8e2f3f2
MB
66512000-11-23 Miles Bader <miles@gnu.org>
6652
6653 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6654 the face's inverse-video attribute, rather than overriding it.
6655
60e8e0a5
GM
66562000-11-22 Gerd Moellmann <gerd@gnu.org>
6657
6658 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6659 making tool bar smaller.
6660
92dd1b29
DL
66612000-11-22 Dave Love <fx@gnu.org>
6662
6663 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6664
e672fdce
MB
66652000-11-22 Miles Bader <miles@gnu.org>
6666
3a17d6cc
MB
6667 * keyboard.c (Vminibuffer_message_timeout): New variable.
6668 (command_loop_1): Use it to determine message timeout.
6669 (syms_of_keyboard): Initialize it.
6670
60e8e0a5 6671 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6672
e9655d81
KH
66732000-11-22 Kenichi Handa <handa@etl.go.jp>
6674
6675 * sysdep.c: Move the code for declaring h_errno after #include
6676 <netdb.h>.
6677
77270fac
GM
66782000-11-21 Gerd Moellmann <gerd@gnu.org>
6679
cd913aae
GM
6680 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6681 the menu bar when the tooltip is unmapped.
6682
77270fac
GM
6683 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6684 sole visible buffer when we're currently in the mini-buffer, and
6685 give up if so.
52283633 6686
556635d6
JR
66872000-11-21 Jason Rumney <jasonr@gnu.org>
6688
6689 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6690 put on the clipboard.
6691 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6692 copy of what Emacs last put there. If they are the same, do not
52283633 6693 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6694
5b7bde64
MB
66952000-11-22 Miles Bader <miles@gnu.org>
6696
6697 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6698 (syms_of_minibuf): Initialize it.
6699 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6700 to prompt, don't make read-only.
6701
ff23e1dd
GM
67022000-11-21 Gerd Moellmann <gerd@gnu.org>
6703
52283633
SM
6704 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6705 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6706
7aaf4388
GM
6707 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6708
f5f47add 6709 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6710
ff23e1dd
GM
6711 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6712
37c35586
KH
67132000-11-21 Kenichi Handa <handa@etl.go.jp>
6714
6715 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6716 ... #endif scope.
6717
ff9ab414
GM
67182000-11-20 Gerd Moellmann <gerd@gnu.org>
6719
52283633 6720 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6721 screen supports it.
6722
29a01b72
GM
6723 * s/gnu-linux.h: Don't use `#cpu'.
6724
09dfdf85
GM
6725 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6726 not defined in mman.h.
6727
52283633 6728 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6729 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6730 and store an index in the XClientMessageEvent. Storing a
6731 Lisp_Object or pointer can fail on a 64 bit system, since X only
6732 transfers 32 bits.
52283633
SM
6733 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6734
81459ac9
DL
67352000-11-20 Dave Love <fx@gnu.org>
6736
6737 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6738
56c13ae6
GM
67392000-11-20 Gerd Moellmann <gerd@gnu.org>
6740
6741 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6742
495a6df3
KH
67432000-11-20 Kenichi Handa <handa@etl.go.jp>
6744
2bcf3714
KH
6745 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6746 by WIDTH.
6747
495a6df3
KH
6748 * alloc.c (make_string): Fix previous change. Be sure to make
6749 unibyte string correctly.
6750
6d950f4c
GM
67512000-11-19 Gerd Moellmann <gerd@gnu.org>
6752
39b39373
GM
6753 * window.c (Fwindow_list): Change parameter list to be XEmacs
6754 compatible.
6755 (window_list_1): New function.
6756 (window_loop): Use it instead of Fwindow_list.
6757
b95b34e5
GM
6758 * sysdep.c (emacs_ospeed): New variable.
6759 (toplevel): Don't declare ospeed extern.
6760 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6761
6762 * termcap.c (ospeed): Remove.
6763 (tputs) [!emacs]: Remove unused code.
6764 (tgetent): Avoid a compiler warning.
6765
e83dc917
GM
6766 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6767 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6768 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6769
6770 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6771 removed.
6772 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6773 Take the X display as additional argument.
6774 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6775 `Widget' is a pointer type that's not easily stored in Lisp_Object
6776 form in a portable way.
52283633 6777
6d950f4c
GM
6778 * dispnew.c (update_text_area): Fix last change.
6779
e47306e6
GM
67802000-11-18 Gerd Moellmann <gerd@gnu.org>
6781
fb3cd89b
GM
6782 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6783
6784 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6785 clear current matrices.
6786
edaa9aed
GM
6787 * buffer.c (mmap_enlarge): Don't print a message on stderr
6788 if mapping new memory at the end of the existing region fails.
6789
e47306e6
GM
6790 * dispnew.c (update_text_area): Don't skip over equal glyphs
6791 when the last current glyph overlaps the glyph to its right.
6792
509633e3
MB
67932000-11-18 Miles Bader <miles@gnu.org>
6794
6795 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6796 lines that *end* with "..." too (that's the most common case!).
6797
d392e9c5
GM
67982000-11-18 Gerd Moellmann <gerd@gnu.org>
6799
67988445
GM
6800 * xdisp.c (resize_mini_window): Temporarily change to the
6801 mini-window's buffer if necessary.
1bfdbe43 6802
d392e9c5
GM
6803 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6804 the tooltip obscures less text under it.
6805
68062000-11-17 Gerd Moellmann <gerd@gnu.org>
6807
6808 * puresize.h (BASE_PURESIZE): Increase to 700000.
6809
92bb977f
JR
68102000-11-18 Jason Rumney <jasonr@gnu.org>
6811
6812 * w32term.c (w32_draw_bitmap): Use face to set colors.
6813
26fbf20b
DL
68142000-11-17 Dave Love <fx@gnu.org>
6815
6816 * lread.c (Fload): Fix #ifdef for pcc.
6817
100b593b
GM
68182000-11-17 Gerd Moellmann <gerd@gnu.org>
6819
6820 * xdisp.c (pos_visible_p): Compute the default character height
6821 differently.
6822
a288d0d1
GM
68232000-11-16 Gerd Moellmann <gerd@gnu.org>
6824
cac94de6 6825 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6826 knowing the line's height; use the default font's height in that case.
cac94de6 6827
a288d0d1
GM
6828 * xfaces.c (weight_table): Add `demi' with the same meaning as
6829 `demibold'.
6830
981fb6f6
KH
68312000-11-16 Kenichi Handa <handa@etl.go.jp>
6832
2cca872d 6833 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6834 (clear_glyph_row): Delete local static variable null_row.
6835
e5fa381b
JR
68362000-11-15 Jason Rumney <jasonr@gnu.org>
6837
6838 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6839 (w32_alloc_lighter_color): Use new brightness calculations from
6840 xterm.c. Scale delta to be in the range expected by W32.
6841 (w32_draw_relief_rect): Use frame relief colors.
6842
8e42f043
GM
68432000-11-15 Gerd Moellmann <gerd@gnu.org>
6844
6d133d1f
GM
6845 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6846 (Qinhibit_default_face_x_resources): New variable.
6847 (syms_of_frame): Initialize it.
6848 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6849
6850 * xdisp.c (pos_visible_p): Improve function comment.
6851
6852 * lisp.h (BINDING_STACK_SIZE): New macro.
6853
8e42f043
GM
6854 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6855 reading the directory if readdir returns null and errno is EAGAIN
6856 or EINTR.
6857
e8c87124
SM
68582000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6859
6860 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6861 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6862 Set amount_to_scroll to max of dx and scroll_step so that
6863 scroll-conservatively doesn't defeat scroll-step>1.
6864 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6865 scroll-conservatively for line-at-a-time scrolling.
6866
5f0c971d
GM
68672000-11-14 Gerd Moellmann <gerd@gnu.org>
6868
6869 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6870 extra argument.
6871
6872 * xdisp.c (current_mode_line_height, current_header_line_height):
6873 New variables.
6874 (init_xdisp): Initialize them.
6875 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6876 and use exact mode line heights if it is set.
6877
6878 * lisp.h (pos_visible_p): Change prototype.
6879
6880 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6881 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6882 and current_header_line_height first.
52283633
SM
6883 (current_mode_line_height, current_header_line_height):
6884 Declare extern.
5f0c971d 6885
d7361edf
MB
68862000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6887
6888 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6889 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6890 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6891
ee5e440a
MB
68922000-11-14 Miles Bader <miles@gnu.org>
6893
6894 * xterm.c (x_alloc_lighter_color): Include an additive component
6895 too for dark colors, because FACTOR isn't enough.
6896 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6897 New macros.
6898
5ca020fc
GM
68992000-11-13 Gerd Moellmann <gerd@gnu.org>
6900
6901 * keyboard.c (show_help_echo): Call message3_nolog with number of
6902 bytes in the help string as 2nd parameter, instead of the number
6903 of characters.
6904
9d348294
MB
69052000-11-13 Miles Bader <miles@gnu.org>
6906
6907 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6908 (Fload): Use new openp return protocol.
6909 Don't try to use Vload_source_file_function to load .elc files.
6910 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6911 openp return protocol.
6912 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6913
1729bb9a
KH
69142000-11-11 Kenichi Handa <handa@etl.go.jp>
6915
4e677396
KH
6916 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6917
6918 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6919 Defined these macros.
6920 (NLIST_STRUCT): Avoid re-defining it.
6921
1729bb9a
KH
6922 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6923 -I/usr/contrib/X11R6/include.
6924 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6925
a82fe213
JR
69262000-11-10 Jason Rumney <jasonr@gnu.org>
6927
6928 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6929
6930 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6931 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6932
6933 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6934 (Qw32_charset_vietnamese): New symbol.
6935 (xlfd_charset_of_font): New function.
6936 (w32_load_system_font): Use it.
6937 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6938 when Vw32_charset_info_alist is nil to ensure default face always
6939 has font. Use Fcar and Fcdr for safety.
6940 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6941 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6942 pseudo-codepages for special cases.
6943 (w32_to_x_font): New parameter to allow charset portion to be
6944 specified where there is many to one mapping. Callers changed.
6945 (w32_list_fonts): Avoid listing fonts that won't display.
6946
52d89894
GM
69472000-11-10 Gerd Moellmann <gerd@gnu.org>
6948
6949 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6950 (font_list_1): Renamed from font_list.
6951 (font_list): New function, trying alternative registries from
6952 Vface_alternative_font_registry_alist.
6953 (Finternal_set_alternative_font_registry_alist): New function.
6954 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6955 Vface_alternative_font_registry_alist.
6956 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6957
651cd3da
KR
69582000-11-09 Ken Raeburn <raeburn@gnu.org>
6959
6960 * lisp.h (Flooking_at): Declare.
6961
388ac098
GM
69622000-11-09 Gerd Moellmann <gerd@gnu.org>
6963
778fbc46 6964 * dired.c (directory_files_internal): Fix a braino.
52283633 6965
388ac098
GM
6966 * dired.c (directory_files_internal): Add missing GCPRO's.
6967 Some cleanup.
6968
ecaedde1
GM
69692000-11-08 Gerd Moellmann <gerd@gnu.org>
6970
f7eb32aa
GM
6971 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6972 (resize_mini_window): Return quickly if Vresize_mini_window is
6973 nil. Don't return if Vmax_mini_window_height is nil.
6974
6975 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6976 (syms_of_xdisp): Initialize them.
6977 (resize_mini_window): Act according to the setting of
6978 Vresize_mini_window.
6979 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6980
ecaedde1
GM
6981 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6982 scroll bar widget after configuring it, so that it will appear at
6983 the right position from the start.
6984 (XTredeem_scroll_bar): Cleaned up.
6985
3747ef2c
KH
69862000-11-08 Kenichi Handa <handa@etl.go.jp>
6987
6988 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6989 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6990 division by two.
6991
6992 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6993
03391420
DL
69942000-11-07 Dave Love <fx@gnu.org>
6995
7758f1c1 6996 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6997
6998 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6999
b5de343d
GM
70002000-11-07 Gerd Moellmann <gerd@gnu.org>
7001
acad3c0b
GM
7002 * window.c (Fset_window_configuration): Don't try to preserve
7003 point in the current buffer, if that buffer is displayed in more
7004 than one window.
7005
b5de343d
GM
7006 * xfaces.c (lookup_named_face): If default face isn't realized,
7007 try to realize it. Return -1 if not successful.
7008 (Fx_list_fonts): Handle case that face cannot be determined.
7009 (Fface_font): Likewise.
7010
cdb1fe49
GM
70112000-11-06 Gerd Moellmann <gerd@gnu.org>
7012
7013 * window.c (displayed_window_lines): Detect partially
7014 visible lines at the bottom correctly.
7015
d3a67486
SM
70162000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7017
7018 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7019 when ensuring we don't do visit in indirect buffer.
7020
ff8dd5d5
KH
70212000-11-06 Kenichi Handa <handa@etl.go.jp>
7022
7023 * composite.h (compose_chars_in_text): Add prototype.
7024
7025 * composite.c (Vcomposition_function_table): New variable.
7026 (Qcomposition_function_table): New variable.
7027 (run_composition_function): Call
7028 Vcompose_chars_after_function with three arguments.
7029 (compose_chars_in_text): New function.
7030 (syms_of_composite): Modified the doc-string of
7031 Vcompose_chars_after_function. Declare composition-function-table
7032 as a lisp variable, and initialize it.
7033
7034 * xfns.c (x_encode_text): Suppress producing escape sequences for
7035 composition.
7036
7037 * xselect.c: Include composite.h.
7038 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7039
d1145f85
AI
70402000-11-05 Andrew Innes <andrewi@gnu.org>
7041
7042 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7043
7044 * sysdep.c (read_input_waiting): Remove extraneous argument to
7045 read_socket_hook.
7046
7047 * w32fns.c (Fx_server_version): Include w32_build_number in the
7048 return list.
7049
7050 * w32heap.c (w32_build_number): New variable.
7051 (cache_system_info): Set it.
7052
7053 * w32heap.h (w32_build_number): Add extern.
7054
7055 * emacs.c (syms_of_emacs): Update docstring for
7056 system-configuration, to reflect the actual usage on MS-Windows.
7057
e85ee976
GM
70582000-10-31 Gerd Moellmann <gerd@gnu.org>
7059
26dcb81b
GM
7060 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7061 process idle timers while waiting for another event.
7062
52283633 7063 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7064 the default face are colored.
7065
e85ee976
GM
7066 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7067 window height hasn't changed.
7068
01b220b6
JR
70692000-10-31 Jason Rumney <jasonr@gnu.org>
7070
7071 * w32term.c (x_produce_glyphs): Handle composite characters.
7072 (x_draw_glyph_string_foreground)
7073 (x_draw_composite_glyph_string_foreground): Restore old font.
7074
4e6b7204
MB
70752000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7076
7077 * minibuf.c (read_minibuf): Reset the undo history just before
7078 starting the recursive-edit.
7079
d4358b37
GM
70802000-10-30 Gerd Moellmann <gerd@gnu.org>
7081
563f68f1
GM
7082 * xfaces.c (menu_face_change_count): New variable.
7083 (Finternal_set_lisp_face_attribute): Increment it for changes
7084 of the `menu' face.
7085 (realize_basic_faces): Reflect changes in the `menu' faces
7086 in menu bars.
7087
82e274d1
GM
7088 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7089 dy obtained from the iterator's y-position after moving from
7090 scroll_margin_pos to PT; see comment there.
52283633 7091
0dbf9fd2
GM
7092 * xdisp.c (safe_eval_handler): Call add_to_log.
7093
906b3b14
GM
7094 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7095 is not a symbol or string.
7096
d4358b37
GM
7097 * xdisp.c (echo_area_display): Don't perform a display update from
7098 inside redisplay. The update will happen anyway at the end of
7099 redisplay, and it can confuse redisplay (GC messages while
7100 redisplaying, for instance.)
7101
70c825df
SM
71022000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7103
cf9b4b0b
SM
7104 * xrdb.c (x_load_resources): Use the class name in the defaults.
7105
70c825df
SM
7106 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7107 (regex_compile): Catch bogus \(\1\).
7108
a1d34b1e
GM
71092000-10-30 Gerd Moellmann <gerd@gnu.org>
7110
cae71efe
GM
7111 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7112 RGB values.
52283633 7113
35efe0a1
GM
7114 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7115 we have a color cache, check that the cached color equals the
7116 allocated color. If not, clear the color cache.
7117
1d3baf74
GM
7118 * window.c (displayed_window_lines): Change buffers if necessary.
7119 Fix computation of displayed lines.
7120
a1d34b1e
GM
7121 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7122 update_menu_bindings to DEFVAR_BOOL.
7123
70737ea9
KH
71242000-10-30 Kenichi Handa <handa@etl.go.jp>
7125
70c825df 7126 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7127
fa0cb51d
KH
7128 * puresize.h (BASE_PURESIZE): Increase to 680000.
7129
70737ea9
KH
7130 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7131
0e4c08e8
JR
71322000-10-29 Jason Rumney <jasonr@gnu.org>
7133
7134 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7135
7136 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7137 (w32_cache_char_metrics): Handle possibility that 'x' does not
7138 exist in a BDF font.
7139 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7140
7141 * w32bdf.h (bdffont): Add nchars.
7142
7143 * w32bdf.c (set_bdf_font_info): Set it.
7144 (w32_BDF_TextOut): Swap byte order of double byte characters.
7145 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7146
45b84006
EZ
71472000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7148
7149 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7150 don't override the colors in frame's param_alist, unless they are
7151 unspecified.
7152
7153 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7154 reverse the effect of the highlight flag.
7155
caf9deee
KR
71562000-10-27 Ken Raeburn <raeburn@gnu.org>
7157
7158 * window.h (Fwindow_live_p): Declare.
7159
ae0b9b46
KR
7160 * undo.c (record_delete): Check that last_undo_buffer is really a
7161 buffer before applying XBUFFER to it.
7162
7163 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7164 Faref.
7165
02067692
SM
71662000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7167
7168 * lisp.h (KEYMAPP): New macro.
7169 (get_keymap): Remove.
7170 (get_keymap_1): Rename get_keymap.
7171
7172 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7173
7174 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7175
7176 * xmenu.c (single_submenu): Use KEYMAPP.
7177 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7178 Use KEYMAPP rather than Fkeymapp.
7179
7180 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7181
7182 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7183 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7184 Use KEYMAPP rather than Fkeymapp.
7185 (single_submenu): Use KEYMAPP.
7186 (w32_menu_show, w32_dialog_show): Use TRUE.
7187
7188 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7189
7190 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7191 (Fkeymapp): Use KEYMAPP.
7192 (get_keymap): Rename from get_keymap_1. Remove old def.
7193 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7194 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7195 (Fminor_mode_key_binding): Don't raise an error if the binding
7196 is not a keymap.
7197 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7198 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7199
7200 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7201 Allow Vspecial_event_map to be autoloaded.
7202 (menu_bar_items): Fetch the keymap rather than using keymapp.
7203 (menu_bar_one_keymap): No need to follow func-indirect any more.
7204 (parse_menu_item): get_keymap_1 -> get_keymap.
7205 (tool_bar_items): Fetch the keymap rather than using keymapp.
7206 (read_key_sequence): Use KEYMAPP.
7207
7208 * intervals.c (get_local_map): Use get_keymap rather than following
7209 function-indirections explicitly.
7210
7211 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7212
f9d80af3
JR
72132000-10-27 Jason Rumney <jasonr@gnu.org>
7214
7215 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7216 point, as Windows has oversized fonts.
7217
7218 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7219
a3ba27da
GM
72202000-10-27 Gerd Moellmann <gerd@gnu.org>
7221
7222 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7223 (freehook, reallochook): Handle null pointer arguments.
7224 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7225
aa3b80cc
SM
72262000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7227
7228 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7229 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7230 Giving in to popular pressure to shut up the compiler with casts.
7231
e24e84cc
GM
72322000-10-27 Gerd Moellmann <gerd@gnu.org>
7233
7234 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7235 signed value, and use a default value computed from the font's
7236 maximum descent.
7237
05ea7ef2
MB
72382000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7239
7240 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7241 that specify a negative underline position can still use underlines.
7242
7243 * window.c (Fpos_visible_in_window_p): Make POS default to
7244 WINDOW's point, not the current buffer's point.
7245
0b95284b
DL
72462000-10-26 Dave Love <fx@gnu.org>
7247
7248 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7249 when it's necessary.
7250
6c5b90af
GM
72512000-10-26 Gerd Moellmann <gerd@gnu.org>
7252
8b6d9dc9
GM
7253 * window.c (size_window): Compute size difference from sum of old
7254 child window sizes instead of from parent's size.
7255
6bc92b2e
GM
7256 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7257 Handle obscured lines at the top of the window.
7258
7259 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7260 down after the last error condition check.
7261
6c5b90af
GM
7262 * frame.c (Fdelete_frame): Run delete-frame-hook.
7263
42f92d4d
KH
72642000-10-26 Kenichi Handa <handa@etl.go.jp>
7265
7266 * coding.c (decode_coding): Fix previous change (check also
7267 CODING_MODE_LAST_BLOCK).
7268
d97151cb
SM
72692000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7270
e7efc503
SM
7271 * regex.c: More `unsigned char' -> `re_char' changes.
7272 Also change several `int' into `re_wchar_t'.
7273 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7274 (PUSH_FAILURE_POINTER): Don't cast any more.
7275 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7276 We want GCC to complain, since this piece of code makes
7277 re_match non-reentrant, which *should* be fixed.
7278 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7279 (EXTEND_BUFFER): Use RETALLOC.
7280 (SET_LIST_BIT): Don't cast.
7281 (re_wchar_t): New type.
7282 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7283 that those two functions will always properly return.
7284 (IMMEDIATE_QUIT_CHECK): Cast to void.
7285 (analyse_first): Use recursion rather than an explicit stack.
7286 (re_compile_fastmap): Can't fail anymore.
7287 (re_search_2): Don't check re_compile_fastmap for failure.
7288 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7289 Now also sets the new value (passed in a new argument).
7290 (re_match_2_internal): Use it.
7291 Also, use a new var `reg' of type size_t when looping through regs
7292 rather than reuse the inappropriate `mcnt'.
7293
d97151cb
SM
7294 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7295 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7296 (where_is_internal): Renamed from Fwhere_is_internal.
7297 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7298 (Fwhere_is_internal): New function wrapping where_is_internal.
7299 (where_is_internal_1): Handle the case where we're filling the cache.
7300 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7301
d5789b65
MB
73022000-10-25 Miles Bader <miles@gnu.org>
7303
7304 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7305
4ecda532
GM
73062000-10-25 Gerd Moellmann <gerd@gnu.org>
7307
7308 * window.c (pos_fully_visible_p): Removed.
7309 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7310 if position is visible and/or fully visible.
7311
7312 * lisp.h (pos_visible_p): Add prototype.
7313
7314 * xdisp.c (pos_visible_p): New function.
7315
68c3a137
KH
73162000-10-25 Kenichi Handa <handa@etl.go.jp>
7317
7318 * process.c (send_process): If OBJECT is t, it means that the data
7319 is from C string, but we should encode it. Before calling
7320 setup_raw_text_coding_system, be sure to flush out data by the
7321 previous coding system.
7322
7ae1c032
MB
73232000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7324
ff4dcd4b
MB
7325 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7326 assignment of startpos to prev when startpos == pos.
7327
7ae1c032
MB
7328 * editfns.c (find_field): Set the field stickiness correctly from
7329 overlay fields. Use renamed `text_property_stickiness'.
7330 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7331 Only check text properties, not overlays.
7ae1c032
MB
7332 * textprop.c (get_char_property_and_overlay): New function.
7333 (Fget_char_property): Use it.
7334 * intervals.h (get_char_property_and_overlay): Add declaration.
7335
49801145
SM
73362000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7337
7338 * keymap.c: Use AREF, ASET and ASIZE macros.
7339 (Fmake_sparse_keymap): Docstring fix.
7340 (synkey): Remove.
7341 (shadow_lookup): Move up.
7342 Handle the case where lookup-key returns an integer.
7343 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7344 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7345 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7346 Simplify/rewrite the keymap-finding code.
7347 Add check for command shadowing, using shadow_lookup.
7348
39e776cd
SM
73492000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7350
7351 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7352 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7353 a symbol.
7354
2488aba5
AI
73552000-10-24 Andrew Innes <andrewi@gnu.org>
7356
7357 * dired.c (directory_files_internal_unwind): New function.
7358 (directory_files_internal): Use it to ensure closedir is called
7359 even if expand-file-name or file-attributes throw, eg. because of
7360 a user interrupt. Also enable immediate_quit while calling
7361 re_search, so that matching can be interrupted as well.
7362
b94fdf61
AI
73632000-10-24 Andrew Innes <andrewi@gnu.org>
7364
7365 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7366 NT-Emacs only.
7367 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7368 so that re_search functions only quit when callers expect them to.
7369
73702000-10-24 Kenichi Handa <handa@etl.go.jp>
7371
7372 * regex.c (regex_compile): Change the way of handling a range from
7373 a char less than 256 to a char not less than 256.
7374
1946f901
GM
73752000-10-24 Gerd Moellmann <gerd@gnu.org>
7376
7ae2f10f
GM
7377 * window.c (size_window): Prevent setting window's width or
7378 height to a negative value (esp. with XSETFASTINT).
7379
5dcab13e
GM
7380 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7381 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7382 (protect_malloc_state) [GC_MALLOC_CHECK &&
7383 GC_PROTECT_MALLOC_STATE]: New function.
7384 (PROTECT_MALLOC_STATE): New macro.
7385 (__malloc_initialize, morecore, _malloc_internal)
7386 (_free_internal) _realloc_internal): Use it to make _heapinfo
7387 read-only outside of gmalloc.
7388
63e1b552
GM
7389 * keymap.c: Update copyright.
7390
1946f901
GM
7391 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7392 a symbol.
7393
4fa09beb
GM
73942000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7395
7396 * filelock.c (unlock_all_files): Use unlock_file to expand each
7397 buffer's file_truename before trying remove its lock file.
7398
23afac01
EZ
73992000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7400
7401 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7402 or CRLF, decode EOLs.
7403
04448b95
KH
74042000-10-24 Kenichi Handa <handa@etl.go.jp>
7405
7406 * window.c (Fdisplay_buffer): Fix doc.
7407
3090a5a5
JR
74082000-10-23 Jason Rumney <jasonr@gnu.org>
7409
7410 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7411 ASCII font of default fontset on Windows.
7412
7413 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7414 xterm.c comment below).
7415
7416 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7417
a83fee2c
GM
74182000-10-23 Gerd Moellmann <gerd@gnu.org>
7419
7420 * xterm.c (x_connection_closed): Reset handling_signal.
7421
52283633 7422 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7423
6ffdb539
MB
74242000-10-23 Miles Bader <miles@gnu.org>
7425
7426 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7427 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7428 maintain old behavior.
7429 * minibuf.c (Fminibuffer_complete): Likewise.
7430
7f1c969b
MB
74312000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7432
7433 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7434 that when a font can't be exactly centered, it errs up rather than
7435 down.
7436
23afac01 74372000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7438
52283633 7439 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7440
1a578e9b
AC
74412000-10-23 Andrew Choi <akochoi@i-cable.com>
7442
7443 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7444
7445 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7446 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7447
7448 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7449 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7450 syms_of_search, x_term_init, and init_keyboard before calling
7451 init_window_once. Also, call syms_of_xmenu.
7452
7453 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7454 default fontset to Monaco.
7455
7456 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7457 NewMacWindow and DisposeMacWindow.
7458 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7459 instead of calling NewMacWindow and setting fields of
7460 f->output_data.mac directly. Call init_frame_faces.
7461 (Fdelete_frame) [macintosh]: Remove unused code.
7462 (Fmodify_frame_parameters) [macintosh]: Call
7463 x_set_frame_parameters instead of mac_set_frame_parameters.
7464
7465 * frame.h [macintosh]: Define menu_bar_lines field in struct
7466 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7467
7468 * keyboard.c [macintosh]: Include macterm.h.
7469 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7470 and menu_bar_activate_event type events as for X and NT.
7471 (make_lispy_event) [macintosh]: Construct lisp events of type
7472 MENU_BAR_EVENT as for X and NT.
7473
7474 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7475 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7476 (sys_subshell) [macintosh]: Remove definition entirely.
7477 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7478 Vwindow_system_version here. Remove initialization of
7479 Vx_bitmap_file_path.
7480 (read_input_waiting): Correct the number of parameters passed to
7481 read_socket_hook.
7482 Move all Macintosh functions to mac/mac.c.
7483
7484 * term.c [macintosh]: Include macterm.h.
7485
7486 * window.c [macintosh]: Include macterm.h.
7487
7488 * xdisp.c [macintosh]: Include macterm.h. Declare
7489 set_frame_menubar and pending_menu_activation.
7490 (echo_area_display) [macintosh]: Do not return if terminal frame
7491 is the selected frame.
7492 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7493 Allow only the selected frame to set menu bar.
7494 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7495 calling FRAME_EXTERNAL_MENU_BAR (f).
7496 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7497
7498 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7499 and check_x. Declare XCreateGC. Define x_create_gc and
7500 x_free_gc. Initialize font_sort_order.
7501 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7502 but call x_list_fonts instead of w32_list_fonts.
7503 (Finternal_face_x_get_resource) [macintosh]: Do not call
7504 display_x_get_resource.
7505 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7506 (realize_x_face) [macintosh]: Load the font if it is specified in
7507 ATTRS.
52283633 7508 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7509
1ffbabe3
SM
75102000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7511
7512 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7513 is nil: since we go to the end of submap anyway, we'd end up
7514 setting nil to nil.
7515 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7516 doesn't obey autoload.
7517
bed43f1d
EZ
75182000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7519
1ffbabe3 7520 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7521
ea4233a7
JR
75222000-10-21 Jason Rumney <jasonr@gnu.org>
7523
7524 * w32term.c (w32_cache_char_metrics): Double check that font is
7525 really fixed pitch before trusting tmPitchAndFamily.
7526
f3d3c491
AI
75272000-10-21 Andrew Innes <andrewi@gnu.org>
7528
7529 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7530
7531 * w32term.h: Extern decl for w32_cache_char_metrics.
7532
7533 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7534
7535 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7536 (w32_unload_font): Free per_char array if present.
7537
7538 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7539 cached information in emulated XFontStruct to handle common cases
7540 quickly. Do not allocate XCharStruct for return.
7541 (w32_native_per_char_metric): New function.
7542 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7543 allocating one.
7544 (x_produce_glyphs): Don't get an HDC. Change calls to
7545 w32_per_char_metric to match arg change above. Remove calls to
7546 free results.
7547 (w32_get_glyph_overhangs): Ditto.
7548 (w32_cache_char_metrics): New function.
7549
7550 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7551 ($(BLD)/casefiddle.$(O)): Remove compile command.
7552 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7553 ($(BLD)/dispnew.obj):
7554 ($(BLD)/keyboard.obj):
7555 ($(BLD)/w32inevt.obj):
7556 ($(BLD)/w32bdf.obj):
7557 ($(BLD)/alloc.obj):
7558 ($(BLD)/buffer.obj):
7559 ($(BLD)/editfns.obj):
7560 ($(BLD)/emacs.obj):
7561 ($(BLD)/fileio.obj):
7562 ($(BLD)/fns.obj):
7563 ($(BLD)/indent.obj):
7564 ($(BLD)/insdel.obj):
7565 ($(BLD)/intervals.obj):
7566 ($(BLD)/minibuf.obj):
7567 ($(BLD)/print.obj):
7568 ($(BLD)/scroll.obj):
7569 ($(BLD)/sysdep.obj):
7570 ($(BLD)/textprop.obj):
7571 ($(BLD)/widget.obj):
f3d3c491
AI
7572 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7573 ($(BLD)/term.obj): Add dependency on dispextern.h.
7574
52283633
SM
7575 * makefile.nt ($(BLD)\dispnew.obj):
7576 ($(BLD)\keyboard.obj):
7577 ($(BLD)\w32inevt.obj):
7578 ($(BLD)\w32bdf.obj):
7579 ($(BLD)\alloc.obj):
7580 ($(BLD)\buffer.obj):
7581 ($(BLD)\editfns.obj):
7582 ($(BLD)\emacs.obj):
7583 ($(BLD)\fileio.obj):
7584 ($(BLD)\fns.obj):
7585 ($(BLD)\indent.obj):
7586 ($(BLD)\insdel.obj):
7587 ($(BLD)\intervals.obj):
7588 ($(BLD)\minibuf.obj):
7589 ($(BLD)\print.obj):
7590 ($(BLD)\scroll.obj):
7591 ($(BLD)\sysdep.obj):
7592 ($(BLD)\textprop.obj):
7593 ($(BLD)\widget.obj):
f3d3c491
AI
7594 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7595 ($(BLD)\term.obj): Add dependency on dispextern.h
7596
18ad4821
EZ
75972000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7598
7599 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7600 with an additional argument of Qt.
7601
de54681a
MB
76022000-10-21 Miles Bader <miles@gnu.org>
7603
7604 * window.c (pos_fully_visible_in_window_p): New function.
7605 (Fpos_visible_in_window_p): Add FULLY argument.
7606 Use pos_fully_visible_in_window_p.
7607 (window_scroll_pixel_based, window_scroll_line_based): Update
7608 calls to Fpos_visible_in_window_p.
7609 * lisp.h (Fpos_visible_in_window_p): Update prototype
7610
13c844fb
GM
76112000-10-20 Gerd Moellmann <gerd@gnu.org>
7612
7613 * alloc.c (toplevel): Conditionalize compilation of mem_*
7614 functions differently.
52283633 7615
d9506268
JR
76162000-10-20 Jason Rumney <jasonr@gnu.org>
7617
7618 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7619 mem_init where it used to be. mem_z etc not defined otherwise.
7620
8094989b
GM
76212000-10-20 Gerd Moellmann <gerd@gnu.org>
7622
7623 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7624 GC_MALLOC_CHECK.
7625 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7626 structure definition and related variabled to the top of the file.
7627 Include this code when GC_MALLOC_CHECK is defined.
7628 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7629 register/unregister allocated region.
7630 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7631 which isn't allocated.
7632 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7633 something which is already in use.
7634 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7635 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7636 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7637 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7638
7639 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7640 _malloc_internal instead of malloc.
7641 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7642 of free.
7643
ea456eb4
AI
76442000-10-20 Andrew Innes <andrewi@gnu.org>
7645
7646 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7647 Windows.
7648 (my_strftime) <macro>: Don't use macro arg list when redefining as
7649 _strftime_copytm.
7650 (my_strftime) <function>: Supply 0 as ut argument.
7651
e64c3a75
JR
76522000-10-19 Jason Rumney <jasonr@altavista.net>
7653
7654 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7655 including dispextern.h, as it stops faces from working.
7656
7657 * w32fns.c (Fx_create_frame): Don't bother calling
7658 face-set-after-frame-default since the caller does it for us
7659 anyway. Clean up calls to x_get_arg to be consistent with X.
7660
7661 * w32term.c (x_produce_glyphs): Handle
7662 unibyte_display_via_language_environment correctly.
7663 (w32_draw_box_rect): Fix the calculation of width and height.
7664
7665 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7666 as it has stopped working.
7667 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7668 menu-bar.
7669
17401c97
GM
76702000-10-19 Gerd Moellmann <gerd@gnu.org>
7671
7672 * eval.c (skip_debugger): Prevent a compiler warning.
7673 (Fcondition_case): Likewise.
7674 (Fbacktrace_frame): Use a null interactive spec.
7675
773272d8
KH
76762000-10-19 Kenichi Handa <handa@etl.go.jp>
7677
7678 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7679
a42943e9
GM
76802000-10-18 Gerd Moellmann <gerd@gnu.org>
7681
e50517d9
GM
7682 * strftime.c: Sync with glibc, file version 1.78.
7683 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7684 should no longer be used according to ISO 8601.
7685
9035a35a
GM
7686 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7687 no map for meta_prefix_char, don't try to use it as a keymap.
7688 Instead, if T_OK is non-zero, look up a default binding, if any,
7689 otherwise, if T_OK is zero, return nil.
7690
a42943e9
GM
7691 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7692 (x_to_xcolors, png_load): Use x_query_color.
7693
52283633
SM
7694 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7695 New functions.
a42943e9
GM
7696 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7697 which can be slow.
7698 (x_copy_color, x_alloc_lighter_color): Likewise.
7699
7700 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7701 (x_query_color, x_query_colors): Add prototype.
7702
7703 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7704 check_string_bytes only if not noninteractive, increase count to 50.
7705
00de2987
MB
77062000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7707
7708 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7709 markers correctly.
7710
54918e2b
GM
77112000-10-17 Gerd Moellmann <gerd@gnu.org>
7712
1f0b3fd2
GM
7713 * alloc.c (pure_bytes_used): Renamed from pureptr.
7714 (ALIGN): New macro.
7715 (pure_alloc): New function.
7716 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7717 Use it.
7718 (Fpurecopy): Use PURE_POINTER_P.
7719
68c5d1db
GM
7720 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7721 PT has moved backward.
52283633 7722
9a038881
GM
7723 * xdisp.c (cursor_row_p): Take continued lines into account.
7724
361b097f
GM
7725 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7726 string's size_byte.
7727 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7728 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7729 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7730 string allocated.
7731
54918e2b
GM
7732 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7733 of selective display off while searching for the next line start.
7734
03ed0806
KH
77352000-10-17 Kenichi Handa <handa@etl.go.jp>
7736
7737 * Makefile.in (term.o): Depend on dispextern.h.
7738
7e05cdaf
SM
77392000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7740
7741 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7742
a6801fd1
GM
77432000-10-16 Gerd Moellmann <gerd@gnu.org>
7744
483de32b
GM
7745 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7746 the iterator at the beginning, so that they can be set later on,
7747 for instance in reseat_at_next_visible_line_start, without being
7748 overwritten.
7749
a6801fd1
GM
7750 * xfns.c (pbm_format): Add :foreground and :background keywords.
7751 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7752 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7753
dbf1fcc1
EZ
77542000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7755
7756 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7757
52283633 7758 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7759
7760 * msdos.c (IT_set_face): Compare highlighted face with the default
7761 face, and invert colors if these faces' colors are identical.
7762 (Fmsdos_remember_default_colors): Don't swap foreground and
7763 background colors in initial_colors[].
7764 (IT_set_frame_parameters): Don't swap frame's foreground and
7765 background pixels. If ALIST includes "(reverse . t)", swap
7766 foreground-color and background-color properties in frame's
7767 param_alist. If the original frame's param_alist doesn't specify
7768 the colors, store unspecified-fg and unspecified-bg, reversed if
7769 required.
7770
7771 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7772 the colors are unspecified and reversed, reverse fore- and back-
7773 ground in the returned value.
7774 (Fframe_parameter): Ditto.
7775
b41fe2c3 77762000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7777
3a6b59d9
GM
7778 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7779 get_last_unchanged_at_beg_row.
7780 (find_first_unchanged_at_end_row): Renamed from
7781 get_first_unchanged_at_end_row.
7782 (find_first_unchanged_at_end_row): Convert assertions to
7783 unconditional tests which abort. When looking for a row in
7784 unchanged text, don't go further back than first_text_row.
7785
b41fe2c3
GM
7786 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7787 Don't add in the last line's height when deciding if the new
7788 position is below the scroll margin.
9d1af64f 7789
b41fe2c3 77902000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7791
7792 * editfns.c (Fconstrain_to_field): Check carefully for field
7793 boundaries if either OLD_POS or NEW_POS has a non-nil field
7794 property, even if they're the same.
7795
c412cb7b
KH
77962000-10-16 Kenichi Handa <handa@etl.go.jp>
7797
7798 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7799 height for XFillRectangle.
7800
5586f3eb
SM
78012000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7802
7803 * syntax.c (Fstring_to_syntax): New function extracted from
7804 Fmodify_syntax_entry.
7805 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7806 (skip_chars, Fforward_comment): Remove unused variables.
7807 (syms_of_syntax): Add defsubr for string-to-syntax.
7808 (describe_syntax): Add code for comment and string fences.
7809
db785038
SM
78102000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7811
7812 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7813 Do the meta->esc mapping. Call get_keyelt before returning.
7814 Start scanning from the second element (the first is always `keymap')
7815 to make it easier to detect when we reach a parent map.
7816 Handle the case of inheriting from a symbol whose function is a map.
7817 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7818 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7819 (get_keyelt, Flookup_key): Update call to access_keymap.
7820 Remove the meta->esc mappings.
7821 (define_as_prefix): Delete old disabled code.
7822 (menu_item_p): New function.
7823 (where_is_internal_1): Skip over the few remaining menu items.
7824 * lisp.h (access_keymap): Update prototype.
7825 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7826 Update call to access_keymap.
7827 (follow_key, read_key_sequence): Update calls to access_keymap.
7828 Remove the meta->esc mappings.
7829
cafafe0b
GM
78302000-10-13 Gerd Moellmann <gerd@gnu.org>
7831
a2e2a7f6
GM
7832 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7833 with additional argument.
7834
cafafe0b
GM
7835 * xdisp.c (cursor_row_p): New function.
7836 (try_cursor_movement, display_line): Use it.
52283633 7837
cafafe0b
GM
7838 * xdisp.c (append_space): Also save/restore iterator's current
7839 character and its length.
7840
7841 * xdisp.c (init_from_display_pos): Add an assertion.
7842 (handle_stop): Don't set iterator's add_overlay_start.
7843 (handle_invisible_prop): Likewise.
7844 (load_overlay_strings): If text under an overlay is invisible,
7845 take both before- and after-strings into account when the iterator
7846 is positioned either at the start or at the end of the overlay.
7847 (forward_to_next_line_start): Rewritten.
7848 (reseat_at_next_visible_line_start): Rewritten.
7849 (set_iterator_to_next): Add parameter RESEAT_P.
7850
7851 * dispextern.h (struct it): Remove member add_overlay_start.
7852 (set_iterator_to_next): Change prototype.
7853
c744452b
KH
78542000-10-13 Kenichi Handa <handa@etl.go.jp>
7855
7856 * coding.c (code_convert_region): Be sure to initialize
7857 coding->category_idx.
e4a3f4e1
KH
7858 (decode_coding_string): Set coding->src_multibyte and
7859 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7860 (encode_coding_string): Set coding->src_multibyte and
7861 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7862
321fd26f
SM
78632000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7864
7865 * xfns.c (Fx_create_frame): Don't bother calling
7866 face-set-after-frame-default since the caller does it for us anyway.
7867
76832439
EZ
78682000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7869
7870 * window.c (coordinates_in_window): Fix detection of vertical line
7871 on character terminals.
7872
2483cf58
GM
78732000-10-12 Gerd Moellmann <gerd@gnu.org>
7874
7875 * editfns.c (save_excursion_save): Additionally record the
7876 selected window.
7877 (save_excursion_restore): If buffer was visible in a window, and a
7878 different window was selected, and the old selected window is
7879 still live, restore point in that window.
7880
eb991b25
KH
78812000-10-12 Kenichi Handa <handa@etl.go.jp>
7882
8a0eba09
KH
7883 * xterm.c (x_produce_glyphs): Handle
7884 unibyte_display_via_language_environment correctly.
7885
20401fcc
KH
7886 * regex.c (regex_compile): Change the way of handling a range from
7887 unibyte char to multibyte char.
7888
7889 * syntax.c (skip_chars): Change the way of handling a range from
7890 unibyte char to multibyte char.
7891
eb991b25
KH
7892 * process.c (read_process_output): Cancel previous change.
7893
365dd325
EZ
78942000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7895
c1b096cb
EZ
7896 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7897
365dd325
EZ
7898 * charset.c (Ffind_charset_string): Doc fix.
7899 (Ffind_charset_region): Doc fix.
7900
eb483c2b
KH
79012000-10-11 Kenichi Handa <handa@mule.m17n.org>
7902
7903 * process.c (read_process_output): Fix previous change. Adjust
7904 multibyteness of text to insert in a buffer by
52283633 7905 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7906
b40bfb99
AS
79072000-10-10 Andreas Schwab <schwab@suse.de>
7908
7909 * alloc.c (mark_object): Remove all workarounds installed on
7910 1993-08-08.
7911
caff31d4
KH
79122000-10-10 Kenichi Handa <handa@etl.go.jp>
7913
52283633 7914 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7915 (base64_encode_1): Make it work for a text of multibyte form.
7916 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7917 case. Don't call str_to_multibyte because base64_decode_1
7918 produces correct multibyte form for eight-bit codes.
52283633 7919 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7920 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7921 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7922 codes.
7923
7924 * charset.h (CHAR_STRING): Optimized for single byte characters.
7925
cba026ef
AS
79262000-10-09 Andreas Schwab <schwab@suse.de>
7927
7928 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7929 -1 after socket is closed, to fall through to error processing.
7930
1e21fe48
EZ
79312000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7932
7933 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7934 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7935 background-color, change also the colors of the default face for
7936 this frame.
7937
a640322e
EZ
79382000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7939
7940 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7941 them extern (they are defined on xfaces.c).
7942 (syms_of_msdos): Don't intern and don't staticpro
7943 Qbackground_color and Qforeground_color.
7944
a115794c
EZ
79452000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7946
7947 * frame.c (Fframe_parameter): For non-windowed frames, if
7948 f->param_alist says foreground or background color is unspecified,
7949 call tty_color_name to return the color name computed from the
7950 frame's current colors.
7951
f5533b63
DL
79522000-10-06 Dave Love <fx@gnu.org>
7953
7954 * terminfo.c (ospeed): Don't declare.
7955
7956 * sysdep.c: Don't include string.h.
7957 (h_errno): Declare conditional also on TRY_AGAIN.
7958
7959 * charset.c (Ffind_charset_string): Doc fix.
7960
52283633 7961 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7962 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7963 error messages.
7964
2b06561a
DL
79652000-10-05 Dave Love <fx@gnu.org>
7966
7967 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7968 position like menu-bar.
7969
ca839c85
GM
79702000-10-05 Gerd Moellmann <gerd@gnu.org>
7971
7972 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7973
7974 * xdisp.c (handle_single_display_prop): Use safe_call1.
7975 (safe_call): Renamed from call_function.
7976 (safe_call1): New function.
7977 (handle_fontified_prop): Use safe_call1 instead of call1.
7978 (safe_eval): Renamed from eval_form.
7979 (safe_eval_handler): Renamed from eval_handler.
7980 (handle_single_display_prop, display_mode_element): Use safe_eval
7981 instead of eval_form.
7982
7983 * xfaces.c (merge_face_heights): Use safe_call instead of
7984 call_function.
7985
7986 * keyboard.c (show_help_echo): Use safe_call instead of
7987 call_function; use safe_eval instead of eval_form.
7988
7989 * lisp.h (safe_call): Renamed from call_function.
7990 (safe_eval): Renamed from eval_form.
7991 (safe_call1): Add prototype.
7992
a3489ece
MB
79932000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7994
7995 * xfns.c (image_ascent): Rearrange ascent calculation for the
7996 has-a-font case.
7997
35810b6f
SM
79982000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7999
8000 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8001 (where_is_internal_1): Don't bother ignoring menu-items any more.
8002
3dc78168
GM
80032000-10-04 Gerd Moellmann <gerd@gnu.org>
8004
8005 * keyboard.c (update_menu_bindings): New variable.
8006 (parse_menu_item): Use AREF. If update_menu_bindings
8007 is 0, don't update menu bindings.
8008 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8009
1efc2bb9
EZ
80102000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8011
8012 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8013 to `mark_object'.
8014
3f679f55
SM
80152000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8016
8017 * syntax.c (forw_comment): Match nestedness of ender/starter.
8018 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8019 (prev_char_comstart_first): Remove.
8020 (back_comment): Check two-char comment markers more carefully
8021 to better handle overlapping cases like *//* or /* */* */ ...
8022 Match nestedness of ender/starter.
8023
2021ab61
DL
80242000-10-02 Dave Love <fx@gnu.org>
8025
8026 * config.in (HAVE_GAI_STRERROR): Add undef.
8027
8028 * process.c (Fopen_network_stream): Use it.
8029
8030 * m/alpha.h (NO_REMAP): Don't define.
8031
64e6cc18
GM
80322000-10-02 Gerd Moellmann <gerd@gnu.org>
8033
8034 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8035 return with a string converted to an integer or vice versa when
8036 Vmocklisp_arguments is t.
8037 (Fsignal): Likewise. The function can return for `quit'.
8038 (struct gcpro): Declare member `var' to point to a volatile
8039 Lisp_Object.
8040
8041 * eval.c (error): Prevent compiler warning.
8042
b1904cd9
SM
80432000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8044
8045 * keymap.c (keymap_memberp): New function.
8046 (Fset_keymap_parent): Use it.
8047 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8048 Use keymap_memberp to avoid creating cycles.
8049 (access_keymap): Use KEYMAPP.
8050
71c9ec51
GM
80512000-09-30 Gerd Moellmann <gerd@gnu.org>
8052
8053 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8054 gai_strerror. Make sure xerrno is set if connect fails. Improve
8055 error recovery.
71c9ec51 8056
c70c6b58
JR
80572000-09-29 Jason Rumney <jasonr@gnu.org>
8058
8059 * w32term.c (w32_char_font_type, w32_encode_char)
8060 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8061 (w32_bdf_per_char_metric): New function.
8062 (w32_per_char_metric): Use it.
8063 (x_draw_glyph_string_background): Always draw background for BDF
8064 glyphs.
8065
8066 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8067 GDI object which is a scarce resource.
8068
8069 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8070 (get_quoted_string): Fix limit on memchr search.
8071 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8072 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8073 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8074 (get_cached_font_char, cache_char_offset): Use macro
8075 BDF_CODEPOINT_RANGE_COVER_P.
8076 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8077 (clear_cached_bitmap_slots): New function.
8078 (GET_HEX_VALUE): G-Z, g-z are not hex.
8079 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8080 (get_bitmap_with_cache): Use new cache implementation.
8081 (create_offscreen_bitmap): New function.
8082 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8083
8084 * w32term.c (x_produce_glyphs): If the distance from the current
8085 position to the next tab stop is less than a canonical character
8086 width, use the tab stop after that.
8087 (x_draw_glyphs): Handle case START and END are out of bounds more
8088 carefully.
8089 (x_clear_mouse_face): Block/unblock input.
8090 (x_display_and_set_cursor): Don't show a hollow box cursor for
8091 buffers whose cursor_type is nil.
8092
fe01239f
GM
80932000-09-29 Gerd Moellmann <gerd@gnu.org>
8094
52283633 8095 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8096
8097 * dispextern.h (updating_frame): Declare extern.
8098
e7c52f1f
AS
80992000-09-29 Andreas Schwab <schwab@suse.de>
8100
8101 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8102
de6e1f7c
GM
81032000-09-29 Gerd Moellmann <gerd@gnu.org>
8104
25126faa
GM
8105 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8106 use its function definition.
8107 (tool_bar_items): Likewise.
8108
de6e1f7c 8109 * lisp.h (fatal): Declare NO_RETURN.
52283633 8110
454ee39b
KH
81112000-09-29 Kenichi Handa <handa@etl.go.jp>
8112
8113 * keymap.c: Remove the line "#undef NULL".
8114
96301c5f
GM
81152000-09-28 Gerd Moellmann <gerd@gnu.org>
8116
52283633 8117 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8118
efffeeb4
DL
81192000-09-28 Dave Love <fx@gnu.org>
8120
ecb8b666
DL
8121 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8122
dc3cd20f
DL
8123 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8124
8125 * .gdbinit (xreload): Note its need on GNU/Linux.
8126
efffeeb4
DL
8127 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8128 r_alloc, r_alloc_free.
8129
8610d903
KH
81302000-09-28 Kenichi Handa <handa@etl.go.jp>
8131
8132 * syntax.c (skip_chars): Handle negation correctly.
8133
8901d1ac
GM
81342000-09-27 Gerd Moellmann <gerd@gnu.org>
8135
6f22f1ad
GM
8136 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8137 with non-zero FORCE_P argument.
8138
52283633 8139 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8140 Add assertions.
8141
8142 * xdisp.c (window_box_height): Add an assertion.
8143
8144 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8145 tool-bar than is available.
8146 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8147
36f1966f
DL
81482000-09-27 Dave Love <fx@gnu.org>
8149
efffeeb4 8150 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8151
31d929e5
GM
81522000-09-26 Gerd Moellmann <gerd@gnu.org>
8153
c98863bf
GM
8154 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8155 instead of BITS_PER_INT.
8156 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8157 EMACS_UINT, respectively.
8158 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8159
8160 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8161
8162 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8163
77072ab1
GM
8164 * window.c (freeze_window_starts): Construct last argument for
8165 foreach_window differently.
8166
8167 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8168
8169 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8170 EMACS_UINT instead of `int' and `unsigned int'.
8171 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8172
8173 * frame.h (struct frame): Make the `nothing' member of union
8174 output_data an EMACS_INT.
8175
52283633 8176 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8177 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8178 size in the sdata structure.
8179 (SDATA_NBYTES, SDATA_DATA): New macros.
8180 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8181 differently for the different layout of the sdata structure.
8182 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8183 in sdata.
8184 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8185 Check that size recorded in the string size and size recorded in
8186 the sdata structure agree.
8187
3e60b029
DL
81882000-09-25 Dave Love <fx@gnu.org>
8189
8190 * buffer.c: Include stdio.h.
8191
8192 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8193
3e60b029
DL
8194 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8195
8196 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8197 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8198 (__malloc_extra_blocks): Declare as __malloc_size_t.
8199
8ff16b4e
GM
82002000-09-25 Gerd Moellmann <gerd@gnu.org>
8201
755a2ccd
GM
8202 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8203
d8b4516f
GM
8204 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8205 (read_char): If help-echo is showing, preserve the echo area
8206 when redisplaying.
8207
8208 * xdisp.c (help_echo_showing_p): New variable.
8209 (set_message): Reset it to 0.
8210 (init_xdisp): Initialize help_echo_showing_p.
8211
8212 * dispextern.h (help_echo_showing_p): Declare extern.
8213
8214 * config.in: Fix typo in __GNUC_MINOR__.
8215
8216 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8217
b11af2dd
GM
8218 * s/freebsd.h (POSIX_SIGNALS): Define.
8219
8ff16b4e
GM
8220 * xterm.c (x_clear_mouse_face): Block/unblock input.
8221
844eb643
DL
82222000-09-24 Dave Love <fx@gnu.org>
8223
8224 * fns.c (base64_encode_1): Fix last change.
8225
b30ab1b3
GM
82262000-09-22 Gerd Moellmann <gerd@gnu.org>
8227
8228 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8229
8230 * xdisp.c (try_window_reusing_current_matrix): More fixes
8231 for the case window has a header-line.
8232
c6cbe5f0
DL
82332000-09-22 Dave Love <fx@gnu.org>
8234
4c7c1f3f
DL
8235 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8236 a doc string.
8237
8238 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8239
c6cbe5f0
DL
8240 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8241
550a625e
GM
82422000-09-21 Gerd Moellmann <gerd@gnu.org>
8243
4c7c1f3f 8244 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8245 for GCC >= 2.5.
8246
52283633
SM
8247 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8248 Declare NO_RETURN.
fca99116 8249
80d26f99
GM
8250 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8251 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8252 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8253 warnings.
52283633 8254
80d26f99
GM
8255 * marker.c (byte_char_debug_check): Return void.
8256
623a0aae
GM
8257 * xfns.c (Fx_create_frame): Set default frame parameter value
8258 for tool-bar-lines to 1.
8259
8260 * dispnew.c (scrolling_window): Compare y-positions of rows
8261 equal at the start. Some simplification.
8262
8263 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8264 reused rows' y-position in the case window has a header-line, and
8265 new window start is greater than old window start.
8266
42ac0ae5
GM
8267 * process.c (process_sent_to): New variable.
8268 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8269 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8270 Declare more parameters volatile.
8271
550a625e
GM
8272 * lread.c (Vrecursive_load_depth_limit): New variable.
8273 (Fload): Check recursive loads whose recursion depth exceeds
8274 Vrecursive_load_depth_limit.
8275 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8276
8320414c
GM
82772000-09-20 Gerd Moellmann <gerd@gnu.org>
8278
f46c275e
GM
8279 * fileio.c (Fread_file_name): Doc fix.
8280
8281 * editfns.c (Fmessage_or_box): Doc fix.
8282
8283 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8284
b7e11c5b 8285 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8286
8320414c
GM
8287 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8288 symbols are specified, add color translations to the cache.
52283633 8289 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8290 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8291 xpm_cache_color.
8292 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8293 structures to xpm_init_color_cache.
8294
da1608d9
GM
82952000-09-19 Gerd Moellmann <gerd@gnu.org>
8296
52283633 8297 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8298
6badfa25
AI
82992000-09-19 Andrew Innes <andrewi@gnu.org>
8300
8301 * makefile.nt (bootstrap-emacs): Don't change directory.
8302
3a5f42bb
KH
83032000-09-19 Kenichi Handa <handa@etl.go.jp>
8304
1b7649bd
KH
8305 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8306
3a5f42bb
KH
8307 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8308 If output buffer is too small, signal an appropriated error.
8309
9f83cf0b
DL
83102000-09-18 Dave Love <fx@gnu.org>
8311
52283633 8312 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8313 (current_active_maps): Remove redundant get_local_map call.
8314
28c7826c
GM
83152000-09-18 Gerd Moellmann <gerd@gnu.org>
8316
5cefa566
GM
8317 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8318 cursor for buffers whose cursor_type is nil.
52283633 8319
6fed3546
GM
8320 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8321 a feature to implement that is already implemented.
8322 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8323 warnings.
8324
8325 * xfns.c (x_clear_image_1): New function.
8326 (x_clear_image): Use it.
52283633 8327 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8328
05b1f851
GM
8329 * dispnew.c (update_window): Move test for invisible lines
8330 at the top to update_window_line.
8331 (update_window_line): Handle invisible lines here.
8332
f4779de9
GM
8333 * xfns.c (clear_image_cache): Clear current matrices of all
8334 frames sharing an image cache. Block input while freeing
8335 images. Fix timestamp comparison.
8336 (x_clear_image): Also free the mask.
8337
28c7826c
GM
8338 * xfns.c (lookup_image): Block input while loading the image so
8339 that we won't get interrupted in a state where the image isn't yet
8340 set up completely.
8341 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8342 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8343 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8344 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8345
b7412313
GM
83462000-09-16 Gerd Moellmann <gerd@gnu.org>
8347
8348 * dispnew.c (update_window): Make sure to make desired rows
8349 current even if they are completely invisible at the top
8350 of a window.
8351
47e351a3
GM
83522000-09-15 Gerd Moellmann <gerd@gnu.org>
8353
7f8f1edc
GM
8354 * xfns.c (lookup_image): Build mask before applying an algorithm.
8355 Recognize algorithm `disabled'.
8356 (cross_disabled_images): New variable.
8357 (COLOR_INTENSITY): New macro.
8358 (x_detect_edges): Use COLOR_INTENSITY.
8359 (x_disable_image): New function.
8360 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8361
8362 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8363 disabled state, don't apply an image transformation algorithm if
8364 the user specified an image for the disabled state. Use
28c7826c 8365 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8366 user hasn't specified an image.
8367
ebb8f116
GM
8368 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8369 allocation functions with the XPM lib.
8370 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8371 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8372 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8373 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8374 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8375 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8376 functions, if possible, because these handle color allocation
8377 failure more gracefully.
8378 (Fimage_mask_p): New function.
8379
47e351a3
GM
8380 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8381 (Qedge_detection, Qheuristic): New symbols.
8382 (syms_of_xfns): Initialize new symbols.
8383 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8384 `algorithm (edge-detection ...)'.
8385 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8386 (tiff_format, gif_format, gs_format): Add `:mask'.
8387 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8388 (GIF_MASK, GS_MASK): New enumerators.
8389 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8390 (emboss_matrix, laplace_matrix): New variables.
8391 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8392 (x_edge_detection): New functions.
8393 (x_laplace): Rewritten in terms of x_detect_edges.
8394 (x_build_heuristic_mask): If image has a mask, free it.
8395
fe83b953
AI
83962000-09-14 Andrew Innes <andrewi@gnu.org>
8397
8398 * makefile.w32-in: Revert to Unix line endings.
8399
3021e816
AI
84002000-09-14 Andrew Innes <andrewi@gnu.org>
8401
8402 * makefile.w32-in: Standardize indentation somewhat.
8403 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8404 cater for differences between shells.
8405
8406 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8407
2a32b5ea
GM
84082000-09-14 Gerd Moellmann <gerd@gnu.org>
8409
8410 * xterm.c (x_produce_glyphs): If the distance from the current
8411 position to the next tab stop is less than a canonical character
8412 width, use the tab stop after that.
8413
b4331e96
DL
84142000-09-14 Dave Love <fx@gnu.org>
8415
8416 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8417
ef9e4345
GM
84182000-09-14 Gerd Moellmann <gerd@gnu.org>
8419
085536c2
GM
8420 * xdisp.c (handle_fontified_prop): While running fontification
8421 functions, bind `fontification-functions' and
8422 `after-change-functions' to nil.
8423
ef9e4345
GM
8424 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8425 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8426
8427 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8428
8429 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8430 USE_MMAP_FOR_BUFFERS.
8431
8432 * insdel.c (make_gap): Use enlarge_buffer_text.
8433
8434 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8435 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8436 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8437 from former r_alloc_* functions in ralloc.c.
52283633 8438 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8439 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8440 (mmap_init) [REL_ALLOC_MMAP]: New function.
8441 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8442 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8443 BUFFER_FREE.
8444
8445 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8446 (enlarge_buffer_text): Add prototype.
8447
8448 * ralloc.c: Remove everything having to do with the use of mmap.
8449
f8608968
GM
84502000-09-13 Gerd Moellmann <gerd@gnu.org>
8451
2a494b2d
GM
8452 * sound.c (Fplay_sound): Doc fix.
8453
8c907a56
GM
8454 * keyboard.c: Avoid some more compiler warnings.
8455 (parse_tool_bar_item): Ignore cached key bindings.
8456
f8608968
GM
8457 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8458 and allocation of Lisp data.
8459
6ab70e9a
GM
84602000-09-12 Gerd Moellmann <gerd@gnu.org>
8461
d12d0a9b
GM
8462 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8463 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8464 defaults first.
8465
6ab70e9a
GM
8466 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8467
63c36c3c
KH
84682000-09-12 Miyashita Hisashi <himi@meadowy.org>
8469
8470 * ccl.c: Comment fixed.
8471 (MAX_MAP_SET_LEVEL): Increased to 30.
8472 (PUSH_MAPPING_STACK): Enclose with do-while block.
8473 (POP_MAPPING_STACK): Likewise.
8474 (stack_idx_of_map_multiple): New variable.
8475 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8476 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8477 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8478 (ccl_driver) <CCL_MapSingle>: Likewise.
8479 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8480 with the case where looking up process reaches to the end of
8481 map-set, and call CCL programs as the above change.
8482
7ee3bd7b
GM
84832000-09-11 Gerd Moellmann <gerd@gnu.org>
8484
8ec8a5ec
GM
8485 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8486 that might be clobbered by longjmp.
8487 (check_x_display_info, x_decode_color, create_frame_xic)
8488 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8489 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8490
f74b0705
GM
8491 * lread.c (init_lread): Set Vloads_in_progress to nil.
8492 (Fload): Show list of recursively loaded files, when signaling an
8493 error.
8494
7ee3bd7b
GM
8495 * lread.c (Vloads_in_progress): New variable.
8496 (record_load_unwind): New function.
8497 (Fload): Check for recursive loads.
8498 (syms_of_lread): Initialize Vloads_in_progress.
8499 (read_integer, read1): Avoid some compiler warnings.
8500
8501 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8502 compiler warnings.
8503
974e1e5b
MB
85042000-09-11 Miles Bader <miles@gnu.org>
8505
8506 * editfns.c (Fbuffer_string): Doc fix.
8507
9824c4e3
GM
85082000-09-10 Gerd Moellmann <gerd@gnu.org>
8509
8510 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8511
6a72fdd1
KR
85122000-09-09 Ken Raeburn <raeburn@gnu.org>
8513
8514 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8515 whether to include other header files.
8516
28e6fb66
GM
85172000-09-09 Gerd Moellmann <gerd@gnu.org>
8518
52283633 8519 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8520 by Fmemq as a boolean.
28e6fb66 8521
7f8b6551
SM
85222000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8523
8524 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8525
a8710abf
GM
85262000-09-08 Gerd Moellmann <gerd@gnu.org>
8527
d1a02881
GM
8528 * ralloc.c (mmap_fd): Remove initializer which can make it
8529 read-only in a dumped Emacs.
8530 (mmap_fd_1): New variable.
8531 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8532 restore it from there.
8533 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8534 unconditionally so that mmap_fd can be initialized there.
8535 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8536 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8537 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8538
c454aac1
GM
8539 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8540
8541 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8542 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8543
fc653ef2
GM
8544 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8545
3015eec0
GM
8546 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8547 inheritance.
8548
bfe0ee88
GM
8549 * xdisp.c (try_window_id): When trying to locate cursor in
8550 unchanged rows at the top, handle the case that we can't find it.
8551
a8710abf
GM
8552 * xterm.c (x_draw_glyphs): Handle case START and END are out
8553 of bounds more carefully.
8554
6b7d4ae4
DL
85552000-09-08 Dave Love <fx@gnu.org>
8556
423193c5
DL
8557 * s/sol2.h (REL_ALLOC_MMAP): Define.
8558 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8559
8560 * ralloc.c: Don't include string.h (redundant).
8561 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8562 [!MAP_ANON]: Include fcntl.h.
8563 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8564 (r_alloc, r_re_alloc, r_alloc_free)
8565 (mmap_enlarge, mmap_set_vars): Use it.
8566 (r_alloc_init_fd): New function.
8567 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8568 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8569 malloc type.
8570
8571 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8572 Remove vm-limit.o.
8573
6b7d4ae4
DL
8574 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8575 change to __NetBSD__.
8576
44d31981
KH
85772000-09-08 Kenichi Handa <handa@etl.go.jp>
8578
8579 * search.c (compile_pattern): Check the multibyteness of cached
8580 string and PATTERN.
8581
aad40737
MB
85822000-09-08 Miles Bader <miles@gnu.org>
8583
8584 * xfaces.c (default_face_vector): Function removed.
8585 (Finternal_merge_in_global_face): Restore old global/local
8586 attribute override order. Use inline loop instead of calling
8587 default_face_vector.
8588
91a211b5
GM
85892000-09-07 Gerd Moellmann <gerd@gnu.org>
8590
8591 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8592 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8593 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8594 where necessary, in case POINTER_TYPE is `void'.
8595
03419440
EZ
85962000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8597
8598 * frame.c (make_terminal_frame): Initialize frame foreground and
8599 background colors to unspecified, for the initial instance of an
8600 MSDOS frame.
8601
f46f845b
GM
86022000-09-07 Gerd Moellmann <gerd@gnu.org>
8603
24f76fbf
GM
8604 * ralloc.c (mmap_find): Fix overlap computation.
8605 (mmap_enlarge): Compute nbytes before trying to find an
8606 overlapping region.
8607
f46f845b
GM
8608 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8609 instead of `!='.
8610
8611 * lread.c (syms_of_lread): Change value of regexp
8612 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8613
8614 * xmenu.c (xdialog_show): When looking up the selection in
8615 menu_items, take `quote' boundaries into account; this corresponds
8616 to a nil ITEM in x-popup-dialog.
8617
3c014385
KH
86182000-09-07 Kenichi Handa <handa@etl.go.jp>
8619
fd6f711b
KH
8620 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8621 not 0x81.
8622 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8623
3c014385 8624 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8625 encoding, not decoding. Fix the handling of latin-jisx0201.
8626 Check for the charset katakana-jisx0201 too.
3c014385 8627 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8628 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8629
0da3ecef
GM
86302000-09-07 Gerd Moellmann <gerd@gnu.org>
8631
ab0ee409
GM
8632 * xfaces.c (Vparam_value_alist): New variable.
8633 (syms_of_xfaces): Initialize it.
8634 (Finternal_set_lisp_face_attribute): Avoid more consing.
8635
8636 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8637 specially.
8638 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8639 (Qbackground_mode): New variable.
8640 (syms_of_frame_1): Initialize Qbackground_mode.
8641
8642 * lisp.h (Qdisplay): Declare extern.
1091dd67 8643
0da3ecef
GM
8644 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8645 change face on all frames, and change the default for new frames.
8646
b14654b9
DL
86472000-09-07 Dave Love <fx@gnu.org>
8648
8649 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8650
d24fd56f
KH
86512000-09-07 Kenichi Handa <handa@etl.go.jp>
8652
794f3670
KH
8653 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8654
0fddd0dc
KH
8655 * charset.c: Include composite.h
8656 (lisp_string_width): New function.
8657 (Fstring_width): Call lisp_string_width instead of strwidth.
8658
8659 * Makefile.in (charset.o): Depends on composite.h.
8660
d24fd56f
KH
8661 * process.c (read_process_output): Before inserting the decoded
8662 text in the buffer, adjust the multibyteness.
8663
fa0b693c
GM
86642000-09-06 Gerd Moellmann <gerd@gnu.org>
8665
52283633 8666 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8667 buffer's text buffer is null, map new memory.
8668
0a58f946
GM
8669 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8670 POINTER_TYPE and size_t.
8671 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8672 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8673 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8674 [REL_ALLOC_MMAP]: New macros.
8675 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8676 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8677 [REL_ALLOC_MMAP]: New functions.
8678
8679 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8680 before and after unexec.
8681
8682 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8683 text buffers if necessary.
8684
8685 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8686 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8687 in prototypes.
8688
fa0b693c
GM
8689 * config.in (HAVE_MMAP): Add #undef.
8690
877055f6
GM
86912000-09-05 Gerd Moellmann <gerd@gnu.org>
8692
08ba3862
GM
8693 * frame.c (Qdisplay_type): New variable.
8694 (syms_of_frame_1): Initialize it.
8695 (Fframe_parameter): New function that avoids consing.
8696 (syms_of_frame): Defsubr it.
8697
66ffe51c
GM
8698 * buffer.c (Fother_buffer): Consider buffers as invisible when
8699 they are displayed in a window on an invisible frame.
8700
877055f6
GM
8701 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8702 get-largest-window always return nil.
8703
bb970e67
GM
87042000-09-04 Gerd Moellmann <gerd@gnu.org>
8705
8706 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8707 variable; recognize Emacs 19 elc files.
8708
7a3d0e0e
MB
87092000-09-04 Miles Bader <miles@gnu.org>
8710
8711 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8712 before initially popping up the menu, so the menu doesn't flash
52283633 8713 when the face settings are significantly different from the defaults.
7a3d0e0e 8714
14473664
SM
87152000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8716
8717 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8718 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8719 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8720 (BIT_UNIBYTE): Remove.
8721 (re_match_2_internal): Delete corresponding code and streamline the
8722 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8723 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8724 (re_wctype_t): New type.
8725 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8726 (regex_compile): Use them and fix handling of overly long char classes.
8727
c1174479
AI
87282000-09-03 Andrew Innes <andrewi@gnu.org>
8729
f8803e97
AI
8730 * makefile.w32-in: Change to DOS line endings.
8731
c1174479
AI
8732 * s/ms-w32.h (ORDINARY_LINK): New define.
8733
8734 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8735 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8736
8737 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8738 (distclean): Delete them here instead.
8739
44ef7cf6
AI
8740 * w32proc.c (compare_env): Convert to uppercase for comparison,
8741 not lowercase, to match how the native Windows shell works.
8742
49b3bd82
JR
87432000-09-03 Jason Rumney <jasonr@gnu.org>
8744
8745 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8746 CVS changes the line-ends when checking in/out on DOS/Windows.
8747
8748 * makefile.nt (emacs): Do not change directory to run temacs, as
8749 the load-path is set relative to current directory.
8750
a3d35a39
MB
87512000-09-03 Miles Bader <miles@gnu.org>
8752
8753 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8754
d276b0cf
GM
87552000-09-02 Gerd Moellmann <gerd@gnu.org>
8756
715e84c9
GM
8757 * xdisp.c (redisplay_mode_lines): New function.
8758 (display_mode_lines): Return number of mode lines displayed.
8759 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8760 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8761
8892f40b
GM
8762 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8763 string.h and strings.h.
8764 (index) [HAVE_INDEX]: Add prototype.
8765
d276b0cf
GM
8766 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8767 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8768
8769 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8770 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8771
38404229
GM
87722000-09-01 Gerd Moellmann <gerd@gnu.org>
8773
8774 * lread.c (read1): Accept `?' as symbol constituent, for
8775 compatiblity with XEmacs.
8776
c0f9ea08
SM
87772000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8778
8779 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8780 (struct re_pattern_buffer): Remove newline_anchor.
8781 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8782 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8783 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8784 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8785 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8786 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8787 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8788 Get rid of references to newline_anchor.
8789 (regcomp): Allocate and precompute a fastmap.
8790
8c0f83fe
GM
87912000-08-31 Gerd Moellmann <gerd@gnu.org>
8792
8793 * lread.c (openp): GCPRO local variable `filename'.
8794
4bb91c68
SM
87952000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8796
8797 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8798
8799 * regex.c: Merge some changes from GNU libc. Add prototypes.
8800 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8801 Use memcmp and memcpy instead of bcopy and bcmp.
8802 (init_syntax_once): Use ISALNUM.
8803 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8804 (REG_UNSET_VALUE): Remove. Use NULL instead.
8805 (REG_UNSET, re_match_2_internal): Use NULL.
8806 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8807 New macros.
8808 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8809 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8810 (regex_compile): In handle_interval, return an error rather than try to
8811 unfetch the interval if we can't find the closing brace.
8812 Obey the RE_NO_GNU_OPS syntax bit.
8813 (TOLOWER): New macro.
8814 (regcomp): Use it.
8815 (regexec): Allocate regs.start and regs.end as one block.
8816
5226a931
GM
88172000-08-30 Gerd Moellmann <gerd@gnu.org>
8818
868dd24b
GM
8819 * xdisp.c (echo_area_display): Check display_completed instead
8820 of calling detect_input_pending.
8821
8822 * dispnew.c (update_frame): Only set display_completed here; move
8823 the update_begin and update_end calls here from update_frame_1.
8824 (update_frame_1): Don't set display_completed here, don't call
8825 update_begin/update_end.
8826
5226a931
GM
8827 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8828 instead of store_frame_param.
8829
2a8bd25f
GM
88302000-08-29 Gerd Moellmann <gerd@gnu.org>
8831
8832 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8833 desired window matrix hasn't been displayed, use the current row
8834 instead. Make sure that only those frame rows are updated for
8835 which there exists a corresponding enabled desired row.
52283633 8836
ba3478d9
MB
88372000-08-29 Miles Bader <miles@gnu.org>
8838
8839 * xfaces.c (default_face_vector): New function.
8840 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8841
87d0f685
GM
88422000-08-29 Gerd Moellmann <gerd@gnu.org>
8843
8844 * lread.c (openp): Prevent temporary string passed to
8845 Ffile_readable_p from being garbage collected.
8846
6fa86045
DL
88472000-08-28 Dave Love <fx@gnu.org>
8848
8849 * keymap.c (store_in_keymap): Add `static' to declaration.
8850
bb17930d
GM
88512000-08-28 Gerd Moellmann <gerd@gnu.org>
8852
8853 * emacs.c, callint.c, doc.c, editfns.c
8854 (toplevel) [HAVE_STRING_H]: Include string.h.
8855 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8856 (index): Remove prototypes which might conflict with non-standard
8857 definitions of index/strchr.
8858
8859 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8860 (rindex): Define only if !HAVE_RINDEX.
8861
8862 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8863
8864 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8865
87188200
MB
88662000-08-28 Miles Bader <miles@gnu.org>
8867
8868 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8869 made inconsistent by a font-related attribute in FROM.
8870 (merge_face_inheritance): Add function comment.
8871
41a68aef
KH
88722000-08-28 Kenichi Handa <handa@etl.go.jp>
8873
8874 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8875 the 4th arg (PREV_EVENT) Qt to suppress input method.
8876
f7c436c1
SM
88772000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8878
0b32bf0e
SM
8879 * regex.c: Indent cpp directives and remove parens after `defined'.
8880 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8881 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8882 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8883 (re_compile_pattern): Use size_t for length.
8884 (init_syntax_once): Move to a better place.
8885 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8886 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8887
f7c436c1
SM
8888 * syntax.c (back_comment): Detect cases where a comment-starter is
8889 actually inside another comment as in: /* a // b */ c // d \n.
8890 Make it clear that `comstart_pos' is unused for nested comments.
8891
8892 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8893 (KEYMAPP): New macro.
8894 (Fkeymap_parent, Fset_keymap_parent): Use it.
8895 (fix_submap_inheritance): Mark it static.
8896 (define_as_prefix, describe_buffer_bindings, describe_command)
8897 (describe_translation, describe_map): Complete prototypes.
8898
8899 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8900
8901 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8902 to better match the key-lookup behavior.
8903
6288c62f
GM
89042000-08-27 Gerd Moellmann <gerd@gnu.org>
8905
8906 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8907 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8908
e931344e
EZ
89092000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8910
8911 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8912 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8913 (xterm.o): Depend on coding.h
8914
d10dfeef
KH
89152000-08-26 Kenichi Handa <handa@etl.go.jp>
8916
8917 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8918 the corresponding '#endif'.
8919
2d73e8d3
MB
89202000-08-26 Miles Bader <miles@gnu.org>
8921
8922 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8923 * xfaces.c (QCinherit): New variable.
8924 (syms_of_xfaces): Initialize it.
8925 (LFACE_INHERIT): New macro.
8926 (Finternal_get_lisp_face_attribute)
52283633 8927 (merge_face_vector_with_property)
2d73e8d3
MB
8928 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8929 (check_lface_attrs): Allow new types of face height. Check
8930 inherit attribute.
8931 (CYCLE_CHECK): New macro.
8932 (merge_face_inheritance): New function.
8933 (merge_face_vectors): Merge inherited faces too. Add F and
8934 CYCLE_CHECK arguments.
8935 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8936 (lookup_named_face, lookup_derived_face, realize_named_face)
8937 (face_at_string_position, face_at_buffer_position): Supply
8938 new F and CYCLE_CHECK arguments to merge_face_vectors.
8939 (merge_face_heights): New function.
52283633 8940 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8941 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8942 handle relative face heights.
8943 (lface_same_font_attributes_p): Compare heights using EQ.
8944
6ce974d4
KH
89452000-08-26 Kenichi Handa <handa@etl.go.jp>
8946
8947 * charset.c (char_to_string): Check the character validity.
52283633 8948 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8949
dc1e502d
SM
89502000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8951
8952 * regex.c (PUSH_FAILURE_COUNT): New macro.
8953 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8954 Handle popping of a register's or a counter's data.
8955 (POP_FAILURE_POINT): Use the new name.
8956 (re_match_2_internal): Push counter data on the stack for succeed_n,
8957 jump_n and set_number_at and remove misleading dead code in succeed_n.
8958
bd9d0f3f
GM
89592000-08-25 Gerd Moellmann <gerd@gnu.org>
8960
8961 * xdisp.c (redisplay_internal): If considering all windows on all
8962 frames, update the display for each frame as soon as possible,
8963 instead of first building all desired matrices for all frames, and
8964 then updating them all.
8965 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8966
aa5b8e15
GM
89672000-08-24 Gerd Moellmann <gerd@gnu.org>
8968
17494071
GM
8969 * bytecode.c (mark_byte_stack): Add a comment.
8970
52283633
SM
8971 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8972 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8973 a graphical frame.
8974
c543db81
KH
89752000-08-24 Kenichi Handa <handa@etl.go.jp>
8976
d246d5f5
KH
8977 * minibuf.c (do_completion): Always use compare-string, not
8978 string-equal because the latter doesn't pay attention to
8979 multibyteness of strings.
8980
c543db81
KH
8981 * process.c (create_process): Don't setup raw-text coding here.
8982 (Fopen_network_stream): Don't set coding->src_multibyte and
8983 coding->dst_multibyte here.
8984 (read_process_output): For process filter, return unibyte string
8985 if default-enable-multibyte-characters is nil.
8986 (send_process): If OBJECT is multibyte text, be sure to encoded it
8987 by the specified coding system for the process. Otherwise, setup
8988 raw-text coding.
52283633 8989 (init_process): Don't initialize default-process-coding-system here.
c543db81 8990
9b47cfe0
EZ
89912000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8992
8993 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8994 <scroll-down-aggressively>: Likewise.
8995
f5a36960
KH
89962000-08-23 Kenichi Handa <handa@etl.go.jp>
8997
8998 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8999 zero. Set coding->produced_char correctly.
9000
69a7ffa7
AI
90012000-08-22 Andrew Innes <andrewi@gnu.org>
9002
9003 * makefile.w32-in: New file.
9004
9005 * unexw32.c (unexec): Ignore old_name, and use the actual location
9006 of the current executable instead. Base new_name on this.
9007
9008 * w32proc.c (create_child): Remove reference to security
9009 descriptor, which isn't needed and doesn't compile with mingw32.
9010
9011 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9012 up dllimport attributes.
9013 (x_update_window_end): Update prototype.
9014
9015 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9016 extern, which screws up dllimport attributes.
9017
9018 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9019 up dllimport attributes.
9020
9021 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9022 screws up dllimport attributes.
9023
9024 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9025 up dllimport attributes.
9026 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9027 screws up dllimport attributes.
9028
9029 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9030 up dllimport attributes.
9031
9032 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9033 screws up dllimport attributes.
9034
9035 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9036 screws up dllimport attributes.
9037
9038 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9039 up dllimport attributes.
9040
9041 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9042 unnecessary extern, which screws up dllimport attributes.
9043 (main): Ditto.
9044
9045 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9046 up dllimport attributes.
9047
9048 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9049 unnecessary extern, which screws up dllimport attributes.
9050
9051 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9052 screws up dllimport attributes.
9053
9054 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9055 up dllimport attributes.
9056
9057 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9058
52283633
SM
9059 * w32bdf.c (search_file_line):
9060 (set_bdf_font_info):
9061 (seek_char):
9062 (w32_get_bdf_glyph):
69a7ffa7
AI
9063 (w32_BDF_to_x_font): Fix compile warnings.
9064
52283633 9065 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9066
9067 * w32select.c: Include keyboard.h before frame.h.
9068
9069 * w32fns.c (max): Define macro.
9070 (JOHAB_CHARSET): Define if not known.
9071 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9072 (Fx_show_tip): Synch with X version.
9073
9074 * w32xfns.c: Include keyboard.h before frame.h.
9075
9076 * w32fns.c: Include keyboard.h before frame.h.
9077
9078 * w32term.c: Include keyboard.h before frame.h.
9079
9080 * fontset.c: Include keyboard.h before frame.h.
9081
9082 * w32inevt.c: Include keyboard.h before frame.h.
9083 (MOUSE_MOVED): Define if not known.
9084
9085 * minibuf.c: Include keyboard.h before frame.h.
9086
9087 * keyboard.c: Include keyboard.h before frame.h.
9088
9089 * indent.c: Include keyboard.h before frame.h.
9090
9091 * dispnew.c: Include keyboard.h before frame.h.
9092
9093 * buffer.c: Include keyboard.h before frame.h.
9094
9095 * alloc.c: Include keyboard.h before frame.h.
9096
9097 * print.c: Include keyboard.h before frame.h.
9098
9099 * process.c: Include keyboard.h before frame.h.
9100
9101 * scroll.c: Include keyboard.h before frame.h.
9102
9103 * sysdep.c: Include keyboard.h before frame.h.
9104
9105 * term.c: Include keyboard.h before frame.h.
9106
9107 * window.c: Include keyboard.h before frame.h.
9108
9109 * xdisp.c: Include keyboard.h before frame.h.
9110 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9111
9112 * frame.c: Include keyboard.h before frame.h.
9113
9114 * w32heap.h: Undefine min, max.
9115
9116 * w32gui.h: Undefine min, max.
9117
9118 * unexw32.c: Change PUCHAR to PCHAR.
9119 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9120 (relocate_offset):
9121 (get_section_info):
69a7ffa7
AI
9122 (copy_executable_and_dump_data): Remove unnecessary static defs.
9123 (copy_executable_and_dump_data): Fix compile warnings.
9124
9125 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9126
9127 * w32console.c (min): Define macro.
9128 (clear_frame, write_glyphs): Fix compile warning.
9129
52283633 9130 * w32proc.c (compare_env):
69a7ffa7
AI
9131 (find_child_console): Fix compile warning.
9132
9133 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9134 sys_errlist instead of _sys_errlist.
9135 (get_emacs_configuration_options): New function.
9136
9137 * s/ms-w32.h (sys_nerr): Provide default definition.
9138 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9139 name with _ prepended.
9140 (NSIG): Define if not known.
9141 (get_emacs_configuration): Provide extern declaration.
9142 (get_emacs_configuration_options): Provide extern declaration.
9143 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9144
9145 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9146 (map_w32_filename):
69a7ffa7
AI
9147 (read_unc_volume): Fix compile warning.
9148
9149 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9150 definitions from being used.
9151
9152 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9153
52283633 9154 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9155 (open_unc_volume): Make arg const.
9156
9157 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9158 (read_input_waiting): Remove excess parameter.
9159
9160 * w32.c (init_environment): Call _access.
9161 (check_windows_init_file): Call _close.
9162 (init_user_info): Call _putenv.
9163 (init_environment): Call _putenv and _strdup.
9164 (init_ntproc): Reset volume info cache on startup.
9165
9166 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9167 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9168 cannot override the CRT malloc.
9169
9170 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9171 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9172
9173 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9174 unless we are linking with a static CRT.
9175 (RVA_TO_PTR): Cast result to unsigned char*.
9176
9177 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9178 (add_volume_info): Use xstrdup.
9179
25060080
SM
91802000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9181
9182 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9183 (do_completion, Fminibuffer_complete_word): Use it.
9184 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9185 var so it can take non-boolean values.
9186
6917e6bb
GM
91872000-08-21 Gerd Moellmann <gerd@gnu.org>
9188
acb7cc89 9189 * editfns.c (find_field): Formatting changes.
52283633 9190 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9191 changed to prototypes, some new protypes added, some functions
9192 made static.
9193
9194 * lisp.h (set_time_zone_rule): Add prototype.
9195 (use_dialog_box): External declaration.
9196
0bbfdc25
GM
9197 * keyboard.c (gen_help_event): Add parameter SIZE.
9198 (kbd_buffer_events_waiting): Slightly rewritten.
9199 (clear_event): New function.
9200 (kbd_buffer_get_event): Use it, and clear the input_events of
9201 HELP_EVENTs.
9202 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9203 don't fill the newly created array with nils.
9204 (toplevel): Convert some old-style function forward declarations
9205 to prototypes.
9206
9207 * keyboard.h (gen_help_event): Change prototype.
9208
9209 * xterm.c (XTread_socket): Change calls to gen_help_event.
9210
9211 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9212
6917e6bb
GM
9213 * eval.c (Fmacroexpand): Doc fix.
9214
e5cd3d11
JR
92152000-08-20 Jason Rumney <jasonr@gnu.org>
9216
9217 * w32term.h (x_display_info_for_display): Remove as this function
9218 does not exist on W32.
9219
9220 * w32term.c (help_echo_window): New variable.
9221 (syms_of_w32term): staticpro it.
9222 (note_mode_line_highlight): Set it.
9223 (XTextExtents16): Removed as there is no equivalent on W32.
9224 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9225 the X way of doing this will not work for W32.
9226 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9227 (x_draw_image_foreground): Avoid drawing outside of the clip area
9228 when image doesn't have a mask.
9229 (note_mouse_highlight): Process overlays in the right order of
9230 priority. Set help_echo_window.
9231 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9232 because that's more visible for large images.
9233
9234 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9235 name to single_keymap_panes.
9236 (w32_menu_show): Set wv->title when dealing with titles.
9237 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9238
6e69ab8c
MB
92392000-08-21 Miles Bader <miles@gnu.org>
9240
9241 * minibuf.c (do_completion): Try again if we rewrite the input
9242 string, but no completion was done, so that any completion message
9243 will be correct.
9244
511bd4eb
GM
92452000-08-20 Gerd Moellmann <gerd@gnu.org>
9246
9247 * xfaces.c (lface_equal_p): Compare strings differently.
9248 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9249 (realize_tty_face): Use them.
9250 (syms_of_xfaces): Initialize new variables.
9251 (map_tty_color): New function, extracted from realize_tty_face.
9252 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9253 foreground or background color, store the new color name in the
9254 realized face; previous code trying to do this had no effect.
9255 (realize_tty_face): Use map_tty_color.
9256 (Fclear_face_cache): Set face_change_count and ensure thorough
9257 redisplay.
9258
1433385f
GM
92592000-08-19 Gerd Moellmann <gerd@gnu.org>
9260
511bd4eb
GM
9261 * undo.c (record_first_change, record_marker_adjustment): Don't
9262 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9263
419ac0a2
KH
92642000-08-18 Kenichi Handa <handa@etl.go.jp>
9265
9266 * coding.c (decode_coding_string): Set members consumed,
9267 consumed_char, produced, produced_char of *coding correctly. If
9268 decode_coding doesn't consume any byte, don't try anymore.
9269 (encode_coding_string): Likewise.
9270
7eb9e30d
GM
92712000-08-18 Gerd Moellmann <gerd@gnu.org>
9272
511bd4eb
GM
9273 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9274 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9275
9276 * xdisp.c (redisplay_internal): Compare windows for equality with
9277 EQ, instead of applying XWINDOW to something that might not
9278 be a window.
52283633 9279
dd34a735
KH
92802000-08-18 Kenichi Handa <handa@etl.go.jp>
9281
9282 * fontset.c (Finternal_char_font): Search only the selected frame
9283 for a window of the current buffer.
9284
385ff9e3
GM
92852000-08-18 Gerd Moellmann <gerd@gnu.org>
9286
511bd4eb 9287 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9288 Lisp_Objects.
9289
385ff9e3
GM
9290 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9291 second half of a HELP_EVENT is found at the start of kbd_buffer.
9292
d6abb4c7
MB
92932000-08-18 Miles Bader <miles@gnu.org>
9294
4618074a
MB
9295 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9296
d6abb4c7
MB
9297 * editfns.c (save_restriction_save): Rewrite to use markers.
9298 (save_restriction_restore): Rewrite to understand new form of data
9299 saved by save_restriction_save.
9300 (Fsave_restriction): Remove cautionary note in doc-string.
9301
a7b28523
GM
93022000-08-17 Gerd Moellmann <gerd@gnu.org>
9303
9304 * fileio.c (build_annotations): Add a comment explaining the
9305 return value of format-annotate-function. Replace a spurious call
9306 to Flength with a CONSP test. Call format-annotate-function with
9307 a fifth arg specifying how many times the function is been called
9308 in a row, to let it choose temporary buffers appropriately.
9309
03c9ed77
DL
93102000-08-17 Dave Love <fx@gnu.org>
9311
9312 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9313 declare make_temp_name twice.
9314
52283633 9315 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9316 (unreadpure): Give it an arg.
9317
9318 * unexalpha.c: Prototype fatal_unexec, mark_x,
9319 update_dynamic_symbols. Declare unexec as void.
9320
9321 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9322 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9323
9324 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9325 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9326
9327 * alloca.c: Use #error.
9328 [POINTER_TYPE]: Use it.
9329
9330 * eval.c (Fdefvar): Doc fix.
9331
9332 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9333 INITIALIZE_INTERVAL.
9334
9335 * buffer.h: Avoid DECLARE_INTERVALS.
9336
9337 * config.in: Add size_t.
9338
aae41d97
EZ
93392000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9340
9341 * w16select.c (set_clipboard_data): If there's not enough memory
9342 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9343 expects. In case of other failures, return 3.
9344 (system_error_msg): New error message.
9345 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9346 system_error_msg.
9347
65aa5e85
GM
93482000-08-16 Gerd Moellmann <gerd@gnu.org>
9349
9350 * term.c (write_glyphs): Also turn off inverse video after turning
9351 off other appearances in case TS_exit_attribute_mode is not equal
9352 to TS_end_standout_mode.
9353 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9354 with the same face.
9355 (turn_off_face): Reset standout_mode only if
9356 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9357 is equal to TS_end_standout_mode.
9358
ece23901
KH
93592000-08-16 Kenichi Handa <handa@etl.go.jp>
9360
9d7bcb2e
KH
9361 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9362 sequence at the end of the source block.
9363
ece23901
KH
9364 * ccl.c (Fccl_program_p): Docstring modified.
9365 (Fccl_execute): Likewise.
9366 (Fccl_execute_on_string): Likewise.
9367
5e30eaa2
EZ
93682000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9369
9370 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9371
290602fd
KH
93722000-08-16 Kenichi Handa <handa@etl.go.jp>
9373
9374 The following changes are mainly to fix bugs of
9375 encode/decode-coding-string failing if encoding/decoding return
9376 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9377 variable conversion_buffer.
9378
9379 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9380 decrement dst_end to avoid buffer overflow in the later call of
9381 string_as_multibyte
9382
9383 * coding.h (conversion_buffer_size, conversion_buffer)
9384 (get_conversion_buffer): Extern deleted.
9385
9386 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9387 (conversion_buffer, conversion_buffer_size): Variables deleted.
9388 (get_conversion_buffer): Function deleted.
9389 (struct conversion_buffer): New structure.
9390 (MAX_ALLOCA): New macro.
9391 (allocate_conversion_buffer): New macro.
9392 (extend_conversion_buffer, free_conversion_buffer): New functions.
9393 (ccl_coding_driver): Set coding->result.
9394 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9395 this is the last block of source.
9396 (encode_coding): Likewise. Handle the source block as the last
9397 one only when the whole source text is consumed.
9398 (decode_coding_string): Handle the case that the output buffer is
9399 too small to decode the whole source text. Use
9400 allocate_conversion_buffer, extend_conversion_buffer and
9401 free_conversion_buffer, not get_conversion_buffer.
9402 (encode_coding_string): Likewise.
9403 (init_coding): Function deleted.
52283633 9404 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9405
9406 * emacs.c (main): Don't call init_coding.
9407
52283633 9408 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9409
9410 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9411 (insert_glyphs): Likewise.
9412
9413 * w32console.c (write_glyphs): Use a locally declared
9414 conversion_buffer.
9415
b9f80d41
EZ
94162000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9417
9418 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9419 member of display_info is NULL.
9420
32dc52f7
GM
94212000-08-15 Gerd Moellmann <gerd@gnu.org>
9422
52283633 9423 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9424
32dc52f7 9425 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9426 appearances with capability `me'.
32dc52f7
GM
9427 (write_glyphs): Switch on inverse video before each face change.
9428
4eb22d33
DL
94292000-08-14 Dave Love <fx@gnu.org>
9430
9431 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9432 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9433 (lisp_free): Declare and make static.
9434
9435 * window.c: Fix embedded comment.
9436 (syms_of_window): Fix doc string.
9437
90cbf47e
GM
94382000-08-14 Gerd Moellmann <gerd@gnu.org>
9439
52283633 9440 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9441 make sure to print `C-' before `M-', like in the manual.
9442
440fc135
GM
94432000-08-11 Gerd Moellmann <gerd@gnu.org>
9444
9445 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9446 since they aren't relocated anymore.
52283633 9447 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9448
9449 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9450 partially visible line which is smaller than the window's height.
440fc135 9451
6e264fad
KH
94522000-08-11 Kenichi Handa <handa@etl.go.jp>
9453
9454 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9455 the multibyte form of eight-bit-control characters.
6e264fad
KH
9456 (Fccl_execute_on_string): Initialize ccl->multibyte.
9457
9458 * ccl.h (struct ccl_program): New member multibyte.
9459
9460 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9461
c371f69a
KH
94622000-08-11 Kenichi Handa <handa@etl.go.jp>
9463
9464 * regex.c (regex_compile) <normal_char>: Pay attention to
9465 multibyteness.
9466 (analyse_first) <exactn>: Setup fastmap correctly for
9467 eight-bit-control characters.
9468
94692000-08-11 Kenichi Handa <handa@etl.go.jp>
9470
52283633 9471 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9472
9473 * keyboard.c (make_lispy_event): Handle the new event type
9474 multibyte_char_keystroke.
9475
9476 * xterm.c: Include coding.h.
9477 (XTread_socket): Work around a bug of XmbLookupString. If the
9478 input is from XIM, decode it according to the current locale. In
9479 that case, generate multibyte_char_keystroke events.
9480
b8ddbe71
KH
94812000-08-11 Kenichi Handa <handa@etl.go.jp>
9482
9483 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9484 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9485
47589c8c
GM
94862000-08-10 Gerd Moellmann <gerd@gnu.org>
9487
9488 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9489 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9490 (move_it_in_display_line_to): Record iterator's ascent and descent
9491 before producing glyphs, and restore them when we know the glyph
9492 doesn't fit on the line.
9493 (move_it_to): Restructured so that it's easier to debug. If
9494 moving to a vpos, and not moving to an x or character position,
9495 stop as soon as the specified vpos is reached; don't move further
9496 into that line because that might change the computed line height.
9497 (try_cursor_movement): New function, extracted from the cursor
9498 movement branch of redisplay_window. If ending on a partially
9499 visible line, don't try to scroll if the cursor line is taller
9500 than the window.
9501 (redisplay_window): Use try_cursor_movement.
9502
9503 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9504 because that function doesn't cope with variable-height lines.
9505
9506 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9507 box cursor because that's better visible for large images.
52283633 9508
c51bacd6
MB
95092000-08-10 Miles Bader <miles@gnu.org>
9510
9511 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9512
bea56df7
GM
95132000-08-10 Gerd Moellmann <gerd@gnu.org>
9514
9515 * xdisp.c (Vmessages_buffer_name): New variable.
9516 (message_dolog): Use it.
9517 (syms_of_xdisp): Initialize it.
9518
99cd7364
EZ
95192000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9520
52283633 9521 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9522 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9523 redundant now that keyboard.h is included.
9524
7d093d56
EZ
95252000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9526
9527 * keyboard.c (kbd_buffer_events_waiting): New function.
9528
9529 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9530
9531 * msdos.c: Include keyboard.h.
9532 (XMenuActivate): Empty no_event events from the event buffer. If
9533 no events are left after that, call clear_input_pending.
9534 (mouse_clear_clicks): New function, code moved from mouse_init.
9535 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9536 mouse driver to ``forget'' any past clicks.
9537
9538 * Makefile.in (msdos.o): Depend on keyboard.h.
9539
41e757a6
GM
95402000-08-09 Gerd Moellmann <gerd@gnu.org>
9541
8e7bd231
GM
9542 * lisp.h (input_pending): External declaration.
9543
9544 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9545
8e7bd231
GM
9546 * xdisp.c (echo_area_display): Display thoroughly if input is
9547 pending. Bind redisplay-dont-pause to t during the redisplay.
9548 in case input is pending.
9549
9550 * dispnew.c (Qredisplay_dont_pause): New variable.
9551 (syms_of_display): Initialize and staticpro it.
9552 (update_frame_1): Don't interrupt the display for pending input if
9553 redisplay_dont_pause is set.
52283633 9554
43028b7e
GM
9555 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9556
41e757a6
GM
9557 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9558
2f2174fa
KH
95592000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9560
9561 * callproc.c (Fcall_process): Terminate the unwind-protect around
9562 the post-read-conversion of coding system.
9563
0a6fd67e
MB
9564 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9565 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9566 * buffer.h (overlays_at): Update prototype.
9567 * xdisp.c (next_overlay_change): Update call to overlays_at.
9568 * xfaces.c (face_at_buffer_position): Likewise.
9569 * textprop.c (Fget_char_property): Likewise.
9570 * xterm.c (note_mouse_highlight): Likewise.
9571
0c80756e
MB
9572 * minibuf.c (do_completion): Don't consider a simple change of
9573 case as `completion'.
9574
975f250a
KR
95752000-08-08 Ken Raeburn <raeburn@gnu.org>
9576
52283633 9577 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9578 * undo.c (record_delete): Make sure last_point_position_buffer is
9579 a buffer before comparing pointers.
9580
9581 * coding.h (decode_coding_string): Declare.
9582
9583 * intervals.h (Fprevious_single_char_property_change): Declare.
9584
9585 * textprop.c (Fprevious_single_char_property_change): Don't do
9586 arithmetic directly on lisp objects.
9587
52283633 9588 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9589
9590 * keyboard.h (menu_item_eval_property): Declare.
9591
9592 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9593 reuse as buffer name, instead of recreating (and discarding) every
9594 time a message is logged.
9595 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9596 (current_message_1, truncate_message_1, set_message_1)
9597 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9598 (current_message, truncate_echo_area, display_echo_area)
9599 (resize_echo_area_axactly): Changed calls.
b347b3fd 9600
975f250a 9601 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9602 Lisp object.
975f250a 9603 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9604 must be an integer, not a Lisp object.
975f250a 9605
46dc9912
KH
96062000-08-08 Kenichi Handa <handa@etl.go.jp>
9607
9608 * charset.c (Fchar_width): Doc fix.
9609
9f6d1a6c
GM
96102000-08-08 Gerd Moellmann <gerd@gnu.org>
9611
9612 * charset.c (Fstring_width): Doc fix.
9613
ff3d9573
GM
96142000-08-07 Gerd Moellmann <gerd@gnu.org>
9615
41e757a6 9616 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9617 line, clear ascent and descent members of the iterator structure;
9618 the height of the continued line does not affect the height of the
9619 continuation line.
9620 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9621 line taller than the window.
9622 (redisplay_window) <forced window start>: Handle case that the
9623 middle of the window is not found in any row.
9624 (dump_glyph_row): Show more information.
9625 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9626 first text line in a glyph matrix.
9627
9628 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9629 of the clip area when image doesn't have a mask.
9630
70fc58b3
GM
9631 * fns.c (sweep_weak_table): Fix survival conditions for
9632 key-or-value and key-and-value weakness.
9633
9634 * .gdbinit (xhashtable): New command.
9635
ac0e96ee
GM
9636 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9637 tables out of the list of all weak hash tables.
9638
ff3d9573
GM
9639 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9640 a new buffer is created, make sure echo_area_buffer[] references
9641 the new buffer.
9642
e0d8827b
EZ
96432000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9644
9645 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9646 the doc string.
9647
c6f35378
KH
96482000-08-07 Kenichi Handa <handa@etl.go.jp>
9649
9650 * syntax.c (skip_chars): Fix previous change. Make the handling
9651 of unibyte string consistent with that of regex search.
9652
1fd4c450
GM
96532000-08-05 Gerd Moellmann <gerd@gnu.org>
9654
e49aa397
GM
9655 * xmenu.c (popup_get_selection): Use xfree instead of free.
9656
9657 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9658
9659 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9660
9661 * callproc.c (child_setup): Use xfree instead of free.
9662
9663 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9664 instead of malloc.
9665 (run_mac_command, closedir): Use `xfree' instead of `free'.
9666
9667 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9668
9669 * eval.c (error): Use xfree instead of free.
9670
1fd4c450
GM
9671 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9672
9673 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9674 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9675
82d497fc
KH
96762000-08-05 Kenichi Handa <handa@etl.go.jp>
9677
9678 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9679 conversion.
9680
59f953a2
NF
96812000-08-04 Noah Friedman <friedman@splode.com>
9682
9683 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9684 docstring.
9685
688351f2
GM
96862000-08-04 Gerd Moellmann <gerd@gnu.org>
9687
9688 * syntax.c (skip_chars): Fix typo in error message.
9689
2dad51cc
AS
96902000-08-04 Andreas Schwab <schwab@suse.de>
9691
9692 * m/ia64.h: Moved from s/ia64.h.
9693
99bb2c60
KH
96942000-08-04 Kenichi Handa <handa@etl.go.jp>
9695
082a1df2
KH
9696 * process.c (read_process_output): Big simplification. Handle
9697 composition and post-read-conversion of coding system correctly.
9698 (send_process): Handle composition correctly.
9699
9700 * callproc.c (Fcall_process): Handle post-read-conversion of
9701 coding system if any.
9702
99bb2c60
KH
9703 * coding.c (decode_coding_iso2022): More strict check for handling
9704 single shifting.
082a1df2
KH
9705 (coding_restore_composition): Pay attention to the case that
9706 cmp_data is not set properly (because of invalid code in the
9707 source text).
9708 (run_pre_post_conversion_on_str): Include text properties in the
9709 resulting string.
9710 (decode_coding_string): Set members of coding correctly.
99bb2c60 9711
f4988be7
GM
97122000-08-03 Gerd Moellmann <gerd@gnu.org>
9713
9714 * s/ia64.h: New file.
9715
9716 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9717 Use NULL instead of 0 at the end of variable argument list of
9718 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9719 sizeof (int) < sizeof (void *).
9720
9721 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9722 of variable argument lists of XtVaGetValues and XtVaSetValues.
9723
9724 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9725 variable argument lists of XtVaGetValues and XtVaSetValues.
9726
ead53494
GM
97272000-08-02 Gerd Moellmann <gerd@gnu.org>
9728
9729 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9730 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9731
9732 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9733 prototype.
9734
9735 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9736 in call to Fsingle_key_description.
9737
9738 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9739 Callers changed.
9740
97412000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9742
9743 * window.c (display_buffer_reuse_frames): New variable.
9744 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9745 frames displaying BUFFER.
52283633 9746 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9747
10b0f752
MB
97482000-08-01 Miles Bader <miles@gnu.org>
9749
9750 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9751 when to constrain NEW_POS (they were pretty screwed up before).
9752
16425c4a
EZ
97532000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9754
9755 * msdos.c (run_msdos_command): Save and restore the master
9756 environment, for the case that child_setup signals an error.
9757 When mirroring slashes in DOS shell commands, don't fail when
9758 argv[2] has embedded blanks.
da288c14
EZ
9759 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9760 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9761 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9762
9763 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9764 using alloca; free it after run_msdos_command returns.
9765
27f73852
DL
97662000-07-27 Dave Love <fx@gnu.org>
9767
52283633
SM
9768 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9769 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9770
9771 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9772
c0261b5e
EZ
97732000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9774
9775 * editfns.c (lisp_time_argument): Fix last change.
9776
b548072f
GM
97772000-07-27 Gerd Moellmann <gerd@gnu.org>
9778
3ab82477
GM
9779 * fns.c (Fdelete): Make it work on vectors and strings in addition
9780 to lists.
9781
b548072f
GM
9782 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9783 (syms_of_fns): Initialize new variables.
52283633 9784 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9785 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9786 weakness, with t meaning the same as `key-and-value'.
9787
91ae8751
KH
97882000-07-27 Kenichi Handa <handa@etl.go.jp>
9789
9790 * coding.h (struct coding_system): Member safe_charset deleted.
9791
9792 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9793 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9794 New variables.
91ae8751
KH
9795 (coding_safe_chars): New function.
9796 (CODING_SAFE_CHAR_P): New macro.
9797 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9798 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9799 (detect_coding_iso2022): New local variable safe_chars.
9800 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9801 safe_charsets member of the coding system.
9802 (decode_coding_iso2022): New local variable safe_chars.
9803 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9804 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9805 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9806 (ENCODE_UNSAFE_CHARACTER): New macro.
9807 (encode_coding_iso2022): New local variable safe_chars. Check
9808 unsafe chars.
9809 (setup_coding_system): Delete the code to initialize
9810 coding->safe_charses
9811 (intersection, find_safe_codings): New functions.
9812 (Ffind_coding_systems_region_internal): New function.
9813 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9814 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9815 variable and initialize it.
9816
9817 * fns.c (char_table_ref_and_index): New function.
9818
9819 * lisp.h (char_table_ref_and_index): Add prototype.
9820
34a7a267
SS
98212000-07-26 Sam Steingold <sds@gnu.org>
9822
9823 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9824 (Ffloat_time): New built-in Lisp function.
34a7a267 9825
a95cb10a
GM
98262000-07-26 Gerd Moellmann <gerd@gnu.org>
9827
3353ef5a
GM
9828 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9829 for the character code.
9830
9831 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9832 GNU/Linux.
9833
a95cb10a
GM
9834 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9835 if called for a popup menu.
9836 (xmenu_show): Store help string in widget values.
9837
b4a12321
DL
98382000-07-26 Dave Love <fx@gnu.org>
9839
9840 * syswait.h: Move some definitions.
9841 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9842 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9843 perspicuous definitions.
9844 (WTERMSIG): Fix bit pattern used.
9845
13f5ad37
KH
98462000-07-26 Kenichi Handa <handa@etl.go.jp>
9847
9848 * print.c (print_object): If vector printing is truncated, print
9849 "..." to indicate it as well as the case of list printing.
9850
070fe99c
GM
98512000-07-25 Gerd Moellmann <gerd@gnu.org>
9852
969065c3
GM
9853 * xdisp.c (next_element_from_display_vector): Improve comments.
9854
9855 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9856 for the character code, and the rest for the face id as in 20.x.
9857 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9858
9859 * window.c (window_display_table): Cleaned up.
9860
070fe99c
GM
9861 * syntax.c (Fforward_word): Add last arg nil in call of
9862 Fconstrain_to_field.
9863
bad77ef7
EZ
98642000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9865
969065c3 9866 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9867 identical but for the letter-case, don't call
9868 barf_or_query_if_file_exists.
bad77ef7 9869
c28da489
MB
98702000-07-25 Miles Bader <miles@gnu.org>
9871
9872 * editfns.c (find_field): Honor special `boundary' fields.
9873 (Qboundary): New variables.
9874 (syms_of_editfns): Initialize Qboundary.
9875 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9876 Use scan_buffer instead of find_before_next_newline, because it
9877 allows us to detect the boundary case where there's a newline at
9878 the search limit.
9879 * lisp.h (Fconstrain_to_field): Update external declaration.
9880
e3c31fd5
GM
98812000-07-24 Gerd Moellmann <gerd@gnu.org>
9882
9883 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9884 if that is nil.
c28da489 9885
c66c29a2
DL
98862000-07-24 Dave Love <fx@gnu.org>
9887
9888 * s/sunos4-0.h, s/sol2.h:
9889 (LIBS_TERMCAP): Move from m/sparc.h.
9890
9891 * m/sparc.h (TERMINFO): Moved to system files (probably only
9892 relevant for sunos4 judging by its vintage).
9893 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9894 __arch64__.
9895
fbe0a958
EZ
98962000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9897
9898 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9899 name to single_keymap_panes.
9900
7d88e5c9
AS
99012000-07-24 Andreas Schwab <schwab@suse.de>
9902
9903 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9904
e024b101
GM
99052000-07-24 Gerd Moellmann <gerd@gnu.org>
9906
9907 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9908 parameters instead of using int parameters. Expect FN to accept
9909 EMACS_INT parameters.
9910 (display_echo_area, resize_echo_area_axactly, current_message)
9911 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9912 with new argument list.
9913 (resize_mini_window_1): New callback function.
9914 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9915 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9916
25c1a9ce
KH
99172000-07-24 Kenichi Handa <handa@etl.go.jp>
9918
9919 * fontset.c (fontset_ref): Remove INLINE declaration.
9920 (fontset_ref_via_base): Likewise.
9921 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9922 to downcase.
9923
7f987ac0
EZ
99242000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9925
9926 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9927 correct order of priority. If help echo was found in an overlay,
9928 use that overlay as the object in which the help echo was found.
9929
e2db3069
MB
99302000-07-22 Miles Bader <miles@gnu.org>
9931
9932 * textprop.c (Fprevious_single_char_property_change): The initial
9933 property value should be from the position preceding POSITION, not
9934 following it.
9935
5e3203e4
EZ
99362000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9937
9938 * coding.c (syms_of_coding): Doc fix for
9939 inhibit-iso-escape-detection.
9940
62145073
GM
99412000-07-21 Gerd Moellmann <gerd@gnu.org>
9942
c20aeb83
GM
9943 * xterm.c (note_mouse_highlight): Process overlays in the right
9944 order of priority.
34a7a267 9945
743934db
GM
9946 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9947
9948 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9949 overlay, use that overlay as the object in which the help was found.
743934db 9950
d1dc7e43 9951 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9952
62145073
GM
9953 * window.c (foreach_window): Instead of a fake variable argument
9954 list, take one USER_DATA argument.
9955 (foreach_window_1): Likewise, and call callback functions with two
9956 args, the window and USER_DATA.
9957 (struct check_window_data): New struct.
9958 (check_window_containing): Use it.
9959 (window_from_coordinates): Set up a struct check_window_data for
9960 foreach_window.
9961 (add_window_to_list, freeze_window_start): Change parameters
9962 according to new calling convention.
9963
9964 * window.h (foreach_window): Change prototype.
9965
9966 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9967
99682000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9969
9970 * xmenu.c (menu_help_callback): Call show_help_echo with
9971 additional arguments OBJECT and POS.
9972
11270583
KH
99732000-07-21 Kenichi Handa <handa@etl.go.jp>
9974
07b14857
KH
9975 * data.c (Faset): Allow storing any multibyte character in a
9976 string. Convert unibyte string to multibyte if necessary.
9977
11270583
KH
9978 * xfns.c (x_encode_text): New function.
9979 (x_set_name): Use x_encode_text.
9980 (x_set_title): Likewise.
9981
9982 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9983
9984 * xterm.h (x_encode_text): Add prototype.
9985
bc75b4fd
DL
99862000-07-20 Dave Love <fx@gnu.org>
9987
9988 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9989 xfree, not free.
9990
48c14970
EZ
99912000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9992
9993 * msdos.c (help_echo_window): New variable.
9994 (syms_of_msdos): Initialize and staticpro it.
9995 (IT_note_mode_line_highlight): Set help_echo_window.
9996 (IT_note_mouse_highlight): Ditto.
9997 (dos_rawgetc): Store help_echo_window in the second event produced
9998 for HELP_EVENTs.
9999
10000 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10001 Record the object that generated the help echo and the position of
10002 that object in help_echo_object and help_echo_pos. Record that
10003 some glyphs in a row are displayed in mouse-face.
10004 (IT_update_begin): Don't clear mouse highlight unless one of the
10005 enabled glyph rows is marked as being displayed in mouse-face.
10006 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10007 and position recorded in help_echo_object and help_echo_pos to the
10008 event queue.
10009 (IT_menu_display): Accept a new argument PN: the pane number of
10010 the current menu pane. Record the pane number and the item
10011 number of the item which has associated help string.
10012 (XMenuActivate): Update the prototype for help_callback in
10013 function declaration. Call IT_menu_display with the current menu
10014 pane number as an additional argument. Call help_callback with
10015 two additional arguments: the pane number and the item number of
10016 the menu item associated with the help text.
10017 (help_echo_object, help_echo_pos): New variables.
10018 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10019
10020 * msdos.h (XMenuActivate): Update prototype.
10021
4279296d
GM
100222000-07-19 Gerd Moellmann <gerd@gnu.org>
10023
47db06aa
GM
10024 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10025 Add some more prototypes.
10026
10027 * xterm.c, xterm.h: Add some more prototypes.
10028
10029 * lisp.h (Fnext_single_char_property_change): Add prototype.
10030
10031 * dispnew.c (direct_output_for_insert): Remove confusing
10032 outer local variable mouse_face_overwritten_p.
10033 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10034
4279296d
GM
10035 * alloc.c (allocate_string_data): Don't copy old string contents.
10036
670acd62
KH
100372000-07-19 Kenichi Handa <handa@etl.go.jp>
10038
10039 * coding.c (code_convert_region): Delete text properties before
10040 shrinking the conversion region.
10041
7cea38bc
GM
100422000-07-18 Gerd Moellmann <gerd@gnu.org>
10043
dc1cac59
GM
10044 * dispnew.c (update_text_area): Write the whole row if it
10045 has mouse-face in it.
10046
85a8aca9
GM
10047 * xfaces.c (face-alternative-font-family-alist): Remove
10048 DEFVAR_LISP; staticpro instead.
10049
34a7a267 10050 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10051 new arguments.
10052
10053 * keyboard.c (show_help_echo): Add parameter WINDOW.
10054 (read_char): Call show_help_echo with window extracted from Lisp
10055 help event.
10056 (gen_help_event): Add parameter WINDOW.
10057
10058 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10059
10060 * xterm.c (help_echo_window): New variable.
52283633 10061 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10062 (XTread_socket): Pass help_echo_window to gen_help_event.
10063 (syms_of_xterm): Initialize and staticpro help_echo_window.
10064
f8276b77
DL
100652000-07-18 Dave Love <fx@gnu.org>
10066
52283633 10067 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10068
088831a6
GM
100692000-07-18 Gerd Moellmann <gerd@gnu.org>
10070
3d6cd763
GM
10071 * alloc.c (allocate_string_data): If string had already data
10072 assigned, copy old contents to new string data.
10073
10074 * coding.c (syms_of_coding): Fix typo in spelling of variable
10075 `inhibit-iso-escape-detection'.
10076
088831a6
GM
10077 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10078
10079 * Makefile.in: Add dependencies on dispextern.h.
10080 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10081 `free'; both can conflict with system header files.
10082
bc8a8d55
KH
100832000-07-18 Kenichi Handa <handa@etl.go.jp>
10084
10085 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10086 undefined.
10087
069f5950
DL
100882000-07-18 Dave Love <fx@gnu.org>
10089
10090 * window.c (Fwindow_list): Declare arg `window'.
10091
aa96c820
KH
100922000-07-18 Kenichi Handa <handa@etl.go.jp>
10093
10094 * coding.c (setup_coding_system): Don't override the explicitly
10095 specified designations.
10096
06be8d32
MB
100972000-07-15 Miles Bader <miles@gnu.org>
10098
10099 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10100 from `text_property_eq' and `text_property_stickiness', respectively.
10101 (find_field, Fconstrain_to_field, char_property_eq)
10102 (char_property_stickiness): Changed to call char-property functions
10103 instead of text-property-only ones.
10104
10105 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10106 `next_single_char_property_change'). Do more error checking, and
10107 cleanup limit behavior.
10108 (Fprevious_single_char_property_change): New function.
10109 (syms_of_textprop): Initialize new subrs.
10110
10111 * xdisp.c (display_prop_end, invisible_text_between_p):
10112 Call Fnext_single_char_property_change instead of
10113 next_single_char_property_change.
10114
3fddcdc3
JR
101152000-07-15 Jason Rumney <jasonr@gnu.org>
10116
10117 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10118 after menu is finished with.
10119 (add_menu_item): Only consider wv->title as a menu title.
10120 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10121
10122 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10123 null title.
10124 (FONT_REGEXP): Remove unused macro, and its sub-components.
10125 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10126
10127 * w32term.c (help_echo_object, help_echo_pos): New variables.
10128 (note_mode_line_highlight): Store additional information about the
10129 help-echo in help_echo_object and help_echo_pos. Check both
10130 `local-map' and `keymap' properties for changing the cursor
10131 (note_mouse_highlight): Store additional information about the
10132 help-echo in help_echo_object and help_echo_pos.
10133 (note_tool_bar_highlight): Set help_echo_object to nil and
10134 help_echo_pos to -1.
10135 (w32_read_socket): Use gen_help_event instead of filling
10136 input_events manually.
10137 (syms_of_w32term): Staticpro help_echo_object.
10138 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10139 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10140 (x_clear_mouse_face): New function.
10141 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10142 (x_update_window_begin): No need to turn off the mouse
10143 highlight here.
10144 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10145 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10146 (x_fill_stretch_glyph_string): Consume runs of stretch
10147 glyphs instead of a single one.
10148 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10149 with new argument list.
10150 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10151 (x_append_glyph, x_append_composite_glyph)
10152 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10153 changes in struct glyph starting 1999-12-27. See comments for
10154 xterm.c on 2000-07-05.
10155
178c5d9c
SS
101562000-07-14 Sam Steingold <sds@gnu.org>
10157
10158 * xfaces.c (realize_x_face): Fix the last patch:
10159 check `default_face' before dereferencing.
10160
6fe533f6
DL
101612000-07-14 Dave Love <fx@gnu.org>
10162
069f5950 10163 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10164
dd7b81cf
KH
101652000-07-14 Kenichi Handa <handa@etl.go.jp>
10166
0693904a 10167 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10168 default_face's fontset, not using the default fontset.
0693904a 10169
dd7b81cf
KH
10170 * coding.c (inhibit_iso_escape_detection): New variable.
10171 (syms_of_coding): Make it a Lisp variable.
10172 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10173 nonzero, ignore ISO2022's escape sequence.
10174
d5aa31d8
GM
101752000-07-14 Gerd Moellmann <gerd@gnu.org>
10176
e5acf0ca
GM
10177 * alloca.c (malloc) [emacs]: Define as xmalloc.
10178
bd23a692
GM
10179 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10180 use that instead of the mouse position. Add parameters DX and DY.
10181
10182 * dispextern.h (Fx_show_tip): Adjust number of parameters
10183 in prototype.
10184
9662da0b
GM
10185 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10186 if HELP is a function, call it with OBJECT and POS as parameters
10187 to get the help to display.
10188 (gen_help_event, kbd_buffer_store_help_event): New functions.
10189 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10190 (read_char): Call show_help_echo with new parameters.
10191
178c5d9c 10192 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10193 Add prototypes.
10194
10195 * xterm.c (help_echo_object, help_echo_pos): New variables.
10196 (note_mode_line_highlight): Store additional information about the
10197 help-echo in help_echo_object and help_echo_pos. Check both
10198 `local-map' and `keymap' properties for changing the cursor
10199 (note_mouse_highlight): Store additional information about the
10200 help-echo in help_echo_object and help_echo_pos.
10201 (note_tool_bar_highlight): Set help_echo_object to nil and
10202 help_echo_pos to -1.
10203 (XTread_socket): Use gen_help_event instead of filling
10204 input_events manually.
10205 (syms_of_xterm): Staticpro help_echo_object.
10206
10207 * xmenu.c (menu_highlight_callback): Use
10208 kbd_buffer_store_help_event instead of setting up and input_event
10209 structure manually.
10210
10211 * xdisp.c (eval_form): GCPRO argument sexpr.
10212 (call_function): New function.
10213 (handle_single_display_prop): Use call_function and FUNCTIONP
10214 instead of checking whether if font_height is a symbol and
10215 using eval_form.
10216
10217 * eval.c (internal_condition_case_2): New function.
10218
10219 * lisp.h (FUNCTIONP): New macro.
10220 (internal_condition_case_2, call_function): Add prototypes.
10221
d5aa31d8
GM
10222 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10223 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10224 Always set `arg' member of input_events.
10225 (construct_menu_click): Unused function removed.
10226
10227 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10228
10229 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10230 (construct_drag_n_drop, x_scroll_bar_handle_click)
10231 (w32_read_socket): Always set `arg' member of input_events.
10232
10233 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10234
10235 * lisp.h (eval_form): Add prototype.
10236
10237 * xdisp.c (eval_form): Make it externally visible.
10238
0f1a9b23
GM
102392000-07-13 Gerd Moellmann <gerd@gnu.org>
10240
10241 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10242 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10243 consing. For prefix events, store the frame in the `arg' slot of
10244 the event, otherwise store the key there.
10245 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10246 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10247
10248 * xmenu.c (menu_highlight_callback): Store help string in the
10249 `arg' member of the input event; don't cons.
10250 (menubar_selection_callback): Use the `arg' slot of input events
10251 to queue additional information, instead of consing.
10252
10253 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10254
10255 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10256 TOOL_BAR_EVENTs.
10257 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10258
10259 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10260 input events to queue additional information, instead of consing.
10261
10262 * keyboard.c (kbd_buffer_gcpro): Renamed from
10263 kbd_buffer_frame_or_window. Now used for all Lisp objects
10264 referenced from the input queue.
10265 (kbd_buffer_store_event): Always use structure assignment for
10266 copying input events. Record all Lisp objects referenced from
10267 events in kbd_buffer_gcpro.
10268 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10269 differently from input events. Test for prefix menu_bar_events
10270 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10271 event in kbd_buffer_gcpro to nil.
10272 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10273 frame_or_window is equal to its arg member as prefix events.
10274 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10275 used by an input event to nil.
10276 (init_keyboard): Use two times the size of the input queue
10277 for kbd_buffer_gcpro.
10278 (syms_of_keyboard): Likewise.
10279
52283633
SM
10280 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10281 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10282
10283 * termhooks.h (struct input_event): Add member `arg'.
10284 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10285 (USER_SIGNAL_EVENT): Renamed from user_signal.
10286
10287 * xfaces.c (ASET): Remove definition.
10288
10289 * lisp.h (AREF, ASET, ASIZE): New macros.
10290
10291 * fontset.c (AREF, ASIZE): Remove definitions.
10292
10293 * fns.c (AREF): Remove definition.
178c5d9c 10294
0f1a9b23
GM
10295 * composite.c (AREF): Remove definition.
10296
712eaef2
GM
102972000-07-12 Gerd Moellmann <gerd@gnu.org>
10298
d8ee7803
GM
10299 * dispnew.c (redraw_overlapped_rows): Add missing local.
10300 (scrolling_window): Remove debug code.
10301
712eaef2
GM
10302 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10303 Before scrolling, turn off a mouse-highlight in the window
10304 being scrolled.
10305
10306 * xterm.c (x_update_window_end): Add parameter
10307 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10308 redisplay in XTframe_up_to_date.
10309 (x_clear_mouse_face): New function.
10310 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10311
10312 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10313 current glyph row.
10314 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10315 it when any row is written to that contains glyphs highlighted in
10316 mouse-face.
10317 (update_window): Call the window update end hook with new
10318 parameter MOUSE_FACE_OVERWRITTEN_P.
10319 (direct_output_for_insert): Give up if row contains mouse-face.
10320
10321 * dispextern.h (struct redisplay_interface): Add parameter
10322 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10323 (clear_mouse_face): New function pointer member.
10324
02010917
SM
103252000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10326
10327 * syntax.c (back_comment): Use one switch rather than a few `if's.
10328 Obey open_paren_in_column_0_is_defun_start.
10329 When reverting to the `slow' method, try to nicely handle the case
10330 of nested comments by checking that the comment-starter we found
10331 does indeed match the comment-ender.
10332 (scan_sexps_forward, scan_sexps_forward):
10333 Ignore excessive opening parenthesis rather than throwing an error.
10334
d76c03ea
GM
103352000-07-11 Gerd Moellmann <gerd@gnu.org>
10336
10337 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10338 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10339
10340 * dispnew.c (direct_output_forward_char): Give up if currently
10341 displaying a message instead of the minibuffer contents.
10342
10343 * xterm.c (x_update_window_begin): No need to turn off the mouse
10344 highlight here.
10345 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10346 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10347
10348 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10349 compare the mouse_face_p flags of both rows.
10350
10351 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10352
d55ead18
EZ
103532000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10354
10355 * keyboard.c (show_help_echo): Accept additional parameter
10356 ok_to_overwrite_keystroke_echo.
10357 (read_char): Call show_help_echo with a zero
10358 ok_to_overwrite_keystroke_echo argument.
52283633 10359 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10360 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10361 ok_to_overwrite_keystroke_echo argument.
10362 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10363 non-zero ok_to_overwrite_keystroke_echo argument.
10364
df75b1a3
GM
103652000-07-10 Gerd Moellmann <gerd@gnu.org>
10366
4b92c49a
GM
10367 * xdisp.c (try_window_id): If changes are all below what is
10368 displayed in the window, and point is in the window, we still
10369 might have to find point on the display.
10370
10371 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10372 glyphs instead of a single one.
10373 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10374 with new argument list.
10375 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10376
df75b1a3
GM
10377 * keymap.c (get_keymap_1): Add comment that this function can GC.
10378 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10379 comment that functions can GC.
10380 (Fset_keymap_parent): GCPRO arg KEYMAP.
10381
4314cf3e
EZ
103822000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10383
10384 * msdos.c (XMenuActivate): After exiting the menu, restore the
10385 echo area message and erase it.
10386
ab49ce15
KH
103872000-07-10 Kenichi Handa <handa@etl.go.jp>
10388
10389 * fontset.c (Ffontset_info): Make the return value more compatible
10390 with that of Emacs 20.
10391
090a072f
GM
103922000-07-07 Gerd Moellmann <gerd@gnu.org>
10393
10394 * eval.c (Fsignal): Handle case that backtrace_list is null.
10395
f92de4a6
KH
103962000-07-07 Kenichi Handa <handa@etl.go.jp>
10397
10398 * ccl.c (Fccl_execute): Typo fixed.
10399
dd8888a1
GM
104002000-07-06 Gerd Moellmann <gerd@gnu.org>
10401
e5c81191 10402 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10403
dd8888a1
GM
10404 * window.c (Fwindow_list): Reverse list at the end.
10405 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10406 means allow windows on OWINDOW's frame, only.
10407 (window_loop): Simplified; use Fwindow_list.
10408
10409 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10410
485266d0
GM
104112000-07-05 Gerd Moellmann <gerd@gnu.org>
10412
10413 * xterm.c (XTread_socket): Increment handling_signal at the start,
10414 decrement it at the end.
10415
10416 * eval.c (handling_signal): New variable.
10417 (Fsignal): Abort if handling_signal is non-zero.
10418
10419 * lisp.h (handling_signal): External declaration.
178c5d9c 10420
485266d0
GM
10421 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10422
80fcd514
KR
104232000-07-05 Ken Raeburn <raeburn@gnu.org>
10424
10425 Sound support for NetBSD through "Linux emulation" support:
10426 * config.in (HAVE_SOUNDCARD_H): Undef.
10427 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10428 * Makefile.in (LIBSOUND): New variable.
10429 (LIBES): Include it.
52283633
SM
10430 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10431 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10432 (vox_open): Use DEFAULT_SOUND_DEVICE.
10433 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10434
d5c5cddd
GM
104352000-07-05 Gerd Moellmann <gerd@gnu.org>
10436
10437 * print.c (print_error_message): If Vsignaling_function is set,
10438 show it in *Messages*.
10439
10440 * lisp.h (Vsignaling_function): External declaration.
10441
10442 * eval.c (Vsignaling_function): New variable.
10443 (Fsignal): Compute it.
10444 (syms_of_eval): Staticpro it.
10445
65171e3a
DL
104462000-07-05 Dave Love <fx@gnu.org>
10447
10448 * syswait.h: Use the autoconf recommended approach. Old code
10449 #if'd out in case we need to revert.
10450
178c5d9c 10451 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10452
e2c46326
AI
104532000-07-05 Andrew Innes <andrewi@gnu.org>
10454
10455 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10456 when non-NULL instead of __morecore, to take account of buffer
10457 memory. This also solves a problem with spurious memory warnings
10458 on Windows.
10459
10460 * ralloc.c: Make real_morecore non-static.
10461
10462 * eval.c (internal_condition_case): Comment out abort if
10463 interrupt_input_blocked is not zero.
10464
10465 * makefile.nt: Add support for `bootstrap' and related targets.
10466 Include minimal debug info in emacs.exe in release build.
10467 Remove all dependencies on lisp.h, and fixup some others.
10468
10469 * w32.c (init_environment): Install code from 20.7 for providing
10470 default values for environment variables, based on the
10471 executable's own location.
52283633 10472 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10473 (sys_socket): Install socket inheritance bug fix from 20.7.
10474
10475 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10476 here via blockinput.h).
10477
a027a91b
SM
104782000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10479
e4b31601
SM
10480 * w32menu.c (w32_menu_display_help):
10481 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10482
10483 * keyboard.h (show_help_echo): Declare.
10484
10485 * keyboard.c (show_help_echo): New function, extracted from read_char.
10486 Feval its `msg' argument if it's a cons cell.
10487 (read_char): Use it.
4cf8d9d5 10488 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10489
178c5d9c 10490 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10491 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10492 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10493 (dos_rawgetc):
10494 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10495 (note_tool_bar_highlight, w32_read_socket):
10496 Do not gratuitously ignore non-string `help-echo' properties.
10497
88d75730
GM
104982000-07-05 Gerd Moellmann <gerd@gnu.org>
10499
969f7e79
GM
10500 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10501
71201b00
GM
10502 * window.c (delete_all_subwindows): Reset Vwindow_list.
10503
88d75730
GM
10504 * xterm.c (x_append_glyph, x_append_composite_glyph)
10505 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10506 changes in struct glyph starting 1999-12-27. Some bit-fields of
10507 struct glyph were not set, which made glyphs unequal when compared
10508 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10509 effects were the result. This also depended on the contents of
10510 memory returned by xmalloc. If flickering happens again, activate
10511 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10512 gone with that, chances are that it is caused by something similar.
88d75730
GM
10513
10514 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10515
88d75730
GM
10516 * dispextern.h: Add some comments.
10517
10518 * window.c (add_window_to_list): Add parameter LIST.
10519 (window_list): Order list so that, for each frame, windows are
10520 in canonical order, and so that frames appear in the list in
10521 the order given by Vframe_list.
10522 (next_window): Reverse the handling of NEXT_P.
10523
53654733
GM
105242000-07-04 Gerd Moellmann <gerd@gnu.org>
10525
87efd256
GM
10526 * window.c (Vwindow_list): New variable.
10527 (make_window, delete_window): Set Vwindow_list to nil.
10528 (check_window_containing): New function.
10529 (window_from_coordinates): Rewritten.
10530 (add_window_to_list, window_list, candidate_window_p)
10531 (decode_next_window_args, next_window): New functions.
52283633 10532 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10533 (Fwindow_list): New function.
10534 (Fother_window): Cleaned up.
10535 (foreach_window): Add a longer "variable argument list". Let
10536 callback function return 0 to indicate that cycling over windows
10537 should stop.
10538 (foreach_window_1): Likewise.
10539 (freeze_window_start): Return int.
10540 (init_window): New function.
10541 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10542
10543 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10544 input_event with bzero.
10545 (main): Call init_window.
10546
53654733
GM
10547 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10548 a menu filter.
10549
4a8c194f
KH
105502000-07-04 Kenichi Handa <handa@etl.go.jp>
10551
10552 * composite.h (make_composition_value_copy): Extern it.
10553
10554 * composite.c (make_composition_value_copy): New function.
10555
10556 * editfns.c (Fformat): While copying text properties, make each
10557 composition property value a copy.
10558
10559 * fns.c (concat): While copying text properties, make each
10560 composition property value a copy.
10561
831a6cb0
GM
105622000-07-03 Gerd Moellmann <gerd@gnu.org>
10563
2f516940
GM
10564 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10565
178c5d9c 10566 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10567 marked already.
10568
831a6cb0
GM
10569 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10570 include those frames as candidates which have their focus
10571 redirected to the minibuffer frame.
10572
d9c4f922
SM
105732000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10574
10575 * fns.c (Fputhash): Return `value' rather than nil.
10576
3780bc22
GM
105772000-06-30 Gerd Moellmann <gerd@gnu.org>
10578
97d176db
GM
10579 * frame.c (next_frame): Don't check focus redirection in case
10580 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10581 unless their focus is redirected, which contradicts the
10582 specification of next-frame, and leads to infinite loops in
10583 certain situations when cycling through windows with next-window.
10584
dca9961d
KH
105852000-06-30 Kenichi Handa <handa@etl.go.jp>
10586
10587 * coding.c (code_convert_region): Even if the length of text is
10588 zero, try to convert it if coding->type is coding_type_ccl.
10589 (decode_coding_string, encode_coding_string): Likewise.
10590
d5483ab1
GM
105912000-06-28 Gerd Moellmann <gerd@gnu.org>
10592
af5c25e1 10593 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10594 the display if windows_or_buffers_changed.
af5c25e1
GM
10595
10596 * dispnew.c (struct row_entry): New structure.
10597 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10598 (row_table_size, old_lines, new_lines, old_lines_size)
10599 (new_lines_size, run_pool, runs_size, runs): New variables.
10600 (add_row_entry): New function.
10601 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10602 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10603 holding them in local variables. Use a larger hash table whose
10604 size depends on glyph matrix sizes. Don't use bzero to clear the
10605 hash table; instead, clear used slots only.
10606
10607 * fns.c (next_almost_prime): Make it externally visible.
10608
10609 * lisp.h (next_almost_prime): Add prototype.
10610
d5483ab1
GM
10611 * s/isc4-0.h (sigunblock): Define.
10612
10613 * s/sco5.h (sigunblock): Define.
10614
93e40f40
DL
106152000-06-27 Dave Love <fx@gnu.org>
10616
10617 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10618 (moved to osf5-0.h).
10619 [!NOT_C_CODE]: Protect string.h stuff.
10620
10621 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10622 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10623
3c4b7685
GM
106242000-06-27 Gerd Moellmann <gerd@gnu.org>
10625
97d176db 10626 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10627 below the last line from the needed window height.
10628
32cad0aa
SM
106292000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10630
10631 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10632 (Fwidget_get): Use it.
10633 (syms_of_fns): Defsubr it.
10634
2c69ced2
GM
106352000-06-26 Gerd Moellmann <gerd@gnu.org>
10636
178c5d9c 10637 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10638 display info for XIM.
10639 (xim_open_dpy): Likewise.
10640 (xim_close_dpy): Don't free the display info's XIM.
10641
10642 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10643
10644 * config.in (USE_XIM): New define.
10645
3fc720e4
GM
10646 * keymap.c (get_keyelt): For menu-items containing a `:filter
10647 FILTER', apply FILTER to the menu-item's definition to get the
10648 real definition to use.
10649
10650 * lisp.h (QCfilter): External declaration.
10651
2c69ced2
GM
10652 * xfns.c (Fimage_size): New function.
10653 (syms_of_xfns): Defsubr it.
10654
f978b2a2
AS
106552000-06-26 Andreas Schwab <schwab@suse.de>
10656
10657 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10658 Fstring_as_unibyte.
10659
94cc7892
DL
106602000-06-25 Dave Love <fx@gnu.org>
10661
52283633 10662 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10663
10664 * Makefile.in (blockinput.h): Depend on atimer.h.
10665 (atimer.h): Depend on systime.h.
10666
52283633 10667 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10668
52283633 10669 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10670
10671 * lisp.h (swap_in_global_binding): Declare.
10672
b8c24556
KR
106732000-06-24 Ken Raeburn <raeburn@gnu.org>
10674
10675 * process.c (Fopen_network_stream): Turn off atimers for duration
10676 of call to connect. (Patch from Gerd.)
10677
8cf8560b
DL
106782000-06-23 Dave Love <fx@gnu.org>
10679
511c7541
DL
10680 * ralloc.c: Maybe include unistd.h
10681
8cf8560b
DL
10682 * emacs.c (setgrp): Undefine before defining.
10683 (malloc_warning, set_time_zone_rule, index): Prototype.
10684
10685 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10686 HAVE_STRUCT_TIMEZONE.
10687
10688 * s/osf1.h: Move string.h hack here from alpha.h and make it
10689 conditional.
10690 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10691 _XOPEN_SOURCE.
10692 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10693 (SOCKLEN_TYPE): Don't define.
10694
10695 * m/alpha.h: Remove string.h hack.
10696
10697 * s/osf5-0.h: New file.
10698
10699 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10700 include time.h, done by systime.h.
10701 [__FreeBSD__]: Remove redundant includes.
10702
3fc720e4 10703 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10704 (delete_temp_file): Return Qnil to avoid warning.
10705
10706 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10707
10708 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10709 HAVE_X_WINDOWS.
10710
10711 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10712
10713 * composite.h (compose_text): Declare.
10714
10715 * xterm.c: Don't include sys/types.h unconditionally. Don't
10716 protect its inclusion with !USG (following xmenu.c).
10717
ea055732
GM
107182000-06-23 Gerd Moellmann <gerd@gnu.org>
10719
10720 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10721 in x_create_frame.
10722
74b01b80
EZ
107232000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10724
10725 * coding.c (decode_eol_post_ccl): Special handling for undecided
10726 and inconsistent EOL types.
10727
64f3a166
GM
107282000-06-22 Gerd Moellmann <gerd@gnu.org>
10729
16cf31f7
GM
10730 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10731 trough color and main window's background color.
10732
52283633 10733 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10734
10735 * xterm.h (Xt_app_con): External declaration.
10736
10737 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10738
486a103d
GM
10739 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10740
64f3a166
GM
10741 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10742 (handle_invisible_prop): Record the start of invisible text in
10743 it->add_overlay_start.
10744 (struct overlay_entry): Add member `overlay'.
10745 (handle_overlay_change): Simplify.
10746 (next_overlay_string): After having processed overlay strings at the
10747 end of the buffer, record that fact in
10748 it->overlay_strings_at_end_processed_p.
10749 (compare_overlay_entries): If before- and after-strings come
10750 from the same overlay, let before-strings come first.
10751 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10752 (load_overlay_strings): Take it->add_overlay_start into account
10753 when adding overlay strings.
10754
10755 * dispextern.h (struct it): Add member add_overlay_start.
10756
bb746ea6
DL
107572000-06-22 Dave Love <fx@gnu.org>
10758
10759 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10760
10761 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10762
a8f573f3
KH
107632000-06-22 Kenichi Handa <handa@etl.go.jp>
10764
10765 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10766 is greater than 0.
10767
9f2bbc92
DL
107682000-06-21 Dave Love <fx@gnu.org>
10769
178c5d9c 10770 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10771
3ee5041c
SM
107722000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10773
10774 * syntax.c (back_comment): Simplify string-parity counting (with
10775 the added benefit of handling multiple string-styles as long as
10776 they are not intertwined).
10777 Jump to the slow code as soon as a comment starter is found in
10778 a "string_lossage" position. Fixes the case: " /* " /* " */.
10779
4c343001
DL
107802000-06-21 Dave Love <fx@gnu.org>
10781
10782 * Makefile.in: Use GETLOADAVG_LIBS.
10783
10784 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10785 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10786
e6365855
SM
107872000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10788
10789 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10790 (Fforward_comment, scan_lists):
10791 Check the comstyle of single-char comment-starters.
10792 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10793 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10794 Check the comstyle of single-char comment-starters.
10795 Clarify control-flow around the Scomment case.
e6365855 10796
5700d2cc
DL
107972000-06-20 Dave Love <fx@gnu.org>
10798
d355bd8a
SM
10799 * fns.c (make_hash_table, maybe_resize_hash_table):
10800 Cast arg of next_almost_prime.
5700d2cc 10801
178c5d9c 10802 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10803
10804 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10805 and unistd.h.
10806
4a27bdfb
GM
108072000-06-20 Gerd Moellmann <gerd@gnu.org>
10808
a61d762c 10809 * keyboard.c (adjust_point_for_property): Check if display
52283633 10810 property should be treated as intangible by looking at its value.
a61d762c 10811
178c5d9c 10812 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10813 (display_prop_intangible_p): New functions.
10814
10815 * dispextern.h (display_prop_intangible_p): Add prototype.
10816
10817 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10818
4a27bdfb
GM
10819 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10820 argument to sigprocmask.
10821
10822 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10823 argument to sigprocmask.
10824
10825 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10826 sigprocmask_set, and pass a pointer to it to sigprocmask.
10827
10828 * sysdep.c (sigprocmask_set): New variable.
10829
10830 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10831 report_file_error.
10832
427ec082
SS
108332000-06-20 Sam Steingold <sds@gnu.org>
10834
10835 * xrdb.c: Don't declare xmalloc, xrealloc.
10836
8972fe79 108372000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10838
10839 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10840 (re_comp): Cast gettext return value to avoid complaints when
10841 !HAVE_LIBINTL.
10842
074b6efe
DL
108432000-06-20 Dave Love <fx@gnu.org>
10844
52283633 10845 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10846
5700d2cc 10847 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10848
d355bd8a 10849 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10850
10851 * m/alpha.h: Don't declare xmalloc, xrealloc.
10852
0af4f205
DL
10853 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10854
10855 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10856
10857 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10858
10859 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10860 HAVE_GETWD.
10861
074b6efe
DL
10862 * keyboard.h (poll_for_input_1): Declare.
10863
10864 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10865
10866 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10867
10868 * doprnt.c: Don't declare xmalloc, xrealloc.
10869
10870 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10871 (getenv, ctime, getwd): Removed.
10872 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10873
10874 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10875 x_set_tool_bar_lines.
10876
10877 * config.in: Add HAVE_GETWD. Move some definitions above
10878 machine/system includes.
10879
68a5e97b
KH
108802000-06-20 Kenichi Handa <handa@etl.go.jp>
10881
95417e1e
KH
10882 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10883
68a5e97b
KH
10884 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10885 contain information about ENCODING.
10886
10887 * fontset.c (FONTSET_ASCII): Use the first element of char table
10888 for an ASCII font, not defalt slot.
10889 (fontset_ref_via_base): If FONTSET doesn't contain information for
10890 C, try the default fontset.
10891 (make_fontset): Don't copy the default fontset.
10892 (fontset_font_pattern): Likewise.
10893 (accumulate_font_info): If ELT is nil, use the corresponding
10894 element in the default fontset.
10895
3b4fa1b2
DL
108962000-06-19 Dave Love <fx@gnu.org>
10897
943e731c
DL
10898 * syntax.c (Fparse_partial_sexp): Doc fix.
10899
10900 * regex.h: Test PROTOTYPES as well as __STDC__.
10901
3b4fa1b2
DL
10902 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10903 errno, strerror. Put text after #endif in comment.
10904
52283633 10905 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10906
10907 * xterm.c (x_frame_of_widget): Likewise.
10908
cdf0357b
GM
109092000-06-19 Gerd Moellmann <gerd@gnu.org>
10910
10911 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10912 to Vfundamental_mode_abbrev_table.
10913
10914 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10915 bogus objects are marked. This slows down GC by ~80 percent, but
10916 it might be worth trying when debugging GC-related problems.
10917 This feature requires conservative stack marking to be enabled.
10918
10919 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10920 returns XLookupChars, reset `modifiers' to zero.
10921
998e9f8c
DL
109222000-06-19 Dave Love <fx@gnu.org>
10923
10924 * mktime.c: Unprotoized.
10925
18e21ce8 109262000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10927
10928 * data.c (set_internal): If variable is frame-local,
10929 store the new value immediately into the frame parameter alist.
10930
140c4ac6
KR
109312000-06-19 Ken Raeburn <raeburn@gnu.org>
10932
14358466
KR
10933 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10934 in the custom handler pointer.
10935
140c4ac6
KR
10936 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10937 value, or checks for CHAR_META can fail when Lisp_Object is a
10938 union type.
10939 * keymap.c (get_keyelt): Likewise.
10940
10d7bf84
KH
109412000-06-19 Kenichi Handa <handa@etl.go.jp>
10942
10943 * ccl.h (struct ccl_program): New member eol_type.
10944 (struct ccl_spec): New member cr_carryover.
10945
10946 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10947 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10948
10949 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10950 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10951 (decode_eol_post_ccl): New function.
10952 (decode_coding): Don't detect EOL format here for CCL based coding
10953 systems.
10954 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10955 decode_eol_post_ccl after running the CCL program.
10956 (code_convert_region): Don't detect EOL format here for CCL based
10957 coding systems.
10958 (decode_coding_string): Likewise.
10959
52e386c2
KR
109602000-06-18 Ken Raeburn <raeburn@gnu.org>
10961
10962 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10963 when treating it as an integer.
10964
10965 * coding.h (encode_coding_string): Declare.
10966
10967 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10968 it as an integer.
10969
10970 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10971 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10972 to be passed to get_local_map.
10973
10974 * sound.c (Fplay_sound): Don't call make_number on
10975 Frun_hook_with_args count argument.
10976
10977 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10978 for lisp objects in X event structure data field, when lisp
10979 objects are represented with unions.
10980 (x_scroll_bar_to_input_event): Ditto.
10981
b357b9d4
KR
109822000-06-16 Ken Raeburn <raeburn@gnu.org>
10983
10984 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10985 termination of string. Fix sense of test whether
10986 Vline_number_display_limit is an integer.
b357b9d4 10987
a871441d
GM
109882000-06-16 Gerd Moellmann <gerd@gnu.org>
10989
a9021acd
GM
10990 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10991 only if HAVE_X_WINDOWS.
10992
6344985d
GM
10993 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10994 of titles.
10995
427ec082 10996 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10997 out of bounds.
10998
228b083e
EZ
109992000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11000
11001 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11002 of its headers.
11003
c25b53a2
KH
110042000-06-15 Kenichi Handa <handa@etl.go.jp>
11005
11006 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11007 start of the while loop.
11008
a6981b11
GM
110092000-06-15 Gerd Moellmann <gerd@gnu.org>
11010
e9924e52
GM
11011 * atimer.c (alarm_signal_handler): Add forward declaration.
11012
a6981b11
GM
11013 * data.c (set_internal): Remove debug code.
11014
25fa6deb
GM
110152000-06-14 Gerd Moellmann <gerd@gnu.org>
11016
dce6b995
GM
11017 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11018
9f817ea4
GM
11019 * unexec.c (toplevel) [COFF]: Include coff.h.
11020
11021 * s/lynxos.h: New file.
11022
11023 * keymap.c (Fsingle_key_description): Enclose function key and
11024 event symbol names in angle brackets.
11025
8a4e3c0c
GM
11026 * xdisp.c (setup_echo_area_for_printing): Call
11027 message_log_maybe_newline if message_buf_print is not set.
11028
11029 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11030 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11031 function does something useful even when message_buf_print is
11032 already set.
11033
52283633
SM
11034 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11035 New variables.
25fa6deb
GM
11036 (ensure_echo_area_buffers): Initialize echo buffer's
11037 truncate lines setting to nil.
11038 (with_echo_area_buffer): Don't set the echo buffer's truncate
11039 lines setting here.
8a4e3c0c 11040 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11041 of message_truncate_lines.
11042 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11043 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11044 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11045
11046 * keyboard.c (read_char): Bind message-truncate-lines to t
11047 while displaying a help-echo.
11048
11049 * lisp.h (Qmessage_truncate_lines): External declaration.
11050
163dcff3
GM
110512000-06-13 Gerd Moellmann <gerd@gnu.org>
11052
1681ead6
GM
11053 * xdisp.c (Vline_number_display_limit): Renamed from
11054 line_number_display_limit.
11055 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11056 Extend documentation string. Initialize
11057 Vline_number_display_limit to nil meaning no limit.
11058 (decode_mode_spec): Use Vline_number_display_limit with its new
11059 meaning.
11060
163dcff3
GM
11061 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11062
18e21ce8 110632000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11064
11065 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11066
163dcff3
GM
11067 * xfns.c (x_set_frame_parameters): Comment fix.
11068
11069 * frame.c (store_frame_param): Call swap_in_global_binding if the
11070 variable's current binding was chosen based on this frame.
11071
11072 * data.c (swap_in_global_binding): New function.
11073
a704139d
EZ
110742000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11075
11076 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11077 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11078
9b6610db
EZ
110792000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11080
11081 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11082
c68833d2
JR
110832000-06-12 Jason Rumney <jasonr@gnu.org>
11084
11085 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11086
11087 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11088
11089 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11090
11091 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11092
ed1056b3
GM
110932000-06-12 Gerd Moellmann <gerd@gnu.org>
11094
11095 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11096 (syms_of_xfaces): Defsubr Sdump_colors.
11097 (x_free_colors): Don't treat b&w specially on default visual.
11098 (x_free_dpy_colors): New function.
11099 (free_face_colors): Don't check visual class; it's done
11100 in x_free_colors.
11101
11102 * xterm.c (x_frame_of_widget): New function.
11103 (x_alloc_nearest_color_for_widget): Use it.
11104 (x_copy_dpy_color): New function.
11105 (x_destroy_window): Free various colors.
11106
5050a2ef
KH
111072000-06-12 Kenichi Handa <handa@etl.go.jp>
11108
11109 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11110
11111 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11112
11113 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11114
11115 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11116
11117 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11118
fb1b041d
DL
111192000-06-11 Dave Love <fx@gnu.org>
11120
11121 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11122
ff96b5f4
EZ
111232000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11124
11125 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11126
db8eeecd
GM
111272000-06-11 Gerd Moellmann <gerd@gnu.org>
11128
ed1056b3 11129 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11130 to `XEvent *'.
11131
49b71c5f
KH
111322000-06-10 Kenichi Handa <handa@etl.go.jp>
11133
c479bd55
KH
11134 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11135 (regex_compile): Fix the code for handling the case of single byte
11136 char and multibyte char being mixed in a range within [...].
11137
ff6a65c2
KH
11138 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11139 and dst_multibyte members of coding.
11140
49b71c5f
KH
11141 * charset.c (update_charset_table): Update the table
11142 bytes_by_char_head.
11143 (init_charset_once): Initialize elements of bytes_by_char_head to
11144 1 except for leading codes for private charases.
11145
11146 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11147 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11148
9e80b57d
KR
111492000-06-09 Ken Raeburn <raeburn@gnu.org>
11150
11151 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11152 access the data it doesn't point to.
11153
f83fe4b4
GM
111542000-06-08 Gerd Moellmann <gerd@gnu.org>
11155
11156 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11157 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11158 event queue. This is necessary because Emacs otherwise won't
11159 perform a switch-frame to a new frame until some other event, for
11160 example a keystroke event, forces it to do so. This has various
11161 effects, one visible being that the cursor of a frame created with
11162 C-x 5 2 or switched to with a window manager key binding like
11163 A-TAB stays hollow because selected_window isn't on the newly
11164 focused frame until the switch-frame is performed.
11165
11166 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11167 generating a switch-frame event if necessary.
11168
11169 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11170
11171 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11172 it's an integer.
11173
0890801b
KH
111742000-06-08 Kenichi Handa <handa@etl.go.jp>
11175
52283633 11176 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11177
173cbca8
GM
111782000-06-07 Gerd Moellmann <gerd@gnu.org>
11179
3091c2a6
GM
11180 * window.c (displayed_window_lines): Take empty lines at
11181 the bottom of a window into account.
427ec082 11182
f38952fe
GM
11183 * window.c (displayed_window_lines): New function.
11184 (Fmove_to_window_line): Use displayed_window_lines to determine
11185 the number of lines to move, instead of using the window's height.
11186
11187 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11188 to stop reading, even if the form read sets point to a different
11189 value when evaluated.
11190
427ec082 11191 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11192 put the cursor.
11193
6ba6c818
KH
111942000-06-07 Kenichi Handa <handa@etl.go.jp>
11195
11196 * fileio.c (e_write): Free composition data if stored in
11197 coding->cmp_data.
11198
5f1aea9a
GM
111992000-06-06 Gerd Moellmann <gerd@gnu.org>
11200
666852af
GM
11201 * xdisp.c (display_line): Set row's and iterator's
11202 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11203 Set cursor even if row ends in the middle of a character.
11204 (dump_glyph_row): Print values of new flags.
11205 (redisplay_window) <cursor movement in unchanged window>: When
11206 point has been moved forward, and PT is at the end of the cursor
11207 row, don't place the cursor in the next row if the cursor row ends
11208 in the middle of a character or at ZV.
11209
11210 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11211 (struct glyph_row): Add starts_in_middle_of_char_p and
11212 ends_in_middle_of_char_p.
11213 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11214 ends_in_middle_of_char_p flag.
11215 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11216
d13f3e2e
GM
11217 * term.c (append_glyph): Revert change of 2000-06-06.
11218
11219 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11220 padding glyph not fitting on line as whole character not
11221 fitting on line.
11222
5f1aea9a
GM
11223 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11224 this isn't true for images with `:ascent 100'.
11225
10cda9b0
KH
112262000-06-06 Kenichi Handa <handa@etl.go.jp>
11227
ed00559d
KH
11228 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11229 as modified if it is originally unmodified.
11230
10cda9b0
KH
11231 * term.c (encode_terminal_code): Change the way to check if
11232 terminal coding does any conversion.
11233 (append_glyph): Set glyph->pixel_width correctly.
11234
11235 * xdisp.c (display_line): While checking line continuation, pay
11236 attention to a padding glyph.
11237
1969fae2
GM
112382000-06-05 Gerd Moellmann <gerd@gnu.org>
11239
11240 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11241
162ccef4
DL
112422000-06-05 Dave Love <fx@gnu.org>
11243
f19f32dd
DL
11244 * xdisp.c: Include fontset.h.
11245
11246 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11247
11248 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11249
11250 * dispnew.c: Conditionally include term.h.
11251
11252 * coding.h: Declare code_convert_string_norecord.
11253
11254 * frame.h (struct frame): Use volatile unconditionally.
11255
11256 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11257
11258 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11259
11260 * systime.h: Protect against multiple inclusion.
11261 (timezone) [USG5_4]: Define as time_t.
11262
11263 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11264 (Foptimize_char_table, make_temp_name): Declare.
11265
11266 * Makefile.in (xdisp.o): Depend on fontset.h.
11267
11268 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11269
11270 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11271 (Foptimize_char_table, make_temp_name): Declare.
11272
427ec082 11273 * s/irix4-0.h:
162ccef4
DL
11274 * s/irix5-0.h:
11275 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11276
2082fe81
DL
112772000-06-02 Dave Love <fx@gnu.org>
11278
11279 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11280
dcf671d2
GM
112812000-06-02 Gerd Moellmann <gerd@gnu.org>
11282
11283 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11284 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11285 be freed.
11286
11287 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11288 glyph, use the ASCII NUL character to determine the face.
11289
d42122a3
DL
112902000-06-02 Dave Love <fx@gnu.org>
11291
11292 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11293 (VFORK_RETURN_TYPE): Remove.
427ec082 11294
d42122a3
DL
11295 * config.in: Add NO_MATHERR.
11296
dd432f16
DL
112972000-06-01 Dave Love <fx@gnu.org>
11298
90aa4ea8
DL
11299 * cmds.c (internal_self_insert): Don't check
11300 Vbefore_change_function, Vafter_change_function.
11301
11302 * insdel.c (signal_before_change, signal_after_change): Likewise.
11303
11304 * buffer.c (Vbefore_change_function, Vafter_change_function):
11305 Variables and their initializations deleted.
11306
2330c9d4
DL
11307 * callint.c (Fcall_interactively): Doc fix.
11308
dd432f16
DL
11309 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11310
bf9e8804
DL
113112000-05-31 Dave Love <fx@gnu.org>
11312
11313 * textprop.c: Revert last change -- duplicated.
11314
3694b4ab
GM
113152000-05-31 Gerd Moellmann <gerd@gnu.org>
11316
11317 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11318 in #if 0.
11319
11320 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11321
f14156cd
JR
113222000-05-31 Jason Rumney <jasonr@gnu.org>
11323
8119aab8
JR
11324 * search.c (Fre_search_forward, Fre_search_backward)
11325 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11326
f14156cd
JR
11327 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11328
4aab9be3
JR
113292000-05-30 Jason Rumney <jasonr@gnu.org>
11330
11331 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11332 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11333
52283633 11334 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11335
11336 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11337 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11338 expand a nil default_filename.
11339
11340 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11341 pointer to glyph_to_pixel_coords, not a frame.
11342
11343 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11344 coding.h to dependencies.
11345
11346 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11347
11348 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11349 window pointer to be consistent with w32term.c and xterm.c.
11350
11351 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11352 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11353 (Qline_spacing, Qcenter): New variables.
11354 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11355 (x_set_line_spacing): New function.
52283633 11356 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11357 (x_specified_cursor_type): New function.
11358 (x_set_cursor_type): Use it.
11359 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11360 and icon strings.
11361 (validate_x_resource_name, x_get_resource_string): Measure lengths
11362 of external strings in bytes.
11363 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11364 GetTextExtentPoint32 with NULL title.
11365 (Fx_create_frame): Initialize Qline_spacing.
11366 (w32_load_system_font): Initialize font->double_byte_p.
11367 (x_to_w32_charset): Use Vw32_charset_info_alist.
11368 (Image, busy cursor, tooltip functions): Merged changes from
11369 xfns.c. Not yet functional on Windows.
11370
11371 * w32gui.h (W32FontStruct): Add double_byte_p member.
11372
11373 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11374 (emacs_button_translation): Use it.
11375 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11376 in `mask' to be set.
11377
11378 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11379 menu strings.
11380
11381 * w32term.c: Format and doc changes to bring closer to xterm.c.
11382 (w32_char_font_type): New enum.
11383 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11384 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11385 (w32_encode_char): New function.
11386 (x_encode_char): Removed.
11387 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11388 x_encode_char and w32_font_is_double_byte.
11389 (x_produce_image_glyph): Use image_ascent.
11390 (x_produce_glyphs): Use new version of w32_per_char_metric and
11391 handle NULL return value. Allow extra line spacing.
11392 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11393 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11394 w32_font_type member of glyph instead.
11395 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11396 (fast_find_position): Make sure not to consider rows not visible
11397 in the window.
11398 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11399 w32_menu_display_help with input blocked, as it can abort.
11400 (x_display_and_set_cursor): Choose cursor depending
11401 on buffer-local value of cursor_type.
11402 (x_draw_bar_cursor): Add parameter WIDTH.
11403
11404 * w32term.h (CP_DEFAULT): Define.
11405 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11406
10fc3187
GM
114072000-05-30 Gerd Moellmann <gerd@gnu.org>
11408
11409 * search.c (Fre_search_forward, Fre_search_backward)
11410 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11411
d0555360
KH
114122000-05-30 Kenichi Handa <handa@etl.go.jp>
11413
11414 * coding.c (detect_coding_iso2022): Fix code for checking
11415 CODING_CATEGORY_MASK_ISO_8_2.
11416
f1ad044f
SM
114172000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11418
11419 * regex.c (PREFETCH_NOLIMIT): New function.
11420 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11421
84ec3b4b
GM
114222000-05-29 Gerd Moellmann <gerd@gnu.org>
11423
66254a13
GM
11424 * syntax.c (find_defun_start): Move test for
11425 open_paren_in_column_0_is_defun_start outside of the loop.
11426
49e70dec
GM
11427 * xdisp.c (redisplay_window): Really switch buffers when
11428 displaying mode lines, and temporarily set selected_frame to the
11429 frame of the window that's redisplayed.
11430
84ec3b4b
GM
11431 * xfaces.c (free_realized_faces): Block/unblock input.
11432 (free_realized_multibyte_face): Ditto.
11433
869a3a14
DL
114342000-05-29 Dave Love <fx@gnu.org>
11435
11436 * textprop.c (Qkeymap): New variable.
11437 (syms_of_textprop): Intern it.
11438
11439 * keymap.c: Include intervals.h.
11440 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11441
11442 * Makefile.in (keymap.o): Depend on intervals.h.
11443
11444 * keyboard.c (menu_bar_items, tool_bar_items)
11445 (Fexecute_extended_command): Deal with `keymap' property.
11446 (read_key_sequence): Track map from `keymap' property as well as
11447 `local_map'.
11448
11449 * intervals.c (get_local_map): Extra arg to allow looking for
11450 `keymap' too.
11451
11452 * intervals.h (map_property): New enum.
11453 (get_local_map): Extra arg using it.
11454 (Qkeymap): Declare.
11455
84ec3b4b 11456 * lisp.h (get_local_map): Don't declare here.
869a3a14 11457
89d0c844
KH
114582000-05-29 Kenichi Handa <handa@etl.go.jp>
11459
11460 * Makefile.in (callproc.o): Depend on composite.h.
11461
11462 * callproc.c: Include composite.h.
11463 (Fcall_process): Handle composition correctly.
11464
11465 * coding.h (coding_allocate_composition_data): Extern it.
11466 (coding_restore_composition): Likewise.
11467
11468 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11469 yet allocated, finish decoding with result
11470 CODING_FINISH_INSUFFICIENT_CMP.
11471 (coding_allocate_composition_data): Make it non-static.
11472 (coding_restore_composition): Likewise.
11473
797a084a
EZ
114742000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11475
11476 * charset.c (syms_of_charset): Revert last change.
11477
cf872af5
EZ
114782000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11479
11480 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11481 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11482 Handa.
cf872af5 11483
5b1ae051
EZ
114842000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11485
11486 * charset.c (syms_of_charset): Set width of character sets
11487 eight-bit-control and eight-bit-graphic to 1 column.
11488
34ec9ebe
GM
114892000-05-26 Gerd Moellmann <gerd@gnu.org>
11490
11491 * config.in (HAVE_SPEED_T): New define.
11492
11493 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11494 `extern speed_t'.
11495
dd854dc2
DL
114962000-05-26 Dave Love <fx@gnu.org>
11497
11498 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11499
11500 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11501 (Fsubr_arity): New function.
11502 (syms_of_data): Install them.
11503
ba9f8f95
KH
115042000-05-26 Kenichi Handa <handa@etl.go.jp>
11505
0f3e0672
KH
11506 * charset.c (init_charset_once): Set the table bytes_by_char_head
11507 correctly.
11508
cebefb44
KH
11509 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11510 the default fontset to what Emacs uses by default.
0f3e0672
KH
11511 (check_registry_encoding): This function deleted.
11512 (Fset_fontset_font): Remove the adhoc condition for the default
11513 fontset. Allow cons in FONTNAME.
cebefb44 11514
0f3e0672
KH
11515 * fns.c (map_char_table): Ignore char-table entries for
11516 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11517
7a18af49
KR
115182000-05-25 Ken Raeburn <raeburn@gnu.org>
11519
11520 * emacs.c (main): Initialize keyboard syms before initializing
11521 window code, so face names are available.
11522
d2af47df
SM
115232000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11524
11525 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11526 of an anchor at the beginning of a shy-group.
11527
fc6a6a4e
GM
115282000-05-25 Gerd Moellmann <gerd@gnu.org>
11529
11530 * xdisp.c (handle_invisible_prop): Don't try to skip over
11531 invisible text if end of text is already reached.
11532
005f0d35
DL
115332000-05-25 Dave Love <fx@gnu.org>
11534
02513cdd
DL
11535 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11536
005f0d35
DL
11537 * coding.c (encode_eol): Add null statement after label.
11538
89f6ca4e
EZ
115392000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11540
11541 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11542 2000-05-20.
11543
a4e1759e
KH
115442000-05-25 Kenichi Handa <handa@etl.go.jp>
11545
11546 * ccl.c (ccl_driver): Fix previous change.
11547
eacfd7fe
KH
115482000-05-25 Kenichi Handa <handa@etl.go.jp>
11549
46ab33a9
KH
11550 * coding.c (run_pre_post_conversion_on_str): Set point to the
11551 beginning of buffer before calling coding->post_read_conversion.
11552 (decode_coding_string): Give correct args to
11553 run_pre_post_conversion_on_str.
11554 (encode_coding_string): Likewise.
11555
eacfd7fe
KH
11556 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11557 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11558 eight-bit-graphic correctly.
11559
f8569325
DL
115602000-05-24 Kenichi HANDA <handa@etl.go.jp>
11561
11562 * fileio.c (Finsert_file_contents): Even if a file is not found,
11563 execute codes for setting up coding system. Call
11564 after-insert-file-functions unconditionally.
11565
04545643
GM
115662000-05-24 Gerd Moellmann <gerd@gnu.org>
11567
11568 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11569 BSD_PGRPS are not defined.
11570
747d90ea
KH
115712000-05-24 Kenichi Handa <handa@etl.go.jp>
11572
11573 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11574 DESCRIPTION.
11575 (syms_of_charset): Avoid building same strings.
11576
716e3b88
GM
115772000-05-23 Gerd Moellmann <gerd@gnu.org>
11578
11579 * lread.c (Fload): Add a comment about the meaning of
11580 Vuser_init_file being t.
11581
11582 * puresize.h (BASE_PURESIZE): Increase to 675000.
11583
11584 * s/gnu-linux.h (setpgrp): Don't define it here because this
11585 prevents compilation on GNU/Linux systems with glib 2.2.
11586
11587 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11588 as setpgid.
427ec082 11589
9aeb39fa
EZ
115902000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11591
11592 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11593 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11594 version.
11595 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11596
29ced61b
KH
115972000-05-23 Kenichi Handa <handa@etl.go.jp>
11598
52283633 11599 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11600
3d80f24d
KH
11601 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11602
52283633 11603 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11604
29ced61b
KH
11605 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11606
d7e00792
KH
116072000-05-22 Kenichi Handa <handa@etl.go.jp>
11608
c9d80d38
KH
11609 * keyboard.c (read_char): Allow character codes 128..255 to be
11610 handled by input-method-function.
11611
d7e00792
KH
11612 * insdel.c (adjust_markers_for_replace): Fix previous change.
11613 (adjust_after_replace): If PREV_TEXT is nil, call
11614 adjust_markers_for_insert, not adjust_markers_for_replace.
11615
087121cc 116162000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11617
087121cc
GM
11618 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11619 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11620 [HAVE_GRANDPT]: Define.
11621 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11622
11623 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11624 like SYSV_PTYS.
11625
11626 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11627
11628 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11629
c9671f81
KH
116302000-05-20 Kenichi Handa <handa@etl.go.jp>
11631
11632 The following changes are to handle 8-bit characters in a
11633 multibyte buffer/string without facing with byte combining
11634 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11635 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11636
11637 * Makefile.in (fns.o): Depend on charset.h.
11638
11639 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11640 convert it to unibyte.
11641 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11642
11643 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11644 apparent char boundary.
11645 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11646 0x80..0x9F to/from multibyte form.
11647
11648 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11649 to unibyte.
11650
11651 * callproc.c (Fcall_process): Always encode an argument string if
11652 it is multibyte. Setup src_multibyte and dst_multibyte members of
11653 process_coding properly.
ce75fd23 11654
c9671f81
KH
11655 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11656 SPLIT_NON_ASCII_CHAR.
11657
11658 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11659 as is.
11660 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11661
52283633 11662 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11663 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11664 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11665 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11666 and eight-bit-graphic.
11667 (char_to_string): Likewise. Signal an error for too large
11668 character code.
11669 (char_printable_p): Return 0 for 8-bit characters.
11670 (update_charset_table): Update iso_charset_table only when a final
11671 character is non-negative.
11672 (find_charset_in_text): Renamed from find_charset_in_str.
11673 Arguments and return value changed. Callers changed.
11674 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11675 be -1 if CHARSET is used only internally.
11676 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11677 eight-bit-graphic.
11678 (Fcharset_after): Simplified.
11679 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11680 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11681 (multibyte_chars_in_text): Simplified by assuming there's no
11682 invalid multibyte sequence.
52283633
SM
11683 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11684 (str_as_unibyte): New functions.
11685 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11686 (init_charset_once): Initialization for
11687 LEADING_CODE_8_BIT_CONTROL.
11688 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11689 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11690 eight-bit-control and eight-bit-graphic.
11691
52283633
SM
11692 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11693 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11694 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11695 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11696 (CHARSET_REVERSE_CHARSET): Likewise.
11697 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11698 eight-bit-graphic.
11699 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11700 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11701 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11702 encounter an invalid multibyte sequence.
11703 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11704 sequence is always valid.
11705 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11706 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11707 (CHAR_STRING): For 8-bit characters, call char_to_string.
11708 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11709 multibyte sequence is always valid.
11710 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11711 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11712 (str_as_unibyte): Extern them.
c9671f81 11713 (BCOPY_SHORT): Fix a bug.
52283633 11714 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11715 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11716 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11717 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11718
bd4bde7f 11719 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11720 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11721 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11722 (EMIT_BYTES): New macros.
11723 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11724 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11725 macros deleted.
11726 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11727 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11728 check the validity of multibyte sequence.
11729 (decode_coding_emacs_mule): New function.
11730 (encode_coding_emacs_mule): New macro.
11731 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11732 the source.
11733 (DECODE_ISO_CHARACTER): Just return a character code.
11734 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11735 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11736 EMIT_CHAR to produced decoded characters. Exit the loop only by
11737 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11738 block here.
11739 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11740 only position codes for an invalid character.
11741 (encode_designation_at_bol): Return new destination pointer. 5th
11742 arg DSTP is changed to DST.
11743 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11744 from the source by ONE_MORE_CHAR. Don't handle the case of last
11745 block here.
11746 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11747 macros deleted.
52283633
SM
11748 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11749 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11750 TWO_MORE_BYTES to fetch a byte from the source.
11751 (encode_eol): Pay attention to coding->src_multibyte.
11752 (detect_coding, detect_eol): Preserve members src_multibyte and
11753 dst_multibyte.
11754 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11755 (encoding_buffer_size): Set magnification to 3 for all coding
11756 systems that require encoding.
11757 (ccl_coding_driver): For decoding, be sure that the result is
11758 valid multibyte sequence.
11759 (decode_coding): Initialize coding->errors and coding->result.
11760 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11761 and raw-text, always call decode_eol. Handle the case of last
11762 block here. If not coding->dst_multibyte, convert the resulting
11763 sequence to unibyte.
11764 (encode_coding): Initialize coding->errors and coding->result.
11765 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11766 and raw-text, always call encode_eol. Handle the case of last
11767 block here.
11768 (shrink_decoding_region, shrink_encoding_region): Detect cases
11769 that we can't skip data more rigidly.
11770 (code_convert_region): Setup src_multibyte and dst_multibyte
11771 members of coding. For decoding, if the buffer is multibyte,
11772 convert the source sequence to unibyte in advance. For encoding,
11773 if the buffer is multibyte, convert the resulting sequence to
11774 multibyte afterward.
11775 (run_pre_post_conversion_on_str): New function.
11776 (code_convert_string): Deleted and divided into the following two.
11777 (decode_coding_string, encode_coding_string): New functions.
11778 (code_convert_string1, code_convert_string_norecord): Call one of
11779 above.
11780 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11781 MAKE_NON_ASCII_CHAR.
52283633
SM
11782 (Fset_terminal_coding_system_internal)
11783 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11784 and dst_multibyte members.
11785 (init_coding_once): Initialize iso_code_class with new enum
11786 ISO_control_0 and ISO_control_1.
11787
11788 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11789 devided into ISO_control_0 and ISO_control_1.
11790 (struct coding_system): New members src_multibyte, dst_multibyte,
11791 errors, and result. Delete member fake_multibyte.
11792 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11793 nonzero.
11794 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11795 nonzero.
11796
11797 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11798 (Faset): Likewise.
11799
11800 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11801 multibyte form.
11802 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11803 combining occurs.
11804 (Ftranspose_region): Delete codes for handling byte combining.
11805
11806 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11807 dst_multibyte members of coding. On handling REPLACE on unibyte
11808 buffer, convert the result of decode_coding to unibyte. On
11809 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11810 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11811 multibyteness of the source (buffer or string).
11812
11813 * fns.c (concat): Handle 8-bit characters correctly.
11814 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11815 unibyte in the result.
11816 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11817 valid multibyte form in the result.
11818 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11819 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11820 return -1, signal an error.
11821 (base64_encode_1): New arg MULTIBYTE. Get each character by
11822 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11823 character is found, return -1.
11824 (Fbase64_decode_region): Delete codes for handling byte-combining.
11825 Treat each decoded byte as a unibyte character.
11826 (Fbase64_decode_string): Return unibyte string.
11827 (Fcompare_strings, concat, string_byte_to_char): Use
11828 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11829 FETCH_STRING_CHAR_ADVANCE.
11830 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11831 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11832
11833 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11834 SPLIT_NON_ASCII_CHAR.
11835 (fontset_ref_via_base, fontset_set): Likewise
11836
11837 * insdel.c (adjust_markers_for_record_delete): Deleted.
11838 (adjust_markers_for_insert): Argument changed. Caller changed.
11839 (adjust_markers_for_replace): Likewise.
52283633
SM
11840 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11841 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11842 (copy_text): Delete unused local varialbe c_save. For converting
11843 to multibyte, be sure to make all 8-bit characters in valid
11844 multibyte form.
11845 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11846 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11847 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11848 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11849 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11850 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11851 handling byte combining.
11852 (adjust_before_replace): Deleted.
427ec082 11853
c9671f81
KH
11854 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11855 SPLIT_NON_ASCII_CHAR.
11856 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11857 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11858 (Fkey_description): Likewise.
11859
11860 * lread.c (read1): On reading multibyte string, be sure to make
11861 all 8-bit chararacters in valid multibyte form.
11862 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11863
11864 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11865 unconditionally.
11866
11867 * process.c (Fstart_process): GCPRO current_dir before calling
11868 Ffind_operation_coding_system. Encode arguments here.
11869 (create_process): Don't encode arguments here. Setup
11870 src_multibyte and dst_multibyte members of struct coding.
11871 (read_process_output): Setup src_multibyte and dst_multibyte
11872 members of struct coding. If the output is to multibyte buffer,
11873 always decode the output of the process. Adjust the
52283633 11874 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11875 (send_process): Setup coding->src_multibyte according to the
11876 multibyteness of the source.
11877
52283633 11878 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11879 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11880 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11881
52283633 11882 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11883
11884 * w16select.c (Fw16_set_clipboard_data): Setup members
11885 src_multibyte and dst_multibyte of coding. Adjusted for the
11886 change for find_charset_in_str.
11887 (Fw16_get_clipboard_data): Likewise.
11888
11889 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11890 dst_multibyte of coding.
11891 (x_to_w32_font): Likewise.
11892
11893 * w32select.c (Fw32_set_clipboard_data): Setup members
11894 src_multibyte and dst_multibyte of coding. Adjusted for the
11895 change for find_charset_in_str.
11896 (Fw32_get_clipboard_data): Likewise.
11897
11898 * xdisp.c (get_next_display_element): Handle 8-bit characters
11899 correctly.
52283633
SM
11900 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11901 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11902
11903 * xselect.c (selection_data_to_lisp_data): Setup members
11904 src_multibyte and dst_multibyte of coding. Adjusted for the
11905 change for find_charset_in_str.
11906 (lisp_data_to_selection_data): Likewise.
11907
5f64c9e0
GM
119082000-05-19 Gerd Moellmann <gerd@gnu.org>
11909
52283633 11910 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11911
5f64c9e0
GM
11912 * dispextern.h (Vimage_types): Add extern declaration.
11913
11914 * xdisp.c (Vimage_types): Moved here from xfns.c.
11915 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11916
11917 * xfns.c (Vimages_types): Moved to xdisp.c.
11918 (syms_of_xfns): Move `image-types' to xdisp.c.
11919
11920 * w32fns.c (Vimage_types): Removed.
11921 (syms_of_w32fns): Remove `image-types'.
11922
813086ea
KH
119232000-05-18 Kenichi Handa <handa@etl.go.jp>
11924
11925 * fns.c (map_char_table): Pay attention to character number of
11926 charset. Check the validity of charset at the first level. For
11927 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11928 the default value.
11929
11930 * fontset.c: Include "buffer.h".
11931 (fs_load_font): If the face has fontset, record the face ID in
11932 that fontset.
11933 (Finternal_char_font): New function.
11934 (accumulate_font_info): New function.
11935 (Ffontset_info): Rewritten for the new fontset implementation.
11936 (syms_of_fontset): Register Vdefault_fontset in the first element
11937 of Vfontset_table. Include Vdefault_fontset in
11938 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11939 function.
11940
bdaebbf0
DL
119412000-05-16 Dave Love <fx@gnu.org>
11942
11943 * m/iris5d.h: Deleted -- unused.
11944
cb613bb8
GM
119452000-05-16 Gerd Moellmann <gerd@gnu.org>
11946
b15f3b77
GM
11947 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11948 `invalid' instead of `illegal'.
11949
11950 * indent.c (Fmove_to_column): When ending within a tab, insert
11951 spaces first so that markers at the end of the tab get adjusted.
11952
835c1b36
GM
11953 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11954 buffer list that wasn't selected in that frame.
11955
cb613bb8
GM
11956 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11957 is needed on mescaline, use a 2 char prefix, and call
11958 make_temp_name with second arg non-zero.
11959
11960 * fileio.c (make_temp_name): New function, extracted from
11961 Fmake_temp_name.
11962 (Fmake_temp_name): Use it.
11963
f685bea9
EZ
119642000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11965
52283633 11966 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11967
a1b8d58b
GM
119682000-05-15 Gerd Moellmann <gerd@gnu.org>
11969
11970 * Makefile.in (lisp): Add env.elc.
11971
11972 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11973
a265079f
GM
119742000-05-12 Gerd Moellmann <gerd@gnu.org>
11975
11976 * search.c (Freplace_match): Handle case of `\N' in the
11977 replacement when there's no group N.
11978
da4496b6
GM
119792000-05-11 Gerd Moellmann <gerd@gnu.org>
11980
0ace421a
GM
11981 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11982 of the message to message_dolog.
11983
1172eb8d
GM
11984 * keyboard.c (read_char): Don't clear current message for help
11985 events; let the code handling help events handle this. Change
11986 code detecting help events that should be ignored.
11987
da4496b6
GM
11988 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11989 we're interating over a string.
11990
0623e40f
DL
119912000-05-09 Dave Love <fx@gnu.org>
11992
11993 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11994 that offset before writing. Move gcpro region past call of
11995 Ffile_regular_p.
11996
bae2503b
DL
119972000-05-04 Dave Love <fx@gnu.org>
11998
11999 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12000
ec82fb2f
GM
120012000-05-04 Gerd Moellmann <gerd@gnu.org>
12002
12003 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12004 of inserted characters when BUF equals the current buffer, and PT
12005 is in front of or equal to FROM.
12006
cbf18892
GM
120072000-05-03 Gerd Moellmann <gerd@gnu.org>
12008
4ff40dd0
GM
12009 * xdisp.c (handle_single_display_prop): If display property value
12010 is invalid, or something not supported on the frame, restore
12011 iterator's position to what it was initially. Make sure to return
12012 0 for invalid and unsupported property values.
12013
cbf18892
GM
12014 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12015 that x_per_char_metric returns null.
12016
1b0672c3
GM
120172000-05-02 Gerd Moellmann <gerd@gnu.org>
12018
576da55d
GM
12019 * xterm.h (struct face): Add forward declaration.
12020 (struct image): Ditto.
12021 (image_ascent): Add prototype.
12022
12023 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12024 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12025 image_ascent instead of using IMAGE_ASCENT.
12026
12027 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12028 (IMAGE_ASCENT): Removed.
12029
12030 * xfns.c (Qcenter): New variable.
12031 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12032 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12033 (image_ascent): New function.
12034 (lookup_image): Recognize `:ascent center'.
12035 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12036 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12037 (xbm_load): Don't set image's ascent here.
12038 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12039 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12040 check ascent values here.
12041 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12042 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12043 (syms_of_xfns): Initialize Qcenter.
12044
1b0672c3
GM
12045 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12046 to the limits, increase the limits.
12047
0d7811ed
KH
120482000-05-01 Kenichi Handa <handa@etl.go.jp>
12049
12050 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12051 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12052
a943a5ca
GM
120532000-04-28 Gerd Moellmann <gerd@gnu.org>
12054
12055 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12056 taller than the window.
12057
5dba1e29
KH
120582000-04-28 Kenichi Handa <handa@etl.go.jp>
12059
12060 * xfaces.c (realize_x_face): Fix the argument of the second
12061 xassert. BASE_FACE may not be a face for ASCII.
12062
353964e3
GM
120632000-04-27 Gerd Moellmann <gerd@gnu.org>
12064
c76e04a8
GM
12065 * print.c (print_object): Treat print-length < 0 as nil.
12066
12067 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12068
12069 * s/freebsd.h (TERMCAP_OBJ): Removed.
12070 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12071
12072 * lread.c (read1): Don't treat period followed by certain
12073 characters as symbol start.
12074
12075 * xfns.c (slurp_file): New function.
12076 (xbm_image_p): Handle case of in-memory XBM files.
12077 (xbm_scan): Rewritten to work on memory buffers instead of files.
12078 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12079 Work on memory buffers instead of files. If DATA is null test
12080 if buffer looks like an in-memory XBM file.
12081 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12082 memory buffers instead of files.
12083 (xbm_file_p): New function.
12084 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12085
353964e3
GM
12086 * lread.c (end_of_file_error): New function.
12087 (read1): Call it instead of signaling `end-of-file' directly.
12088
427ec082 12089 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12090 with Fprinc instead of Fprin1.
12091
24d744ac
KR
120922000-04-26 Ken Raeburn <raeburn@gnu.org>
12093
12094 * window.c (freeze_window_start): Check that minibuffer scroll
12095 window isn't nil before extracting the window structure pointer
12096 from it.
12097
12098 * undo.c (record_delete): If we hit the end of the undo list, stop
12099 picking elements apart.
12100
7464346d
GM
121012000-04-26 Gerd Moellmann <gerd@gnu.org>
12102
12103 * xdisp.c (display_line): If lines are continued, restore
12104 iterator's ascent/descent information to the values before the
12105 first glyph not fitting on the line.
12106
612839b6
GM
121072000-04-25 Gerd Moellmann <gerd@gnu.org>
12108
12109 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12110 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12111
12112 * dispnew.c (increment_matrix_positions): Renamed from
12113 increment_glyph_matrix_buffer_positions.
12114 (increment_row_positions): Renamed from
12115 increment_glyph_row_buffer_positions.
12116
12117 * dispextern.h: Change names of renamed functions from dispnew.c
12118 in prototypes.
12119
cc181e95
GM
121202000-04-24 Gerd Moellmann <gerd@gnu.org>
12121
abfcc168
GM
12122 * fileio.c (Fdo_auto_save): Create directories for auto-save
12123 list file if necessary.
12124
cc181e95
GM
12125 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12126 from buffer or frame.
12127 (automatic_hscrolling_p): New variable.
12128 (hscroll_windows): Scroll windows horizontally only if automatic
12129 hscrolling is allowed.
12130 (syms_of_xdisp): New variable `automatic-hscrolling'.
12131
12132 * frame.h (struct frame): Add member extra_line_spacing.
12133
12134 * xfns.c (x_set_line_spacing): New function.
12135 (Fx_create_frame): Set line spacing from resources.
12136 (Qline_spacing): New variable.
12137 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12138
cc181e95
GM
12139 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12140
12141 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12142 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12143 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12144 extra_line_spacing from default value.
12145 (init_buffer_once): Initialize default value of extra_line_spacing.
12146
12147 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12148 and extra3.
12149
12150 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12151 prompt_width. Add extra line spacing.
12152
12153 * term.c (produce_glyphs): Remove reference to struct it's
12154 prompt_width.
12155
12156 * dispextern.h (struct it): Remove member prompt_width, add
12157 extra_line_spacing.
12158
58827478
GM
121592000-04-22 Gerd Moellmann <gerd@gnu.org>
12160
12161 * dispnew.c (update_frame_line): When writing a whole line, make
12162 sure cursor is in the right row afterwards, otherwise a use of
12163 capability `ch' in cmgoto might leave the cursor in the row below.
12164
25a87f42
GM
121652000-04-21 Gerd Moellmann <gerd@gnu.org>
12166
12167 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12168
12169 * keyboard.c (timer_check): Fix typo in comment.
12170
54edf5c2
KH
121712000-04-21 Kenichi Handa <handa@etl.go.jp>
12172
12173 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12174 name change: ch -> character.
12175
3a64eef5
GM
121762000-04-20 Gerd Moellmann <gerd@gnu.org>
12177
12178 * keyboard.c (echo_message_buffer): New variable.
12179 (echo_now): Set echo_message_buffer to the echo area buffer used
12180 to display the echo.
12181 (cancel_echoing): Reset echo_message_buffer to nil.
12182 (read_char): Code rewritten that handles canceling an echo or
12183 echoing a dash, respectively.
12184
12185 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12186 directory doesn't exist.
12187
6142fdcb
DL
121882000-04-19 Dave Love <fx@gnu.org>
12189
12190 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12191 (concat): Don't allow numeric args.
12192 (Fconcat): Doc change.
6142fdcb 12193
ac6b5352
SM
121942000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12195
12196 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12197 instead define end_match(1|2) more carefully.
12198 Use GET_CHAR_BEFORE_2 for `begline'.
12199
cb9215e4
GM
122002000-04-19 Gerd Moellmann <gerd@gnu.org>
12201
5e3dac3f
GM
12202 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12203 on 64-bit systems where NULL is defined as `0'.
12204
12205 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12206 the `variable argument list' to make it work on Alpha.
12207
cb9215e4
GM
12208 * m/alpha.h (_LP64) [!_LP64]: Define.
12209 (ORDINARY_LINK): Define for NetBSD.
12210
12211 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12212
f532dca0
DL
122132000-04-19 Dave Love <fx@gnu.org>
12214
c750667e
DL
12215 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12216 change.
12217
12218 * Makefile.in (LIBS): Don't use.
12219 (GETLOADAVG_OBJ): Define again.
12220 (otherobj): Add GETLOADAVG_OBJ.
12221
f532dca0
DL
12222 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12223
1c7e22fd
GM
122242000-04-18 Gerd Moellmann <gerd@gnu.org>
12225
f6d3257b
GM
12226 * lread.c (read_filtered_event): Cancel and start busy cursor.
12227
427ec082 12228 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12229 that the per-character metrics may be null.
12230
e10f64e7
GM
122312000-04-17 Gerd Moellmann <gerd@gnu.org>
12232
0daee095
GM
12233 * buffer.c (clone_per_buffer_values): New function.
12234 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12235 clone_per_buffer_values if CLONE is not nil.
12236
e10f64e7
GM
12237 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12238
38687d43
DL
122392000-04-16 Dave Love <fx@gnu.org>
12240
12241 * Makefile.in: Remove obsolete localcpp stuff.
12242 (GETLOADAVG_OBJ): Don't define.
12243 (obj): Move LIBOBJS...
12244 (otherobj): ... to here.
12245 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12246 whitespace-only lines after the continuation (Irix).
12247
c21c7262
GM
122482000-04-14 Gerd Moellmann <gerd@gnu.org>
12249
12250 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12251
12252 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12253
314767c0
DL
122542000-04-14 Dave Love <fx@gnu.org>
12255
12256 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12257 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12258 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12259 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12260 NLIST_STRUCT.
12261
12262 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12263 autoconfiscated HAVE_GETLOADAVG.
12264
12265 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12266 BROKEN_MKTIME.
12267
a2522dca
GM
122682000-04-14 Gerd Moellmann <gerd@gnu.org>
12269
12270 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12271 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12272
33744b5d
DL
122732000-04-14 Dave Love <fx@gnu.org>
12274
c21c7262 12275 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12276 (INTERVAL_SRC): Convert to make variable.
12277 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12278 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12279 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12280 add LIBOBJS.
12281 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12282 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12283 (shortlisp): Add facemenu, float-sup, frame.
12284 (SOME_MACHINE_LISP): Remove them from here.
12285 (LIBES): Change unused LDLIBS to autoconf LIBS.
12286
12287 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12288
9d3d5916
KH
122892000-04-14 Kenichi Handa <handa@etl.go.jp>
12290
12291 * composite.c (update_compositions): If FROM and TO are not in a
12292 valid range, do nothing.
12293
198e3c7a
GM
122942000-04-13 Gerd Moellmann <gerd@gnu.org>
12295
52283633 12296 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12297
52283633 12298 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12299
12300 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12301 as TERMCAP_OBJ.
12302
055a28c9
EZ
123032000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12304
12305 * fileio.c (a_write): Remove redundant semi-colons.
12306 (e_write): Return -1 if failed to write all the data.
12307 This fixes the changes made at 1999-12-15.
12308
f5c75033
DL
123092000-04-12 Dave Love <fx@gnu.org>
12310
12311 * fns.c (mapcar1): Test for null vals to support mapc.
12312 (Fmapc): New function.
12313
0c3cfc51
EZ
123142000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12315
12316 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12317 (IT_frame_up_to_date): Support the buffer local value of
12318 cursor-type, if defined.
12319
33465a31
DL
123202000-04-10 Dave Love <fx@gnu.org>
12321
12322 * editfns.c (preceding-char, following-char): Doc fix.
12323
6ed56568
KR
123242000-04-10 Ken Raeburn <raeburn@gnu.org>
12325
12326 * Makefile.in (temacs): Revert 2000-03-12 change.
12327
7cf80d4e
JR
123282000-04-10 Jason Rumney <jasonr@gnu.org>
12329
12330 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12331
34f3f342
GM
123322000-04-10 Gerd Moellmann <gerd@gnu.org>
12333
1a1b1895
GM
12334 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12335 area buffer, if it's not set up yet.
12336
34f3f342
GM
12337 * indent.c (compute_motion): Set immediate_quit.
12338
be0dbdab
GM
123392000-04-09 Gerd Moellmann <gerd@gnu.org>
12340
52283633 12341 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12342 (realize_tty_face): Suppress boldness if colors are the inverse of
12343 the default colors, and tty_suppress_bold_inverse_default_colors_p
12344 is set.
12345 (Ftty_suppress_bold_inverse_default_colors): New function.
12346 (syms_of_xfaces): Defsubr it.
12347
be0dbdab
GM
12348 * buffer.c (Frestore_buffer_modified_p): New function.
12349 (syms_of_buffer): Defsubr it.
12350
e8413c3b
KR
123512000-04-08 Ken Raeburn <raeburn@gnu.org>
12352
87f67317
KR
12353 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12354 charset id (int) argument, not a charset (Lisp_Object).
12355
e8413c3b
KR
12356 * coding.h (code_convert_string): Declare.
12357 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12358 object, as the fourth argument to code_convert_string.
12359
52283633 12360 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12361 (Fset_fontset_font): Use EQ to compare lisp objects.
12362
7c752c80
KR
123632000-04-05 Ken Raeburn <raeburn@gnu.org>
12364
c0333abc
KR
12365 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12366 a pointer that looks like a lisp object.
12367 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12368 zero, instead see whether it's an integer object, since they can't
12369 have intervals.
12370 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12371
52283633
SM
12372 * dispnew.c (allocate_matrices_for_frame_redisplay)
12373 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12374 to convert between (unsigned) int values and lisp integers.
12375 * keyboard.c (read_key_sequence): Likewise.
12376 * lread.c (substitute_object_recurse): Likewise.
12377 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12378 * minibuf.c (do_completion, Fminibuffer_complete_word)
12379 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12380 * term.c (produce_special_glyphs): Likewise.
12381
12382 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12383 * print.c (print_preprocess, print_object): Likewise.
12384
12385 * search.c (compile_pattern): Use NILP when checking for nil.
12386
74e49b38
KR
12387 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12388 __OPTIMIZE__]: Provide a GNU C macro version that handles
12389 lisp-object unions.
12390 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12391 field, to better cope with ENABLE_CHECKING and calls that modify a
12392 Lisp_Object using its old value.
12393
685e5ed2
GM
123942000-04-04 Gerd Moellmann <gerd@gnu.org>
12395
c407c570
GM
12396 * window.c (compare_window_configurations): Signal an error
12397 if parameters C1 or C2 aren't window configurations.
12398
685e5ed2
GM
12399 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12400 AFTER_POTENTIAL_GC calls around calls to functions that can
12401 signal an error and thus invoke the debugger.
12402
587a49ab
GM
124032000-04-03 Gerd Moellmann <gerd@gnu.org>
12404
62f20204
GM
12405 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12406 an error if decoding fails.
12407
587a49ab
GM
12408 * keyboard.c (lispy_mouse_names): Variable removed.
12409 (Vlispy_mouse_stem): New variable.
12410 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12411 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12412 for any mouse button number. Increase size of mouse_syms and
12413 button_down_location as needed. Call modify_event_symbol with
12414 different arguments.
12415 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12416 Call modify_event_symbol with different arguments.
12417 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12418 for any button number. Call modify_event_symbol with different
12419 arguments.
12420 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12421 Accept a string for NAME_ALIST_OR_STEM.
12422
12423 * lisp.h (larger_vector): Add prototype.
12424
12425 * fns.c (larger_vector): Make externally visible.
12426
12427 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12428
2d1675e4
SM
124292000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12430
12431 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12432 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12433 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12434 we are between str1 and str2.
12435 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12436 (PATFETCH): Use `TRANSLATE'.
12437 (PATFETCH_RAW): Fetch multibyte char if applicable.
12438 (PATUNFETCH): Remove.
12439 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12440 When writing a char, write it directly into the pattern buffer rather
12441 than going needlessly through a temp char-array.
12442 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12443 multibyte magic and remove the useless `#ifdef emacs'.
12444 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12445 buffer.
12446
12447 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12448 conditional on `emacs'.
12449
12450 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12451
cc2d8c6b
KR
124522000-04-01 Ken Raeburn <raeburn@gnu.org>
12453
12454 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12455 non-union-type versions of XMARK and friends here, because XMARK
12456 and friends won't work on an integer field if NO_UNION_TYPE is not
12457 defined.
52283633 12458 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12459
52283633 12460 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12461 (syms_of_composite): Delete local var NARGS, pass an int as first
12462 argument to Fmake_hash_table.
12463
2387b382
KR
12464 * editfns.c (text_property_stickiness): Use NILP to test
12465 Lisp_Object boolean value.
12466 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12467 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12468 problems reading from and changing the same lisp value in an
12469 XSETSTRING call.
12470
27660e89
GM
124712000-04-01 Gerd Moellmann <gerd@gnu.org>
12472
12473 * term.c (TN_no_color_video): New variable.
12474 (term_init): Intitialize TN_no_color_video.
12475 (enum no_color_bit): New enumeration.
12476 (MAY_USE_WITH_COLORS_P): New macro.
12477 (turn_on_face): Use it to determine if attributes may be used
12478 combined with colors.
12479
3578db3c
KR
124802000-04-01 Ken Raeburn <raeburn@gnu.org>
12481
12482 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12483 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12484 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12485 proper accessor macros.
12486 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12487 (grow_mini_window): Fix typo getting int value of root->height.
12488
6fc556fd
KR
12489 * xdisp.c (compute_string_pos): Fix order of arguments to
12490 string_pos_nchars_ahead.
12491 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12492 count arg to variable-arg routines like Frun_hook_with_args and
12493 Fformat.
587a49ab
GM
12494 (back_to_previous_visible_line_start)
12495 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12496 fixed-arg routines like Fget_char_property and Fmake_string.
12497 (reconsider_clip_changes): Use XINT when comparing integer lisp
12498 objects, or passing them as int arguments.
587a49ab
GM
12499 (mark_window_display_accurate, insert_left_trunc_glyphs)
12500 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12501 storing or passing integer values as lisp objects.
12502 (set_cursor_from_row, highlight_trailing_whitespace): Use
12503 INTEGERP, not implicit test against zero, for glyph object.
12504 (try_window_id): Don't use make_number when we want an int value.
12505
12506 * xfaces.c (xlfd_symbolic_value): Make last argument a
12507 Lisp_Object, to be consistent with callers.
12508 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12509 (lface_hash): Apply XFASTINT to lisp values before folding in.
12510
12511 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12512 fill in window width and height. Pass an int, not a lisp object,
12513 as first arg to Finsert.
12514
6e7b2457
GM
125152000-04-01 Gerd Moellmann <gerd@gnu.org>
12516
610d841e
GM
12517 * xfaces.c (realize_basic_faces): Block input while realizing
12518 the faces.
12519
6e7b2457
GM
12520 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12521
12522 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12523
aa110c0c
GM
125242000-03-31 Gerd Moellmann <gerd@gnu.org>
12525
12526 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12527 or ASCII, handle case that per-char metric is null.
aa110c0c 12528
8801a864
KR
125292000-03-30 Ken Raeburn <raeburn@gnu.org>
12530
c6129d7e
KR
12531 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12532
52283633
SM
12533 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12534 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12535 pointer, using eassert.
12536 * frame.h (XFRAME): Likewise.
12537
52283633
SM
12538 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12539 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12540 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12541 * data.c (set_internal): Likewise.
52283633
SM
12542 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12543 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12544 * fileio.c (auto_save_1): Likewise.
12545 * insdel.c (check_markers): Likewise.
12546 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12547 * undo.c (record_insert): Likewise.
12548 * vmsproc.c (child_sig): Likewise.
12549 * window.c (unshow_buffer, window_loop): Likewise.
12550 * xterm.c (x_erase_phys_cursor): Likewise.
12551
8e7af858
GM
125522000-03-30 Gerd Moellmann <gerd@gnu.org>
12553
12554 * xfns.c (free_image_cache): Free the cache structure itself
12555 last, after all its members have been freed.
12556
12557 * lisp.h (xstrdup): Add prototype.
12558
12559 * alloc.c (xstrdup): Moved here from xfaces.c.
12560 (allocating_for_lisp): Variable removed.
52283633 12561 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12562
12563 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12564 of Fsymbol_value.
12565 (xstrdup): Moved to alloc.c.
12566
e0b8c689
KR
125672000-03-29 Ken Raeburn <raeburn@gnu.org>
12568
b96f9fb7
KR
12569 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12570
12571 * emacs.c (main): Fix sense of no-loadup test.
12572
e0b8c689
KR
12573 * config.in (ENABLE_CHECKING): Undef.
12574
12575 * lisp.h (struct interval): Replace "parent" field with a union of
12576 interval pointer and Lisp_Object; add new bitfield to use as
12577 discriminant. Change other flag fields to bitfields.
12578 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12579 is defined and the supplied test fails, print a message and abort.
12580 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12581
12582 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12583 pointers; abort if the value looks like a lisp object.
52283633
SM
12584 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12585 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12586 Modify for new interval parent definition.
12587
52283633
SM
12588 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12589 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12590 addressable lisp object in the interval structure.
12591 (die): New function.
12592 (suppress_checking): New variable.
12593
12594 * intervals.c (interval_start_pos): Just return 0 if there's no
12595 parent object.
12596
f83c5440
GM
125972000-03-29 Gerd Moellmann <gerd@gnu.org>
12598
12599 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12600 and earlier Emacs versions.
12601
12602 * keyboard.c (Ftop_level): Cancel busy-cursor.
12603
12604 * eval.c (call_debugger): Cancel busy-cursor.
12605
fdce64ff
KH
126062000-03-29 Kenichi Handa <handa@etl.go.jp>
12607
12608 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12609 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12610
f6a3f532
SM
126112000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12612
12613 * regex.c (analyse_first): New function obtained by ripping out most
12614 of re_compile_fastmap and generalizing it a little bit so that it
12615 can also just return whether a given (sub)pattern can match the empty
12616 string or not.
12617 (regex_compile): Use `analyse_first' to decide whether the loop-check
12618 needs to be done or not for *, +, *? and +? (the loop check is costly
12619 for non-greedy repetition).
12620 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12621
e9b309ac
DL
126222000-03-28 Dave Love <fx@gnu.org>
12623
52283633 12624 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12625
e9b309ac
DL
12626 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12627
ed0767d8
SM
126282000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12629
12630 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12631 an expression.
12632 (enum re_opcode_t): Update description of succeed_n.
12633 (PATFETCH): Always define.
12634 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12635 operators, char classes, shy-groups and intervals).
12636 Optimize special cases of intervals so as to only use succeed_n and
12637 jump_n when really needed.
12638 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12639 that we don't have to handle the special cases any more.
12640 Simplify on_failure_jump handling as well.
12641
e11e7e46
JR
126422000-03-28 Jason Rumney <jasonr@gnu.org>
12643
12644 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12645
88faab89
GM
126462000-03-27 Gerd Moellmann <gerd@gnu.org>
12647
182ff242
GM
12648 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12649
12650 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12651
182ff242
GM
12652 * alloc.c (mark_maybe_object): New function.
12653 (mark_memory): Use it.
12654 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12655 (setjmp_tested_p, longjmp_done): New variables.
12656 (test_setjmp): New function.
12657 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12658 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12659
c1005d06
GM
12660 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12661 to DEC_TEXT_POS and INC_TEXT_POS.
12662
12663 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12664 with parameter MULTIBYTE_P.
12665
52283633 12666 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12667
7439e5b9 12668 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12669 buffers because it looks for multibyte character byte sequences
12670 which don't exist in unibyte text.
7439e5b9 12671
d9c545da
GM
12672 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12673
11fd416e 12674 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12675 [DEBUG_X_COLORS]: New functions.
12676 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12677
12678 * xfns.c (x_set_cursor_color): Get color reference counts right.
12679
12680 * xterm.c (x_copy_color): New function.
12681 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12682
12683 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12684 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12685 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12686 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12687 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12688 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12689 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12690 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12691 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12692 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12693
11fd416e
GM
12694 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12695 names for handling per-buffer variables.
d9c545da
GM
12696
12697 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12698 instead of MAX_BUFFER_LOCAL_VARS.
12699 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12700
12701 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12702
88faab89
GM
12703 * xfns.c (x_specified_cursor_type): New function.
12704 (x_set_cursor_type): Use it.
12705
12706 * buffer.h (struct buffer): Add cursor_type.
12707
d80f42b7
SM
127082000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12709
12710 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12711 (print_partial_compiled_pattern, re_compile_fastmap):
12712 Handle new opcode.
d80f42b7
SM
12713 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12714 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12715 executing it as well as when popping it off the stack to find infinite
12716 loops in non-greedy repetition operators.
12717
89e80928
GM
127182000-03-26 Gerd Moellmann <gerd@gnu.org>
12719
3d4ff2dd
GM
12720 * doc.c (Qfunction_documentation): New variable.
12721 (syms_of_doc): Initialize Qfunction_documentation.
12722 (Fdocumentation): If FUNCTION is a symbol with non-nil
12723 `function-documentation' property, return a documentation derived
12724 from that.
12725
bd96bd79
GM
12726 * buffer.c (syms_of_buffer): Add default-cursor-type.
12727 (init_buffer_once): Don't let cursor_type have a local value
12728 in every buffer.
12729
19d1bc27
GM
12730 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12731 on buffer-local value of cursor_type.
12732 (x_draw_bar_cursor): Add parameter WIDTH.
12733
12734 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12735 (init_buffer_once): Set default cursor_type value to t.
12736 Mark cursor_type as local everywhere.
12737 (syms_of_buffer): New per-buffer variable cursor-type.
12738
89e80928
GM
12739 * buffer.h (struct buffer): Remove member local_var_flags,
12740 add local_flags.
12741 (MAX_BUFFER_LOCAL_VARS): New macro.
12742 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12743 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12744 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12745 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12746
52283633 12747 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12748
12749 * category.c (Fset_category_table): Use new macros for per-buffer
12750 variables.
12751
12752 * buffer.c (buffer_permanent_local_flags): Make a char array.
12753 (max_buffer_local_idx): New variable.
12754 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12755 for new handling of per-buffer variables.
12756 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12757 (init_buffer_once): Initialize per-buffer vars differently.
12758 Set max_buffer_local_idx.
12759
12760 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12761 variables.
12762
52283633 12763 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12764
12765 * data.c (do_symval_forwarding, store_symval_forwarding)
12766 (find_symbol_value, set_internal, default_value, Fset_default)
12767 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12768 per-buffer variables.
12769
12770 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12771
9a0dd3dc
GM
127722000-03-24 Gerd Moellmann <gerd@gnu.org>
12773
b68c375f
GM
12774 * xterm.c (x_term_init): Unblock input around call1 of
12775 Qvendor_specific_keysyms.
12776
9a0dd3dc
GM
12777 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12778 (find_defun_start): Consider an open parenthesis in column 0
12779 a defun start only if open_paren_in_column_0_is_defun_start is set.
12780 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12781
7973e637
SM
127822000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12783
12784 * eval.c (Fautoload): Add entry in load-history (if after dump).
12785 * lread.c (load-history): Update docstring.
12786
39210e90
GM
127872000-03-24 Gerd Moellmann <gerd@gnu.org>
12788
12789 * indent.c (Fvertical_motion): Always use the current buffer.
12790 Temporarily change the window's buffer, if necessary.
12791
72db3ab5
GM
127922000-03-23 Gerd Moellmann <gerd@gnu.org>
12793
12794 * xterm.c (fast_find_position): Make sure not to consider rows
12795 not visible in the window.
12796
990b2375
SM
127972000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12798
12799 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12800 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12801
ff4df011
JR
128022000-03-22 Jason Rumney <jasonr@gnu.org>
12803
12804 * w32menu.c (single_submenu): Set help string to NULL if none.
12805 (w32_menu_show): Set help string correctly.
12806 (add-menu-item): Set help string in MIIM_DATA for menu item.
12807 Load SetMenuItemInfoA explicitly.
12808 (w32_menu_display_help): New function.
427ec082 12809
ff4df011
JR
12810 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12811 (QCdata): Moved to xdisp.c.
12812
12813 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12814 (Vw32_charset_to_codepage_alist): Removed.
12815 (Vw32_charset_info_alist): New variable.
52283633
SM
12816 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12817 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12818 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12819 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12820 with TODO comment.
12821 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12822 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12823 Define Vw32_charset_info_alist and w32_charset symbols.
12824
128252000-03-22 Jason Rumney <jasonr@gnu.org>
12826
12827 * makefile.nt (w32bdf.obj): Update dependencies.
12828
12829 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12830
12831 * w32fns.c: Include fontset.h after dispextern.h.
12832 (Fx_create_frame): Do not create fontset.
12833 (w32_load_system_font): Doc fix.
12834 (Fx_close_connection): Free full_name if it is not shared.
12835
12836 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12837 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12838 Callers updated.
ff4df011
JR
12839 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12840 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12841 (w32_font_is_double_byte): New function, needs body.
12842 (x_append_glyph): Set glyph->glyph_not_available_p.
12843 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12844 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12845 character, convert it to a unibyte character.
12846 (struct glyph_string): Delete member `charset'.
12847 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12848 calculating it is found.
12849 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12850 the case that per char metric is not available correctly.
12851 (x_fill_glyph_string): Handle the case that the specific glyph is
12852 not available correctly.
12853 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12854 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12855 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12856 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12857 fontset. Don't call FS_LOAD_FONT.
12858
439d5cb4
KR
128592000-03-22 Ken Raeburn <raeburn@gnu.org>
12860
12861 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12862 (INT_LISPLIKE): New macro.
12863 (NULL_INTERVAL_P): Use it.
52283633
SM
12864 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12865 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12866 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12867
12868 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12869 explicit references to "parent" field of struct interval and
12870 associated unclean type conversions.
52283633
SM
12871 * intervals.c (create_root_interval, root_interval, rotate_right)
12872 (rotate_left, balance_possible_root_interval, split_interval_right)
12873 (split_interval_left, interval_start_pos, find_interval)
12874 (next_interval, previous_interval, update_interval)
12875 (adjust_intervals_for_insertion, delete_node, delete_interval)
12876 (adjust_intervals_for_deletion, merge_interval_right)
12877 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12878 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12879 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12880 Likewise.
12881 * syntax.c (update_syntax_table): Likewise.
12882
12883 * intervals.c (reproduce_tree_obj): New function, like
12884 reproduce_tree but takes a Lisp_Object for the parent. Declare
12885 with prototype.
12886 (graft_intervals_into_buffer): Use it when appropriate.
12887 (reproduce_tree): Declare with prototype.
12888 (balance_possible_root_interval): Check that the parent is a lisp
12889 object before trying to examine its type.
12890
ee1c5b21
GM
128912000-03-22 Gerd Moellmann <gerd@gnu.org>
12892
12893 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12894 as strings only if both are known to be strings.
12895
12896 * s/openbsd.h (LIBS_TERMCAP): Undef.
12897
1fb352e0
SM
128982000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12899
12900 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12901 definitions for non-Emacs compilation.
12902 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12903 outside of `#ifdef emacs'.
12904 (print_partial_compiled_pattern): Update.
12905 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12906 (re_compile_fastmap): Merge handling of charset and charset_not (for
12907 emacs and non-emacs compilation as well).
12908 Similarly for (not)categoryspec and (not)syntaxspec.
12909 Don't use the fastmap when reaching `anychar' since the added
12910 complexity is not justified.
12911 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12912 and (not)syntaxspec. Merge (not)categoryspec.
12913
fdaa1f77
KH
129142000-03-22 Kenichi Handa <handa@etl.go.jp>
12915
52283633
SM
12916 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12917 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12918 --without-x.
fdaa1f77 12919
d152fb46
DL
129202000-03-21 Dave Love <fx@gnu.org>
12921
12922 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12923 doc string.
12924
d2cafc8c
GM
129252000-03-21 Gerd Moellmann <gerd@gnu.org>
12926
12927 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12928 (lface_fully_specified_p): Don't check contents of
12929 LFACE_FONT_INDEX because that attribute is optional.
12930 (realize_x_face): Remove now unwarranted xassert.
12931
9111d4b5
KH
129322000-03-21 Kenichi HANDA <handa@etl.go.jp>
12933
12934 The following changes are to make font selection based on
12935 characters, not charset. In addition, they recover fontset
12936 facilities while utilizing the new font selection mechanism.
12937
6c4bfdc0
KH
12938 * Makefile.in (fontset.o): Depend on dispextern.h.
12939
12940 * alloc.c (mark_face_cache): Don't mark face->registry.
12941
9111d4b5
KH
12942 * dispextern.h (struct glyph): New member glyph_not_available_p.
12943 Use 22 bits for face_id.
12944 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12945 (struct face): Delete member registry, new member ascii_face.
12946 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12947 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12948 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12949 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12950
12951 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12952 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12953 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12954 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12955 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12956 (fs_free_face_fontset, fontset_font_pattern)
12957 (face_suitable_for_char_p, face_for_char)
12958 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12959 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12960 (FS_LOAD_FACE_FONT): New macro.
12961
12962 * fontset.c: All codes rewritten or adjusted for the change of
12963 fontset implementation. Now fontset is represented by char table.
52283633
SM
12964 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12965 Variables removed.
9111d4b5 12966 (my_strcasecmp): Function removed.
52283633 12967 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12968 (AREF, ASIZE): New macros.
52283633
SM
12969 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12970 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12971 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12972 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12973 (fontset_id_valid_p, font_family_registry, fontset_name)
12974 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12975 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12976 New functions.
12977 (fs_load_font): New arg FACE. Caller changed.
12978 (fs_query_fontset): Argument changed. Caller changed.
12979 (Fquery_fontset): call fs_query_fontset.
12980 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12981 Functions removed.
52283633
SM
12982 (clear_fontset_elements, check_registry_encoding)
12983 (check_fontset_name): New functions.
9111d4b5
KH
12984 (syms_of_fontset): Set char-table-extra-slots property of fontset
12985 to 3. Staticpro and initialize Vfontset_table and
12986 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12987
12988 * frame.h (struct frame): Member `fontset_data' removed.
12989 (FRAME_FONTSET_DATA): Macro removed.
12990
12991 * frame.c (make_frame): Don't allocate f->fontset_data.
12992 (Fdelete_frame): Don't free f->fontset_data.
12993
6c4bfdc0
KH
12994 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12995
9111d4b5
KH
12996 * xdisp.c (charset_at_position): Function removed.
12997 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12998 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12999 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13000 Likewise.
13001 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13002 FACE_FOR_CHARSET.
52283633
SM
13003 (get_next_display_element, append_space)
13004 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13005
13006 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13007 Variables removed.
13008 (clear_font_table, frame_update_line_height, load_face_font):
13009 Adjusted for the change of fontset implementation.
13010 (load_face_fontset_font): Function removed.
13011 (pixel_point_size): New function.
13012 (font_list): Argument type changed. Caller changed.
13013 (LFACE_FONT): New macro.
13014 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13015 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13016 Lisp_Object. Determine the font name by actually loading a font
13017 by the specified pattern. Set LFACE_FONT (lface) to the specified
13018 pattern. Even if a font is not found, don't try alternatives.
13019 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13020 (set_font_frame_param): If `font' is specified in lface, use it.
13021 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13022 (lface_same_font_attributes_p): Likewise.
13023 (make_realized_face): Arguent changed. Caller changed. Set
13024 face->ascii_face to face itself.
13025 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13026 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13027 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13028 (free_realized_multibyte_face): New function.
13029 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13030 changed. Caller changed.
13031 (try_font_list): Argument type changed.
13032 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13033 (choose_face_font): Argument changed. Handle fontset properly.
13034 (choose_face_fontset_font): Function removed.
13035 (realize_default_face, realize_named_face): Don't remove the
13036 former face here.
13037 (realize_face): Argument changed. Caller changed. Remove face
52283633 13038 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13039 (realize_x_face): Argument changed. Caller changed. For a
13040 multibyte character, share fontset with base_face. For a single
52283633 13041 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13042 (realize_tty_face): Argument changed. Caller changed.
13043 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13044 (face_at_buffer_position): Don't check multibyte_p for returning
13045 DEFAULT_FACE_ID.
13046 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13047 FACE_SUITABLE_FOR_CHARSET_P.
13048 (syms_of_xfaces): Remove code for Qx_charset_registry and
13049 Vface_default_registry.
13050
6c4bfdc0
KH
13051 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13052 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13053 (x_per_char_metric): Don't try FONT->default_char. Even if
13054 pcm->width is zero, glyph bits may exist.
13055 (x_encode_char): Always initialize char2b->byte1.
13056 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13057 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13058 (x_append_glyph): Set glyph->glyph_not_available_p.
13059 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13060 it->charset. Handle the case that per char metric is not
13061 available. If it->multibyte_p is zero and it->c is a multibyte
13062 character, convert it to a unibyte character.
13063 (struct glyph_string): Delete member `charset'.
13064 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13065 the case that per char metric is not available correctly.
13066 (x_fill_glyph_string): Handle the case that the specific glyph is
13067 not available correctly.
13068 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13069 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13070 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13071 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13072 fontset. Don't call FS_LOAD_FONT.
13073
13074 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13075 (x_create_tip_frame): Likewise.
13076 (Fx_close_connection): Free full_name of font_info.
13077
13078 * fns.c (optimize_sub_char_table): New function.
13079 (Foptimize_char_table): New function.
13080 (syms_of_fns): Defsubr Soptimize_char_table.
13081
b33dd3b0
GM
130822000-03-20 Gerd Moellmann <gerd@gnu.org>
13083
13084 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13085 only if buffer is displayed in some window.
13086
13087 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13088 (try_window_reusing_current_matrix): Don't call scroll run
13089 function if run's current and desired position are the same;
13090 this prevents cursor flickering.
13091
4e8a9132
SM
130922000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13093
13094 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13095
13096 * regex.c (RE_STRING_CHAR): New macro.
13097 (GET_CHAR_AFER_2): Remove.
13098 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13099 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13100 (print_partial_compiled_pattern, re_compile_fastmap)
13101 (re_match_2_internal): Remove on_failure_jump_exclusive.
13102 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13103 optimization only need to work for * (ie. can use of_keep_string_jump).
13104 Remove the special case for .*\n since it is now covered by the general
13105 optimization.
13106 (re_search_2): Don't bother with `room'.
13107 (skip_one_char): New function.
13108 (skip_noops): Simplify since `memory' is not needed any more.
13109 (mutually_exclusive_p): Restructure slightly to use `switch' and
13110 add handling for "all" remaining cases.
13111 (re_match_2_internal): Change on_failure_jump_smart to use
13112 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13113 rather than on_failure_jump_exclusive.
13114
2136fdd4
GM
131152000-03-19 Gerd Moellmann <gerd@gnu.org>
13116
13117 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13118 number of bits per RGB because it's everywhere used as the depth
13119 of the visual.
13120
13121 * term.c (calculate_costs): Remove code dealing with X frames.
13122
18e21ce8 131232000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13124
13125 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13126
d7b511c4
GM
131272000-03-18 Gerd Moellmann <gerd@gnu.org>
13128
13129 * lread.c (read_integer): Unread the last char not consumed.
13130
16b5d424
GM
131312000-03-17 Gerd Moellmann <gerd@gnu.org>
13132
13133 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13134 which are in the process of being deleted.
16b5d424 13135
1fa28578
GM
131362000-03-16 Gerd Moellmann <gerd@gnu.org>
13137
83488cce
GM
13138 * Makefile.in (mostlyclean): Add `*.core'.
13139 (clean): Add `bootstrap-emacs'.
13140
1fa28578
GM
13141 * lread.c (read_integer): New function.
13142 (read1): Support read syntax #o, #x, #b, #r.
13143
99633e97
SM
131442000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13145
1fa28578
GM
13146 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13147 make sure POINTER_TO_OFFSET gives the same value before and after
13148 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13149 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13150 (debug): Now only active if > 0 rather than if != 0.
13151 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13152 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13153 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13154 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13155 (store_op1, store_op2, insert_op1, insert_op2)
13156 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13157 (group_in_compile_stack): Move to after its arg's types are
13158 declared and add a prototype.
99633e97 13159 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13160 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13161 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13162 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13163 indentation of the greedy-op and shy-group code.
99633e97
SM
13164 (at_(beg|end)line_loc_p): Fix argument's types.
13165 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13166 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13167 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13168 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13169 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13170 QUIT unconditionally.
99633e97 13171
699238d9
GM
131722000-03-15 Gerd Moellmann <gerd@gnu.org>
13173
13174 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13175 a sole completion.
13176
13177 * process.c (send_process): Add a hint that the function
13178 can call Lisp code to its comment.
13179
13180 * lread.c (load_dangerous_libraries): New variable.
13181 (Vbytecomp_version_regexp): New variable.
13182 (safe_to_load_p): New function.
13183 (Fload): Handle files not compiled with Emacs specially.
13184 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13185
34e23e5a
GM
131862000-03-14 Gerd Moellmann <gerd@gnu.org>
13187
9c763cca
GM
13188 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13189
13190 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13191 support functions only if HAVE_X11R6_XIM is defined.
13192 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13193
13194 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13195
13196 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13197 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13198 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13199
13200 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13201 (HAVE_X11R6_XIM): Define.
13202
13203 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13204
34e23e5a
GM
13205 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13206 If set, call XSynchronize.
13207
66f0296e
SM
132082000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13209
34e23e5a
GM
13210 * regex.c: Declare a new type `re_char' used throughout the code
13211 for the string char type. It's `const unsigned char' to match the
13212 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13213 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13214 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13215 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13216 code duplication.
66f0296e
SM
13217
13218 * charset.h (GET_CHAR_AFTER_2): Remove.
13219 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13220
854a025c
KR
132212000-03-12 Ken Raeburn <raeburn@gnu.org>
13222
13223 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13224 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13225 of them try to use backquotes.
13226
b9d2c7e2
DL
132272000-03-12 Dave Love <fx@gnu.org>
13228
13229 * unexelf.c: Restore changes of 1999-10-19.
13230 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13231 fix its type and alignment; copy it from current process.
13232
5e5dff44
GM
132332000-03-12 Gerd Moellmann <gerd@gnu.org>
13234
9b2f3c38
GM
13235 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13236 has been found. Fix bug not computing timer's predecessor.
13237
427ec082 13238 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13239 file name.
13240
e1cff360
GM
13241 * window.c (Fsave_window_excursion): Doc fix.
13242
52283633 13243 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13244
e411ce4b
EZ
132452000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13246
13247 * msdos.c (vga_installed): New function, code moved from
13248 dos_set_window_size.
13249 (Qbar, Qcursor_type, outside_cursor): New variables.
13250 (syms_of_msdos): Intern and staticpro them.
13251 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13252 shape used outside Emacs when called for the first time.
13253 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13254 cursor shape used outside Emacs.
13255 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13256 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13257 type has changed.
13258 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13259 parameters specify the cursor. Make qreverse a global
13260 variable (renamed to Qreverse).
13261
80460654
GM
132622000-03-09 Gerd Moellmann <gerd@gnu.org>
13263
13264 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13265
95cd4c40
SM
132662000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13267
13268 This is a big redesign of failure-stack and register handling, prompted
13269 by bugs revealed when trying to add shy-groups. Overall, what happened
13270 is that loops are now structured a little differently, groups can be
13271 shy and the code is a little simpler.
13272
13273 * regex.h: Update the copyright.
13274 (RE_SHY_GROUPS): New value.
13275 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13276 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13277
80460654
GM
13278 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13279 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13280 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13281 for (start|stop)_memory since they now only take one argument (the
13282 second has becomes unnecessary).
52283633 13283 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13284 (print_compiled_pattern): Use %ld to printf long ints and flush to
13285 make debugging a little easier.
95cd4c40
SM
13286 (union fail_stack_elt): Make the integer unsigned.
13287 (struct fail_stack_type): Add a `frame' element.
13288 (INIT_FAIL_STACK): Init `frame' as well.
13289 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13290 (DEBUG_PUSH, DEBUG_POP): Remove.
13291 (NUM_REG_ITEMS): Remove.
13292 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13293 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13294 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13295 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13296 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13297 New macros.
80460654
GM
13298 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13299 address pushed is not the destination of the jump but the source
13300 of it instead.
95cd4c40
SM
13301 (NUM_FAILURE_ITEMS): Remove.
13302 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13303 registers before the actual failure point). Don't hardcode any
13304 meaning for str==NULL anymore.
95cd4c40 13305 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13306 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13307 Remove.
95cd4c40
SM
13308 (REG_UNSET_VALUE): Use NULL (why not?).
13309 (compile_range): Remove declaration since it doesn't exist.
13310 (struct compile_stack_elt_t): Remove inner_group_offset.
13311 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13312 (regex_grow_registers): Remove dead code.
13313 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13314 (regex_compile): Add shy-groups Change loops to use
13315 on_failure_jump_smart&jump instead of
13316 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13317 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13318 variable to me). Use `jump' instead of `jump_past_alt' and don't
13319 bother with push_dummy_failure in alternatives since it is now
13320 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13321 emacs' for (re)allocating the stack.
13322 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13323 from loop when bufp->can_be_null rather than jumping to `done'.
13324 Avoid jumping backwards so as to ensure termination. Use
13325 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13326 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13327 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13328 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13329 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13330 (lowest_active_reg, highest_active_reg)
13331 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13332 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13333 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13334 variables. Push register (in `start_memory') on the stack rather
13335 than storing it in old_reg(start|end). Remove the cycle detection
13336 from `stop_memory', replaced by the use of on_failure_jump_loop
13337 for greedy loops. Add code for the new on_failure_jump_<foo>.
13338 Remove ad-hoc code in `on_failure_jump' to push more registers in
13339 the case of a loop. Take out code from `maybe_pop_jump' into
13340 separate functions and adapt it to the semantics of
13341 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13342 and push_dummy_failure. Remove dummy_failure handling and
13343 handling of `failures to jump to on_failure_jump' (this last one
13344 was already dead code, it seems).
13345 (group_match_null_string_p, alt_match_null_string_p)
13346 (common_op_match_null_string_p): Remove.
95cd4c40 13347
7397acc4
DL
133482000-03-08 Dave Love <fx@gnu.org>
13349
13350 * config.in: Don't depend on __STDC__ for volatile.
13351 Add POINTER_TYPE, PTR, PROTOTYPES.
13352
13353 * hftctl.c, strftime.c: Use PROTOTYPES.
13354 * eval.c (find_handler_clause): Likewise.
13355
13356 * mem-limits.h: Use POINTER_TYPE.
13357
13358 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13359 (memory_warnings): Declare using POINTER_TYPE.
13360
5e91ff9e
GM
133612000-03-08 Gerd Moellmann <gerd@gnu.org>
13362
feab4fba
GM
13363 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13364
52283633 13365 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13366
5e91ff9e
GM
13367 * xfns.c: Remove obsolete code in #if 0.
13368 (Fx_focus_frame): New function.
13369
a735b7e1
KH
133702000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13371
13372 * coding.c (coding_category_name): Add coding-category-utf-8,
13373 coding-category-utf-16-be, coding-category-utf-16-le.
13374 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13375 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13376 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13377 (detect_coding_utf_8): New function.
13378 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13379 UTF_16_LOW_SURROGATE_P): New macros.
13380 (detect_coding_utf_16): New function
13381 (detect_coding_mask): When priorities are specified, skip any
13382 categories that have `nil' coding-system. Fix bug of returning
13383 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13384 returns a mask not set in PRIORITIES.
13385 (detect_eol_type_in_2_octet_form): New function.
13386 (detect_eol): selects detect_eol_type_XXX to call according to
13387 cooding->category_idx.
13388 (detect_coding_system): Remove `nil' coding-system in the result.
13389 (Fupdate_coding_systems_internal): Update all coding-categories.
13390
52283633
SM
13391 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13392 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13393 New macros.
13394 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13395 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13396 (CODING_CATEGORY_IDX_UTF_16_LE)
13397 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13398 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13399 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13400 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13401
9994cc69
GM
134022000-03-07 Gerd Moellmann <gerd@gnu.org>
13403
e9b4e5ff
GM
13404 * doc.c (Fdocumentation_property): If value is not a string,
13405 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13406
f7daf1e1
GM
13407 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13408 close the display with XtCloseDisplay. This caused a bus error
13409 on OpenWindows.
13410
9994cc69
GM
13411 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13412 complete but not unique.
13413
4336c705
GM
134142000-03-06 Gerd Moellmann <gerd@gnu.org>
13415
18bb0684
GM
13416 * process.c (send_process): Remove local variable `procname' that
13417 might become invalid when a GC happens. Instead, access the
13418 process name slot directly.
13419
4336c705
GM
13420 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13421 orig_height if set.
13422
13423 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13424 orig_height if set.
13425
515d0d0e
EZ
134262000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13427
13428 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13429 glyph matrices have been freed.
13430
100b3cbb
GM
134312000-03-05 Gerd Moellmann <gerd@gnu.org>
13432
50df5e5a 13433 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13434 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13435
13436 * xfns.c (QCdata): Moved to xdisp.c.
13437
13438 * xdisp.c (QCdata): Moved here from xfns.c.
13439 (syms_of_xdisp): Initialize QCdata.
13440
13441 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13442
13443 * window.c (coordinates_in_window): Use
13444 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13445 FRAME_INTERNAL_BORDER_WIDTH.
13446
100b3cbb 13447 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13448 it is obviously invalid.
100b3cbb
GM
13449
13450 * xterm.c (x_term_init): Create a colormap if not using the
13451 default visual.
13452
13453 * xterm.h (select_visual): Change prototype.
13454
13455 * xfns.c (select_visual): Rewritten. Recognize user-specified
13456 visual classes.
13457 (visual_classes): New variable.
13458
64d739c4
GM
134592000-03-04 Gerd Moellmann <gerd@gnu.org>
13460
13461 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13462 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13463 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13464 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13465 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13466 XtNcolormap resources.
13467 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13468 (Fx_create_frame): Initialize color members of x_output structure.
13469 (xpm_load): Pass colormap to XPM lib.
13470
13471 * xfaces.c (x_free_colors): Access colormap of frame using
13472 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13473 when default colormap is used.
13474
13475 * xterm.c (x_term_init): Set Colormap member of x_display_info
13476 structure. Copy colormap if resource `privateColormap' is
13477 specified (PseudoColor only).
13478 (x_setup_relief_color): Access colormap of frame using
13479 FRAME_X_COLORMAP.
13480
13481 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13482 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13483
c3cee013
JR
134842000-03-04 Jason Rumney <jasonr@gnu.org>
13485
13486 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13487 other non-platform-specific equivalents.
64d739c4 13488 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13489 specific functions and macros as their w32 equivalents where
13490 non-platform-specifics are not available.
13491 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13492 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13493 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13494 (frame_update_line_height): Use macros to access f->output_data.
13495 (defined_color): Remove FIXME comments; fixed.
13496 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13497 into #ifdef blocks. Add WINDOWSNT blocks.
13498 (Fx_list_fonts): Use macros for accessing font data.
13499 (set_lface_from_font_name): Different default fonts for X and
13500 WINDOWSNT.
13501 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13502 scalable for backward compatibility.
64d739c4 13503 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13504 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13505
64d739c4 13506 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13507 syms_of_w32faces.
13508
13509 * makefile.nt (w32faces.obj): Remove.
13510 (xfaces.obj): Add.
13511
807cc41c
JR
135122000-03-03 Jason Rumney <jasonr@gnu.org>
13513
13514 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13515 correct parameters.
13516
0007072a
KR
135172000-03-03 Ken Raeburn <raeburn@gnu.org>
13518
13519 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13520 standard ELF definitions here if the system header does not.
13521
71a6ba55
GM
135222000-03-03 Gerd Moellmann <gerd@gnu.org>
13523
13524 * xterm.c (PER_CHAR_METRIC): Removed.
13525 (x_per_char_metric_1, x_default_char): New functions.
13526 (x_per_char_metric): If font's default char is invalid, return
13527 metrics of a suitably chosen usable default char.
13528 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13529 char, replace occurrences of unprintable chars with a suitably
13530 chosen usable default char.
71a6ba55 13531
900fa1f1
GM
135322000-03-02 Gerd Moellmann <gerd@gnu.org>
13533
42f55fe0
GM
13534 * xterm.c (note_mouse_highlight): Return quickly if frame's
13535 glyph matrices have been freed.
13536
13537 * dispnew.c (free_glyphs): Block input while freeing matrices.
13538
900fa1f1
GM
13539 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13540
52283633
SM
13541 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13542 Use x_free_colors.
900fa1f1
GM
13543
13544 * dispextern.h (x_free_colors): Add prototype.
13545
13546 * xfaces.c (x_free_colors): New function.
13547 (unload_color, free_face_colors): Use it.
13548
2f950292
EZ
135492000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13550
13551 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13552
13553 * window.c [MSDOS]: Include msdos.h.
13554
54d04320
DL
135552000-03-02 Dave Love <fx@gnu.org>
13556
13557 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13558
13559 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13560 set C_OPTIMIZE_SWITCH for gcc.
13561
0ba93ac4
KH
135622000-03-02 Kenichi Handa <handa@etl.go.jp>
13563
13564 * coding.c (coding_save_composition): Be sure to allocate
13565 composition data area in coding even if there's no composition in
13566 the current run.
13567
a2bc11d4
JR
135682000-03-01 Jason Rumney <jasonr@gnu.org>
13569
13570 * w32term.c: Equivalent changes to those made to xterm.c on
13571 2000-02-25 and 2000-02-24.
13572
13573 * w32fns.c: Equivalent changes to those made to xfns.c on
13574 2000-02-25 and 2000-02-21.
13575
13576 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13577 correct line-end convention is followed.
13578
13579 * w32menu.c [HAVE_BOXES]: Remove #undef.
13580 (single_keymap_panes): Remove code for simulating checkmarks.
13581 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13582 Remove code for drawing simulated checkmarks.
13583 (w32_menu_show): make unibyte help string correctly.
13584 (add_menu_item): draw standard Windows checkmarks. Draw radio
13585 buttons as radio buttons if possible.
13586
72d19d75
GM
135872000-03-01 Gerd Moellmann <gerd@gnu.org>
13588
2df636f4
GM
13589 * sysdep.c (start_of_text): Don't define this function for NetBSD
13590 with ELF.
13591
427ec082 13592 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13593 Don't define.
13594 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13595 (LINKER): Don't undef if __NetBSD__ is defined.
13596
13597 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13598
13599 * fileio.c [__NetBSD__]: Define `unix'.
13600
72d19d75
GM
13601 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13602
ed4d0512
GM
136032000-02-29 Gerd Moellmann <gerd@gnu.org>
13604
50b1039f
GM
13605 * atimer.c (start_atimer): Don't abort when timers are stopped.
13606 (append_atimer_lists): New function.
13607 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13608 arbitrary lists of stopped and running atimers.
13609
ed4d0512
GM
13610 * atimer.c (cancel_atimer): Handle canceling an atimer when
13611 some timers are stopped.
13612
13613 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13614 after canceling it.
13615
13616 * fns.c (maybe_resize_hash_table): Handle case of new size
13617 coming out as being the same as old size.
13618
387023ee
JR
136192000-02-27 Jason Rumney <jasonr@gnu.org>
13620
13621 * makefile.nt: Add atimer.h to dependencies.
13622 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13623 * w32console.c: Only disable window system features for dispextern.h
13624 (initialize_w32_display): Build a display info for the console.
13625 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13626 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13627 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13628 as 2 button mice.
13629 * w32gui.h (struct W32FontStruct): Revert last change after change
13630 to xdisp.c.
13631 * w32menu.c (single_submenu): Set up help string.
13632 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13633 (w32_dialog_show): Set up help string.
13634 * w32term.c (w32_display_info_for_display): Remove unused function.
13635 (w32_draw_bitmap): Use pre-built bitmaps.
13636 (w32_initialize_display_info): New function to initialize parts of
13637 display info that are common to both GUI and console frames.
13638 (w32_term_init): Use w32_initialize_display_info. Do not set
13639 Vw32_num_mouse_buttons here, as it is not called for console
13640 frames. Build bitmaps for indicating truncated lines etc.
13641 (x_delete_display): Destroy pre-built bitmaps.
13642 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13643 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13644
4516715a
DL
136452000-02-27 Dave Love <fx@gnu.org>
13646
13647 * lisp.h: Add a bunch of prototypes.
13648
171ca836
KH
136492000-02-26 Kenichi Handa <handa@etl.go.jp>
13650
13651 * keyboard.c (read_char): Set `usec' correctly.
13652
4013921d
KH
136532000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13654
13655 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13656 `lambda', set reg[RRR] to the map index.
13657 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13658 reg[RRR] to 0. Otherwise, set it to -1.
13659
9244a058
GM
136602000-02-25 Gerd Moellmann <gerd@gnu.org>
13661
2df636f4 13662 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13663
18e21ce8 136642000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13665
f43d79c1
GM
13666 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13667 and contains a `:', prepend `/:'.
13668
13669 * window.c (select_window_1): If selected_window is nil,
13670 don't "swap out" the buffer's point.
13671 (Fset_window_configuration): Set selected_window to nil
13672 before calling Fselect_window.
13673 (unshow_buffer): Don't set point in buffer from window's point
13674 if another more recently selected window also shows the buffer.
13675
bed0c171
GM
136762000-02-25 Gerd Moellmann <gerd@gnu.org>
13677
449c3c52
GM
13678 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13679
f5b58615
GM
13680 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13681 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13682 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13683 New variables.
f5b58615
GM
13684 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13685 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13686 (hide_busy_cursor): New functions.
13687 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13688
13689 * minibuf.c (read_minibuf): Cancel busy-cursor.
13690
13691 * keyboard.c (command_loop_1): Call start_busy_cursor before
13692 Fcommand_execute and cancel_busy_cursor after it.
13693 (timer_check): Remove busy-cursor code.
13694 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13695 cursor timer.
13696
13697 * process.c (wait_reading_process_input): Remove busy-cursor code.
13698
13699 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13700 Fx_hide_busy_cursor.
13701
13702 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13703 Remove prototyoes.
13704 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13705
13706 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13707
13708 * xterm.c (XTread_socket): Remove busy-cursor code.
13709
4eb8436f
GM
13710 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13711 (build_frame_matrix_from_leaf_window): Put code handling
13712 glyph row's not being a slice of a frame row in #if 0.
13713 (sync_window_with_frame_matrix_rows): New function.
13714 (frame_row_to_window): New function.
13715 (mirror_line_dance): Handle copies between windows.
13716
3cb65b0e
GM
13717 * lread.c (Fload): Use `xfree' instead of `free'.
13718 (init_obarray): Use `xmalloc' instead of `malloc'.
13719
bed0c171
GM
13720 * window.c (Fset_window_buffer): Set WINDOW to the window
13721 after decoding.
2add4349
GM
13722 (coordinates_in_window): Take frame's internal border width
13723 into account.
bed0c171 13724
42088c12
GM
137252000-02-24 Gerd Moellmann <gerd@gnu.org>
13726
13727 * xterm.c (x_display_and_set_cursor): Display cursor of
13728 non-selected windows depending on the setting of
13729 cursor_in_non_selected_windows.
13730
13731 * xdisp.c (cursor_in_non_selected_windows): New variable.
13732 (syms_of_xdisp): DEFVAR_BOOL it.
13733
d1e103b2
GM
137342000-02-23 Gerd Moellmann <gerd@gnu.org>
13735
723e779c
GM
13736 * data.c (Fstring_to_number): If number is greater than what
13737 fits into an integer, return a float.
13738
d1e103b2
GM
13739 * eval.c (specbind): Remove references to
13740 keyword_symbols_constant_flag.
13741
13742 * data.c (keyword_symbols_constant_flag): Removed.
13743 (Fmakunbound, set_internal, syms_of_data): Remove references to
13744 keyword_symbols_constant_flag.
13745
13746 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13747
214f877f
KH
137482000-02-23 Kenichi Handa <handa@etl.go.jp>
13749
13750 * syntax.c (multibyte_syntax_as_symbol): New variable.
13751 (syms_of_syntax): Declare it as a Lisp variable.
13752 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13753 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13754 nonzero, treat all multibyte characters as symbol.
52283633 13755 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13756
130adcb7
EZ
137572000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13758
3cb65b0e 13759 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13760 a deleted frame.
130adcb7 13761
17cbbf95
GM
137622000-02-21 Gerd Moellmann <gerd@gnu.org>
13763
13764 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13765
13766 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13767 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13768
beb0bc36
DL
137692000-02-21 Dave Love <fx@gnu.org>
13770
13771 * frame.c (Vmouse_position_function): New variable.
13772 (Fmouse_position): Use it.
13773 (syms_of_frame): Install it.
13774
13775 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13776
1d92afcd
GM
137772000-02-20 Gerd Moellmann <gerd@gnu.org>
13778
13779 * fileio.c (Finsert_file_contents): Unbind the binding of
13780 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13781
13782 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13783 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13784 (specbind, unbind_to): Handle most common case of non-constant
13785 symbol with trivial value specially.
13786
13787 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13788
18e21ce8 137892000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13790
13791 * data.c (Fmake_variable_buffer_local): Doc fix.
13792 Init found_for_buffer to 0.
13793 (Fmake_variable_frame_local): If the variable has already
13794 been buffer-local, set the check_frame field.
13795
1d4311c3
EZ
137962000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13797
13798 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13799 produced for CODING_MODE_LAST_BLOCK requires.
13800
2dc95ddd
DL
138012000-02-18 Dave Love <fx@gnu.org>
13802
13803 * keyboard.c (echo_keystrokes): Remove declaration.
13804 (Vecho_keystrokes) New variable.
13805 (read_char, record_menu_key, read_key_sequence): Use it to allow
13806 use of float value.
13807 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13808
13809 * lread.c: Undef feature selection macros before defining.
13810
f0930f35
GM
138112000-02-18 Gerd Moellmann <gerd@gnu.org>
13812
13813 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13814 for symbols other than the symbol in question.
13815
e3d4de90
DL
138162000-02-17 Dave Love <fx@gnu.org>
13817
13818 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13819
0b378936
GM
138202000-02-17 Gerd Moellmann <gerd@gnu.org>
13821
d621caf7
GM
13822 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13823
0b378936
GM
13824 * alloc.c (enum mem_type): Compile unconditionally.
13825
3b451f74
EZ
138262000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13827
13828 * xfaces.c (tty_defined_color): Don't return faulire indication
13829 for unspecified-fg and unspecified-bg pseudo-colors.
13830
10689a01
GM
138312000-02-17 Gerd Moellmann <gerd@gnu.org>
13832
1216f5e4
GM
13833 * alloc.c (mark_object): Don't mark symbol names in pure space.
13834 (gc_sweep): Don't unmark symbol names in pure space.
13835
13836 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13837 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13838 [GC_MARK_STACK]: New defines.
427ec082 13839 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13840 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13841
13842 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13843
13844 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13845 allocate_buffer instead of xmalloc.
13846
13847 * alloc.c (toplevel): Include setjmp.h.
13848 (PURE_POINTER_P): New define.
13849 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13850 (Vdead) [GC_MARK_STACK]: New variable.
13851 (lisp_malloc): Add parameter TYPE, call mem_insert if
13852 GC_MARK_STACK is defined.
13853 (allocate_buffer): New function.
427ec082 13854 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13855 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13856 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13857 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13858 (MEM_NIL) [GC_MARK_STACK]: New define.
13859 (struct mem_node) [GC_MARK_STACK]: New structure.
13860 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13861 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13862 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13863 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13864 (mark_stack) [GC_MARK_STACK]: New functions.
13865 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13866 (clear_marks): Removed.
13867 (gc_sweep): Set free conses' car, free floats' type, free
13868 symbols' function to Vdead. Use lisp_free to free buffers.
13869 (init_alloc_once): Initialize Vdead.
13870 (survives_gc_p): Return non-zero for pure objects.
13871
13872 * alloc.c: Add comments throughout the file.
13873
2503c8b1
GM
13874 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13875 that unblocks alarms.
13876
8389e1e2
GM
13877 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13878 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13879 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13880
10689a01 13881 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13882
bfc17d18
KH
138832000-02-17 Kenichi Handa <handa@etl.go.jp>
13884
4a09dee0
KH
13885 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13886 avoid infinite error signaling. Allocate sufficient memory for
13887 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13888
2b927d02
SM
138892000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13890
13891 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13892 depends on the previous behavior.
13893
b49cb764
GM
138942000-02-16 Gerd Moellmann <gerd@gnu.org>
13895
13896 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13897
99e95407
GM
138982000-02-15 Gerd Moellmann <gerd@gnu.org>
13899
13900 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13901
13902 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13903 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13904 write(2).
13905
6ffd3cf7
RS
139062000-02-15 Richard M. Stallman <rms@gnu.org>
13907
13908 * data.c (set_internal): Don't make variable buffer-local
13909 if within a let-binding for the same buffer.
13910 (let_shadows_buffer_binding_p): New function.
13911
13912 * eval.c (specbind): For buffer-local value,
13913 record the current buffer also.
13914 (unbind_to): Cope with that change.
13915
cad53475
GM
139162000-02-15 Gerd Moellmann <gerd@gnu.org>
13917
13918 * window.c (Fsave_window_excursion): Doc fix.
13919
1aa963c8
SM
139202000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13921
13922 * syntax.c (back_comment): Make sure we only consider comment-starters
13923 of the relevant style and return -1 in case of a failure to find the
13924 beginning of the comment.
13925 (Fforward_comment): If back_comment fails, go back to the position just
13926 after the comment-end.
13927 (scan_lists): Add comment describing a very minor bug.
13928
b9b84fd3
SM
139292000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13930
13931 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13932 `completion-regexp-list' in the docstring.
13933
3a28db80
DL
139342000-02-14 Dave Love <fx@gnu.org>
13935
13936 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13937
fb4a568d
SM
139382000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13939
13940 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13941 to Emacs' syntax. Also fix the comment about set/not-set meanings
13942 since Emacs syntax is not the value 0 any more.
13943 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13944 since it's now part of RE_SYNTAX_EMACS.
13945
1063ebb5
DL
139462000-02-12 Dave Love <fx@gnu.org>
13947
52283633 13948 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13949
fb07a302
GM
139502000-02-12 Gerd Moellmann <gerd@gnu.org>
13951
13952 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13953
aaf2320c
DL
139542000-02-12 Dave Love <fx@gnu.org>
13955
13956 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13957
13958 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13959 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13960 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13961
13962 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13963
13964 * s/nextstep.h: Don't define HAVE_ALLOCA.
13965
13966 * config.in: Add vfork bits.
13967
eedf8bde
GM
139682000-02-12 Gerd Moellmann <gerd@gnu.org>
13969
13970 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13971 unwind function to undo the effect of stopping atimers.
13972
52283633 13973 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13974
13975 * atimer.c (stopped_atimers): New variable.
13976 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13977 New functions.
13978
13979 * atimer.h (stop_other_atimers, run_all_atimers)
13980 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13981
eedf8bde
GM
13982 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13983
8476c2f8
KR
139842000-02-11 Ken Raeburn <raeburn@gnu.org>
13985
13986 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13987 library may depend on jpeg.
13988 (atimer.o): Depends on atimer.c.
13989
0e85e4a3
KH
139902000-02-11 Kenichi Handa <handa@etl.go.jp>
13991
13992 * insdel.c (del_range_1): Call update_compositions.
13993 (del_range_both): Call update_compositions just once..
13994
97fa0cc8
DL
139952000-02-10 Dave Love <fx@gnu.org>
13996
13997 * xfns.c (create_frame_xic): Fix initialization of automatic
13998 aggregates for pcc.
13999
25566a3c
KH
140002000-02-09 Kenichi Handa <handa@etl.go.jp>
14001
14002 * ccl.c (CCL_MAKE_CHAR): New macro.
14003 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14004 registers by CCL_MAKE_CHAR before calling translate_char.
14005 <CCL_TranslateCharacterConstTbl> Likewise.
14006
69da54ba
DL
140072000-02-08 Dave Love <fx@gnu.org>
14008
14009 * lread.c (__EXTENSIONS__): Define.
14010
f7136ee8
GM
140112000-02-08 Gerd Moellmann <gerd@gnu.org>
14012
14013 * puresize.h (BASE_PURESIZE): Increase to 650000.
14014
7768790b
EZ
140152000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14016
14017 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14018 the help message.
14019
38fd211b
EZ
140202000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14021
14022 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14023 md, mh, mb, mr, and me to the fake termcap entry.
14024
66e4690f
KR
140252000-02-06 Ken Raeburn <raeburn@gnu.org>
14026
14027 * sound.c (sound_cleanup): Don't call device close routine if the
14028 function pointer is null.
14029
a75dfea0
AI
140302000-02-06 Andrew Innes <andrewi@gnu.org>
14031
14032 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14033 around image definitions and prototypes.
14034 (gamma_correct) [WINDOWSNT]: New prototype.
14035
14036 * w32term.c (x_make_frame_visible): Replace call to
14037 input_poll_signal with poll_for_input.
14038
14039 * window.c [WINDOWSNT]: Include w32term.h.
14040
14041 * xdisp.c [WINDOWSNT]: Include w32term.h.
14042
14043 * makefile.nt: Add dependencies on w32gui.h.
14044 (OBJ1): Include atimer.obj.
14045 ($(BLD)\atimer.obj): New dependency rule.
14046
14047 * w32.c (sigmask): New function (does nothing).
14048 (sigunblock): Ditto.
14049
14050 * frame.c [WINDOWSNT]: Include w32term.h.
14051
14052 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14053
14054 * lread.c (syms_of_lread): Fix literal newlines.
14055
14056 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14057 the string constant limit (2048 bytes) in MSVC.
14058 (main): Ditto.
14059
59ddecde
GM
140602000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14061
52283633 14062 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14063 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14064 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14065 dispatch the event.
14066
07590973
DL
140672000-02-04 Dave Love <fx@gnu.org>
14068
14069 * fileio.c: Remove some unused vars.
14070 (_GNU_SOURCE): Define (for euidaccess).
14071
14072 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14073
14074 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14075 gcpro1, gcpro2.
14076 (read_minibuf): Deal with allow_props correctly.
14077
649351f9
EZ
140782000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14079
14080 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14081
66e4690f 140822000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14083
14084 * search.c (compile_pattern): If a cache entry has a nil regexp,
14085 fill in that entry instead of clobbering a previously cached
14086 string regexp.
14087
66e4690f 140882000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14089
14090 * puresize.h (BASE_PURESIZE): Increase to 610000.
14091
d240a249
GM
140922000-02-02 Gerd Moellmann <gerd@gnu.org>
14093
14094 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14095 can GC.
14096
ca91fb26
KH
140972000-02-02 Kenichi Handa <handa@etl.go.jp>
14098
25660570
KH
14099 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14100 instead of incrementing ic directly.
14101 <CCL_WriteExprConst> Likewise.
14102 <ccl_set_expr>: Set ic to jump_address.
14103
ca91fb26
KH
14104 * fileio.c (e_write): Fix the handling of
14105 CODING_FINISH_INSUFFICIENT_SRC.
14106
2ede9689
DL
141072000-02-01 Dave Love <fx@gnu.org>
14108
14109 * editfns.c (Fpropertize): Doc fix.
14110
14111 * process.c (Fstart_process): Doc fix.
14112
14113 * eval.c: Fix various doc strings not to duplicate information
14114 from help-manyarg-func-alist.
14115
52283633 14116 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14117
14118 * doc.c (Vhelp_manyarg_func_alist): New variable.
14119 (Fdocumentation): Use it.
14120 (syms_of_doc): Define it.
14121
b6680a0e
GM
141222000-01-31 Gerd Moellmann <gerd@gnu.org>
14123
2cb750ba
GM
14124 * xterm.c (xim_open_dpy): Remove unused local variable.
14125
52283633 14126 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14127
14128 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14129 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14130
b6680a0e
GM
14131 * fns.c (sweep_weak_table): New function.
14132 (sweep_weak_hash_tables): Use it. Keep on marking until there
14133 is no more change.
14134
994c5afe
GM
141352000-01-30 Gerd Moellmann <gerd@gnu.org>
14136
14137 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14138 that XTread_socket does not crash by trying to call XNoOp on a
14139 closed display.
427ec082 14140
f00276e3
JR
141412000-01-30 Jason Rumney <jasonr@gnu.org>
14142
14143 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14144 Change selected_frame to SELECTED_FRAME ().
14145 (w32_console_mouse_position): Remove #ifndef MULE from around
14146 `insist' parameter.
14147
14148 * makefile.nt: Remove dosfns.obj.
14149
14150 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14151
14152 * w32fns.c (w32_defined_color): Check for valid frame before
14153 applying gamma correction. Eliminate dependency on frame elsewhere.
14154 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14155 (w32_to_x_font): Use resx and resy not height_in and width_in.
14156 (x_to_w32_font): Doc fix.
14157 (xlfd_strip_height): New function to strip and return font height.
14158 (w32_font_match): Compare height separately from rest of xlfd
14159 spec, using xlfd_strip_height.
14160
14161 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14162 width_in. Use w32_defined_color in place of defined_color.
14163
14164 * w32faces.c: Merge more of DOS and X specifics in preparation for
14165 merge with xfaces.c.
14166 (defined_color): Remove FIXME comment.
14167 (tty_color_name): Provide w32-specific function.
14168 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14169
14170 * w32console.c (turn_on_face, turn_off_face): Removed.
14171 (w32_face_attributes): New function.
14172 (Global_variables): Reduce scope where possible.
14173 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14174 fill attribute.
14175 (hl_mode): Don't modify text attributes.
14176 (write_glyphs): Don't do anything if len <= 0. Use
14177 w32_face_attributes to get attributes for drawing. Write
14178 terminating codes using char_attr_normal.
14179 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14180 (update_begin, update_end): Likewise.
14181 (vga_stdcolor_name): New function.
14182 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14183 (Fset_screen_color): Remove char_attr_reverse.
14184
b08e8bb2
GM
141852000-01-29 Gerd Moellmann <gerd@gnu.org>
14186
14187 * xfns.c (xic_set_preeditarea): Take window parameter and
14188 window-relative pixel-positions.
14189
14190 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14191 is its frame's selected window.
14192 (xim_instantiate_callback): Likewise.
14193
14194 * xfns.c (x_create_im): Removed.
14195 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14196 (supported_xim_styles): Renamed from supported_styles.
14197 (best_xim_style): Renamed from best_style.
14198 (create_frame_xic): Renamed from xic_create_frame.
14199 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14200
b08e8bb2
GM
142012000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14202
14203 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14204 our frames, call XFilterEvent with 2nd parameter `None'.
14205 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14206 returning XBufferOverflow.
52283633 14207 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14208 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14209 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14210 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14211 (xim_initialize, xim_close)
14212 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14213 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14214 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14215 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14216
14217 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14218 and `xim_styles'.
14219 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14220 `xic_style' and `xic_xfs'.
14221 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14222 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14223 (FRAME_XIM): Removed.
14224
14225 * xfns.c (supported_styles): New variable.
14226 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14227 (xic_create_xfontset, best_style, xic_create_frame)
14228 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14229 (xic_set_xfontset): New functions.
14230
142e109c
DL
142312000-01-28 Dave Love <fx@gnu.org>
14232
14233 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14234
14235 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14236
b02786f9
GM
142372000-01-28 Gerd Moellmann <gerd@gnu.org>
14238
d060bc9f
GM
14239 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14240 for *scratch* if it already existed.
14241
b02786f9
GM
14242 * emacs.c (USAGE): New macro.
14243 (main): Use it to display usage information.
14244
2c52d7e4
EZ
142452000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14246
14247 Support for the menu-help feature:
14248
52283633 14249 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14250
14251 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14252 part of the line to the termscript file.
14253 (IT_clear_to_end): Clear the entire line, not just its beginning.
14254 (menu_help_message, prev_menu_help_message): New variables.
14255 (IT_menu_make_room): Make room for the help_text member.
14256 (IT_menu_display): New argument disp_help; all callers changed.
14257 If disp_help is non-zero, store the help text of the active menu
14258 item in menu_help_message.
14259 (XMenuAddPane): Initialize the help_text member to NULL.
14260 (XMenuAddSelection): New argument help_text. Store it in the
14261 XMenu structure.
14262 (XMenuActivate): New argument help_callback. If the value of
14263 menu_help_message has changed since the last time, display the
14264 menu help message text while waiting for the mouse to move. Clear
14265 the echo area before exiting.
14266 (XMenuDestroy): Free the help_text member.
14267
ffe0bcd1
GM
142682000-01-27 Gerd Moellmann <gerd@gnu.org>
14269
14270 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14271 XMenuAddSelection. Pass help callback to XMenuActivate.
14272 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14273
50dbd23f
EZ
142742000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14275
14276 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14277 and EMACS_SET_USECS.
14278
f5941bf8
GM
142792000-01-26 Dave Love <fx@gnu.org>
14280
6c67ddee
DL
14281 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14282
f5941bf8
GM
14283 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14284 an error may be signalled.
14285
9e49c990
GM
142862000-01-26 Gerd Moellmann <gerd@gnu.org>
14287
fc3cb460
GM
14288 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14289 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14290
9e49c990
GM
14291 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14292
d0c037d8
GM
142932000-01-25 Gerd Moellmann <gerd@gnu.org>
14294
14295 * charset.c (Fstring): If there is a multibyte char among
14296 the args, always return a multibyte string.
14297
e12489f9
GM
142982000-01-25 Gerd Moellmann <gerd@gnu.org>
14299
14300 * sysdep.c (sys_select): Turn atimers off and on instead of
14301 recording and restoring old alarm handler
14302
14303 * process.c (toplevel): Include atimer.h.
14304 (create_process_1): Rewritten.
14305 (create_process): Use atimers instead of alarm.
14306 (wait_reading_process_input) [hpux]: Turn atimers off instead
14307 of turning off SIGALRM.
14308 (wait_reading_process_input): Turn off atimers instead off
14309 calling stop_polling.
14310
14311 * emacs.c (main): Call init_atimer.
14312
14313 * keyboard.c (toplevel): Include systime.h and atimer.h.
14314 (polling_for_input): Removed because unused.
14315 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14316 (poll_timer): New variable.
14317 (poll_for_input, poll_for_input_1): New functions.
14318 (start_polling, stop_polling): Rewritten.
14319
14320 * keyboard.h (polling_for_input): Removed.
427ec082 14321
e12489f9
GM
14322 * atimer.h, atimer.c: New files.
14323
14324 * Makefile.in (obj): Add atimer.o.
14325 (atimer.o): New target.
14326
14327 * blockinput.h (pending_atimers): Add extern declaration.
14328 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14329
14330 * lisp.h (popup_activated_flag): Add extern declaration.
14331
14332 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14333 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14334 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14335
14336 * xterm.c (toplevel): Include atimer.h.
14337 (toolkit_scroll_bar_interaction): New variable.
14338 (Fxt_process_timeouts): Removed.
14339 (x_process_timeouts): New function.
14340 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14341 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14342 (x_make_frame_visible): Call poll_for_input_1 instead of
14343 input_poll_signal. Don't call alarm.
14344 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14345
1e5279b9
DL
143462000-01-24 Dave Love <fx@gnu.org>
14347
6c67ddee 14348 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14349 Don't use -cckr -- apparently not now necessary.
14350
edf6aeb8
EZ
143512000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14352
14353 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14354 screen boundary.
14355
9badad41
JR
143562000-01-23 Jason Rumney <jasonr@gnu.org>
14357
14358 * w32fns.c (w32_defined_color): Apply gamma correction before
14359 trying to map to the palette.
14360 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14361 to w32_clear_rect.
14362
14363 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14364 here. Callers changed to always pass real device context.
14365 (w32_draw_bitmap): Likewise.
14366 (w32_get_glyph_overhangs): Likewise.
52283633 14367 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14368 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14369 pfnSetScrollInfo and SetScrollRange.
14370 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14371 back into MULE characters after decoding them.
14372 (x_get_glyph_face_and_encoding): Likewise.
14373 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14374 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14375 (x_produce_glyphs): Calculate per char metrics for a character
14376 that we know exists in default font when font_not_found_p is true.
14377
63bd786b
JR
143782000-01-22 Jason Rumney <jasonr@gnu.org>
14379
14380 * makefile.nt (intervals.obj, composite.obj): New modules.
14381 (composite.h): Added as dependency where appropriate.
14382
14383 * w32gui.h (XGCValue): New struct for emulating X GCs.
14384
14385 * w32term.h (XCharStruct): New struct for emulating X.
14386
14387 * w32console.c (turn_on_face, turn_off_face): New functions.
14388 (change_line_highlight): New prototype for new redisplay.
14389 (write_glyphs): Support multibyte text. Support faces.
14390
52283633 14391 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14392
14393 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14394 throughout. struct frame * in place of FRAME_PTR.
14395 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14396 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14397 (w32_get_arg): Renamed from x_get_arg.
14398 (Fx_file_dialog): New function.
14399 (w32_list_fonts): Check cache before asking system.
14400 (Vw32_enable_synthesized_fonts): New variable.
14401 (Vw32_enable_italics): Obsolete, removed.
14402
14403 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14404 Use SELECTED_FRAME macro.
14405
14406 * w32menu.c: Add skeleton support for help strings on menus.
14407 (add_menu_item): Native checkbox and radio support added, but not
14408 yet enabled due to bugs.
14409 (push_menu_item): Add parameters type, selection and help.
14410 Callers updated.
14411 Formatting changes to reduce unnecessary diffs with xmenu.c.
14412
14413 * w32select.c (Fw32_set_clipboard_data): Update call to
14414 find_charset_in_str.
14415
14416 * w32term.c: Complete rewrite for new redisplay based on new
14417 xterm.c with necessary sections merged back in from old w32term.c.
14418
6ffd3cf7 144192000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14420
14421 * data.c (set_internal): Further fix in same criterion.
14422
6ffd3cf7 144232000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14424
14425 * data.c (set_internal): Fix the criteria for whether
14426 to swap out the old cached binding.
14427
60af03f1
DL
144282000-01-19 Dave Love <fx@gnu.org>
14429
14430 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14431
f9be074f
KH
144322000-01-18 Kenichi Handa <handa@etl.go.jp>
14433
14434 * regex.c (re_compile_fastmap): While checking a range table for
14435 `charset', skip flag bits for a character class correctly.
14436
52b8dbf9
GM
144372000-01-17 Gerd Moellmann <gerd@gnu.org>
14438
d36100c9
GM
14439 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14440
52283633 14441 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14442
14443 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14444 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14445
14446 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14447 MENU_ITEMS_ITEM_.*.
14448 (MENU_ITEMS_ITEM_HELP): New enumerator.
14449 (push_menu_item): Add parameter HELP. Record help in menu_items.
14450 (single_menu_item, single_submenu, list_of_items): Call
14451 push_menu_item with new parameter.
14452 (single_submenu): Set help string in widget value.
14453 (menu_highlight_callback): New function.
14454 (set_frame_menubar): Call lw_create_widget with new
14455 parameter list.
14456 (xmenu_show, xdialog_show): Ditto.
14457
3139018f
GM
144582000-01-13 Gerd Moellmann <gerd@gnu.org>
14459
14460 * sound.c (Fplay_sound): Improve doc string.
14461
83c8f461
RS
144622000-01-11 Richard M. Stallman <rms@gnu.org>
14463
14464 * lisp.h (set_internal): Enter the new arg.
14465
14466 * eval.c (specbind): Record buffer-local variables specially,
14467 indicating which buffer's binding was saved.
14468 (unbind_to): Restore buffer-local variables specially
14469 in the proper buffer.
14470
14471 * data.c (set_internal): New arg BUF.
427ec082 14472
83c8f461
RS
14473 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14474 * data.c (Fset): Pass new arg to set_internal.
14475 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14476
1fab1775
GM
144772000-01-11 Gerd Moellmann <gerd@gnu.org>
14478
52283633 14479 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14480
83c8f461 144812000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14482
14483 * minibuf.c (Ftry_completion): Doc fix.
14484
7a85e4df
GM
144852000-01-11 Gerd Moellmann <gerd@gnu.org>
14486
14487 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14488 vector, too.
14489
a970dae4
AS
144902000-01-11 Andreas Schwab <schwab@suse.de>
14491
14492 * coding.c (code_convert_region): Initialize total_skip.
14493
c65d14ee
DL
144942000-01-08 Dave Love <fx@gnu.org>
14495
14496 * eval.c (Fuser_variable_p): Check customizability too.
14497
834938d2
GM
144982000-01-07 Gerd Moellmann <gerd@gnu.org>
14499
14500 * minibuf.c (Fcompleting_read): Doc fix.
14501
e0303cd6
GM
145022000-01-05 Gerd Moellmann <gerd@gnu.org>
14503
8a26744b
GM
14504 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14505 -L /usr/local/lib.
14506
e0303cd6
GM
14507 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14508 Check that input style is supported before trying to create an
14509 IC for it.
14510 (x_window): Call x_create_im.
427ec082 14511
2e471eb5
GM
145122000-01-04 Gerd Moellmann <gerd@gnu.org>
14513
560a7bd2
GM
14514 * xfns.c (current_gif_memory_src): New variable.
14515 (gif_load): Record the address of the current memory source
14516 in current_gif_memory_src.
14517 (gif_read_from_memory): Use current_gif_memory_src.
14518
f9ee84a3
GM
14519 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14520 macros statement form.
14521
d1299cde
GM
14522 * sound.c (struct sound): Renamed from struct sound_file.
14523 (struct sound): Add members `data' and `header_size'.
14524 (enum sound_attr): Add SOUND_DATA.
14525 (current_sound, current_sound_device): Variables renamed from
14526 sound_file and sound_device.
14527 (parse_sound): Parse :data.
14528 (parse_sound): Handle sound data in strings.
14529 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14530 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14531 needed header size.
14532 (wav_play, au_play): Play sounds from string data.
14533
2e471eb5
GM
14534 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14535
14536 * lisp.h: Add prototype for allocate_string_data.
14537
52283633 14538 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14539
14540 * alloc.c (mark_buffer): Remove code in #if 0.
14541 (gc_sweep): Ditto.
14542 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14543 (strings_consed): New variable.
14544 (allocate_string): Set it.
14545 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14546 (Fmemory_use_counts): Return strings_consed. Use Flist.
14547
14548 * alloc.c: General cleanup in comments etc. Remove conditional
14549 compilation for `standalone'.
14550
14551 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14552
14553 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14554 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14555 (DONT_COPY_FLAG): Removed.
14556 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14557 (struct sdata, struct sblock): New
14558 (struct string_block): Rewritten.
14559 (STRINGS_IN_STRING_BLOCK): New macro.
14560 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14561 (large_sblocks, string_blocks, string_free_list): New variables.
14562 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14563 (init_strings): Rewritten.
14564 (allocate_string, allocate_string_data, compact_small_strings)
14565 (free_large_strings, sweep_strings): New functions.
14566 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14567 (struct string_block_head, current_string_block)
14568 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14569 (STRING_PAD): Removed.
14570 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14571 (Fgarbage_collect): Don't set mark bit in large strings.
14572 (mark_object): Mark strings differently. Mark symbol names
14573 differently.
14574 (survives_gc_p): Test marked strings differently.
427ec082 14575 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14576 symbol names.
14577 (compact_strings): Removed.
14578
42608ba8
EZ
145792000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14580
14581 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14582 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14583
e0a09e1a
KH
145842000-01-04 Kenichi Handa <handa@etl.go.jp>
14585
dd9f0750 14586 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14587 in a non-empty buffer.
dd9f0750 14588
3c0f3b15 14589 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14590
44cd3ae5
GM
145912000-01-03 Gerd Moellmann <gerd@gnu.org>
14592
14593 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14594 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14595
14596 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14597
c182a70f
EZ
145982000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14599
14600 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14601 need to test for MSDOS frames.
14602
24480d5b
EZ
146032000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14604
14605 * dosfns.c (unspecified_colors): Remove.
14606 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14607 unspecified_bg.
14608 (msdos_stdcolor_name): Return strings for unspecified fore- and
14609 back-ground colors.
14610
14611 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14612 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14613 (tty_color_name): Return Lisp strings for unspecified fore- and
14614 back-ground colors.
14615 (Finternal_set_lisp_face_attribute): Remove the special treatment
14616 for Qunspecified_{f,b}g.
52283633 14617 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14618
047f434a
GM
146192000-01-03 Gerd Moellmann <gerd@gnu.org>
14620
14621 * xdisp.c (reseat_at_next_visible_line_start): Position before
14622 newline only if ending up on a newline.
14623 (next_element_from_ellipsis): Return success. Handle case of
52283633 14624 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14625 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14626 returns 0.
14627
d684c676
EZ
146282000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14629
14630 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14631 (Fcolor_supported_p): Renamed from face-color-supported-p.
14632
5fe1d139
EZ
146332000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14634
14635 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14636 list of colors renamed to tty-defined-color-alist.
14637 (tty_color_name): Pass the frame to tty-color-by-index.
14638 (realize_tty_face): tty-color-alist is now a function which
14639 accepts the frame as argument.
14640
52283633 14641 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14642
816be8b8
EZ
146432000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14644
14645 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14646 encode_terminal_code.
14647
b635321e
EZ
146482000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14649
14650 * dispnew.c (mode_line_string): Support termcap frames as well.
14651
9b784e96
GM
146522000-01-01 Gerd Moellmann <gerd@gnu.org>
14653
27189709
GM
14654 * syntax.c (Fforward_word): Undo previous change.
14655
14656 * editfns.c (Fconstrain_to_field): Don't constrain if
14657 inhibit-field-text-motion is non-nil.
14658 (Fline_beginning_position): Undo previous change.
14659 (Fline_end_position): Ditto.
14660
14661 * syntax.c (Fforward_word): Notice field boundaries only if
14662 inhibit-field-text-motion is nil.
14663
14664 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14665
14666 * editfns.c (Vinhibit_field_text_motion): New variable.
14667 (inhibit-field-text-motion): New DEFVAR_LISP.
14668 (Fline_beginning_position, Fline_end_position): Notice field
14669 boundaries only if inhibit-field-text-motion is nil.
14670
45158a91
GM
14671 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14672 All calls adjusted.
14673 (x_build_heuristic_mask): Likewise.
14674 (xbm_load_image_from_file): Change error output.
14675 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14676 (gif_load, gs_load, x_kill_gs_process): Ditto.
14677
9b784e96
GM
14678 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14679 color indices when accessing raster pixels.
63cec32f
GM
14680 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14681 one of :file or :data.
14682 (enum pbm_keyword_index): Add PBM_DATA.
14683 (pbm_format): Add :data.
14684 (pbm_image_p): Allow either :file or :data.
14685 (pbm_read_file): New function.
14686 (pbm_scan_number): Rewritten to read from string.
14687 (pbm_load): Support :data.
9b784e96 14688
2cb085db 14689See ChangeLog.8 for earlier changes.
6922b018
KH
14690
14691;; Local Variables:
49b3bd82 14692;; coding: iso-2022-7bit
6922b018 14693;; End:
2a34a036
GM
14694
14695 Copyright (C) 2001 Free Software Foundation, Inc.
14696 Copying and distribution of this file, with or without modification,
14697 are permitted provided the copyright notice and this notice are preserved.