(tetris-mode): Remove make-local-hook.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
8727d588
RS
12001-11-24 Richard M. Stallman <rms@gnu.org>
2
3 * lread.c (Fload): Detect recursive load error for more than 3
4 nestings of the same file.
5 (Vrecursive_load_depth_limit): Variable deleted.
6 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
7
cc63037e
JR
82001-11-24 Jason Rumney <jasonr@gnu.org>
9
10 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
11 mouse position if either left or top is not specified.
12
13 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
14 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
15 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
16 (my_create_tip_window): Assign tip_window.
17 (x_create_tip_frame): Use same defaults as X.
18 (compute_tip_xy): Remove unused variable. Use full screen width.
19 (Fx_show_tip): Do not double height. Call ShowWindow directly.
20
21 * w32term.c (x_after_update_window_line): Doc fix.
22 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
23 frames.
24 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
25
26 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
27 for all Windowed systems.
28
deece6f5
EZ
292001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
30
31 * msdos.c (IT_clear_screen): If the frame's faces are not yet
32 realized, use the initial screen colors to clear the screen.
33
1b944d9c
PJ
342001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
35
28ff4293
PJ
36 * textprop.c (Fset_text_properties): Remove unused variables
37 `unchanged', `prev_changed', `s' and `len'.
38
56167cc5
PJ
39 * search.c (Freplace_match): Remove unused variable `inslen'.
40
1b944d9c
PJ
41 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
42
ca56d953
JR
432001-11-22 Jason Rumney <jasonr@gnu.org>
44
45 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
46 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
47 (my_create_tip_window): New function.
48 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
49 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
50
33399dce
JR
512001-11-20 Jason Rumney <jasonr@gnu.org>
52
53 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
54 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
55
56 * w32fns.c (Vw32_system_coding_system): Remove.
57 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
58
9b46de40
SM
592001-11-19 Stefan Monnier <monnier@cs.yale.edu>
60
6710ea06
SM
61 * fileio.c (Fwrite_region): Move choose_write_coding_system to
62 after build_annotations.
63
a395ef6a
SM
64 * syntax.c (describe_syntax): Add dummy arg.
65 (describe_syntax_1): Update call to describe_vector.
66
67 * category.c (describe_category): Add dummy arg.
68 (describe_category_1): Update call to describe_vector.
69
70 * keymap.c (Fdescribe_vector): Add `describer' parameter.
71 (describe_command, describe_translation): Add dummy second param.
72 (describe_map): Call elt_describer with two arguments.
73 (describe_vector_princ): Add `fun' parameter.
74 Call it instead of the hardcoded `princ'.
75 (describe_vector): Add arg `args'.
76 Pass it as a new second argument to elt_describer.
77
78 * keymap.h (describe_vector): Update prototype.
79
9b46de40
SM
80 * frame.c: Don't include keymap.h any more.
81 (keys_of_frame): Remove.
82
83 * lisp.h (keys_of_frame): Remove declaration.
84
85 * emacs.c (main): Don't call `keys_of_frame' any more.
86
aff37336
SS
872001-11-14 Andreas Schwab <schwab@suse.de>
88
89 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
90 if defined, 0 otherwise.
9b46de40 91 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
92 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
93
b9937f07
RS
942001-11-19 Richard M. Stallman <rms@gnu.org>
95
96 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
97
2cd23960
JR
982001-11-18 Jason Rumney <jasonr@gnu.org>
99
100 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
101 (x_draw_bar_cursor): If the background color of the glyph under
102 the cursor equals the frame's cursor color, use the glyph's
103 foreground color for drawing the bar cursor.
104 (x_after_update_window_line): Clear internal border in different
105 circumstances.
106 (w32_set_vertical_scroll_bar): Check for width and height > 0.
107 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
108 (x_set_glyph_string_background_width):
109 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
110 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
111 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
112 if cursor_in_non_selected_windows is false.
9b46de40 113 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
114 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
115 Notice if cursor gets overwritten.
116 (notice_overwritten_cursor): Renamed from
117 note_overwritten_text_cursor. Rewritten to take glyph widths
118 into account, and to take X positions as parameters.
119 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
120 around call to x_draw_glyphs.
121 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
122 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
123 color to use for image glyph reliefs.
124 (x_draw_image_relief): Accept zero tool_bar_button_relief.
125 (glyph_rect): Remove unused variable `area'.
126
127 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
128 some items.
129 (x_set_internal_border_width): Set frame garbaged when window
130 doesn't exist yet.
131 (Fx_create_frame): Accept zero tool_bar_button_relief.
132 (x_clear_image_1, four_corners_best, image_background)
133 (image_background_transparent): New functions.
134 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
135 (gs_format): Add `:background' entry.
136 (lookup_image): Set IMG's background color if specified.
137 (pbm_load, xbm_load_image, png_load): Set IMG's background field
138 when appropriate.
139 (x_clear_image_1): Reset `background_valid' and
140 `background_transparent_valid' fields.
141 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
142 calculating it here. Set IMG's background_transparent field.
143 (enum xpm_keyword_index): Add XPM_BACKGROUND.
144 (enum png_keyword_index): Add PNG_BACKGROUND.
145 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
146 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
147 (enum gif_keyword_index): Add GIF_BACKGROUND.
148 (enum gs_keyword_index): Add GS_BACKGROUND.
149 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
150 Pre-calculate image background color where necessary.
9b46de40
SM
151 (x_create_x_image_and_pixmap, xbm_load, gs_load):
152 Use display info's n_cbits entry for screen depth.
2cd23960
JR
153 (Fx_show_tip): Remove unused variables `buffer', `top',
154 `left', `max_width' and `max_height'.
155
156 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
157
a4184c1c
GM
1582001-11-18 Gerd Moellmann <gerd@gnu.org>
159
160 * puresize.h (BASE_PURESIZE): Increase to 750000.
161
f6fa0866
PJ
1622001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
163
164 * frame.c (Fframe_live_p): Doc fix.
165
f4ca4b00
RS
1662001-11-18 Richard M. Stallman <rms@gnu.org>
167
168 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
169 (message_dolog_marker3): New static variables hold three markers.
170 (syms_of_xdisp): Initialize and staticpro them.
171 (message_dolog): Use message_dolog_marker1..3 instead of
172 allocating markers each time. Unchain them when done.
173
f4e25f94
RS
1742001-11-17 Richard M. Stallman <rms@gnu.org>
175
176 * doc.c (Fsnarf_documentation): Doc fix.
177
91c153e2
AS
1782001-11-17 Andreas Schwab <schwab@suse.de>
179
180 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
181
65b7d3e7
RS
1822001-11-17 Richard M. Stallman <rms@gnu.org>
183
184 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
185
6b5f6311
JR
1862001-11-17 Jason Rumney <jasonr@gnu.org>
187
188 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
189
be676094
GM
1902001-11-17 Gerd Moellmann <gerd@gnu.org>
191
192 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
193 with invalid position.
194
032a857d
RS
1952001-11-16 Richard M. Stallman <rms@gnu.org>
196
197 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
198
199 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
200 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
201 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
202
203 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
204
b6270150
SM
2052001-11-16 Stefan Monnier <monnier@cs.yale.edu>
206
207 * fileio.c (build_annotations): Split off the tail.
208 (build_annotations_2): New fun. Extracted from build_annotations.
209 (Fwrite_region): Split the call to build_annotations into two
210 calls to build_annotations and build_annotations_2.
211
792e5cbd
PJ
2122001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
213
98cbb9fa
PJ
214 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
215 clear_waiting_for_input with argument.
216
217 * xterm.h (x_update_cursor): Remove duplicated prototype.
218
b6270150 219 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 220
ea904403 221 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 222
ea904403 223 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 224
fa336b91
SM
2252001-11-16 Stefan Monnier <monnier@cs.yale.edu>
226
227 * fileio.c (choose_write_coding_system): New fun, extracted
228 from Fwrite_region.
229 (Fwrite_region): Use it.
230
231 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
232 (funcall_lambda, run_hook_with_args): Make static and add prototype.
233 (ml_apply, find_handler_clause): Add prototype.
234
077907d4
EZ
2352001-11-16 Eli Zaretskii <eliz@gnu.org>
236
aa2af83a
EZ
237 * config.in: Add #undef HAVE_COFF_H.
238
077907d4
EZ
239 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
240 Required for ISC 4.1.
241
1756e2fb
EZ
2422001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
243
244 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
245 Andrew Wiseman <a.wiseman@btclick.com>.
246
06e8f738
KS
2472001-11-16 Kim F. Storm <storm@cua.dk>
248
249 The following changes are made to clean up the various internal
250 references to the fringes to actually use the term `fringe' for
251 them. Previously, they were called `flags areas', `bitmap areas',
252 `left/right side of windows', or implicitly as `flags' or
253 `bitmaps':
254
255 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
256 Comments fixed. Use renamed symbols.
fa336b91 257
06e8f738 258 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 259
06e8f738
KS
260 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
261 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
262 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 263
06e8f738 264 * msdos.c: Comment fix.
fa336b91 265
06e8f738 266 * w32fns.c: Use renamed symbols.
fa336b91 267
06e8f738
KS
268 * w32term.c: Comment fixes. Use renamed symbols.
269 (fringe_bitmap_type): Renamed from bitmap_type.
270 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
271 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
272 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 273
06e8f738
KS
274 * w32term.h: Comment fixes. Use renamed symbols.
275 (fringes_extra): Renamed from flags_areas_extra.
276 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
277 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
278 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
279 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
280 (FRAME_X_LEFT_FRINGE_WIDTH):
281 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
282 (FRAME_X_RIGHT_FRINGE_WIDTH):
283 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
284
06e8f738 285 * widget.c: Use renamed symbols.
fa336b91 286
06e8f738
KS
287 * window.c: Comment fixes. Use renamed symbols.
288 (coordinates-in-window-p): Doc fix.
fa336b91 289
06e8f738 290 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 291
06e8f738 292 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 293
06e8f738 294 * xfns.c: Use renamed symbols.
fa336b91 295
06e8f738
KS
296 * xterm.c: Comment fixes. Use renamed symbols.
297 (fringe_bitmap_type): Renamed from bitmap_type.
298 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
299 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
300 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
301
302 * xterm.h: Comment fixes. Use renamed symbols.
303 (fringes_extra): Renamed from flags_areas_extra.
304 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
305 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
306 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
307 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
308 (FRAME_X_LEFT_FRINGE_WIDTH):
309 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
310 (FRAME_X_RIGHT_FRINGE_WIDTH):
311 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 312
9ce647f4
JR
3132001-11-15 Jason Rumney <jasonr@gnu.org>
314
315 * w32menu.c (add-menu-item): Make help_echo and radio buttons
316 work for most menu items. From David Ponce
317 <david.ponce@wanadoo.fr>.
318
9b784ab8
GM
3192001-11-15 Gerd Moellmann <gerd@gnu.org>
320
9f7e52b4
GM
321 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
322 Some x_set_* function expect to be called even if old and new
323 value are equal.
324
325 * xdisp.c (build_desired_tool_bar_string): Accept zero
326 tool_bar_button_relief.
327
328 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
329
330 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 331
34e5d0af
GM
332 * xterm.c (x_draw_bar_cursor): If the background color of the
333 glyph under the cursor equals the frame's cursor color, use
334 the glyph's foreground color for drawing the bar cursor.
335
9b784ab8
GM
336 * dispnew.c (direct_output_forward_char): Fix character/byte
337 position comparison.
338
89512fcd
MB
3392001-11-15 Miles Bader <miles@gnu.org>
340
341 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
342 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
343 Update arguments to find_field.
344 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
345 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
346 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
347 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
348
7d18891d
RS
3492001-11-14 Richard M. Stallman <rms@gnu.org>
350
d2936d21
RS
351 * editfns.c (Fpropertize): Allow call with 1 arg.
352
7d18891d
RS
353 * dispextern.h (image_background, image_background_transparent):
354 Conditionalize on HAVE_X_WINDOWS.
355
3562001-11-13 Richard M. Stallman <rms@gnu.org>
357
358 * print.c (Fprin1_to_string): Doc fix.
359
360 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
361
362 * floatfns.c (Fceiling, Ffloor): Doc fixes.
363
364 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
365
366 * fileio.c (Ffile_accessible_directory_p): Doc fix.
367
368 * eval.c (syms_of_eval): Doc fix.
369
370 * coding.c (syms_of_coding): Doc fix.
371
372 * doc.c (Fsnarf_documentation): Doc fix.
373
374 * dispnew.c (syms_of_display): Doc fix.
375
376 * category.c (Fget_unused_category): Doc fix.
377
378 * buffer.c (syms_of_buffer): Doc fixes.
379
9474c847
EZ
3802001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
381
382 * print.c (prin1, print): Doc fix.
383
e3059a5d
PJ
3842001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
385
2b6f3c2b 386 * fontset.h: Remove declarations of variables
e3059a5d
PJ
387 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
388
389 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
390 `Vclip_large_size_font'.
391
b3700ae7
JR
3922001-11-13 Jason Rumney <jasonr@gnu.org>
393
394 * w32fns.c: Doc fix.
395
eae936e2
PJ
3962001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
397
4bb962be
PJ
398 * xfaces.c (Fface_attributes_as_vector): Doc fix.
399
0a332240
PJ
400 * w32fns.c (Fx_synchronize): Reindent.
401
ddb67bdc
PJ
402 * fns.c: Doc fix.
403
3467c402
PJ
404 * emacs.c: Doc fix.
405
406 * coding.c: Doc fix.
407
6e1b91d7
PJ
408 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
409 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
410 `new style' [w/`doc:' keyword].
411
f6e34773
PJ
412 * xmenu.c (x-popup-menu): Reindent.
413 (x-popup-dialog): Likewise.
414
fa336b91 415 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 416
c2552f79
PJ
417 * xdisp.c (Fdump_tool_bar_row): Reindent.
418
94c7167b
PJ
419 * minibuf.c (Fminibuffer_complete_word): Reindent.
420 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 421 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
422 (Fminibuffer_message): Likewise.
423
462a5e3a
PJ
424 * fns.c (Freverse): Reindent.
425
b8de5714
PJ
426 * eval.c (Fif): Reindent.
427 (Fand): Likewise.
428
deb8e082
PJ
429 * editfns.c (Fuser_real_login_name): Reindent.
430 (Finsert_buffer_substring): Likewise.
431 (Fcompare_buffer_substrings): Likewise.
432 (Fsubst_char_in_region): Likewise.
433
bacf09b4
PJ
434 * dispnew.c (Fsit_for): Reindent.
435 (Fframe_or_buffer_changed_p): Likewise.
436 (Finternal_show_cursor_p): Likewise.
437 (syms_of_display): Likewise.
438
eae936e2
PJ
439 * alloc.c (Flist): Reindent.
440 (Fvector): Likewise.
441
1c1d3d69
RS
4422001-11-12 Richard M. Stallman <rms@gnu.org>
443
444 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
445 LeaveNotify events. Only FocusIn and FocusOut do that now.
446 (x_display_and_set_cursor): Do display hollow cursors in active
447 minibuffer windows when they are not selected.
448
b6f4c7ba
JR
4492001-11-12 Jason Rumney <jasonr@gnu.org>
450
451 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
452 * w32term.c: Change doc-string comments to `new style'.
453 [w/`doc:' keyword]. Doc fixes.
454
455 * w32fns.c: Don't define max.
456 (Fx_open_connection): Only execute once.
457
a89f435d
PJ
4582001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
459
460 * ccl.c: Change macros to use do-while block instead of if-else.
461 Use braces to follow GNU Coding Standards.
462
a4cd0cd7
RS
4632001-11-11 Richard M. Stallman <rms@gnu.org>
464
eafb659a
RS
465 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
466
467 * lread.c (read_escape): Use end_of_file_error for reporting eof.
468
a4cd0cd7
RS
469 * insdel.c (replace_range): Use adjust_markers_for_replace
470 instead of adjust_markers_for_delete and adjust_markers_for_insert.
471
472 * intervals.h: Declare set_text_properties and set_text_properties_1.
473
474 * textprop.c (set_text_properties_1): New subroutine
475 broken out of set_text_properties.
476 (set_text_properties): Use set_text_properties_1.
477
478 * intervals.c (graft_intervals_into_buffer):
479 Use set_text_properties_1 to clear out properties.
480
481 * search.c (Freplace_match): Use replace_range to insert
482 and delete. Don't request property inheritance from
483 surrounding text.
484
91823618
JR
4852001-11-10 Jason Rumney <jasonr@gnu.org>
486
487 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
488 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 489 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 490
86928dfb
GM
4912001-11-10 Gerd Moellmann <gerd@gnu.org>
492
fa336b91 493 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
494 instead of malloc/free.
495
40ef1eda
PJ
4962001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
497
ab8469eb
PJ
498 * xfaces.c (merge_face_vectors): Use braces to follow GNU
499 Coding Standards.
500 (Finternal_set_lisp_face_attribute): Likewise.
501
a78e0303
PJ
502 * buffer.c (Fbury_buffer): Likewise.
503
40ef1eda
PJ
504 * indent.c (current_column_1): Remove unused variable `prev_col'.
505
fabf4a91
PJ
506 * coding.c (encode_coding): Use precomputed value of `src'.
507 (encode_coding): Remove unused variable `src_end'.
508 (code_convert_region): Remove unused variables `count'.
509
0c99b139
JR
5102001-11-07 Jason Rumney <jasonr@gnu.org>
511
512 * w32term.c (x_display_and_set_cursor): Do not move system caret
513 if cursor_glyph is NULL.
514
830ddd77
PJ
5152001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
516
517 * keymap.c (access_keymap): Fix compilation error.
518
55c6d645
MB
5192001-11-07 Miles Bader <miles@gnu.org>
520
521 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
522
5de38842
PJ
5232001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
524
7a4564a4
PJ
525 * intervals.c (graft_intervals_into_buffer):
526 Remove #ifdef'd-out code.
527 (graft_intervals_into_buffer): Remove unused variable `middle'.
528
5de38842
PJ
529 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
530 code (eval-current-buffer).
531 Change doc-string comments to `new style' [w/`doc:' keyword].
532
4fa23df5
RS
5332001-11-06 Richard M. Stallman <rms@gnu.org>
534
535 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
536
7a6a97d7
SM
5372001-11-06 Stefan Monnier <monnier@cs.yale.edu>
538
c191d13c
SM
539 * lread.c (read1): Fix behavior with nested backquoting.
540
7a6a97d7
SM
541 * keyboard.c (make_lispy_event): Check integerness and fix
542 Lisp_Object/int mixup.
543
44dc78e0
PJ
5442001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
545
546 * fns.c (copy_hash_table): Remove unused variable `v'.
547
17893c65
PJ
548 * fontset.c (fontset_font_pattern): Remove unused variable
549 `family_registry'.
550
4d994a79
PJ
551 * indent.c (current_column_1): Remove unused variable `prev_col'.
552
d5360cc7
RS
5532001-11-05 Richard M. Stallman <rms@gnu.org>
554
555 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
556
557 * buffer.c (Fkill_buffer): Don't delete auto save file
558 if buffer is modified.
559
96238a5a
AI
5602001-11-05 Andrew Innes <andrewi@gnu.org>
561
562 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
563 CHECK_NUMBER_CDR.
564
d9d54213
RS
5652001-11-05 Richard M. Stallman <rms@gnu.org>
566
567 * unexelf.c (unexec): Minor changes; clean up comments.
568
b116830b
SS
5692001-11-05 Sam Steingold <sds@gnu.org>
570
571 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
572
3297e2a1
AS
5732001-11-05 Andreas Schwab <schwab@suse.de>
574
575 * sound.c (sound_perror): Save errno from being clobbered.
576
9212319f 5772001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
578
579 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
580 the program image directly.
581
7dd73b78
PJ
5822001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
583
584 * buffer.h (Fbuffer_local_value): Add prototype.
585
982f6c7e
RS
5862001-11-04 Richard M. Stallman <rms@gnu.org>
587
d31053f9
RS
588 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
589 and CHECK_BUFFER.
590
591 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
592 (record_char): Likewise.
593
594 * keyboard.c (make_lispy_event): Don't insist a drag event must
595 move to a different buffer position. Instead, check for moving at
596 least double_click_fuzz.
597
598 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
599
600 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
601
982f6c7e
RS
602 * indent.c (current_column_1, Fmove_to_column): Separate the code
603 for display-table glyphs from the code buffer text, to fix
604 bugs in the former.
605
830047fd
RS
6062001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
607
608 * buffer.c (Fbuffer_local_value): New function.
c191d13c 609 (syms_of_buffer): Defsubr it.
b116830b 610
830047fd
RS
611 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
612 value of `cursor-in-non-selected-windows'.
613
614 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
615 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
616 (syms_of_xdisp): Initialize it.
b116830b 617
2df5238c
PJ
6182001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
619
4e397688
PJ
620 * xfns.c (Fx_create_frame): Doc fix.
621
48b0f3ae
PJ
622 * coding.c: Change doc-string comments to `new style' [w/`doc:'
623 keyword].
624
2df5238c
PJ
625 * eval.c (top_level_value, top_level_set): Remove commented and
626 #ifdef'd-out code.
627 (Fdefvar): Fix usage in doc-string.
628
3ecaf7e5
RS
6292001-11-03 Richard M. Stallman <rms@gnu.org>
630
631 * xfns.c: Include unistd.h, if it exists.
632
633 * editfns.c: Move the include of ctype.h after unistd.h.
634
635 * gmalloc.c: Test BROKEN_PROTOTYPES.
636
8db2e33b
KR
6372001-11-03 Ken Raeburn <raeburn@gnu.org>
638
639 * lisp.h (CHECK_STRING_CAR): New macro.
640 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
641 treating XCAR and XCDR as lvalues.
642 (openp): Use CHECK_STRING_CAR.
643 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
644
aed29b97
EZ
6452001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
646
647 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 648 (SIGMASKTYPE): Define.
aed29b97
EZ
649
650 * syssignal.h (sigunblock): Don't define if already defined.
651
6cb16f95
PJ
6522001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
653
16b45be4
EZ
654 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
655 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
656 Fix typos in comments.
657
020f9b38
PJ
658 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
659 and #ifdef'd-out code.
660 Fix and reindent comments.
661
c191d13c 662 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 663
6cb16f95
PJ
664 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
665 argument `i' in macros.
666
667 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
668 `i' in macros.
669
16b45be4
EZ
670 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
671 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
672 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
673 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
674 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
675 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
676 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
677 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
678 in macros.
679
680 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
681 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
682 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
683 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
684 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
685 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
686 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
687 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
688 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
689 (remove unused second argument).
690
7e9d3c2f
SM
6912001-11-02 Stefan Monnier <monnier@cs.yale.edu>
692
693 * syntax.c (describe_syntax): New wrapper.
694 (Finternal_describe_syntax_value): Rename from describe_syntax.
695 Don't insert space at front and \n at the end.
696 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
697
698 * regex.c (re_wctype): Try to fix some warnings.
699 (regcomp, regexec): Don't forget the __restrict.
700
e6bff182
RS
7012001-11-02 Richard M. Stallman <rms@gnu.org>
702
703 * textprop.c (Fget_char_property): Doc fix.
704
9ba48103
PJ
7052001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
706
707 * process.c (Fstart_process): Add usage to doc-string.
708
709 * data.c (Fsetq_default): Ditto.
710
711 * callint.c (Finteractive): Ditto.
712
c22e59e1
SM
7132001-11-01 Stefan Monnier <monnier@cs.yale.edu>
714
715 * macros.c: Don't include keymap.h any more.
716
9271ed2c
RS
7172001-11-01 Richard M. Stallman <rms@gnu.org>
718
e6bff182
RS
719 * data.c (Fmake_local_variable): Doc fix.
720
721 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
722 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
723
9271ed2c
RS
724 * keymap.c (Fdescribe_buffer_bindings): Print character property
725 bindings along with or instead of the buffer local map.
726 Make the overriding maps override what they should.
727
8b8bd9c6
PJ
7282001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
729
730 * window.c (grow_mini_window): Fix typo in comment.
731
27188d11
GM
7322001-11-01 Gerd Moellmann <gerd@gnu.org>
733
7b49b9d2
GM
734 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
735 (XTset_vertical_scroll_bar): Likewise.
736
43f7c3ea
GM
737 * xfns.c (x_build_heuristic_mask): Use four_corners_best
738 instead of IMAGE_BACKGROUND.
c22e59e1 739
b350c2e5
GM
740 * xfns.c (four_corners_best): Reindent.
741
c22e59e1 742 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
743 Handle :box so that it is possible to specify sexprs.
744
d576358b
PJ
7452001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
746
747 * xfaces.c (Finternal_merge_in_global_face): Reindent.
748 (Fface_font): Ditto.
749 (Finternal_set_alternative_font_registry_alist): Ditto.
750 (Ftty_suppress_bold_inverse_default_colors): Ditto.
751
752 * xfns.c (x-get-resource): Reindent.
753
bf00d461
EZ
7542001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
755
756 * s/hpux11.h: New file.
757
4e10df59
PJ
7582001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
759
2b209b97
PJ
760 * emacs.c (USAGE1): Show command line option --no-window-system
761 instead of --no-windows in usage.
762 (standard_args): Rename --no-windows to --no-window-system.
763 (bug_reporting_address): Follow Emacs coding conventions.
764
9dbc9081
PJ
765 * eval.c (Fcommandp): Doc fix.
766 Change doc-string comments to `new style' [w/`doc:' keyword].
767
4e10df59
PJ
768 * frame.c (Fframe_live_p): Doc fix.
769
770 * buffer.c (selective-display-ellipses): Doc fix.
771
dd387b25
GM
7722001-10-31 Gerd Moellmann <gerd@gnu.org>
773
fe957e65
GM
774 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
775
dd387b25
GM
776 * xfaces.c (realize_x_face): If C is not a single-byte character,
777 set the face's colors_copied_bitwise_p instead of the defaulted_p
778 members which have a different meaning.
779 (free_face_colors): Do nothing for a face whose colors have been
780 copied bitwise.
781
c22e59e1 782 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 783
2e1280f8
PJ
7842001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
785
687784e8
PJ
786 * marker.c, mocklisp.c: Change doc-string comments to `new style'
787 [w/`doc:' keyword].
2e1280f8 788
b9d9a9b9
GM
7892001-10-31 Gerd Moellmann <gerd@gnu.org>
790
791 * fns.c (require_unwind): Return Lisp_Object.
792
48400103
PJ
7932001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
794
fa1361cb
PJ
795 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
796 (last-input-char): Revert doc-string to be the same as the
797 doc-string of `last-input-event'.
798
48400103
PJ
799 * xdisp.c: Fix typos in comments.
800
eafa3196
GM
8012001-10-31 Gerd Moellmann <gerd@gnu.org>
802
803 * window.c (grow_mini_window): Handle case that the root
804 window is already smaller than the nominal mininum height.
805
747d3f2a
SM
8062001-10-30 Stefan Monnier <monnier@cs.yale.edu>
807
bf9bb76f
SM
808 * emacs.c (main): Don't call keys_of_macros any more.
809
810 * lisp.h (keys_of_macros): Remove.
811
812 * macros.c (keys_of_macros): Remove.
813
747d3f2a
SM
814 * xfaces.c (Fface_attribute_relative_p): Declare args.
815
5e905a57
JR
8162001-10-30 Jason Rumney <jasonr@gnu.org>
817
818 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
819 (enum_font_cb2): Ignore fonts with vertical orientation.
820
3a426197
RS
8212001-10-30 Richard M. Stallman <rms@gnu.org>
822
823 * keyboard.c (Finput_pending_p): Doc fix.
824
a742d646
GM
8252001-10-30 Gerd Moellmann <gerd@gnu.org>
826
259cf6bc
GM
827 * xterm.c (x_after_update_window_line): Don't run the code
828 clearing in borders for rows whose visible height is 0.
829
3f99f948
GM
830 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
831 resized_p flag is set. If not set, use the much less flickering
832 method previously used.
833
834 * dispnew.c (change_frame_size_1): Set frame's resized_p.
835
836 * frame.h (struct frame) <resized_p>: New member.
837
b4a3be43
GM
838 * lread.c (to_multibyte): Ensure read_buffer is at least twice
839 as large as the number of bytes to convert.
747d3f2a 840
a742d646
GM
841 * lread.c (to_multibyte): New function.
842 (read1): Use it.
843
cacbb9e9
EZ
8442001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
845
846 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
847
99cb6b2f
GM
8482001-10-30 Gerd Moellmann <gerd@gnu.org>
849
327f42ee 850 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
851 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
852 if the row's fill_line_p is set and drawing the last glyph with
853 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 854
99cb6b2f
GM
855 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
856
8e8223e2
SM
8572001-10-29 Stefan Monnier <monnier@cs.yale.edu>
858
859 * xmenu.c: Include coding.h and charset.h.
860 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
861 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
862 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
863 Explicitly set wv->help. Use `TRUE' rather than `True'.
864 (menu_help_callback): Use empty_string.
865
866 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
867 (Fx_popup_dialog): Explicitly init f.
868 (w32_menu_display_help): Use empty_string.
869
4d083a8f
RS
8702001-10-29 Richard M. Stallman <rms@gnu.org>
871
b2304472
RS
872 * fns.c (Frequire): Detect recursive try to require the same
873 feature 3 or more levels deep, and get error.
874 (require_unwind): New subroutine.
875 (require_nesting_list): New variable.
876 (syms_of_fns): Init and staticpro it.
877
4d083a8f
RS
878 * print.c (print_object): Clarify indication of insertion type.
879
2fe41216
EZ
8802001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
881
90480000
EZ
882 * coding.c (syms_of_coding): Document that locale-coding-system is
883 used for decoding input on X.
884
2fe41216
EZ
885 * window.c (Fscroll_left, Fscroll_right): Doc fix.
886
74e79967
PJ
8872001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
888
889 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
890 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
891
60ebcfe8
GM
8922001-10-29 Gerd Moellmann <gerd@gnu.org>
893
9a7bdceb
GM
894 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
895 use NO_CURSOR if cursor_in_non_selected_windows is false.
896
3f08fcd2
GM
897 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
898 the slant attribute if FRAME is t.
899
0ccfdad2
GM
900 * xfns.c (x_set_internal_border_width): Set frame garbaged
901 when X window doesn't exist yet.
902
ef253080
GM
903 * xterm.c (x_after_update_window_line): Clear internal border
904 in different circumstances.
b116830b 905
60ebcfe8
GM
906 * xterm.c (XTread_socket) <KeyPress>: Don't use
907 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
908 <handa@etl.go.jp>.
909
73d25f9c
EZ
9102001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
911
912 * m/ibms390.h: New file. From Adam Thornton
913 <athornton@sinenomine.net>.
914
cac1daf0
GM
9152001-10-28 Gerd Moellmann <gerd@gnu.org>
916
053b3256 917 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 918
cac1daf0
GM
919 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
920 a loop counter.
921
13b1a09c
PJ
9222001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
923
186486eb
PJ
924 * emacs.c: Use argv[0] instead of emacs when -t was specified.
925
4707d2d0
PJ
926 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
927 keyword].
928 Fix typos in comments.
b116830b 929
d883731c
PJ
930 * emacs.c (bug_reporting_address): New function.
931 Use it when displaying usage message.
932
04012254
PJ
933 * minibuf.c (read_minibuf): Remove unused external declaration of
934 variable `Qread_only'.
935
13b1a09c
PJ
936 * keymap.c (access_keymap): Remove unused variable `charset'.
937
5bbf4378
MB
9382001-10-28 Miles Bader <miles@gnu.org>
939
940 * xfaces.c (merge_face_heights): Handle TO being relative as well.
941 Remove #ifdef'd-out code.
942 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
943 (syms_of_xfaces): Initialize them.
944
1ce1e4ee
JR
9452001-10-27 Jason Rumney <jasonr@gnu.org>
946
947 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
948 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
949 position using the system caret.
950
951 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
952 (w32_system_caret_height, w32_system_caret_x)
953 (w32_system_caret_y): New variables for tracking system caret.
954 (w32_initialize): Initialize them.
c2d53558 955 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 956
c2d53558
SM
957 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
958 New messages types.
1ce1e4ee
JR
959
960 * w32term.c (note_mouse_highlight): Clear old help_echo.
961
4e30ce42
PJ
9622001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
963
bb4600a4
PJ
964 * xterm.c: Fix typo in a comment.
965
7db35a48
PJ
966 * emacs.c: Fix typos in comments.
967 Remove unnecessary spaces.
968 Change doc-string comments to `new style' [w/`doc:' keyword].
969 (USAGE2): Fix typos in usage string.
970
a7248e4f
PJ
971 * xterm.c: Fix typo in a comment.
972
4e30ce42
PJ
973 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
974 emacs.c.
975
62725a92
GM
9762001-10-27 Gerd Moellmann <gerd@gnu.org>
977
798dbe1f 978 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 979 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
980 farther backward when target_y was not reached.
981
62725a92
GM
982 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
983 Display errno only if non-zero.
984 (sound_warning): New function.
985 (vox_configure): Don't treat failing to set sample rate as error.
986 (various places): Improve error messages.
987
d4e34d24
EZ
9882001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
989
944e6f60
EZ
990 * fileio.c (Faccess_file): Run the argument filename through
991 Fexpand_file_name, before using it.
992
d4e34d24
EZ
993 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
994 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
995
38d2af0c
GM
9962001-10-26 Gerd Moellmann <gerd@gnu.org>
997
da80a8d5
GM
998 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
999
38d2af0c
GM
1000 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1001 Fix clearing in the case of scroll bars on the right.
c2d53558 1002
56f508dd
EZ
10032001-10-26 Juanma Barranquero <lektu@terra.es>
1004
1005 * w32gui.h (XImage): Add a dummy typedef.
1006
fbd5ceb2
GM
10072001-10-26 Gerd Moellmann <gerd@gnu.org>
1008
c2d53558 1009 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1010
b23236fb
EZ
10112001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1012
1013 * frame.c (Fframe_parameter): Fix last change.
1014
5d991fc4
EZ
1015 * fileio.c: Revert last change (which removed old commented-out
1016 version of expand-file-name). Add a comment that explains why
1017 this old version should not be removed.
1018
879eadc3
GM
10192001-10-25 Gerd Moellmann <gerd@gnu.org>
1020
75700ff2
GM
1021 * frame.c (Fframe_parameter): Fix a bug whereby some
1022 ``artificial'' frame parameters, like `minibuffer' were not
1023 obtained by calling Fframe_parameters.
1024
dfe92a6a
GM
1025 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1026 cursor differently.
1027
879eadc3
GM
1028 * xdisp.c (move_it_vertically_backward): Compute line height
1029 differently. Add heuristic to try to be more compatible to 20.x.
1030
e1010ebe
SM
10312001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1032
d73a471b
SM
1033 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1034
d6da5a06
GM
1035 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1036 boolean.
e1010ebe 1037
f66bd220
MB
10382001-10-25 Miles Bader <miles@gnu.org>
1039
1040 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1041 BG is a pointer to a structure, not a structure.
1042 (gif_format, png_format): Add missing commas.
1043
d436d538
RS
10442001-10-24 Richard M. Stallman <rms@gnu.org>
1045
1046 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1047 (syms_of_xfaces): Defsubr it.
d436d538 1048
075c507b
PJ
10492001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1050
1051 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1052 variable `area'.
1053
d492b584
PJ
10542001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1055
c2d53558 1056 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1057
e2a57b34
MB
10582001-10-25 Miles Bader <miles@gnu.org>
1059
1060 * dispextern.h (struct image): Add `background',
1061 `background_valid', and `background_transparent' fields.
1062 (image_background, image_background_transparent): New declarations.
1063 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1064 * xfns.c (image_background, image_background_transparent)
1065 (four_corners_best): New functions.
c2d53558 1066 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1067 (gs_format): Add `:background' entry.
1068 (lookup_image): Set IMG's background color if specified.
1069 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1070 when appropriate.
1071 (x_clear_image_1): Reset `background_valid' and
1072 `background_transparent_valid' fields.
1073 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1074 calculating it here. Set IMG's background_transparent field.
1075 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1076 (enum png_keyword_index): Add PNG_BACKGROUND.
1077 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1078 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1079 (enum gif_keyword_index): Add GIF_BACKGROUND.
1080 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1081 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1082 Pre-calculate image background color where necessary.
1083 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1084 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1085 color to use for image glyph reliefs.
1086
b547b6e8
GM
10872001-10-24 Gerd Moellmann <gerd@gnu.org>
1088
d9e3b8c6
GM
1089 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1090 in full-width rows.
c2d53558 1091
b547b6e8
GM
1092 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1093 Fix clearing of area not covered by scroll bar.
1094
2beb36f9
PJ
10952001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1096
1097 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1098 and `real_start'.
c2d53558 1099 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1100 (glyph_rect): Remove unused variable `area'.
1101
76cb5e06
GM
11022001-10-24 Gerd Moellmann <gerd@gnu.org>
1103
bdbdebff 1104 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1105
1106 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1107 (row_containing_pos): Take additional argument DY.
1108 Treat rows ending in middle of char differently.
62e33982
GM
1109 (display_line): Handle tabs on window systems differently.
1110
1111 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1112 with additional argument.
1113
1114 * dispextern.h (row_containing_pos): Adjust prototype.
1115
76cb5e06
GM
1116 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1117 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1118 (try_window_id, try_window_reusing_current_matrix)
1119 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1120 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1121
996fee11
PJ
11222001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1123
c9e60620
PJ
1124 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1125 gnuemacs).
1126 (HAVE_BOXES): Fix typo in comment.
1127 (push_menu_pane): Fix typo in comment.
1128
3b552d56
PJ
1129 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1130 of `Qwhen'.
1131 (single_display_prop_string_p): Remove unused local declarations
1132 of `Qwhen' and `Qmargin'.
1133 (string_buffer_position): Remove unused variable `around'.
1134 (store_frame_title): Remove unused variable `width'.
1135
15c565ac
PJ
1136 * window.c: Don't define max.
1137 (coordinates_in_window): Remove unused variable `uy'.
1138
a8818eb9
PJ
1139 * widget.c: Don't define max.
1140
996fee11
PJ
1141 * process.c: Don't define max.
1142 (create_process): Remove unused variable `buffer'.
1143
496e1a5b
GM
11442001-10-23 Gerd Moellmann <gerd@gnu.org>
1145
c2d53558 1146 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1147
5905ae8b
EZ
11482001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1149
1150 * xfaces.c (Finternal_set_lisp_face_attribute)
1151 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1152 frame is on a windowed display.
1153
24db49fb
GM
11542001-10-23 Gerd Moellmann <gerd@gnu.org>
1155
c2d53558
SM
1156 * dispnew.c (sync_window_with_frame_matrix_rows):
1157 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1158 of marginal areas.
1159
c2d53558 1160 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1161
f0487f05
EZ
11622001-10-23 Andreas Schwab <schwab@suse.de>
1163
1164 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1165 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1166
f0a48a01
GM
11672001-10-23 Gerd Moellmann <gerd@gnu.org>
1168
c2d53558 1169 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1170 REAL_END. Notice if cursor gets overwritten.
1171 (notice_overwritten_cursor): Take X positions as parameters.
1172 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1173 around call to x_draw_glyphs.
1174
a50a10a0
PJ
11752001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1176
fc11dff0
PJ
1177 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1178 instead of C) and usage.
a50a10a0 1179
fc11dff0
PJ
1180 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1181 of C) and usage.
a50a10a0
PJ
1182
1183 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1184 `left', `max_width' and `max_height'.
1185
8738febd
GM
11862001-10-23 Gerd Moellmann <gerd@gnu.org>
1187
1188 * xdisp.c (display_line): For a tab continued to the next line,
1189 set row's ends_in_middle_of_char_p.
1190
653c329b
GM
11912001-10-22 Gerd Moellmann <gerd@gnu.org>
1192
1193 * xdisp.c (display_line): Fix computation of continuation lines
1194 width for TABs.
1195
f958c5ac
PJ
11962001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1197
7ba51063
PJ
1198 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1199 `Qlaplace'.
1200
f958c5ac
PJ
1201 * fileio.c: Remove unused code.
1202
eb360291
MB
12032001-10-22 Miles Bader <miles@gnu.org>
1204
1205 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1206 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1207 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1208
98515cf0
JR
12092001-10-21 Jason Rumney <jasonr@gnu.org>
1210
1211 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1212
93026d88
EZ
12132001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1214
1215 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1216 (Finsert_string): Avoid the multi-line string literals warning.
1217
c9a95b79
MB
12182001-10-22 Miles Bader <miles@gnu.org>
1219
1220 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1221 (Fdocumentation): Don't use it.
1222 (syms_of_doc): Don't initialize it.
1223
1224 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1225 * print.c (Fwith_output_to_temp_buffer): Likewise.
1226 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1227 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1228 (Fsave_restriction): Likewise.
c2d53558
SM
1229 * eval.c (Frun_hooks, Frun_hook_with_args)
1230 (Frun_hook_with_args_until_failure)
1231 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1232 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1233 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1234 (Funwind_protect, Fcondition_case): Likewise.
1235 * coding.c (Ffind_operation_coding_system): Likewise.
1236 * keyboard.c (Ftrack_mouse): Likewise.
1237
a3b10252
MB
12382001-10-21 Miles Bader <miles@gnu.org>
1239
c2d53558 1240 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1241 (Fmake_hash_table): Add usage: string to doc string.
1242 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1243 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1244 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1245 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1246 (Fml_prefix_argument_loop): Likewise.
1247
c6f73eec
PJ
12482001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1249
c2d53558 1250 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1251
c6f73eec
PJ
1252 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1253 style' [w/`doc:' keyword].
1254
1255 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1256 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1257 comments to `new style' [w/`doc:' keyword].
1258
3cf3436e
JR
12592001-10-21 Jason Rumney <jasonr@gnu.org>
1260
1261 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1262
c169b8f1
JR
1263 * w32term.c (remember_mouse_glyph): New function.
1264 (w32_mouse_position): Use it.
1265 (note_mouse_movement): If the mouse moved off the glyph, remember
1266 its new position.
c2d53558 1267
4fdd691b
JR
1268 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1269 (w32_display_info): Add mouse_face_overlay.
1270
c169b8f1
JR
1271 * w32term.c (notice_overwritten_cursor): Renamed from
1272 note_overwritten_text_cursor. Rewritten to take glyph widths into
1273 account.
1274 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1275 (fast_find_string_pos): New function.
1276 (fast_find_position): Return the correct vpos. Add parameter
1277 STOP. In the final row, stop before glyphs having STOP as object.
1278 Don't consider glyphs that are not from a buffer.
1279 (fast_find_position) [0]: Add a presumably more correct version
1280 for after 21.1.
1281 (expose_window_tree, expose_frame): Don't compute intersections here.
1282 (expose_window): Do it here instead.
1283 (expose_window_tree, expose_window, expose_line): Return 1 when
1284 overwriting mouse-face.
1285 (expose_window): If W is the window currently being updated, mark
1286 the frame garbaged.
1287 (expose_frame): If mouse-face was overwritten, redo it.
1288 (x_use_underline_position_properties): New variable.
1289 (syms_of_xterm): DEFVAR_BOOL it.
1290 (x_draw_glyph_string): Add comment to use it in future.
1291 (x_draw_glyph_string): Restore clipping after drawing box.
1292 Fix a computation of the underline position.
1293 (w32_get_glyph_string_clip_rect): Minor cleanup.
1294 (x_fill_stretch_glyph_string): Remove an assertion.
1295 (x_produce_glyphs): Don't convert multibyte characters
1296 to unibyte characters in unibyte buffers.
1297 (cursor_in_mouse_face_p): New function.
1298 (x_draw_stretch_glyph_string): Use it to choose a different GC
1299 when drawing a cursor within highlighted text. Don't draw
1300 background again if it has already been drawn.
1301 (x_draw_glyph_string_box): Don't draw a full-width
1302 box just because the glyph row's full_width_p flag is set.
1303 (x_draw_glyphs): Fix computation of rightmost x for
1304 full-width rows.
1305 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1306 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1307 change bottom shadow accordingly. Some cleanup.
1308 (x_update_window_end): Handle overwritten mouse face
1309 also for tool bar windows.
1310 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1311 DRAW is DRAW_IMAGE_RAISED.
1312 (clear_mouse_face): Return 1 if text with mouse face was
1313 actually redrawn. Make the function static. Reset
1314 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1315 optimize away highlighting if we pass over that same overlay again.
1316 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1317 to detect a case where we have to highlight a different region
1318 despite not having left the currently highlighted region.
1319 Set mouse_face_overlay in the x_display_info. Avoid changing the
1320 mouse pointer shape when show_mouse_face has already done it, or
1321 there is no need. Handle mouse-face and help-echo in strings.
1322 (glyph_rect): New function.
1323 (w32_mouse_position): Use it to raise the threshold for mouse
1324 movement event generation.
1325 (w32_initialize_display_info): Initialize the x_display_info's
1326 mouse_face_overlay.
1327 (w32_set_vertical_scroll_bar): Don't clear a zero height
1328 or width area.
1329 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1330 a widget to zero height.
1331
3cf3436e 1332 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1333 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1334 equivalents in menu_items.
1335 (w32_menu_show): Don't overwrite an item's name with its key
1336 description in case the description is a multibyte string.
1337 (single_submenu): Some cleanup.
1338
1339 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1340 (postprocess_image): New function.
1341 (lookup_image): Call it for all image types except PostScript.
1342 (x_kill_gs_process): Call postprocess_image.
1343 (tiff_error_handler, tiff_warning_handler): New functions.
1344 (tiff_load): Install them as handlers.
1345 (x_kill_gs_process): Recognize if someone has cleared the image
1346 cache under us.
1347 (valid_image_p): Protect better against invalid image
1348 specifications. Previous code could signal an error.
1349 (Fx_hide_tip, Fshow_tip): Doc fix.
1350 (Fv_max_tooltip_size): New variable.
1351 (syns_of_xfns): DEFVAR_LISP it.
1352 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1353 window buffer to *tip* right after creating the frame. Set frame's
1354 window_width. Use a maximum tooltip size specified by
1355 Vx_max_tooltip_size, if that has valid contents.
1356 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1357 Make sure the tooltip is completely visible.
1358 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1359 (Fx_create_frame): Adjust the frame's height for presence
1360 of the tool bar before calling x_figure_window_size.
1361 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1362 when the window gets smaller.
1363 (x_set_foreground_color): Set frame's cursor_pixel.
1364 (x_set_foreground_color, x_set_background_color): Cleaned up.
1365 (x_set_font): Handle case of x_new_fontset returning the same name
1366 as before, although there was a change in fontsets.
1367
386ca361
MB
13682001-10-21 Miles Bader <miles@gnu.org>
1369
c2d53558 1370 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1371 (Flogxor): Add usage: string to doc string.
1372 * charset.c (Fstring): Likewise.
1373 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1374 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1375
14ff1ee0
PJ
13762001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1377
03be2694
PJ
1378 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1379
1380 * alloc.c: Reindent DEFUNs with doc: keywords.
1381
1382 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1383
14ff1ee0
PJ
1384 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1385 keyword].
1386
71431a0e
GM
13872001-10-20 Gerd Moellmann <gerd@gnu.org>
1388
6aa97356 1389 * (Version 21.1 released.)
71431a0e 1390
39f624fa
PJ
13912001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1392
c2d53558 1393 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1394
1395 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1396 0 because unused.
1397
1398 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1399 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1400 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1401
abcce93a
MB
14022001-10-20 Miles Bader <miles@gnu.org>
1403
1404 The following changes remove the glyph_row `inverse_p' field,
1405 which is never set anymore, due to other changes:
1406
1407 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1408 (reassert_line_highlight, change_line_highlight): Declarations removed.
1409 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1410 (line_hash_code, row_equal_p, fake_current_matrices)
1411 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1412 (update_frame_line, update_frame_line, update_frame_line):
1413 Don't use `inverse_p' field.
1414 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1415 change_line_highlight_hook.
1416 (XTreassert_line_highlight, x_change_line_highlight):
1417 Functions removed.
c2d53558 1418 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1419 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1420 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1421 `inverse_p' field.
c2d53558 1422 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1423 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1424 (w32_reassert_line_highlight, x_change_line_highlight):
1425 Functions removed.
1426 * w32console.c (reassert_line_highlight, change_line_highlight):
1427 Functions removed.
1428 (initialize_w32_display): Don't set reassert_line_highlight_hook
1429 or change_line_highlight_hook.
1430 (hl_mode): Function removed.
c2d53558
SM
1431 (reset_terminal_modes, set_terminal_modes, update_begin)
1432 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1433 (clear_frame, ins_del_lines): Don't call it.
1434 * termhooks.h (reassert_line_highlight_hook)
1435 (change_line_highlight_hook): Declarations removed.
1436 * term.c (reassert_line_highlight_hook)
1437 (change_line_highlight_hook): Variables removed.
1438 (reassert_line_highlight, change_line_highlight): Functions removed.
1439 * msdos.c (IT_reassert_line_highlight)
1440 (IT_change_line_highlight): Functions removed.
1441 (internal_terminal_init): Don't set reassert_line_highlight_hook
1442 or change_line_highlight_hook.
1443 (highlight): Variable removed.
c2d53558 1444 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1445 (IT_set_terminal_modes): Don't set or use it.
1446
1447 The following changes remove inverse-video support for terminals
1448 that use a `magic cookie' standout mode. Due to changes in the
1449 way mode-lines are displayed, such support no longer works
1450 anyway, and it's probable that almost no one uses such terminals
1451 anymore:
1452
1453 * term.c (standout_requested): Variable removed.
1454 (update_end, highlight_if_desired): Don't use it.
1455 (chars_wasted, copybuf): Variables removed.
1456 (write_standout_marker): Function removed.
c2d53558 1457 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1458 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1459 Don't use `chars_wasted' or `copybuf'.
1460 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1461 Set `costs_set' to true.
1462 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1463 `chars_wasted'.
1464 (clear_end_of_line): Function removed.
1465 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1466 (clear_to_end): Call `clear_end_of_line' instead of
1467 `clear_end_of_line_raw'.
54800acb
MB
1468 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1469 (term_init): Don't set them.
1470 Turn off any standout/underline modes that require magic cookies.
c2d53558 1471 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1472 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1473 Remove special processing for magic-cookie standout modes.
1474 (turn_off_face, turn_on_face): Remove special processing for
1475 underline magic-cookie glitch.
abcce93a 1476
0b5f679f
RS
14772001-10-19 Richard M. Stallman <rms@gnu.org>
1478
1479 * eval.c (syms_of_eval): Doc fixes.
1480
5a4a5bd4
GM
14812001-10-19 Gerd Moellmann <gerd@gnu.org>
1482
1483 * xdisp.c (redisplay_internal): Don't clear echo area if the
1484 mini-window is selected.
1485
79f1f96c
MB
14862001-10-19 Miles Bader <miles@gnu.org>
1487
b57c2708
MB
1488 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1489 doesn't take precedence if the affected property's value is nil.
1490
1491 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1492
79f1f96c
MB
1493 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1494 with fields and suggest using `forward-line' to avoid them.
1495 * editfns.c (Fline_beginning_position, Fline_end_position):
1496 Clarify documentation.
1497
ef879104
SM
14982001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1499
1500 * keymap.c (current_minor_maps): `override' only shadows its
1501 correspondent in minor-mode-map-alist, not the whole tail.
1502
97f4db8c
AI
15032001-10-18 Andrew Innes <andrewi@gnu.org>
1504
1505 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1506 optimization. The fontp->encoding array was not being initialized
1507 correctly when compiled with optimizations by MSVC.
1508
e6b70fd8
GM
15092001-10-18 Gerd Moellmann <gerd@gnu.org>
1510
30903479 1511 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1512
0e804d38
AI
15132001-10-17 Andrew Innes <andrewi@gnu.org>
1514
1515 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1516
1517 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1518 font_info.charset field.
1519
1520 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1521 rather than working it out by calling w32_codepage_for_font for
1522 every glyph.
1523
66e5868a
AI
15242001-10-17 Andrew Innes <andrewi@gnu.org>
1525
1526 * w32term.c (w32_read_socket): Determine clipping rectangle for
1527 the entire frame, including areas covered by scrollbars and the
1528 menubar. This avoids internal arguments about whether a frame is
1529 fully obscured or not.
1530
15b00083
GM
15312001-10-17 Gerd Moellmann <gerd@gnu.org>
1532
23e8bd86
GM
1533 * xdisp.c (try_window_id): Undo last change. Give up if
1534 window ends in strings.
30903479 1535
9c6ba6d1 1536 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1537 end if the rest of the window after the window end was already blank.
23e8bd86 1538
30903479 1539 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1540 for the release of 21.1.
1541
30903479 1542 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1543
945220bd
MB
15442001-10-17 Miles Bader <miles@gnu.org>
1545
1546 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1547 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1548 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1549 Change doc-string comments to `new style' [w/`doc:' keyword].
1550 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1551 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1552 out make-docfile.
1553
14242528
MB
15542001-10-16 Miles Bader <miles@gnu.org>
1555
1556 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1557
3ddf952f
GM
15582001-10-16 Gerd Moellmann <gerd@gnu.org>
1559
1560 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1561 *scratch*.
1562
f3fbd155
KR
15632001-10-16 Ken Raeburn <raeburn@gnu.org>
1564
1565 Avoid the assumption that car and cdr slots of cons cells are
1566 addressable lvalues; this allows for easier experimentation with
1567 other lisp implementations that may not permit such accesses for
1568 various reasons. Not quite complete -- buffer.c still needs some
1569 work, and w32/mac files need rechecking -- so compile-time
1570 enforcement is left disabled for now.
1571
1572 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1573 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1574 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1575 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1576 (XSETCAR, XSETCDR): New macros.
1577 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1578 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1579 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1580 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1581 XSETCDR.
1582 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1583 * buffer.c (record_buffer, Fbury_buffer)
1584 (swap_out_buffer_local_variables, recenter_overlay_lists)
1585 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1586 fields of a cons cell respectively.
1587 * callint.c (quotify_args, Fcall_interactively): Likewise.
1588 * ccl.c (Fregister_code_conversion_map): Likewise.
1589 * coding.c (detect_coding_system): Likewise.
1590 * composite.c (get_composition_id, make_composition_value_copy):
1591 Likewise.
30903479
SM
1592 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1593 (swap_in_symval_forwarding, set_internal, Fset_default)
1594 (Fmake_variable_buffer_local, Fmake_local_variable)
1595 (Fmake_variable_frame_local): Likewise.
f3fbd155 1596 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1597 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1598 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1599 * minibuf.c (get_minibuffer): Likewise.
1600 * search.c (Fmatch_data): Likewise.
1601 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1602 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1603 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1604 Likewise.
1605 * w32term.c (x_delete_display): Likewise.
1606 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1607 Likewise.
c2d53558 1608 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1609 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1610 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1611 (Fread_file_name): Use XSETCAR.
1612 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1613 CHECK_NUMBER_CDR.
1614 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1615 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1616 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1617 CHECK_NUMBER_CDR.
1618 * keyboard.c (read_char): Alter list traversal to avoid taking the
1619 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1620 (parse_menu_item): Use XSETCAR and XSETCDR.
1621 (reach_char_x_menu_prompt): Use XSETCAR.
1622 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1623 (Fcommand_execute): Use XSETCDR.
1624 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1625 (openp): Change list traversal to avoid using XCAR as lvalue.
1626 (read_list): Use XSETCDR.
1627 * process.c (wait_reading_process_input): Change wait_for_cell
1628 handling to avoid taking addresses of cons cell slots.
30903479
SM
1629 * xselect.c (x_own_selection, x_handle_selection_clear)
1630 (x_clear_frame_selections): Use XSETCDR.
1631 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1632 (x_handle_property_notify, x_get_foreign_selection)
1633 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1634
502150e5
PJ
16352001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1636
018ba359
PJ
1637 * buffer.c: Put doc strings in comments.
1638
30903479 1639 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1640
b56ba8de
SS
16412001-10-15 Sam Steingold <sds@gnu.org>
1642
1643 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1644
6a0b793a
PJ
16452001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1646
30903479
SM
1647 * process.c (process-inherit-coding-system-flag)
1648 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1649 in comment.
1650
a1f17501 1651 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1652 arguments. Put doc strings in comments.
a65da641
PJ
1653
1654 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1655
aa601ad0
GM
16562001-10-15 Gerd Moellmann <gerd@gnu.org>
1657
30903479 1658 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1659
aa601ad0
GM
1660 * window.c (select_window_1): Unfreeze window start. Remove a
1661 doubled test for WINDOW being live.
1662
288148a1
PJ
16632001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1664
dd8d1e71
PJ
1665 * fns.c (Fmapconcat): Fix typo in a doc string.
1666
288148a1
PJ
1667 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1668
9f5eb4a3
GM
16692001-10-15 Gerd Moellmann <gerd@gnu.org>
1670
1671 * xterm.c (x_draw_glyph_string): Restore clipping after
1672 drawing box.
1673
dbae44c8
PJ
16742001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1675
30903479 1676 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1677
0c88c937
SM
16782001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1679
56378db4
GM
1680 * indent.c (skip_invisible): Use new retval of
1681 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1682
845e4cf4
SM
1683 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1684 If a parent is reached and noinherit is set, exit immediately.
1685 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1686
0c88c937
SM
1687 * s/ms-w32.h (EXEC_SUFFIXES):
1688 * s/msdos.h (EXEC_SUFFIXES):
1689 * process.h (EXEC_SUFFIXES): Remove.
1690
1691 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1692 (decode_suffixes): Remove.
1693
1694 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1695 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1696 (invisible_ellipsis_p): Remove.
0c88c937
SM
1697
1698 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1699 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1700 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1701 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1702 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1703
d19be8a9
PJ
17042001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1705
04d7d066
PJ
1706 * lisp.h (Ftop_level): Add prototype.
1707
d624284c
PJ
1708 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1709 (XTread_socket): Improve style of comments to follow other
1710 comments.
1711
a87414f9
PJ
1712 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1713 is already prototyped in included lisp.h).
1714
d19be8a9
PJ
1715 * frame.c (Fset_mouse_position): Improve style of comment to
1716 follow other comments.
1717 (Fset_mouse_pixel_position): Improve style of comment to follow
1718 other comments.
1719 (Fmake_frame_visible): Doc fix and typo in comment.
1720 (Fmake_frame_invisible): Doc fix and typo in comment.
1721 (Ficonify_frame): Fix typo in comment.
1722
c061c855
GM
17232001-10-14 Gerd Moellmann <gerd@gnu.org>
1724
37f6b5b6 1725 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1726 * term.c, alloc.c: Put doc strings in comments.
c061c855 1727
e641b454
GM
17282001-10-13 Gerd Moellmann <gerd@gnu.org>
1729
1730 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1731 Provide definitions for doc strings in comments.
1732
1733 * fns.c: Put doc strings in comments.
1734
51724e26
EZ
17352001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1736
1737 * dired.c (file_name_completion): Ignore a candidate directory if
1738 it matches an element in completion-ignored-extensions that ends
1739 in a slash.
1740 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1741 feature in the doc string.
1742 (Ffile_name_completion): Ditto.
1743
be5fc59b
SM
17442001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1745
5a1373f3
SM
1746 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1747
1748 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1749
1750 * lisp.h (Fprovide): Update prototype.
1751 (Ffeaturep, invisible_p): Remove.
1752
bbc4a3d3 1753 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1754 (DOLIST, LOOP_PROPVAL): New macros.
1755 (invisible_p, invisible_ellipsis_p): Use them.
1756 (invisible_noellipsis_p): New function.
1757 (syms_of_xdisp): Use empty_string.
1758
1759 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1760
1761 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1762 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1763
1764 * print.c (Fwith_output_to_temp_buffer): Align with
1765 internal_with_output_to_temp_buffer.
1766 (print_preprocess): Use traverse_intervals_noorder.
1767 (print_object): Update call to traverse_intervals.
1768
1769 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1770 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1771
1772 * intervals.c (traverse_intervals_noorder): New function.
1773 (search_for_interval, count_intervals): Use it.
1774 (traverse_intervals): Use less stack space and drop `depth' arg.
1775
1776 * fns.c (Ffeaturep): Add new `subfeature' arg.
1777 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1778 (Qsubfeatures): New var.
1779 (syms_of_fns): Initialize it.
1780
026f408d
SM
1781 * keymap.c (Fkey_description): Use empty_string.
1782 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1783 (syms_of_keymap): Setup inheritance between maps.
1784 Don't export Sdescribe_bindings_internal any more.
1785
be5fc59b
SM
1786 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1787
3365175e
GM
17882001-10-12 Gerd Moellmann <gerd@gnu.org>
1789
1790 * xterm.c (notice_overwritten_cursor): Renamed from
1791 note_overwritten_text_cursor. Rewritten to take glyph widths into
1792 account.
1793
2ab7765c
EZ
17942001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1795
1796 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1797 multi-line strings without a trailing "\n\".
1798
311346bb
PJ
17992001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1800
1801 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1802 defined.
1803
2168e04d
SM
18042001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1805
026f408d
SM
1806 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1807
c0ec53ad
SM
1808 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1809 * w32proc.c (sys_spawnve):
1810 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1811 * w32.c (check_windows_init_file):
1812 * sound.c (Fplay_sound):
026f408d 1813 * emacs.c (init_cmdargs):
c0ec53ad
SM
1814 * process.c (Fstart_process): Update calls to openp.
1815
1816 * callproc.c (Vexec_suffixes): New var.
1817 (Fcall_process): Update call to openp.
1818 (decode_suffixes): New function.
1819 (syms_of_callproc): Init exec-suffixes.
1820
1821 * lread.c (Vload_suffixes, default_suffixes): New vars.
1822 (openp): Take a lisp list of suffixes.
1823 Check for file-name-handlers even if the file was absolute already.
1824 (syms_of_lread): Declare load-suffixes.
1825 (Fload): Fix up call to openp.
1826 Don't bother checking for file-name-handler at the very beginning.
1827
f6333468
SM
1828 * keymap.h (Fcopy_keymap): Don't export.
1829
1830 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1831 (Vload_suffixes, Vexec_suffixes): Declare.
1832 (openp): Update prototype.
f6333468
SM
1833
1834 * emacs.c (empty_string): New var.
1835 (syms_of_emacs): Initialize it.
1836
1837 * search.c (wordify): Use it.
1838
1839 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1840 selected window if it's not displayed there. Handle the case
1841 when the window is dedicated.
1842 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1843
1844 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1845
2168e04d
SM
1846 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1847 Remove left_ok and right_ok.
1848 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1849 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1850 new meaning of b_property.
1851
1852 * syntax.c (update_syntax_table): Simplify.
1853 (Fforward_comment): Don't skip quoted chars when going backward.
1854
13d95cc0
GM
18552001-10-11 Gerd Moellmann <gerd@gnu.org>
1856
beb0990f
GM
1857 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1858 in case I is of some unsigned type, in which case
1859 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1860 comparison becomes bogus.
1861
cb938d46
GM
1862 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1863 (Fuser_full_name): Fix bug treating a float as a fixnum.
1864
1865 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1866
1867 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1868
13d95cc0
GM
1869 * lisp.h (circular_list_error): Add prototype.
1870
1871 * data.c (Qcircular_list): New variable.
1872 (circular_list_error): New function.
1873 (syms_of_data): Initialize it Qcircular_list.
1874
e35f6ff7
SM
18752001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1876
1877 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1878 casefiddle.c, buffer.c: Include keymap.h.
1879
619632ac
GM
18802001-10-10 Gerd Moellmann <gerd@gnu.org>
1881
1882 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1883 options. From Dave Love <d.love@dl.ac.uk>.
1884
5e5388f6
GM
18852001-10-09 Gerd Moellmann <gerd@gnu.org>
1886
1887 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1888 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1889
14a3dff7
GM
1890 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1891 unsigned char.
1892 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1893
76ba8daf
AI
18942001-10-08 Andrew Innes <andrewi@gnu.org>
1895
1896 * lisp.h [max]: Undef min and max before redefining them.
1897
1898 * w32gui.h: Do not undef min and max.
1899
1900 * w32heap.h: Do not undef min and max.
1901
1902 * s/ms-w32.h: Do not undef min and max.
1903
166253cb
SM
19042001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1905
1906 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1907
0c4d9527
SS
19082001-10-08 Sam Steingold <sds@gnu.org>
1909
1910 * keymap.c (current-active-maps): Quote newlines (compilation error).
1911
14bfa771
EZ
19122001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1913
1914 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1915 bindings.elc, since otherwise doc strings in bindings.el get wrong
1916 offsets in etc/DOC.
1917
bdb7aa47
SM
19182001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1919
9985827f
SM
1920 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1921
1922 * keyboard.h (map_prompt): Remove.
1923
1924 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1925 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1926
bdb7aa47
SM
1927 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1928
1929 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1930
1931 * keyboard.c (map_prompt): Remove.
1932 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1933 Use Fkeymap_prompt.
1934
1935 * keymap.h: New file. Extracted from lisp.h.
1936
9985827f
SM
1937 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1938 (accessible_keymaps_1): New function.
1939 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1940 (Fwhere_is_internal): Use Fcurrent_active_maps.
1941 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1942 Insert in current buffer rather than standard-output.
1943 Don't call `help-mode'. Export to elisp.
1944 (describe_buffer_bindings): New wrapper.
1945 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1946 and Sdescribe_buffer_bindings.
1947
402c9a51
GM
19482001-10-08 Gerd Moellmann <gerd@gnu.org>
1949
9985827f 1950 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1951 Remove code setting signal handler.
1952
9985827f 1953 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1954 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1955
3fe81fdf
PJ
19562001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1957
1958 * keyboard.c: Don't define min/max.
1959
55fa7820
GM
19602001-10-08 Gerd Moellmann <gerd@gnu.org>
1961
9985827f 1962 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1963 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1964 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1965 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1966 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1967 Don't define min/max.
1968
1969 * lisp.h (min, max): New macros.
1970
55fa7820
GM
1971 * puresize.h (BASE_PURESIZE): Increase to 725000.
1972
1aad31e4
PJ
19732001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1974
9180dc8c
PJ
1975 * xfaces.c (free_frame_menubar): Add prototype.
1976
01f67d2c
PJ
1977 * lisp.h (init_window): Add prototype.
1978
1979 * editfns.c: Include ctype.h.
1980
1981 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1982 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1983 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1984 variable `sb'.
1985
5f351ff1
PJ
1986 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1987 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1988 `popup_activated_flag' and `title'.
1989
479dfe87
PJ
1990 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1991
dff49fc8
PJ
1992 * emacs.c (main): Remove extra `;'.
1993
248ac615
PJ
1994 * atimer.h (struct atimer): Fix typos in a comment.
1995
1996 * atimer.c: Fix typo.
1997
af232c7d
PJ
1998 * Makefile.in: Fix typo.
1999
2000 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2001
d876f455
MB
20022001-10-07 Miles Bader <miles@gnu.org>
2003
2004 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2005
0037e2f2
KR
20062001-10-07 Ken Raeburn <raeburn@gnu.org>
2007
b056f36d
KR
2008 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2009 Lisp_Object.
2010
0037e2f2
KR
2011 * lisp.h (Ffield_end): Declare.
2012
1a4372ef
GM
20132001-10-07 Gerd Moellmann <gerd@gnu.org>
2014
a4a74e8c
GM
2015 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2016
2017 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2018
2019 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2020
2021 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2022
1a4372ef
GM
2023 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2024 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2025
2026 * alloc.c (inhibit_garbage_collection): Simplify.
2027 (Fmemory_use_counts): Ditto.
2028
9985827f 2029 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2030 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2031 most-negative-fixnum.
2032
9985827f 2033 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2034 (FIXNUM_OVERFLOW_P): New macros.
2035
4650e362
MB
20362001-10-06 Miles Bader <miles@gnu.org>
2037
2038 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2039 scroll_bar_bottom_shadow_pixel fields.
2040 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2041 for the shadows, and tell the toolkit about them if we succeed.
2042 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2043 Free scroll-bar shadow colors.
2044 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2045 Free scroll-bar shadow colors when the background color changes.
2046 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2047 Initialize scroll-bar shadow-color fields.
2048
ace64e0a
GM
20492001-10-05 Gerd Moellmann <gerd@gnu.org>
2050
2051 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2052
ec66bdc7
MB
20532001-10-05 Miles Bader <miles@gnu.org>
2054
9985827f
SM
2055 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2056 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2057 New functions (were in simple.el).
9985827f 2058 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2059 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2060 (syms_of_minibuf): Initialize them.
2061
a0fb4492
GM
20622001-10-05 Gerd Moellmann <gerd@gnu.org>
2063
2064 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2065 (tiff_load): Install them as error and warning handler.
2066
0bcf87c1
AI
20672001-10-04 Andrew Innes <andrewi@gnu.org>
2068
2069 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2070 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2071 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2072 (x_to_w32_charset): Handle private format for unknown charsets.
2073 Handle wildcards in charset spec, by ignoring them.
2074 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2075 "*-" prefix from charset.
2076 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2077 handle the truncated font spec form constructed by font_list_1, so
2078 that we correctly identify the charset fields. Don't remove "*-"
2079 prefix from charset.
2080 (w32_list_synthesized_fonts): Fix argument to alloca.
2081
c89e4bc5
GM
20822001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2083
2084 * window.h (MINI_WINDOW_P): Use NILP.
2085
2086 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2087
2088 * termhooks.h (struct input_event): Use proper type for `kind'.
2089
20902001-10-04 Gerd Moellmann <gerd@gnu.org>
2091
2092 This handles unknown keysyms better than before. For example,
2093 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2094 Emacs formerly completely ignored F5. With the change, it derives
2095 a key symbol from the name of the X keysym, `ccaron' in this case.
2096 Reported by Martin Buchholz.
2097
2098 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2099 unknown keysyms.
2100
2101 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2102 that EVENT->code isn't a function key, use the keysym's name.
2103
21042001-10-04 Gerd Moellmann <gerd@gnu.org>
2105
2106 FOREACH is a macro that should make it easier to loop over Lisp
2107 lists with checks for cycles and proper lists.
2108
2109 * lisp.h (LIST_END_P, FOREACH): New macros.
2110
21112001-10-04 Gerd Moellmann <gerd@gnu.org>
2112
2113 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2114 called for a lost connection. Prevent dumping core in this case.
2115 Instead print the X error, and exit. On user request.
2116
2117 * xterm.c (error_msg): New variable.
2118 (x_fatal_error_signal): New function.
2119 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2120 as fatal_error_signal_hook around the call to XtCloseDisplay.
2121
2122 * emacs.c (fatal_error_signal_hook): New variable.
2123 (fatal_error_signal): Call that function.
2124
21252001-10-04 Gerd Moellmann <gerd@gnu.org>
2126
2127 With this, Emacs prints how much pure storage it will
2128 approximately need in case pure storage overflows while dumping.
2129
2130 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2131 New variables.
2132 (init_alloc_once): Initialize new variables.
2133 (PURE_POINTER_P): Use new variables.
2134 (pure_alloc): If pure storage overflows, allocate from the heap.
2135 (check_pure_size): New function.
2136 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2137
2138 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2139 (check_pure_size): Add prototype.
2140
2141 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2142
21432001-10-04 Gerd Moellmann <gerd@gnu.org>
2144
2145 This adds a post-gc-hook that's run with GC inhibited.
2146 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2147
2148 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2149 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2150 (Fgarbage_collect): Run post-gc-hook.
2151
21522001-10-04 Gerd Moellmann <gerd@gnu.org>
2153
2154 This adds `defvaralias' and `indirect-variable'. Changes not
2155 directly related to this feature are there to gain the same
2156 performance again as before variable aliases.
2157
2158 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2159 code to get and set symbol values, to take defvaralias into account.
2160
2161 (Note: the new `constant' bit-flag in symbols would make it
2162 possible to define arbitrary read-only variables, e.g. with
2163 `defconst'.)
2164
2165 Documentation is in lispref/variables.texi. Added to NEWS.
2166
2167 * lisp.h (enum symbol_interned): New enumeration.
2168 (struct Lisp_Symbol): Remove member `obarray', add
2169 `indirect_variable', `constant', and `interned'.
2170 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2171 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2172 (indirect_variable): Add prototype.
2173
2174 * print.c (print_preprocess, print_object): Test internedness of
2175 symbols differently.
2176
2177 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2178 bit-fields.
2179 (init_obarray): Likewise for t and nil.
2180
2181 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2182 (Fdefvaralias): New function.
2183 (specbind): Simplify the test if symbol is a constant.
2184 (syms_of_eval): Defsubr Fdefvaralias.
2185
2186 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2187 (Qcyclic_variable_indirection): New variable.
2188 (Fkeywordp): Check for internedness differently.
2189 (Fmakunbound): Simplify the test if symbol is a constant.
2190 (indirect_variable, Findirect_variable): New functions.
2191 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2192 aliased symbol.
2193 (let_shadows_buffer_binding_p): Check for variable aliases.
2194 (set_internal): Simplify the test if SYMBOL is a constant.
2195 If SYMBOL has a buffer-local value and is an alias, use the aliased
2196 symbol instead.
2197 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2198 Sindirect_variable.
2199
2200 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2201 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2202 set directly.
2203
2204 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2205
2206 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2207 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2208 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2209
ab952a4f
GM
22102001-10-04 Gerd Moellmann <gerd@gnu.org>
2211
2212 * Branch for 21.1.
b56ba8de 2213
ba88ff28
MB
22142001-10-03 Miles Bader <miles@gnu.org>
2215
2216 * callproc.c (syms_of_callproc): Explicitly state in the
2217 documentation for `process-environment' that earlier entries take
2218 precedence over later ones.
2219
ae1a9581
MB
22202001-10-02 Miles Bader <miles@gnu.org>
2221
2222 * textprop.c (Fnext_char_property_change)
2223 (Fprevious_char_property_change): Remove reference to non-existant
2224 argument OBJECT from doc-string.
2225
257e3f57
GM
22262001-10-01 Gerd Moellmann <gerd@gnu.org>
2227
2228 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2229 (try_window_id): Skip back over lines ending in a newline from a
2230 string.
2231
2232 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2233 New bit flag
2234
c1f29759
RS
22352001-10-01 Richard M. Stallman <rms@gnu.org>
2236
2237 * search.c (Freplace_match): Doc fix.
2238
c30dce3d
AI
22392001-09-28 Andrew Innes <andrewi@gnu.org>
2240
2241 * w32menu.c (set_frame_menubar): Take into account that
2242 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2243 <raeburn@gnu.org>.
2244
03be5931
EZ
22452001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2246
2247 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2248
75bec752
PJ
22492001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2250
2251 * s/gnu-linux.h: Fix a typo in comment.
2252
83100e0a
AS
22532001-09-28 Andreas Schwab <schwab@suse.de>
2254
2255 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2256 nocombreloc, in case -z combreloc is the default.
2257
a74b48cf
GM
22582001-09-28 Gerd Moellmann <gerd@gnu.org>
2259
2260 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2261 really going on here.
2262
09c4719e
SM
22632001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2264
2265 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2266
f7d5d963
EZ
22672001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2268
2269 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2270 utf-8, menu-bar, and latin-N.
2271 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2272 unconditionally now.
2273 (lisp): Add latin-N, since they are preloaded.
2274
9240e746
GM
22752001-09-27 Gerd Moellmann <gerd@gnu.org>
2276
14531065
GM
2277 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2278 to the left. Some cleanup.
2279
9240e746
GM
2280 * xdisp.c (display_mode_element): One more case where a string's
2281 multibyteness should be used for display.
2282
edd1e654
GM
22832001-09-26 Gerd Moellmann <gerd@gnu.org>
2284
b02439c8
GM
2285 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2286 reading at EOF.
2287
032906b1 2288 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2289 of the only temporarily set echoing flag for deciding when
032906b1
GM
2290 the cancel echoing.
2291
2292 * keyboard.c (echo_kboard): Make externally visible.
2293
2294 * lisp.h (echo_kboard): Declare extern.
2295
cb617e7c 2296 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2297 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2298 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2299 this round of redisplay if make_cursor_line_fully_visible fails.
2300 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2301 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2302
2303 * dispextern.h (required_matrix_width, required_matrix_height):
2304 Add prototypes.
2305
09c4719e
SM
2306 * dispnew.c (required_matrix_width, required_matrix_height):
2307 New functions.
cb617e7c 2308 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2309 (allocate_matrices_for_frame_redisplay: Use them.
2310 Remove parameters CH_DIM.
cb617e7c 2311
edd1e654
GM
2312 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2313 and selected_window to the frame of the window whose mode-lines
2314 are displayed, and to the window itself.
2315 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2316 here.
edd1e654 2317
924b604c
GM
23182001-09-25 Gerd Moellmann <gerd@gnu.org>
2319
daba7643
GM
2320 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2321 the image cache under us.
2322
b7a22712 2323 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2324 with a string value, use that string's multibyteness for displaying.
b7a22712 2325
ad648212
GM
2326 * keyboard.c (read_char): Don't clear a message for a switch-frame
2327 event. From Stefan Monnier <monnier@cs.yale.edu>.
2328
9f8531e5
GM
2329 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2330 version for after 21.1.
2331
2332 * xdisp.c (row_containing_pos): Make externally visible.
2333
2334 * dispextern.h (row_containing_pos): Add prototype.
2335
924b604c
GM
2336 * process.c (send_process): Disable composition if from_byte < 0.
2337 From Kenichi Handa <handa@etl.go.jp>.
2338
6f3f0db4
GM
23392001-09-24 Gerd Moellmann <gerd@gnu.org>
2340
c69c0ebc
GM
2341 * xterm.c (refreshicon): Function removed.
2342
d1182bc4
GM
2343 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2344
2345 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2346
2347 * xterm.c (toplevel): Remove includes in #if 0.
2348
6f3f0db4
GM
2349 * process.c (sigchld_handler) [LINUX]: Don't return from
2350 the signal handler at the end of the loop.
2351
59957f85
GM
23522001-09-21 Gerd Moellmann <gerd@gnu.org>
2353
09c4719e
SM
2354 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2355 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2356
a0528984
EZ
23572001-09-21 Markus Rost <rost@math.ohio-state.edu>
2358
2359 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2360
db92b288
GM
23612001-09-20 Gerd Moellmann <gerd@gnu.org>
2362
3fed8ad5
GM
2363 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2364 since this function can be called during GC.
2365
db92b288
GM
2366 * callproc.c (Fcall_process): Handle errors from pipe(2).
2367 (child_setup): Delete code in #ifdef vipc.
2368
7121b85a
GM
23692001-09-19 Gerd Moellmann <gerd@gnu.org>
2370
72f62cb5
GM
2371 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2372 (display_mode_element): Display the string from decode_mode_spec
2373 depending on its multibyteness.
2374
a2697022
GM
2375 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2376
7121b85a
GM
2377 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2378
bfc97351
GM
23792001-09-18 Gerd Moellmann <gerd@gnu.org>
2380
c9063433
GM
2381 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2382 recursive_edit_unwind.
2383 (recursive_edit_unwind): Set kboard state according to
2384 SINGLE-KBOARD.
2385
3fbdba3e
GM
2386 * buffer.c (modify_overlay): Don't do nothing if START == END;
2387 This can still be a modification, for example when an overlay has
2388 a before-string or after-string.
2389 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2390 an overlay with before-string or after-string.
2391
1270031d
GM
2392 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2393 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2394
bfc97351
GM
2395 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2396 first_unchanged_at_end_row is in front of
2397 last_unchanged_at_beg_row. This code should be removed after the
2398 release of 21.1.
2399
d8a973aa
GM
24002001-09-17 Gerd Moellmann <gerd@gnu.org>
2401
e18c8b8d
GM
2402 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2403 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2404
d8a973aa
GM
2405 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2406 versions >= 2.95.
2407
ed7d6ba4
EZ
24082001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2409
2410 * dired.c (Ffile_attributes): Doc fix.
2411
551629f9
GM
24122001-09-14 Gerd Moellmann <gerd@gnu.org>
2413
2414 * fileio.c (Ffile_symlink_p): Fix last change.
2415
2416 * filelock.c (current_lock_owner): Fix last change.
2417
4c8c7926
GM
24182001-09-13 Gerd Moellmann <gerd@gnu.org>
2419
620c4704
GM
2420 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2421 take that to mean that the buffer is too small.
2422
81c3310d
GM
2423 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2424 that to mean that the buffer is too small.
2425
06fd3792
GM
2426 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2427 current buffer's multibyteness when discarding the iterator's
2428 stack.
2429
4c8c7926
GM
2430 * xfns.c (Fx_window_property): Handle case that property gets
2431 deleted between the two calls to XGetWindowProperty.
2432
9a72e4c1
GM
24332001-09-11 Gerd Moellmann <gerd@gnu.org>
2434
bd819d14 2435 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2436
a41edd99
GM
2437 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2438 in addition to read-only.
2439
2440 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2441 to t in addition to read-only.
2442
2443 * lisp.h (Qinhibit_modification_hooks): Declare.
2444
2445 * insdel.c (Qinhibit_modification_hooks): New variable.
2446 (syms_of_insdel): Initialize and staticpro it.
2447
d4881c6a
GM
2448 * textprop.c (verify_interval_modification): Don't run
2449 modification-hooks if inhibit_modification_hooks.
2450
2451 * dispnew.c (set_window_cursor_after_update): Fix code
2452 finding glyph row containing cursor when cursor_in_echo_area
2453 is >= 0.
2454
9a72e4c1
GM
2455 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2456 (add_to_log): Use bcopy instead of strcpy.
2457 (init_from_display_pos): Use an explicit loop over bytes in
2458 overlay strings instead of calling index.
2459
f4a374a1
GM
24602001-09-10 Gerd Moellmann <gerd@gnu.org>
2461
300e57bd
GM
2462 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2463
2464 * dispnew.c (direct_output_for_insert): Don't change IT's
2465 stop_charpos to something in front of its current position.
2466
f4a374a1
GM
2467 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2468 `format'.
2469
7e4cbc91
RS
24702001-09-10 Richard M. Stallman <rms@gnu.org>
2471
2472 * frame.c (Fmouse_position): Doc fix.
2473
6afad91e
GM
24742001-09-07 Gerd Moellmann <gerd@gnu.org>
2475
2476 * xdisp.c (init_from_display_pos): Don't compare the result
2477 of calling index with NULL.
2478
f76e0368
GM
24792001-09-06 Gerd Moellmann <gerd@gnu.org>
2480
2481 * xfns.c (x_set_background_color): Don't change the colors
2482 of the X window of scroll bar widgets.
2483
9ead1b60
AI
24842001-09-05 Andrew Innes <andrewi@gnu.org>
2485
2486 * w32fns.c (w32_createwindow): Undo last change.
2487
c3b497b3
GM
24882001-09-05 Gerd Moellmann <gerd@gnu.org>
2489
08e1d6df
GM
2490 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2491
c3b497b3
GM
2492 * xdisp.c (string_buffer_position): Use *single_char_property*
2493 functions instead of the *single_property* functions.
b56ba8de 2494
8f860180
AI
24952001-09-04 Andrew Innes <andrewi@gnu.org>
2496
9a72e4c1
GM
2497 * w32term.c (w32_read_socket): Add more information to debugging
2498 output.
8f860180
AI
2499
2500 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2501 from Emacs frames, so that calls to GetClipBox in w32term.c
2502 correctly report when part of a frame is visible (including
2503 scrollbars, etc). This prevents repeated redrawing of frames when
2504 only a scrollbar is visible.
2505 (w32_wnd_proc): Add more frame information to debugging output.
2506
2ee1aa00
SM
25072001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2508
2509 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2510
e3b22517
GM
25112001-09-03 Gerd Moellmann <gerd@gnu.org>
2512
7e376260
GM
2513 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2514 help-echo for a string which doesn't have help-echo itself, use
2515 get-char-property to obtain the help-echo from the string's buffer
2516 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2517 have mouse-face, look ``under'' the string for mouse-face from an
2518 overlay.
2519 (fast_find_position): Add parameter STOP. In the final row, stop
2520 before glyphs having STOP as object. Don't consider glyphs that
2521 are not from a buffer.
2522
e3b22517
GM
2523 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2524
9a249bba
EZ
25252001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2526
2527 * fns.c (Fmd5): Doc fix.
2528
c9979669
GM
25292001-08-31 Gerd Moellmann <gerd@gnu.org>
2530
2531 * composite.c (update_compositions): Do nothing if
2532 inhibit-modification-hooks is set.
2533
9584e63a
GM
25342001-08-30 Gerd Moellmann <gerd@gnu.org>
2535
986ec8f2 2536 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2537 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2538 glyph matrices etc. in a core dump.
2539
92a25631
GM
2540 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2541 (syms_of_xdisp): Initialize them.
2542 (handle_single_display_prop): Don't change point, bind `object',
2543 `position', and `buffer-position' instead to the object having the
2ee1aa00 2544 `display' property, position in the object and position in the buffer.
92a25631 2545
9584e63a
GM
2546 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2547 of the buffer if REPLACE is non-nil.
2548
d38633a3
GM
25492001-08-29 Gerd Moellmann <gerd@gnu.org>
2550
2551 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2552
f4fccc1e
EZ
25532001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2554
2555 * w32term.c (x_set_glyph_string_background_width)
2556 (show_mouse_face): Track the last changes in xterm.c.
2557
eaaa65b0
GM
25582001-08-28 Gerd Moellmann <gerd@gnu.org>
2559
7b0870b2
GM
2560 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2561 string's background width so that multi-line mouse-face is drawn
2562 to the right edge of the window.
2563 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2564 glyphs.
2565
6b6e2422 2566 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2567 before inserting/writing glyphs.
6b6e2422 2568
eaaa65b0
GM
2569 * xdisp.c (display_mode_element): Use string_byte_to_char to
2570 determine character positions in strings, use chars_in_text
2571 instead of strwidth.
2572 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2573 a matrix as parameter; this is easier to use from GDB.
2574
9ad62cf8
MB
25752001-08-28 Miles Bader <miles@gnu.org>
2576
2ee1aa00
SM
2577 * textprop.c (Fprevious_single_char_property_change)
2578 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2579
32171635
GM
25802001-08-27 Gerd Moellmann <gerd@gnu.org>
2581
47d57b22
GM
2582 * fileio.c (Finsert_file_contents): Allocate, restore, and
2583 free composition data in the case of REPLACE not being nil.
2584
2585 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2586 there exist overlay strings with newlines at POS.
2587 (text_outside_line_unchanged_p): Return 0 if changes start at
2588 START and overlays exist at START. Likewise for END.
2589 (try_window_id): Give up if init_to_row_end returns 0.
2590
32171635
GM
2591 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2592 unconditionally.
2593
e1249666
GM
25942001-08-24 Gerd Moellmann <gerd@gnu.org>
2595
33954c45
GM
2596 * keymap.c (access_keymap): Return the cdr of the binding of
2597 a generic character instead of its definition (KEY . BINDING).
2598
e1249666
GM
2599 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2600 to 0 also in the REPLACE case.
2601
fb4c6c96
AC
26022001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2603
2604 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2605 open to determine whether file is readable (as for DOS_NT).
2606
59ecf80b
GM
26072001-08-23 Gerd Moellmann <gerd@gnu.org>
2608
2609 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2610 coding.type is coding_type_no_conversion or coding_type_raw_text,
2611 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2612 non-nil instead of just setting enable_multibyte_characters in the
2613 buffer to nil.
2614
40e33037
GM
26152001-08-22 Gerd Moellmann <gerd@gnu.org>
2616
374388c3
GM
2617 * dispextern.h (struct face_cache): Add member
2618 menu_face_changed_p.
2619
2620 * xfaces.c (menu_face_changed_default): New variable.
2621 (menu_face_changed_count): Variable removed.
2622 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2623 the menu_face_changed_default flag, otherwise set the FRAME's
2624 menu_face_changed_p flag if the `menu' face has been changed.
2625 Prevent calling set_font_frame_param if FRAME is t.
2626 (make_face_cache): Initialize cache's menu_face_changed_p
2627 from menu_face_changed_default.
2628 (realize_basic_faces): Look into the frame's face cache to
2629 determine if the menu appearance needs updating.
2630
40e33037
GM
2631 * keymap.c (access_keymap): Fix last change to not consider
2632 IDX when it has modifiers.
2633
859ea4b8
GM
26342001-08-21 Gerd Moellmann <gerd@gnu.org>
2635
2636 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2637 . BINDING) exists, where GENERIC-CHAR is the generic character of
2638 the charset of IDX, return BINDING unless there exists a binding
2639 for IDX itself.
2640
e8660d73
GM
26412001-08-16 Gerd Moellmann <gerd@gnu.org>
2642
cca1b1d7
GM
2643 * xrdb.c (SYSV): Don't define on Solaris 2.
2644 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2645
e8660d73 2646 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2647 of the screen line, not text line, containing IT's current position.
e8660d73 2648
93aba6fc
GM
26492001-08-15 Gerd Moellmann <gerd@gnu.org>
2650
288d4e06
GM
2651 * window.c (window_scroll_pixel_based): Don't recenter if
2652 PT is partially visible in the window.
2653
3452efc2
SM
2654 * xterm.c (expose_window_tree, expose_window, expose_line):
2655 Return 1 when overwriting mouse-face.
82f053ab
GM
2656 (expose_frame): If mouse-face was overwritten, redo it.
2657
93aba6fc
GM
2658 * xfaces.c (x_update_menu_appearance): Don't call
2659 set_frame_menubar, let the next redisplay do it.
2660
858a55c1
AI
26612001-08-14 Andrew Innes <andrewi@gnu.org>
2662
2663 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2664 drawing glyph string.
2665
3a990b67
EZ
26662001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2667
2668 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2669 running HI-UX/MPP.
2670
04386463
GM
26712001-08-14 Gerd Moellmann <gerd@gnu.org>
2672
2673 * xfaces.c (x_update_menu_appearance): Save and restore value of
2674 interrupt_input_blocked.
2675
3e6385a4
GM
26762001-08-13 Gerd Moellmann <gerd@gnu.org>
2677
b0e619b4
GM
2678 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2679 a line start, move back to the line start.
3452efc2 2680
0de73d5a
GM
2681 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2682 exactly when a mini-buffer is active.
2683
3e6385a4
GM
2684 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2685 in units of 1/8 character on non window-system frames.
2686 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2687
d1b5f629
EZ
26882001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2689
2690 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2691 a doc string.
2692
eaa2319f
GM
26932001-08-09 Gerd Moellmann <gerd@gnu.org>
2694
8e3189f0
GM
2695 * keyboard.c (Vpre_help_message): New variable.
2696 (syms_of_keyboard): Initialize and staticpro it.
2697 (show_help_echo): Record current message before displaying a
2698 help-echo, and restore that message when clearing the help.
2699
eaa2319f
GM
2700 * xfns.c (x_create_im): Remove prototype.
2701
2702 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2703
2704 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2705
eaa2319f
GM
27062001-08-08 Gerd Moellmann <gerd@gnu.org>
2707
2708 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2709 windows whose height has changed, disable partially visible lines.
eaa2319f 2710
17fdcfc8
GM
27112001-08-07 Gerd Moellmann <gerd@gnu.org>
2712
22d01aed 2713 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2714 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2715
17fdcfc8
GM
2716 * xdisp.c (start_display): Don't try to determine the continuation
2717 lines width if lines are truncated. It's superfluous and leads to
2718 incorrect results if POS is not visible in the window after
2719 reseating the iterator at the previous line start.
2720
8e3fe78e
GM
27212001-08-06 Gerd Moellmann <gerd@gnu.org>
2722
2723 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2724
98a8938c
GM
27252001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2726
2727 * alloc.c (init_stack): Remove declaration.
2728
18f9986a
GM
27292001-08-03 Gerd Moellmann <gerd@gnu.org>
2730
5e1f85e0
GM
2731 * keyboard.c (read_key_sequence): Check that key is an integer
2732 before comparing it with quit_char.
2733 (add_command_key): Use larger_vector.
2734 (read_char_x_menu_prompt): Instead of converting symbol and
2735 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2736 which cannot be confused with valid events.
5e1f85e0
GM
2737 (read_char): When reading from Vunread_command_events, check for
2738 events of the form (EVENT . disabled) instead of
2739 (EVENT . nil).
2740
18f9986a
GM
2741 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2742 a float, determine the max height from the frame's height.
2743
fbc7f2a6
GM
27442001-08-02 Gerd Moellmann <gerd@gnu.org>
2745
2746 * xdisp.c (redisplay_internal): Take message_cleared_p into
2747 account only if minibuf_level == 0.
2748
81b1a79d
GM
27492001-08-01 Gerd Moellmann <gerd@gnu.org>
2750
e5c60873
GM
2751 * xdisp.c (redisplay_internal): Add a check for the last
2752 displayed message.
3452efc2 2753
6e019995
GM
2754 * xdisp.c (message_cleared_p): New variable.
2755 (clear_message): Set message_cleared_p when clearing the current
2756 message.
2757 (redisplay_internal): Look at message_cleared_p to capture
2758 the case that the echo area should be cleared.
2759
308a74d8
GM
2760 * keyboard.c (command_loop_1): Fix spelling of
2761 resize_echo_area_exactly.
2762
3452efc2 2763 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2764
2765 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2766
81b1a79d
GM
2767 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2768 current matrix when the window gets smaller.
2769
ada329e6
EZ
27702001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2771
2772 * print.c (strout): Cast the character passed to insert_char to
2773 unsigned char, to avoid sign extension when it is promoted to int.
2774
ed86208c
GM
27752001-07-31 Gerd Moellmann <gerd@gnu.org>
2776
2777 * fileio.c (Finsert_file_contents): Don't treat a return value
2778 of 0 from emacs_read as an IO error.
2779
6594ac22
GM
27802001-07-30 Gerd Moellmann <gerd@gnu.org>
2781
cef68af5
GM
2782 * keyboard.c (abs): New macro.
2783 (double_click_fuzz): New variable.
2784 (make_lispy_event): Use it to determine what makes a double-click.
2785 (syms_of_keyboard): DEFVAR_INT it.
2786
6594ac22
GM
2787 * xmenu.c (set_frame_menubar): Take into account that
2788 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2789 <raeburn@gnu.org>.
2790
75c5350a
GM
27912001-07-27 Gerd Moellmann <gerd@gnu.org>
2792
2793 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2794
2795 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2796 of row's visible height.
2797
2798 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2799 deal with the first overlay string having an image `display' property.
2800 (try_window_reusing_current_matrix, compute_line_metrics):
2801 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2802 row is invisible above and part of the row is at the same time
2803 invisible below the window.
2804
ac49effe
GM
28052001-07-26 Gerd Moellmann <gerd@gnu.org>
2806
2807 * xfns.c (x-show-tip): Doc fix.
3452efc2 2808
ac49effe
GM
2809 * xfns.c (Vx_max_tooltip_size): New variable.
2810 (syms_of_xfns): DEFVAR_LISP it.
2811 (Fx_show_tip): Set frame's window_width to the width of the
2812 window. Use a maximum tooltip size specified by
2813 Vx_max_tooltip_size, if that has valid contents.
2814 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2815
8c3b00cb
AI
28162001-07-26 Andrew Innes <andrewi@gnu.org>
2817
2818 * w32term.c (x_display_list): New variable.
2819 (w32_term_init): Set it.
2820
2821 * w32term.h (x_display_list): New extern.
2822
16098288
GM
28232001-07-26 Gerd Moellmann <gerd@gnu.org>
2824
2825 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2826 is non-nil, instead of when redisplaying_p is non-zero.
2827 See comment there.
16098288
GM
2828 (mark_window_display_accurate_1): Add an assertion.
2829
64c5be50
GM
28302001-07-25 Gerd Moellmann <gerd@gnu.org>
2831
e743f599
GM
2832 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2833
563b384d
GM
2834 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2835 events so that we get a chance of processing expose events.
2836
64c5be50
GM
2837 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2838
296808a5
GM
28392001-07-24 Gerd Moellmann <gerd@gnu.org>
2840
2841 * xfns.c (valid_image_p): Protect better against invalid image
2842 specifications. Previous code could signal an error.
2843
5247262a
GM
28442001-07-23 Gerd Moellmann <gerd@gnu.org>
2845
3452efc2 2846 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2847 presence of display table entries.
2848 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2849
dd42b31a
GM
2850 * dispnew.c (adjust_glyph_matrix): In the optimization for
2851 windows whose height has changed, use the new window height
2852 to compute which rows to invalidate.
2853
9e5a7f2a
GM
2854 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2855 (MAX_10_EXP): New macro.
2856 (Fformat): Use it.
2857
5247262a
GM
2858 * coding.c (code_convert_region): Handle the multibyte case if
2859 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2860
177ab8ce
GM
28612001-07-20 Gerd Moellmann <gerd@gnu.org>
2862
6e07c0a5
GM
2863 * dispextern.h (struct face): Change type of `stipple' to
2864 int; it's an ID.
2865
177ab8ce
GM
2866 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2867
b5b80599
GM
28682001-07-19 Gerd Moellmann <gerd@gnu.org>
2869
4e2a256b
GM
2870 * dispnew.c (update_window): Don't set the cursor at the end
2871 of the update if display update has been paused.
2872
3452efc2 2873 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2874
c1fd9232
KR
28752001-07-18 Ken Raeburn <raeburn@gnu.org>
2876
2877 * fns.c (Fset_char_table_default): Check that a charset is defined
2878 before checking its dimension.
2879
928a85c1
KR
28802001-07-17 Ken Raeburn <raeburn@gnu.org>
2881
2882 * coding.c (setup_coding_system): Don't do any designation based
2883 on reg_bits if charset is not yet defined.
2884
fb4c6c96 2885 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2886 pointer, using eassert.
2887
de11c1ea
GM
28882001-07-17 Gerd Moellmann <gerd@gnu.org>
2889
3452efc2
SM
2890 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2891 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2892
467f1209
GM
28932001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2894
2895 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2896
c3d6be34
GM
28972001-07-16 Gerd Moellmann <gerd@gnu.org>
2898
c1d61a7d
GM
2899 * fileio.c (unwind_read): Function removed.
2900 (read_non_regular, read_non_regular_quit): New functions.
2901 (Finsert_file_contents): When reading from non-regular files,
2902 arrange to catch a `quit' and terminate the loop. Rearrange
2903 code so that a `quit' when reading from a regular file doesn't
2904 insert text in the buffer.
2905
c3d6be34
GM
2906 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2907 Clear faces afterwards.
2908 (clear_font_table): Take a x_display_info parameter. Don't free
2909 fonts being the default font of any frame on the given display.
2910
e06aa1f9
GM
29112001-07-13 Gerd Moellmann <gerd@gnu.org>
2912
2913 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2914 instead of CHAR_STRING which can signal an error.
2915
2916 * charset.c (char_to_string_1): Extracted from char_to_string.
2917 Return -1 instead of signaling an error.
2918 (char_to_string): Use it.
2919
2920 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2921
176c92e6
SM
29222001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2923
2924 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2925 is t, don't try to append anything to it.
2926
1c56232f
EZ
29272001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2928
2929 * dired.c (file_name_completion): Pass dp->d_name to
2930 Fstring_match, not elt, which is always nil here.
2931
1d2b2268
GM
29322001-07-12 Gerd Moellmann <gerd@gnu.org>
2933
2934 * xselect.c (x_decline_selection_request): Handle errors
2935 caused by receivers that have vanished.
2936
2937 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2938 ignoring events on foreign windows in #if 0. Always dispatch
2939 the event after checking it with x_handle_property_notify.
2940
2941 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2942 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2943 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2944 (toplevel): Add prototypes for file-local functions.
2945 (x_atom_to_symbol): Remove DPYINFO parameter.
2946
fe5a0162
SM
29472001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2948
2949 * w32menu.c (menubar_selection_callback, w32_menu_show):
2950 Initialize `entry' to nil.
2951 (w32_dialog_show): Remove unused `save_wv' variable.
2952 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2953
a777242c
GM
29542001-07-11 Gerd Moellmann <gerd@gnu.org>
2955
8ee5b6a3
GM
2956 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2957
d0e2444e
GM
2958 * fileio.c (unwind_read): Print a message when discarding inserted
2959 text or switching the buffer to unibyte. Change parameter.
2960 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2961
a777242c
GM
2962 * fileio.c (unwind_read): New function.
2963 (Finsert_file_contents): Record it as unwind-function for
2964 the case that reading is interrupted by C-g.
2965
ae794295
GM
29662001-07-10 Gerd Moellmann <gerd@gnu.org>
2967
fe5a0162 2968 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2969 update when scrolling_window returns 0.
2970
6b05fae3
GM
2971 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2972
2973 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2974 for the case that x_decode_color signals an error.
6b05fae3 2975
ae794295
GM
2976 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2977
bb6e8cee
GM
29782001-07-09 Gerd Moellmann <gerd@gnu.org>
2979
2980 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2981 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2982 around ioctls.
2983
36b40a8a
EZ
29842001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2985
24b97d4b
EZ
2986 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2987 doc string line for dos-timezone-offset.
2988
36b40a8a
EZ
2989 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2990 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2991 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2992 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2993
2994 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2995
0967b4b0
GM
29962001-07-05 Gerd Moellmann <gerd@gnu.org>
2997
f25cfe53
GM
2998 * sound.c: Include Emacs' header files with #include "...".
2999
0967b4b0
GM
3000 * eval.c (specbind): Additionally record the buffer that was
3001 current when a buffer-local or frame-local variable was bound.
3002
c347a1c3
GM
30032001-07-04 Gerd Moellmann <gerd@gnu.org>
3004
3005 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3006 to unibyte characters in unibyte buffers.
3007
6332ca8a
GM
30082001-07-03 Gerd Moellmann <gerd@gnu.org>
3009
38472d44
GM
3010 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3011 the frame on the binding stack. Change format of entries for
3012 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3013 (unbind_to): Handle unbinding a frame-local variable.
3014
6332ca8a 3015 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3016 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3017 (dump_glyph_row): Print row's continuation_lines_width.
3018 (try_window_id): Take the shortcut if ZV is visible in the
3019 window, but there are actually no changes at ZV.
3020
63d1b174
GM
30212001-07-02 Gerd Moellmann <gerd@gnu.org>
3022
4c175203
GM
3023 * xterm.h (x_free_dpy_colors): Add prototype.
3024
3025 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3026 right number of arguments.
3027
0b54ce28
GM
3028 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3029 ($(lwlibdir)TAGS): New target.
4c175203 3030 (TAGS): Fix dependency list.
0b54ce28 3031
63d1b174
GM
3032 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3033 with input blocked.
3034
d827466c
GM
30352001-06-30 Gerd Moellmann <gerd@gnu.org>
3036
3037 * emacs.c (main): Remove extern declaration for sys_nerr, which
3038 isn't used and causes a compilation error with GCC 3.0 on
3039 FreeBSD 4.3.
3040
b5cb1ada
GM
30412001-06-27 Gerd Moellmann <gerd@gnu.org>
3042
a5d3ec3f 3043 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3044 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3045 (toplevel): Include <signal.h> and syssignal.h.
3046
b5cb1ada
GM
3047 * sound.c (vox_configure, vox_close): Turn off atimers
3048 around ioctls.
3049
d9bad487
GM
30502001-06-26 Gerd Moellmann <gerd@gnu.org>
3051
fdbb67fe
GM
3052 * keyboard.c (read_char) <non_reread>: Record the previous idle
3053 start time before calling timer_stop_idle.
3054 (read_char) <reread_first>: After processing a help-echo event,
3055 restore the previous idle start time.
3056
d9bad487
GM
3057 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3058 the start of invisible text.
3059 (setup_for_ellipsis): New function.
3060 (next_overlay_string): After all overlay strings have been
3061 processed, display an ellipsis if necessary.
3062 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3063 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3064
3065 * dispextern.h (struct iterator_stack_entry): Add member
3066 display_ellipsis_p.
3067
2b9c25e0
GM
30682001-06-25 Gerd Moellmann <gerd@gnu.org>
3069
80de57df
GM
3070 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3071 on the value of the wait-for-wm frame parameter.
3072
3073 * xterm.h (struct x_output): Add member wait_for_wm.
3074
3075 * xfns.c (Qwait_for_wm): New variable.
3076 (x_frame_parms): Add entry for `wait-for-wm".
3077 (x_set_wait_for_wm): New function.
3078 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3079 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3080
2b9c25e0
GM
3081 * xdisp.c (try_window_id) <all changes below window end>: Don't
3082 take this shortcut if ZV is visible in the window.
3083 (try_window_id): When checking for window start being in changed
3084 text, don't check that the buffer's size has changed.
3085
f772775c
RS
30862001-06-23 Richard M. Stallman <rms@gnu.org>
3087
3088 * minibuf.c (Fcompleting_read): Doc fix.
3089
fa9090b8
GM
30902001-06-19 Gerd Moellmann <gerd@gnu.org>
3091
3092 * composite.c (Ffind_composition_internal): Accept ZV
3093 and a string's end position as POS.
3094
f6f1beba
GM
30952001-06-18 Gerd Moellmann <gerd@gnu.org>
3096
3097 * composite.c (Ffind_composition_internal): Check POS
3098 for validity.
3099
0ae83348
EZ
31002001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3101
3102 * editfns.c (Fmessage_box): If the frame is not under a window
3103 system, output the message in the echo area.
3104
e4cdc335
RS
31052001-06-14 Richard M. Stallman <rms@gnu.org>
3106
3107 * xdisp.c (try_window_id): When EOB is visible, don't treat
3108 insertion at EOB as if it were "off the bottom of the screen."
3109
a55a5f3c
AI
31102001-06-11 Andrew Innes <andrewi@gnu.org>
3111
3112 * w32proc.c (create_child): Add new parameter is_gui_app.
3113 (w32_executable_type): Add new parameter is_gui_app.
3114 (sys_spawnve): Use it.
3115 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3116 SIGQUIT. This matches better how the signals are interpreted by
3117 MSVC compiled programs.
3118 (syms_of_ntproc): Update docstring.
3119
1b85dc1c
SM
31202001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3121
3122 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3123 well otherwise note_mouse_highlight might optimize away highlighting
3124 if we pass over that same overlay again.
3125
b75f8eab
EZ
31262001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3127
3128 * lread.c (Fload): Document that the argument is run via
3129 substitute-in-file-name.
3130
94843cc1
GM
31312001-05-31 Gerd Moellmann <gerd@gnu.org>
3132
b14659e6
GM
3133 * Makefile.in (bootstrap-doc): New target.
3134 (bootstrap-emacs): Depend on it.
3135
0894672f
GM
3136 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3137 auto-save-list-file-name when shutting down Emacs, because
3138 creating the directory might signal an error, and leaves
3139 Emacs in a strange state.
3140
94843cc1
GM
3141 * term.c: (tty_cursor_hidden): New variable.
3142 (update_begin): Don't call tty_hide_cursor. Clean up.
3143 (update_end, set_terminal_window, set_scroll_region): Clean up.
3144 (ring_bell, reset_terminal_modes): Clean up.
3145 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3146 on tty_cursor_hidden.
3147 (write_glyphs): Call tty_hide_cursor.
3148
db3a49a6
SM
31492001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3150
3151 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3152
8bd189fb
GM
31532001-05-30 Gerd Moellmann <gerd@gnu.org>
3154
6f1be3b9
GM
3155 * xfns.c (enum image_value_type): New enumerator
3156 IMAGE_STRING_OR_NIL_VALUE.
3157 (parse_image_spec): Handle it.
3158 (xbm_format, pbm_format): Use it for :foreground and :background.
3159 (xbm_load, pbm_load): Check for nil color names.
3160
8bd189fb
GM
3161 * xterm.c (note_mouse_highlight): If an overlapping overlay
3162 exists, but we find that we highlight the same overlay as before,
3163 don't do the highlighting again.
3164
7bdba03c
GM
31652001-05-29 Gerd Moellmann <gerd@gnu.org>
3166
4c329aa8
GM
3167 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3168 Protect unibyte strings created by replacing their multibyte
3169 equivalents in menu_items.
3170
e15e2828
GM
3171 * keymap.c (Fsingle_key_description): NUL-terminate the string
3172 buffer before calling build_string.
3173
7bdba03c
GM
3174 * callproc.c (Fcall_process): Deal with decode_coding returning
3175 CODING_FINISH_INCONSISTENT_EOL.
3176
89c8dc6c
GM
31772001-05-28 Gerd Moellmann <gerd@gnu.org>
3178
db3a49a6 3179 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3180 an item's name with its key description in case the description
3181 is a multibyte string.
3182
3183 * keymap.c (Fsingle_key_description): Create a multibyte string
3184 only if necessary.
3185
eb04d6cd
GM
3186 * macros.c (Fstart_kbd_macro): Doc fix.
3187
8bd6307f
GM
3188 * xterm.c (cursor_in_mouse_face_p): New function.
3189 (x_draw_stretch_glyph_string): Use it to choose a different GC
3190 when drawing a cursor within highlighted text.
3191
e26c4089
GM
3192 * editfns.c (char_property_eq): Put in #if 0.
3193
3194 * indent.c (string_display_width): Put in #if 0.
3195
3196 * lread.c (Fload): Remove unused label.
3197
89c8dc6c
GM
3198 * termcap.c (speeds): Put in #if 0.
3199
9a1211f2
GM
32002001-05-18 Gerd Moellmann <gerd@gnu.org>
3201
29148a3f
GM
3202 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3203
9a1211f2
GM
3204 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3205 transformation matrix by 10.
3206
09393d07
GM
32072001-05-16 Gerd Moellmann <gerd@gnu.org>
3208
3209 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3210 only if it's equal to the former foreground pixel color.
db3a49a6 3211 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3212 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3213
460e6bae
GM
32142001-05-16 Dave Love <fx@gnu.org>
3215
3216 * insdel.c (signal_before_change, signal_after_change): Consider a
3217 local change hook which changes the buffer.
99c78ce8
GM
3218
3219 * process.c (read_process_output): Don't call signal_after_change
3220 and update_compositions after insert_from_string_before_markers.
3221
dbcf3c03
GM
32222001-05-16 Gerd Moellmann <gerd@gnu.org>
3223
a90b3d3c
GM
3224 * xfaces.c (split_font_name): Use the right field when
3225 checking for `[...]' syntax.
3226
1b7818b4
GM
3227 * buffer.c (copy_overlays): New function.
3228 (clone_per_buffer_values): Use it.
3229
3230 * buffer.h (OVERLAY_PLIST): New macro.
3231
9bae8781
GM
3232 * keymap.c (Fsingle_key_description): Replace a build_string with
3233 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3234
dbcf3c03
GM
3235 * fontset.c (Ffontset_info): Check that face is non-null
3236 before accessing its fields.
3237
8a1ae4dd
GM
32382001-05-15 Gerd Moellmann <gerd@gnu.org>
3239
18a0a39e
GM
3240 * keyboard.c (read_key_sequence): Prevent generating a fake
3241 prefix key twice.
3242
e335b66a
GM
3243 * xfaces.c (split_font_name): Handle `[...]' for the right
3244 font name fields.
3245
8a1ae4dd
GM
3246 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3247 of CCL_STAT_INVALID_CMD.
3248
3cf80731
SM
32492001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3250
33568849
SM
3251 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3252 in <var> has no default value yet.
3253
3cf80731
SM
3254 * xfaces.c (try_alternative_families): First try the FAMILY.
3255 And if nothing is found in the end, try again with scalable fonts.
3256 (try_font_list): Let try_alternative_families do a bit more of
3257 the work. Only use FAMILY if it is not nil.
3258 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3259
933b0249
GM
32602001-05-14 Gerd Moellmann <gerd@gnu.org>
3261
58e5af83
GM
3262 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3263 pointer shape when show_mouse_face has already done it.
33568849 3264
58e5af83 3265 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3266 full-width rows.
3267
7b16a6bf
GM
3268 * xfaces.c (split_font_name): Make sure to leave the loop
3269 with the right value of `i'.
3cf80731 3270
933b0249
GM
3271 * xfaces.c (split_font_name): Handle matrix transformations
3272 in the pixel and point size fields of XLFD font names.
3273 (xlfd_point_size): Likewise.
3274
dddcbf00
EZ
32752001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3276
3cf80731 3277 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3278 (x_to_w32_font): Add prototype.
3279
7689ef0b
EZ
3280 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3281 redefining, to avoid compiler warnings.
3282
e7c15bba
EZ
3283 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3284
dddcbf00
EZ
3285 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3286 (w32_get_bdf_glyph): Cast between unsigned char and char when
3287 passing arguments to subroutines, to shut up compiler warnings.
3288 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3289 GET_HEX_VAL.
3290
3291 * xfaces.c: Include keyboard.h before frame.h, not after it.
3292
3293 * widget.c: Include keyboard.h before frame.h.
3294
3295 * w32term.h (struct image, struct face): Forward declaration, to
3296 avoid compiler warnings.
3297
7bd2d083
GM
32982001-05-11 Gerd Moellmann <gerd@gnu.org>
3299
47e72862
GM
3300 * keyboard.c (read_key_sequence): Don't modify events when
3301 generating fake prefix keys (mode-line, scroll-bar, ...) since
3302 this prevents proper processing of such events when pushed back
3303 into unread-command-events.
3304
dd5f324b
GM
3305 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3306 actually redrawn. Make the function static.
3307 (note_mouse_highlight): Fix a case where the mouse cursor
3308 was changed back to the text cursor.
3309
3310 * xterm.h (clear_mouse_face): Remove prototype.
3311
d88a79d4
GM
3312 * xdisp.c (try_window_id): Fix the fix and set the right
3313 window_end_vpos.
3314
3315 * xdisp.c (try_window_id): Fix computation of window end in the
3316 case that lines were deleted at the end of the window. Add some
3317 more debug_method_adds.
0416532f 3318
7bd2d083
GM
3319 * xfaces.c (try_alternative_families): New function.
3320 (try_font_list): Use it. If ATTRS specifies a family, check
3321 fonts from that family first.
3322 (choose_face_font): Remove code setting the family part of
3323 the pattern to nil.
3324
23fca891
GM
33252001-05-10 Gerd Moellmann <gerd@gnu.org>
3326
ff9aa2ca
GM
3327 * xdisp.c (try_window_id): Fix case of all changes before
3328 the window start.
7b2654b5 3329
23fca891
GM
3330 * xdisp.c (try_window_id): Add some xasserts.
3331
e9726794
GM
33322001-05-09 Gerd Moellmann <gerd@gnu.org>
3333
3334 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3335
9e53a675
GM
33362001-05-09 Dave Love <fx@gnu.org>
3337
3338 * xdisp.c (GIVE_UP): Fix for K&R C.
3339
0d487c52
GM
33402001-05-09 Gerd Moellmann <gerd@gnu.org>
3341
fe88d421
GM
3342 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3343
0d487c52
GM
3344 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3345 back to the text cursor shape without need.
3346
1e9fc92e
GM
33472001-05-07 Gerd Moellmann <gerd@gnu.org>
3348
a2a6232e
GM
3349 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3350
3351 * dispextern.h (inverse_video): Declare extern.
3352
1e9fc92e
GM
3353 * keyboard.c (delete_kboard): Handle the case that selected_frame
3354 has been deleted in the course of x_connection_closed.
3355
12949a7f
EZ
33562001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3357
7b2654b5
SM
3358 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3359 Fix the change from 2001-04-30.
12949a7f 3360
2fa2f461
GM
33612001-05-03 Gerd Moellmann <gerd@gnu.org>
3362
a779d213
GM
3363 * xfns.c (file_dialog_unmap_cb): New function.
3364 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3365 where a dialog is closed via the window manager.
3366
7b2654b5 3367 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3368 the window start or all below the window end mostly rewritten.
3369 (redisplay_window): Move the tests if try_window_id is
3370 applicable to try_window_id.
3371 (GIVE_UP): New macro.
3372
3356df63
GM
33732001-05-02 Gerd Moellmann <gerd@gnu.org>
3374
a39202f6 3375 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3376 currently being updated, mark the frame garbaged.
3377 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3378 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3379
3356df63
GM
3380 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3381 again if it has already been drawn.
3382
a9d2fd1d
SM
33832001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3384
3385 * syntax.c (update_syntax_table): Check that oldi has the same
3386 properties as old_prop before deciding not to invalidate.
3387
c95fc5f1
GM
33882001-04-30 Gerd Moellmann <gerd@gnu.org>
3389
a9793e45
GM
3390 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3391 read-only text that is so because of text properties.
3392
c95fc5f1 3393 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3394 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3395 windows that are components of a Lucid menu bar.
3396
5a5d9185
GM
33972001-04-27 Gerd Moellmann <gerd@gnu.org>
3398
3399 * term.c (turn_on_face): Fix reverse video handling on terminals
3400 that don't support colors.
3401
ba973f7a
GM
34022001-04-26 Gerd Moellmann <gerd@gnu.org>
3403
3404 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3405 a non-buffer.
3406
8c56a983
GM
34072001-04-25 Gerd Moellmann <gerd@gnu.org>
3408
a728644c
GM
3409 * term.c (toggle_highlight): New function.
3410 (turn_on_face): Change handling of reverse video.
3411
7b2654b5
SM
3412 * process.c (wait_reading_process_input):
3413 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3414
bfd8410f
GM
3415 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3416 of the number of overlays to check.
3417
be2488ca
GM
3418 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3419
8c56a983
GM
3420 * xdisp.c (try_window_id): Fix a case where window_end_pos
3421 and window_end_bytepos were not adjusted.
3422
522d42f7
GM
34232001-04-23 Gerd Moellmann <gerd@gnu.org>
3424
3425 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3426 zero instead of -1.
3427
78c1afb6
EZ
34282001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3429
a9d2fd1d
SM
3430 * process.c (wait_reading_process_input) [!subprocesses]:
3431 Don't reference waiting_for_user_input_p, it's not defined in the
3432 branch without async subprocesses support.
78c1afb6 3433
a2fab450
GM
34342001-04-19 Gerd Moellmann <gerd@gnu.org>
3435
a122a38e
GM
3436 * keyboard.c (delete_kboard): Prevent a dangling reference
3437 from current_kboard to KB, which is freed.
3438
a9d2fd1d
SM
3439 * process.c (wait_reading_process_input):
3440 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3441 read_key_sequence aware of buffer changes from under it.
3442
0f8d6dc7
GM
34432001-04-18 Gerd Moellmann <gerd@gnu.org>
3444
eeffb293
GM
3445 * xfaces.c (Qscalable_fonts_allowed): New variable.
3446 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3447 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3448 removed.
eeffb293 3449 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3450 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3451 for scalable-fonts-allowed to t.
eeffb293 3452
0f8d6dc7
GM
3453 * fileio.c (Finsert_file_contents): If the file size returned from
3454 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3455 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3456
eec2d1de
EZ
34572001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3458
3459 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3460 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3461 (__memalign_hook): Make the two prototypes consistent.
3462
f4f480bd
GM
34632001-04-17 Gerd Moellmann <gerd@gnu.org>
3464
3465 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3466 matrix of mini-windows.
3467
52283633
SM
34682001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3469
3470 * intervals.c (find_interval): Don't rebalance during signal handling.
3471
ec2423c9
GM
34722001-04-11 Gerd Moellmann <gerd@gnu.org>
3473
30cb0001 3474 * fns.c: Include blockinput.h.
52283633 3475
ec2423c9
GM
3476 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3477
719d83ad
GM
34782001-04-10 Gerd Moellmann <gerd@gnu.org>
3479
60f8d735
GM
3480 * fns.c (Fcompare_strings): Fix return values.
3481
afffeb57
GM
3482 * window.c (window_scroll): Change the meaning of N to mean
3483 N screen-fulls or N lines.
3484 (window_scroll_pixel_based, window_scroll_line_based)
3485 (scroll_command, Fscroll_other_window): Change accordingly.
3486
52283633
SM
3487 * window.c (window_scroll_pixel_based, Frecenter):
3488 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3489 height of the window.
3490
3491 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3492 instead of using it.last_visible_y for the height of the window.
52283633 3493
719d83ad 3494 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3495 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3496
3497 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3498 able to write to hidden and system files. From Dan Holmsand
3499 <dan@eyebee.com>.
719d83ad 3500
8ddf3ee1
GM
3501 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3502 Holmsand <dan@eyebee.com>.
719d83ad 3503
522ed7fb
GM
35042001-04-09 Gerd Moellmann <gerd@gnu.org>
3505
9170e5d4
GM
3506 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3507
522ed7fb
GM
3508 * window.c (window_internal_height): Return 1 less if the
3509 window has a header line.
3510
3511 * xdisp.c (try_window_id): When scrolling on a terminal, take
3512 the change of window_internal_height into account.
3513
ceeb3d7d
EZ
35142001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3515
3516 * gmalloc.c (align): If the argument SIZE would overflow
3517 __malloc_ptrdiff_t, fail right away.
3518
63685b9d
GM
35192001-04-06 Gerd Moellmann <gerd@gnu.org>
3520
3521 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3522 Make sure the tooltip is completely visible.
3523 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3524
3525 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3526
3527 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3528
3ffb33bb
DL
35292001-04-06 Dave Love <fx@gnu.org>
3530
52283633
SM
3531 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3532 Fix test of `from'.
3ffb33bb 3533
869fb12c
GM
35342001-04-06 Gerd Moellmann <gerd@gnu.org>
3535
52283633 3536 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3537
869fb12c
GM
3538 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3539
441bf856
GM
35402001-04-05 Gerd Moellmann <gerd@gnu.org>
3541
4d664b04
GM
3542 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3543
52283633 3544 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3545
30ca89f5
GM
3546 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3547 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3548
3549 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3550 shell widget's position only if it is non-null.
3551
52283633
SM
3552 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3553 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3554
81a81c0f
GM
3555 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3556 FILENAME to bring it in synch with the documentation.
3557
441bf856
GM
3558 * xfaces.c (realizing_basic_faces_p): Renamed from
3559 realize_default_face_p.
3560 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3561 (realize_default_face): Don't set the flag.
3562
702a1e8e
GM
35632001-04-04 Gerd Moellmann <gerd@gnu.org>
3564
1013f4e3
GM
3565 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3566
52283633
SM
3567 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3568
1013f4e3
GM
3569 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3570 the buffer that was used for echoing.
3571
702a1e8e
GM
3572 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3573 (first_font_matching): Removed unused function.
3574 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3575 (may_use_scalable_font_p): Remove parameter FONT; rename
3576 parameter NAME to FONT.
3577 (x_face_list_fonts): Fix missing bounds check.
3578 (realizing_default_face_p): New variable.
3579 (realize_default_face): Set and clear that flag.
3580 (x_face_list_fonts): When called during the realization of the
3581 default face, and no matching fonts are found when ignoring
3582 scalable fonts and fonts matching a regexp from
3583 face-ignored-fonts, try without ignoring fonts.
3584
f9dbcda4
GM
35852001-04-03 Gerd Moellmann <gerd@gnu.org>
3586
ad18ffb1
GM
3587 * xfns.c (postprocess_image): New function.
3588 (lookup_image): Call it for all image types except PostScript.
3589 (x_kill_gs_process): Call postprocess_image.
3590
f9dbcda4
GM
3591 * xterm.c (x_use_underline_position_properties): New variable.
3592 (x_draw_glyph_string): Use it.
3593 (syms_of_xterm): DEFVAR_BOOL it.
3594
651f03b6
GM
35952001-04-02 Gerd Moellmann <gerd@gnu.org>
3596
3597 * xterm.c (x_alloc_nearest_color_1): New function.
3598 (x_alloc_nearest_color): Use it.
3599 (x_color_cells): Take a Display as argument, instead of a frame.
3600 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3601 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3602 (x_initialize): Register cvt_string_to_pixel as resource converter
3603 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3604
73d75a62
GM
36052001-03-30 Gerd Moellmann <gerd@gnu.org>
3606
b2046df8
GM
3607 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3608 (set_iterator_to_next): If a string from a display property ends,
3609 consider the case that this might also be the end of an
3610 overlay string having the display property.
3611
52283633 3612 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3613
87d8eba4
GM
3614 * xdisp.c (reseat_to_string): Undo last change.
3615
73d75a62
GM
3616 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3617 matrix of a window when the header line changes, when
3618 new rows are allocated, or when the width changes.
3619
911a2406
EZ
36202001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3621
52283633 3622 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3623
aea51abe
EZ
36242001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3625
3626 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3627 deprecated.
3628
176bc847
GM
36292001-03-29 Gerd Moellmann <gerd@gnu.org>
3630
ed31fabf
GM
3631 * data.c (Fsubr_interactive_form): New function.
3632 (syms_of_data): Defsubr it.
3633
176bc847
GM
3634 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3635 (live_float_p, live_misc_p): Return 1 only if the offset of the
3636 pointer in its block is >= 0.
3637
e59d0e9d
GM
36382001-03-28 Paul Eggert <eggert@twinsun.com>
3639
3640 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3641 microseconds calcuation. Avoid double-rounding problem.
3642 In doc string, warn that the result is approximate.
3643
f827b862
GM
36442001-03-28 Gerd Moellmann <gerd@gnu.org>
3645
30a3f61c
GM
3646 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3647 bind `inhibit-eval-during-redisplay' to t.
3648
3649 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3650
3651 * xdisp.c (inhibit_eval_during_redisplay)
3652 (Qinhibit_eval_during_redisplay): New variables.
3653 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3654 don't eval, return nil instead.
3655 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3656 Initialize Qinhibit_eval_during_redisplay.
3657
e719f5ae
GM
3658 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3659 the iterator's multibyte_p flag.
3660
deb2613a
GM
3661 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3662 instead of setting it to zero; it's incremented for each frame
3663 where the menu face is changed.
3664
52283633
SM
3665 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3666 change bottom shadow accordingly.
3667
3668 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3669 intersections here.
3670 (expose_window): Do it here instead.
52283633 3671 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3672
f827b862
GM
3673 * bytecode.c (BYTE_CODE_QUIT): New macro.
3674 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3675
4bde0ebb
GM
36762001-03-27 Gerd Moellmann <gerd@gnu.org>
3677
607ec83c
GM
3678 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3679 Give up if matrix starts in an ellipsis.
3680 (init_from_display_pos): Do nothing if POS doesn't specify
3681 a dpvec_index but the iterator has such a position.
3682
0245398f
GM
3683 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3684
aba25348
GM
3685 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3686 x/y position is (0, 0) after destroying the menu bar, restore
3687 its original position.
3688
4bde0ebb
GM
3689 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3690 (init_from_display_pos): Use it.
3691 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3692
8cdb267e
GM
36932001-03-26 Gerd Moellmann <gerd@gnu.org>
3694
3695 * xdisp.c (try_window_id): Undo last change.
3696
9948db79
EZ
36972001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3698
3699 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3700
3701 * buffer.c (syms_of_buffer): Doc fix.
3702
2eddf899
GM
37032001-03-26 Gerd Moellmann <gerd@gnu.org>
3704
3705 * xfaces.c (x_update_menu_appearance): Use local variable
3706 popup_path for setting font resources.
3707
6c145d35
EZ
37082001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3709
6a65b1b5
EZ
3710 * frame.c (Fframe_list): Don't reference tip_frame if
3711 HAVE_WINDOW_SYSTEM is not defined.
3712
6c145d35
EZ
3713 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3714 <wl@gnu.org>.
3715
d74c1900
GM
37162001-03-25 Gerd Moellmann <gerd@gnu.org>
3717
20fbd925
GM
3718 * xdisp.c (init_from_display_pos): Test invisible property
3719 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3720
927c5b3b
GM
3721 * xdisp.c (redisplay_internal) <update one window>: Make sure
3722 last_arrow_position and last_arrow_string are set.
3723
d74c1900
GM
3724 * frame.c (Fframe_list): Don't return a tooltip frame.
3725
091f8878
GM
37262001-03-23 Gerd Moellmann <gerd@gnu.org>
3727
52283633
SM
3728 * xdisp.c (mark_window_display_accurate_1): New function,
3729 extracted from mark_window_display_accurate.
3730 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3731 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3732 (mark_window_display_accurate): Use it.
3733 (redisplay_internal): Use it for the selected window.
3734 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3735 for the selected frame.
3736
ac90c44f
GM
3737 * xdisp.c Use make_number, for readability.
3738 (try_window_id): Disable rows below the window end.
3739 (try_window_reusing_current_matrix): Use cursor_row_p.
3740 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3741 of rows.
3742 (init_from_display_pos): If POS specifies a position in a display
3743 vector, maybe get the iterator set up for that ellipsis.
43c09969 3744
091f8878
GM
3745 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3746
991786dd
EZ
37472001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3748
3749 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3750
6c29b43c
GM
37512001-03-23 Gerd Moellmann <gerd@gnu.org>
3752
3753 * xfaces.c (x_update_menu_appearance): Use a different path
3754 for Lucid popup menus.
3755
d8731202
SM
37562001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3757
3758 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3759
3760 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3761 (string_buffer_position): Use `make_number'.
3762
f61a541b
GM
37632001-03-22 Gerd Moellmann <gerd@gnu.org>
3764
3c9e997b
GM
3765 * xfaces.c (x_update_menu_appearance): Renamed from
3766 x_set_menu_face_resources. Use different resources for popups.
3767
3768 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3769 (GC_CHECK_STRING_BYTES): Don't define.
3770
364cd450
GM
3771 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3772 Removed, together with subroutines.
3773 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3774 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3775
d8731202
SM
3776 * dispextern.h (x_set_menu_resources_from_menu_face):
3777 Remove prototype.
364cd450 3778
d8731202 3779 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3780 Remove calls to x_set_menu_resources_from_menu_face.
3781
d8731202
SM
3782 * xfaces.c (xm_set_menu_resources_from_menu_face):
3783 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3784
3785 * xmenu.c: Include widget.h.
3786 (single_submenu): Return int. Some cleanup.
3787 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3788
140330de
GM
37892001-03-21 Gerd Moellmann <gerd@gnu.org>
3790
3791 * xterm.c (x_update_window_end): Handle overwritten mouse face
3792 also for tool bar windows.
3793 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3794 DRAW is DRAW_IMAGE_RAISED.
3795
1741905c
GM
37962001-03-20 Gerd Moellmann <gerd@gnu.org>
3797
fa88947e
GM
3798 * print.c (syms_of_print): Doc fixes.
3799
1741905c
GM
3800 * fns.c (Fmd5): Doc fix.
3801
ade0bee1
GM
38022001-03-19 Gerd Moellmann <gerd@gnu.org>
3803
357e7376
GM
3804 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3805 Clear area of the frame not occupied by the scroll bar.
3806
c2c097cc
GM
3807 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3808 tip frame's root window buffer to *tip* right after creating
3809 the frame.
3810
ade0bee1
GM
3811 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3812 is an integer don't have to be for space characters.
3813
88c6e37e
GM
38142001-03-16 Gerd Moellmann <gerd@gnu.org>
3815
52283633
SM
3816 * indent.c (current_column, current_column_1, Fmove_to_column)
3817 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3818
c62eed76
KH
38192001-03-15 Kenichi Handa <handa@etl.go.jp>
3820
3821 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3822 drawing glyph string.
3823
c899e7e6
GM
38242001-03-15 Gerd Moellmann <gerd@gnu.org>
3825
d0bbfc99
GM
3826 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3827 (command_loop_1): Undo last change.
3828
03d1a189
GM
3829 * xterm.c (fast_find_position): Return the correct vpos.
3830
c899e7e6 3831 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3832 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3833 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3834 Call store_symval_forwarding with BUF null.
3835 (set_internal): Call store_symval_forwarding with the BUF
3836 parameter passed to set_internal. Formerly, the value was always
3837 set in the current buffer; the buffer recorded in specbind for
3838 this case wasn't used.
3839 (arith_driver): Reindent.
3840
52283633
SM
3841 * buffer.c (swap_out_buffer_local_variables):
3842 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3843
3844 * lisp.h (store_symval_forwarding): Change prototype.
3845
3846 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3847
57ac7c81
GM
38482001-03-14 Gerd Moellmann <gerd@gnu.org>
3849
697617d9
GM
3850 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3851 FOR_DELETION. Avoid resizing the mini-window of the selected
3852 frame if FOR_DELETION is set.
3853 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3854 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3855 signature.
3856
3857 * window.c (Fset_window_configuration): Change call to
3858 do_switch_frame to new format.
3859
3860 * keyboard.c (quit_throw_to_read_char): Change call to
3861 do_switch_frame to new format.
3862
3863 * lisp.h (do_switch_frame): Change prototype.
3864
819dce0f
GM
3865 * frame.c (Fframe_parameters): In the `buffer-list' frame
3866 parameter, store the buffer list of FRAME, not the list of the
3867 selected frame.
3868
57ac7c81
GM
3869 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3870 box just because the glyph row's full_width_p flag is set.
3871
65008712
GM
38722001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3873
3874 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3875 skip the padding blanks inserted in extend_face_to_end_of_line,
3876 before checking for trailing whitespace.
3877
159cf431
GM
38782001-03-13 Gerd Moellmann <gerd@gnu.org>
3879
52283633 3880 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3881 Remove special handling for LessTif/Motif.
3882 (toplevel): Don't include Xm/Xm.h.
3883
52283633
SM
3884 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3885 Remove workaround code for LessTif; it doesn't work anymore.
3886
2564ea1b 3887 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3888 Xm/ScrollBarP.h.
afcdc0a1 3889
52283633
SM
3890 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3891 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3892 contemporary LessTif.
3893
52283633
SM
3894 * xfaces.c (xm_set_menu_resources_from_menu_face):
3895 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3896
159cf431
GM
3897 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3898 removing button grabs.
3899
c6f7429a
KH
39002001-03-13 Kenichi Handa <handa@etl.go.jp>
3901
cb82d767
KH
3902 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3903 and clip-large-size-font as obsolete.
3904
c6f7429a
KH
3905 * lread.c (read_multibyte): Check the validity of multibyte
3906 sequence. If invalid, return the first byte.
3907
760cefb5
GM
39082001-03-12 Gerd Moellmann <gerd@gnu.org>
3909
3910 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3911 before running the command; timer functions or process
3912 filters may have set it.
3913
5141f9d0
EZ
39142001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3915
3916 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3917 Doc fix.
3918
b6a15240
GM
39192001-03-12 Gerd Moellmann <gerd@gnu.org>
3920
3921 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3922 to sprintf.
3923
95522746
GM
39242001-03-09 Gerd Moellmann <gerd@gnu.org>
3925
db14cfc5
GM
3926 * dispextern.h (string_buffer_position): Add prototype.
3927
52283633 3928 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3929 (single_display_prop_string_p): New functions.
3930
3931 * xterm.c (note_mouse_highlight): If there's no help-echo on
3932 a string, look at the buffer text ``under'' it.
3933
3934 * keyboard.c (make_lispy_event): Add string info to the event,
3935 analogous to what's done on mode lines.
3936 (read_key_sequence): For a click on a string, consider `local-map'
3937 and `keymap' of that string.
3938
52283633
SM
3939 * keyboard.c (make_lispy_event, make_lispy_movement):
3940 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3941
3942 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3943
3944 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3945 POS; return void.
3946
95522746
GM
3947 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3948 flags argument to emacs_open; it seems to conflict with O_EXCL.
3949
898a399d
KH
39502001-03-09 Kenichi Handa <handa@etl.go.jp>
3951
28cd4910
KH
3952 * composite.h (struct composition): Change types of members;
3953 glyph_len to unsigned, width to unsigned short.
898a399d 3954
4cdf6a6c
AI
39552001-03-08 Andrew Innes <andrewi@gnu.org>
3956
3957 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3958 menu titles.
3959
129004d3
GM
39602001-03-08 Gerd Moellmann <gerd@gnu.org>
3961
221dd3e7
GM
3962 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3963 instead of nil.
3964
52283633 3965 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3966 help-echo in strings.
3967 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3968 (fast_find_string_pos): New function.
3969
52283633
SM
3970 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3971 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3972
3973 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3974 Handle `mouse-face'.
3975
3976 * dispextern.h (face_at_string_position): Change prototype.
3977
52283633 3978 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3979
129004d3
GM
3980 * keyboard.c (make_lispy_event): Avoid generating drag events
3981 if the mouse hasn't actually moved to another buffer position.
52283633 3982
80c8ab8c
DL
39832001-03-08 Dave Love <fx@gnu.org>
3984
129004d3 3985 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3986
989521fd
GM
39872001-03-08 Gerd Moellmann <gerd@gnu.org>
3988
3989 * process.c (Fset_process_window_size): Fix a typo.
3990
bb5c338d
KH
39912001-03-08 Kenichi Handa <handa@etl.go.jp>
3992
3993 * coding.c (detect_coding_sjis): Do more rigid check.
3994 (detect_coding_big5): Likewise.
3995 (decode_coding_sjis_big5): Likewise.
3996 (Fdetect_coding_region): Call detect_coding_system with tailing
3997 anchor byte `\0' for more rigid detection.
52283633 3998 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3999 (Fdetect_coding_string): Likewise.
4000
8b8f9197
SM
40012001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4002
4003 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4004 a string before extracting its data.
4005
3bdf2660
GM
40062001-03-07 Gerd Moellmann <gerd@gnu.org>
4007
4008 * window.c (Frecenter): Rewrite code handling negative values
4009 of ARG on graphical frames.
4010
40112001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4012
4013 * window.c (displayed_window_lines): If W->start is outside the
4014 accessible portion of the buffer, call start_display with BEGV or
4015 ZV instead of W->start.
4016
471f86b9
GM
40172001-03-07 Gerd Moellmann <gerd@gnu.org>
4018
2ab62c6c
GM
4019 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4020
471f86b9
GM
4021 * process.c (Fset_process_filter): Don't crash if the input
4022 file descriptor of PROCESS is closed.
4023 (Fset_process_window_size): Likewise.
4024
101922c3
GM
40252001-03-06 Kenichi Handa <handa@etl.go.jp>
4026
4027 * xterm.c (XTflash): Make the timeout of select shorter, and call
4028 select repeatedly until the desired time expires.
4029
45d051a7
GM
40302001-03-06 Gerd Moellmann <gerd@gnu.org>
4031
4032 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4033
4034 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4035
4036 * lisp.h (Vwindow_list): Declare extern.
4037
8f372c46
EZ
40382001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4039
4040 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4041
f16a7aa5
GM
40422001-03-06 Gerd Moellmann <gerd@gnu.org>
4043
157ae273
GM
4044 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4045 to detect a case where we have to highlight a different region
4046 despite not having left the currently highlighted region.
4047 Set mouse_face_overlay in the x_display_info.
45d051a7 4048 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4049
4050 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4051
4052 * buffer.c (mouse_face_overlay_overlaps): New function.
4053
4054 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4055 (Qmouse_face): Declare extern.
4056
f16a7aa5
GM
4057 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4058 if face_change_count is non-zero.
4059
827afcac
KH
40602001-03-06 Kenichi Handa <handa@etl.go.jp>
4061
4062 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4063 that the source is unibyte.
4064
14c7242e
DL
40652001-03-05 Dave Love <fx@gnu.org>
4066
827afcac 4067 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4068
c28b847b
GM
40692001-03-05 Gerd Moellmann <gerd@gnu.org>
4070
4071 * minibuf.c (read_minibuf): Clean up the binding stack if
4072 called noninteractively.
4073
b86644f2
KH
40742001-03-05 Kenichi Handa <handa@etl.go.jp>
4075
4076 * coding.c (syms_of_coding): Docstring modified.
4077
203682cc 40782001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4079
4080 * charset.c (char_to_string): If a single byte char has modifier
4081 bits that can't be reflected to the character code, ignore them
45d051a7 4082 instead of signaling an error.
b86644f2 4083
e30bd7b7
EZ
40842001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4085
4086 * s/msdos.h: Update copyright notice.
4087
4088 * dosfns.h: Update copyright notice.
4089
4090 * dosfns.c: Update copyright notice.
4091
4092 * msdos.c: Update copyright notice.
4093
b52b65bd
GM
40942001-03-02 Gerd Moellmann <gerd@gnu.org>
4095
4096 * xterm.c (glyph_rect): New function.
4097 (XTmouse_position): Use it to raise the threshold for mouse
4098 movement event generation.
4099
53c4b1e6
EZ
41002001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4101
4102 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4103 specifies (reverse . t), reverse the initial screen colors.
4104 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4105 but we are reversing the colors, set bg_set, not fg_set.
4106 Likewise for setting background-color and reversing: set fg_set.
4107 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4108 in effect.
4109
4110 * xfaces.c (Finternal_set_lisp_face_attribute)
4111 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4112 parameters alist.
4113
f964b4d7
GM
41142001-03-02 Gerd Moellmann <gerd@gnu.org>
4115
ef53d75e
GM
4116 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4117 to a single slash in the middle of file names.
4118
52283633 4119 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4120 Accept only alphanumeric time zone names.
4121
f964b4d7
GM
4122 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4123 or width area.
4124 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4125 a widget to zero height.
52283633 4126
c3c45f65
GM
41272001-03-01 Gerd Moellmann <gerd@gnu.org>
4128
4129 * window.c (Fwindow_end): Call move_it_past_eol only if
4130 ending up on a partially visible line.
4131
028d739a
DL
41322001-03-01 Dave Love <fx@gnu.org>
4133
4134 * ccl.c (Fccl_execute): Doc fix.
4135
57c5889c
GM
41362001-03-01 Gerd Moellmann <gerd@gnu.org>
4137
35f59f6b
GM
4138 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4139 of the tool bar before calling x_figure_window_size.
4140
f84ff02c
GM
4141 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4142 NULL after destroying it, otherwise XTread_socket can access a
4143 destroyed widget when input is unblocked.
4144
8b8f9197 4145 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4146
57c5889c
GM
4147 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4148 same name as before, although there was a change in fontsets.
4149
224227d1
KR
41502001-02-28 Ken Raeburn <raeburn@gnu.org>
4151
4560730a
KR
4152 * lisp.h (Fframe_parameter): Declare.
4153
224227d1 4154 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4155 Lisp_Object.
224227d1 4156
ece93c02
GM
41572001-02-28 Gerd Moellmann <gerd@gnu.org>
4158
11ef99b9
GM
4159 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4160 NULL instead.
4161
4162 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4163 NULL instead.
4164
ece93c02
GM
4165 * alloc.c (toplevel): Include process.h.
4166 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4167 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4168 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4169 (allocate_vector, allocate_hash_table, allocate_window)
4170 (allocate_frame, allocate_process, allocate_other_vector):
4171 New functions.
ece93c02
GM
4172 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4173 (mark_maybe_pointer): New function.
52283633 4174 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4175 remain and not Lisp_Objects.
4176 (min_heap_address, max_heap_address): New variables.
4177 (mem_find): Return MEM_NIL if START is below min_heap_address or
4178 above max_heap_address.
4179 (mem_insert): Compute min_heap_address and max_heap_address.
4180
4181 * process.c (make_process): Use allocate_process.
4182
4183 * frame.c (make_frame): Use allocate_frame.
4184
4185 * window.c (make_window, make_dummy_parent): Use allocate_window.
4186 (Fcurrent_window_configuration): Use allocate_other_vector.
4187
4188 * lisp.h (allocate_vectorlike): Remove prototype.
4189 (allocate_vector, allocate_other_vector, allocate_frame)
4190 (allocate_window, allocate_process, allocate_hash_table):
4191 Add prototypes.
4192
4193 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4194 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4195
063af457
KH
41962001-02-27 Kenichi Handa <handa@etl.go.jp>
4197
4198 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4199 treat the produced bytes as a valid multibyte sequence.
4200
4201 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4202 (ccl_driver) <CCL_WriteMultibyteChar2>:
4203 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4204 <ccl_finish>: Set ccl->eight_bit_control properly.
4205
4206 * ccl.h (struct ccl_program): New member eight_bit_control.
4207
f58c6494
SM
42082001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4209
4210 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4211 accessible_keymaps_char_table.
4212 (accessible_keymaps_char_table): Obey `is_metized'.
4213 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4214 Lisp_Object.
4215
c596c392
GM
42162001-02-26 Gerd Moellmann <gerd@gnu.org>
4217
4218 * dispnew.c: Check HAVE_TERM_H before including term.h.
4219
425de386
AI
42202001-02-24 Andrew Innes <andrewi@gnu.org>
4221
4222 * makefile.w32-in: Update copyright notice.
4223
2ba11bbd
SM
42242001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4225
4226 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4227
66c56ed1
KH
42282001-02-24 Kenichi Handa <handa@etl.go.jp>
4229
4c1593ce
KH
4230 * Makefile.in (lisp): Add international/utf-8.elc.
4231
66c56ed1
KH
4232 * fontset.c (Fnew_fontset): Fix handling of the case that an
4233 element of FONTLIST is a cons of family and registry.
4234
796ead7e
JR
42352001-02-23 Jason Rumney <jasonr@gnu.org>
4236
4237 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4238 to height unconditionally.
4239
4240 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4241 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4242 (x_insert_glyphs): Call window_box_left to obtain the left
4243 x-coordinate of the area to shift.
4244
4245 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4246 safe_run_hooks.
4247
f6839838
AI
42482001-02-22 Andrew Innes <andrewi@gnu.org>
4249
52283633 4250 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4251 ($(BLD)\dispnew.obj):
4252 ($(BLD)\editfns.obj):
4253 ($(BLD)\fileio.obj):
4254 ($(BLD)\filelock.obj):
4255 ($(BLD)\keyboard.obj):
4256 ($(BLD)\w32proc.obj):
4257 ($(BLD)\process.obj):
4258 ($(BLD)\sysdep.obj): Ditto.
4259
4260 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4261 header files.
52283633
SM
4262 ($(BLD)/dispnew.$(O)):
4263 ($(BLD)/editfns.$(O)):
4264 ($(BLD)/fileio.$(O)):
4265 ($(BLD)/filelock.$(O)):
4266 ($(BLD)/keyboard.$(O)):
4267 ($(BLD)/w32proc.$(O)):
4268 ($(BLD)/process.$(O)):
f6839838
AI
4269 ($(BLD)/sysdep.$(O)): Ditto.
4270
c224f70b
GM
42712001-02-22 Gerd Moellmann <gerd@gnu.org>
4272
51695746
GM
4273 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4274 at the start of the function, check that the \n in it->c is
4275 from the iterator's current position.
52283633 4276
a61b7058
GM
4277 * xdisp.c (handle_single_display_prop): Add parameter
4278 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4279 properties which replace the display of text with something else.
4280 (handle_display_prop): Call handle_single_display_prop with
4281 additional argument saying if we already replaced text display
4282 with something else. Use AREF.
52283633 4283 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4284 (decode_mode_spec_coding): Use AREF and ASIZE.
4285
3473f362
GM
4286 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4287 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4288 * vmstime.h: Files removed.
52283633 4289
2bb58df3
GM
4290 * unexencap.c, unexfx2800.c: Files removed.
4291
c224f70b
GM
4292 * dispnew.c (direct_output_for_insert): Give up if we are showing
4293 a message or just cleared the message because we might need to
4294 resize the echo area window or display an empty echo area.
4295
ffc9ff0c
GM
42962001-02-21 Gerd Moellmann <gerd@gnu.org>
4297
0528abe1
GM
4298 * xdisp.c (redisplay_internal): Do the
4299 mark_window_display_accurate after all windows have been
4300 redisplayed because this call resets flags in buffers which are
4301 needed for proper redisplay.
4302
52283633
SM
4303 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4304 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4305 the old names.
4306
52283633
SM
4307 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4308 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4309
4310 * msdos.h (struct x_output): Rename busy_window to
4311 hourglass_window, busy_p to hourglass_p.
4312
52283633
SM
4313 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4314 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4315
4316 * xfns.c: Rename everything containing *busy_cursor* and similar
4317 to *hourglass*.
4318 (syms_of_w32fns): Rename x-busy-pointer-shape to
4319 x-hourglass-pointer-shape, display-busy-cursor to
4320 display-hourglass, busy-cursor-delay to hourglass-delay.
4321
4322 * w32fns.c: Rename everything containing *busy_cursor* and similar
4323 to *hourglass*.
4324 (syms_of_w32fns): Rename x-busy-pointer-shape to
4325 x-hourglass-pointer-shape, display-busy-cursor to
4326 display-hourglass, busy-cursor-delay to hourglass-delay.
4327
4328 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4329 of its busy_p flag.
4330
4331 * dispextern.h (start_hourglass, cancel_hourglass)
4332 (display_hourglass_p): Renamed from *busy_cursor*.
4333
ab2c5f0a
GM
43342001-02-20 Gerd Moellmann <gerd@gnu.org>
4335
d17e49a8
GM
4336 * keyboard.c (read_char): When an event from unread-command-events
4337 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4338
fa97adf6
GM
4339 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4340 equal to the current buffer.
4341
ab2c5f0a
GM
4342 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4343 nil, otherwise we're left with truncate_lines t when a message
4344 is printed with message-truncate-lines bound to t.
4345
aeac019e
GM
43462001-02-19 Gerd Moellmann <gerd@gnu.org>
4347
c8bc6f65
GM
4348 * window.c (Fmove_to_window_line): Undo last change.
4349 (displayed_window_lines): Call line_bottom_y to determine
4350 the line's bottom position.
4351
4352 * dispextern.h (line_bottom_y): Add prototype.
4353
52283633 4354 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4355 (pos_visible_p): Use it.
4356
980a2d69
GM
4357 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4358 set redisplaying_p to 0 here instead of in Frecursive_edit.
4359 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4360 set redisplaying_p.
4361
52283633 4362 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4363 New variables.
4364 (syms_of_xdisp): Initialize new variables.
4365 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4366 Specbind `inhibit-menubar-update' when updating the menu bar.
4367
65048e97
GM
4368 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4369 safe_run_hooks.
4370
4371 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4372 safe_run_hooks.
4373
a57c4026
GM
4374 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4375 is null.
4376
aeac019e
GM
4377 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4378 to the start of the file.
4379
76846b31
GM
43802001-02-16 Gerd Moellmann <gerd@gnu.org>
4381
f3f053f3 4382 * window.c (set_window_buffer): Fix last change.
52283633 4383
f3f053f3
GM
4384 * window.c (set_window_buffer): Set window's vscroll to 0.
4385
dad75588
GM
4386 * window.c (coordinates_in_window): Increase width of area
4387 where the vertical line can be dragged.
4388
c220b753
GM
4389 * xterm.c (x_set_glyph_string_background_width): Extend the
4390 background face to the end of the drawing area in the text
4391 area, only.
4392
c56b1c1b
GM
4393 * xdisp.c (handle_single_display_prop): Set iterator's position
4394 to where the `display' property starts, like for images.
4395 (dump_glyph): New function.
4396 (dump_glyph_row): Use it. Dump info about marginal areas.
4397
4398 * dispnew.c (direct_output_for_insert): Recognize more cases where
4399 glyphs can be written instead of being inserted.
4400
4401 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4402 the left x-coordinate of the area to shift.
4403
76846b31
GM
4404 * dired.c (directory_files_internal): Set result list to nil
4405 before retrying.
4406
0fc71a77
KH
44072001-02-15 Kenichi Handa <handa@etl.go.jp>
4408
4409 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4410 invalid multibyte sequence, treat *SRC as a character of
4411 eight-bit-graphic.
4412
25078b54
EZ
44132001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4414
4415 * textprop.c (Fset_text_properties): Doc fix.
4416
8399f8a0
GM
44172001-02-15 Gerd Moellmann <gerd@gnu.org>
4418
4419 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4420
9a2a6f73
DL
44212001-02-14 Dave Love <fx@gnu.org>
4422
4423 * coding.c: Doc and message fixes.
4424
bf853fee
AI
44252001-02-14 Andrew Innes <andrewi@gnu.org>
4426
4427 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4428 Emacs frame above the screen size.
4429
78c663d8
GM
44302001-02-14 Gerd Moellmann <gerd@gnu.org>
4431
4432 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4433
7cc9f69f
GM
44342001-02-13 Gerd Moellmann <gerd@gnu.org>
4435
0a411995
GM
4436 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4437 case that TO ends up beyond ZV after running before-change-functions.
4438
5ddc1b75
GM
4439 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4440 the selected window if it is showing the buffer in question.
4441
7cc9f69f
GM
4442 * dired.c (directory_files_internal): Initialize errno.
4443 (toplevel): Include errno.h.
4444
2e6621ca
GM
44452001-02-13 Kenichi Handa <handa@etl.go.jp>
4446
4447 * xfaces.c (best_matching_font): New parameter width_ratio.
4448 Multiply avgwidth by width_ratio.
4449 (choose_face_font): Call best_matching_font with width_ratio
4450 calculated from the column width of C.
4451
60222d69
AI
44522001-02-12 Andrew Innes <andrewi@gnu.org>
4453
4454 The following changes are to draw box lines inside characters area
4455 if line-width is negative.
52283633 4456
60222d69
AI
4457 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4458 face->box_line_width is negative.
4459 (x_produce_stretch_glyph): Likewise.
4460 (x_produce_glyphs): Likewise.
4461 (x_estimate_mode_line_height): Likewise.
4462 (x_draw_glyph_string_background): Likewise.
4463 (x_draw_glyph_string_foreground): Likewise.
4464 (x_draw_composite_glyph_string_foreground): Likewise.
4465 (x_draw_glyph_string_box): Likewise.
4466 (x_draw_image_foreground): Likewise.
4467 (x_draw_image_relief): Likewise.
4468 (x_draw_image_foreground_1): Likewise.
4469 (x_draw_image_glyph_string): Likewise.
4470
9804b846
KH
44712001-02-09 Kenichi Handa <handa@etl.go.jp>
4472
4473 The following changes are to draw box lines inside characters area
4474 if line-width is negative.
52283633 4475
9804b846
KH
4476 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4477 face->box_line_width is negative.
4478 (x_produce_stretch_glyph): Likewise.
4479 (x_produce_glyphs): Likewise.
4480 (x_estimate_mode_line_height): Likewise.
4481 (x_draw_glyph_string_background): Likewise.
4482 (x_draw_glyph_string_foreground): Likewise.
4483 (x_draw_composite_glyph_string_foreground): Likewise.
4484 (x_draw_glyph_string_box): Likewise.
4485 (x_draw_image_foreground): Likewise.
4486 (x_draw_image_relief): Likewise.
4487 (x_draw_image_foreground_1): Likewise.
4488 (x_draw_image_glyph_string): Likewise.
4489
4490 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4491 and :line-width can be negative.
52283633 4492 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4493
49be9f70
JR
44942001-02-09 Jason Rumney <jasonr@gnu.org>
4495
4496 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4497 characters the same as ASCII and latin-1.
4498 (x_display_and_set_cursor): Check for the focus frame's selected
4499 window instead of selected_window.
4500 (x_after_update_window_line): Don't clear if frame's internal
4501 border width is zero.
4502 (x_new_font): Don't change a tooltip's size.
4503 (w32_initialize): Set char_ins_del_ok to 1.
4504
4505 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4506 (x_set_font): If font hasn't changed, avoid recomputing
4507 faces and other things.
52283633
SM
4508 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4509 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4510 (x_create_tip_frame): Prevent changing the tooltip's
4511 background color by specifying a color for the default font
4512 in .Xdefaults.
4513 (Qcancel_timer): New variable.
4514 (syms_of_w32fns): Initialize and staticpro it.
4515 (Fx_hide_tip, Fx_show_tip): Use it.
4516 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4517 the timer.
4518 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4519
4520 * w32.c (init_environment): Duplicate local string before putenv.
4521
555e35d2
SZ
45222001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4523
4524 * charset.c (Fstring): A typo.
4525
19c92c94
KH
45262001-02-09 Kenichi Handa <handa@etl.go.jp>
4527
e47a1c33
KH
4528 * charset.c (Fstring): If all arguments are less than 256, return
4529 a unibyte string.
4530
4531 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4532 return a unibyte string.
4533
19c92c94
KH
4534 * coding.c (code_convert_region): After detecting a coding, if
4535 nothing found, set coding->composing to COMPOSITION_NO.
4536 (decode_coding_string): Likewise.
4537
d8e675f5
SM
45382001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4539
4540 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4541 to avoid overflow.
4542
bd503487
KH
45432001-02-07 Kenichi Handa <handa@etl.go.jp>
4544
4545 * charset.c (parse_str_to_multibyte): New function.
4546
4547 * charset.h (parse_str_to_multibyte): Extern it.
4548
4549 * print.c (print_string): If we are going to print a unibyte
4550 string into a multibyte buffer, convert the string to multibyte by
4551 str_to_multibyte.
4552
a8370d72
AI
45532001-02-06 Andrew Innes <andrewi@gnu.org>
4554
4555 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4556 been created. It seems we can get sent window messages such as
4557 WM_ERASEBKGND before we properly update a frame.
4558
c363a1d6
GM
45592001-02-06 Gerd Moellmann <gerd@gnu.org>
4560
4561 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4562 Avoid some unnecessary cursor positioning.
4563
a08332c0
GM
45642001-02-05 Gerd Moellmann <gerd@gnu.org>
4565
52283633 4566 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4567 (LFACE_AVGWIDTH): New macro.
4568 (LFACEP): Use AREF.
4569 (check_lface_attrs): Check LFACE_AVGWIDTH.
4570 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4571 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4572 (merge_face_vectors): Check LFACE_AVGWIDTH.
4573 (Finternal_make_lisp_face): Use AREF.
4574 (xm_set_menu_resources_from_menu_face)
4575 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4576 (Finternal_lisp_face_empty_p): Use AREF.
4577 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4578 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4579 Compare average widths..
4580 (best_matching_font): Arrange for comparing average widths.
4581
52283633
SM
4582 * dispextern.h (enum lface_attribute_index):
4583 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4584
5cb3c8d4
DL
45852001-02-05 Dave Love <fx@gnu.org>
4586
4587 * puresize.h: Revert last change following loadup.el change.
4588
193fba87
AI
45892001-02-05 Andrew Innes <andrewi@gnu.org>
4590
4591 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4592 invocation of temacs, to work with Windows 2000.
4593 (bootstrap-emacs): Ditto.
4594
e16f52ce
GM
45952001-02-05 Gerd Moellmann <gerd@gnu.org>
4596
7a58ab59
GM
4597 * xterm.c (x_display_and_set_cursor): Check for the focus
4598 frame's selected window instead of selected_window.
4599
e89aaabd
GM
4600 * xdisp.c (try_scrolling): If point is in the line below the
4601 window, make sure to move the iterator at least a canonical
4602 char height down.
4603
52283633 4604 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4605
789ce875
KH
46062001-02-05 Kenichi Handa <handa@etl.go.jp>
4607
52283633
SM
4608 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4609 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4610 (ccl_driver): If the CCL program is terminated because of
4611 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4612 destination instead of throwing them away.
4613
20b28f82
GM
46142001-02-02 Gerd Moellmann <gerd@gnu.org>
4615
79fb38c0
GM
4616 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4617 faces and other things.
4618
20b28f82
GM
4619 * xdisp.c (get_next_display_element): Fix case of empty
4620 display table entry.
4621
5a72551e
EZ
46222001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4623
eb24d0bf
EZ
4624 * editfns.c (Fconstrain_to_field): Doc fix.
4625
6a3f48c7
EZ
4626 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4627 into `thoroughly', to make it consistent with the doc string.
4628
5a72551e
EZ
4629 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4630
01acdb05
GM
46312001-02-01 Gerd Moellmann <gerd@gnu.org>
4632
0353b28f
GM
4633 * search.c (search_buffer): Call set_search_regs with a byte
4634 position, not a character position.
4635
01acdb05
GM
4636 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4637 minibuffer-only,
4638
e86b5133
EZ
46392001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4640
4641 * frame.c (Fmodify_frame_parameters): Doc fix.
4642
7442878f
GM
46432001-01-31 Gerd Moellmann <gerd@gnu.org>
4644
01acdb05
GM
4645 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4646 identifier which is not reserved by Standard C.
52283633 4647
7442878f
GM
4648 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4649
4650 * window.c (enum window_part): New enumeration.
4651 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4652 Qright_bitmap_area.
4653 (coordinates_in_window): Return an enumerator from enum
4654 window_part. Fix handling of right scroll bar.
4655 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4656 `right-fringe' instead of `left-bitmap-area' and
4657 `right-bitmap-area'. Use enumerators from enum window_part
4658 instead of hard-coded integers.
52283633
SM
4659 (check_window_containing, window_from_coordinates):
4660 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4661 (syms_of_window): Replace Qleft_bitmap_area and
4662 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4663
7c132cba
EZ
46642001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4665
4666 * editfns.c (Fformat_time_string): Doc fix.
4667
c359dd9e
SM
46682001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4669
4670 * keymap.c (Fwhere_is_internal): Use the first valid binding
4671 if no ascii binding is found (when firstonly is t).
4672
ce070307
GM
46732001-01-31 Gerd Moellmann <gerd@gnu.org>
4674
b4f30ec5
GM
4675 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4676 instead of Finteractive_p.
4677
4678 * lisp.h (interactive_p): Add prototype.
4679
4680 * eval.c (interactive_p): New function.
4681 (Finteractive_p): Use it.
4682
ce070307
GM
4683 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4684
f57b6e64
DL
46852001-01-31 Dave Love <fx@gnu.org>
4686
d61c7afe
DL
4687 * .gdbinit (hook-run): Define to run xreload.
4688
f57b6e64
DL
4689 * textprop.c (Fset_text_properties): Fix newline in doc string.
4690
eef93f99
GM
46912001-01-30 Gerd Moellmann <gerd@gnu.org>
4692
52283633
SM
4693 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4694 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4695
4696 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4697 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4698 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4699
4700 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4701 height.
4702
d9c1f6f9
DL
47032001-01-30 Dave Love <fx@gnu.org>
4704
4705 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4706 AFTER_POTENTIAL_GC.
4707
e8f044a0
GM
47082001-01-29 Gerd Moellmann <gerd@gnu.org>
4709
52283633
SM
4710 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4711 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4712
8e1db7b3
EZ
47132001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4714
4715 * textprop.c (Fset_text_properties): Doc fix.
4716
4eefd9d2
GM
47172001-01-29 Gerd Moellmann <gerd@gnu.org>
4718
4719 * xdisp.c (forward_to_next_line_start): Remove xassert.
4720
fccb8288
EZ
47212001-01-29 Jason Rumney <jasonr@gnu.org>
4722
4eefd9d2 4723 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4724 returning without releasing it.
4725
76581eab
KH
47262001-01-29 Kenichi Handa <handa@etl.go.jp>
4727
4728 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4729 for '^', '$', and '\0'.
4730
83a96b4d
AC
47312001-01-28 Andrew Choi <akochoi@i-cable.com>
4732
5604ec34
AC
4733 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4734 regex for '^', '$', and '\0'.
4735
83a96b4d
AC
4736 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4737 only if current_sblock has been initialized.
4738
4739 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4740 terminal frame even if it is the only visible frame.
4741
c09a6440
KH
47422001-01-28 Kenichi Handa <handa@etl.go.jp>
4743
4744 * fontset.c (font_family_registry): Even if FONTNAME conform to
4745 XLFD, if it specifies other fields than family and registry,
52283633 4746 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4747 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4748 a signle byte character. Don't set FAMILY part to nil here.
4749 It is handled by the caller choose_face_font.
c09a6440
KH
4750 (Fnew_fontset): Call font_family_registry with FORCE 0.
4751 (Fset_fontset_font): Likewise.
4752
4dcd74e6
GM
47532001-01-27 Gerd Moellmann <gerd@gnu.org>
4754
4755 * xdisp.c (display_line): Don't treat a newline as fitting
4756 on the line.
4757
d2906bf8
GM
47582001-01-26 Gerd Moellmann <gerd@gnu.org>
4759
0130fe1a
GM
4760 * window.c (size_window): Set the window's orig_top to nil when
4761 changing heights, so that a future shrink_mini_window won't
4762 restore a bogus height.
4763
550f0e6a
GM
4764 * frame.c (do_switch_frame): If selected frame has a mini-window,
4765 resize that to exact size.
4766
b7b20fbd
GM
4767 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4768
a47b7816
GM
4769 * xdisp.c (display_line): Simplify check for glyphs fitting
4770 entirely in the line.
4771
d2906bf8
GM
4772 * xfns.c (xic_style): New variable.
4773 (create_frame_xic): Move static variable to global scope for
550f0e6a 4774 the case that `static' gets defined away.
d2906bf8 4775
73df2b1e
KH
47762001-01-26 Kenichi Handa <handa@etl.go.jp>
4777
4778 * coding.c (decode_coding): Set a flag for inhibiting
4779 inconsistent eol.
4780 (code_convert_region): Always set saved_coding_symbol.
4781 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4782 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4783
6613cfc4
GM
47842001-01-25 Gerd Moellmann <gerd@gnu.org>
4785
c5e6e06b
GM
4786 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4787 XClearArea.
4788
4789 * xterm.c (x_after_update_window_line): Don't clear if frame's
4790 internal border width is zero.
4791 (x_clear_area): New function.
4792 (x_after_update_window_line, x_clear_end_of_line)
4793 (x_scroll_bar_create, x_scroll_bar_set_handle)
4794 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4795 instead of XClearArea.
4796
4797 * xterm.h (x_clear_area): Add prototype.
4798
6613cfc4
GM
4799 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4800 which doesn't seem necessary anymore with Lesstif 0.92.
4801
650cc6cc
DL
48022001-01-25 Dave Love <fx@gnu.org>
4803
34ac3367
DL
4804 * puresize.h (BASE_PURESIZE): Up to 720000.
4805
650cc6cc
DL
4806 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4807
5e37dc22
GM
48082001-01-25 Gerd Moellmann <gerd@gnu.org>
4809
e1e441f9
GM
4810 * xdisp.c (echo_area_display): Don't call redisplay_internal
4811 when Emacs is shutting down. We can't run hooks etc. that
4812 would be necessary to do a redisplay.
4813
5e37dc22
GM
4814 * lread.c (read_integer): Use type EMACS_INT instead of int.
4815
0fb94c7f
EZ
48162001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4817
4818 * ccl.c (ccl_driver): Fix last change.
4819
e3778624
KH
48202001-01-25 Kenichi Handa <handa@etl.go.jp>
4821
4822 * ccl.h (sturct ccl_program): New member suppress_error.
4823
bb264518 4824 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4825 insert error message to the output.
4826 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4827
4828 * coding.h (struct coding_system): New member suppress_error.
4829
4830 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4831 (Fset_terminal_coding_system_internal): Set the member
4832 suppress_error to 1.
4833 (Fset_safe_terminal_coding_system_internal): Likewise.
4834
245ed2b1
SM
48352001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4836
4837 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4838 as if it was a `charset'.
4839
f9aaedb6
GM
48402001-01-24 Gerd Moellmann <gerd@gnu.org>
4841
4842 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4843 value in where_is_cache; the next lookup in the cache returns
4844 something bogus if we do.
4845
c3902c3e
EZ
48462001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4847
4848 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4849 if HAVE_WINDOW_SYSTEM isn't defined.
4850
3497f73e
GM
48512001-01-24 Gerd Moellmann <gerd@gnu.org>
4852
e7e41584
GM
4853 * fns.c (sweep_weak_table): Fix code taking items out of
4854 the hash collision chain. Some cleanup.
4855
3497f73e
GM
4856 * xterm.c (x_new_font): Don't change a tooltip's size.
4857
4858 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4859 background color by specifying a color for the default font
4860 in .Xdefaults.
4861
3d48e687
KH
48622001-01-24 Kenichi Handa <handa@etl.go.jp>
4863
96531b20
KH
4864 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4865 a workaround for SunOS 4's cc.
4866 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4867 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4868 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4869 statement.
3d48e687 4870
a30629d2
GM
48712001-01-23 Gerd Moellmann <gerd@gnu.org>
4872
4873 * xterm.c (x_set_window_size_1): New function extracted from
4874 x_set_window_size.
4875 (x_set_window_size): Use it.
4876 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4877 doesn't have a widget, like tooltips.
4878
5a43decf
EZ
48792001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4880
52283633 4881 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4882
b0e98867
KH
48832001-01-23 Kenichi Handa <handa@etl.go.jp>
4884
4885 * fns.c (Fset_char_table_default): Fix to make sub char-table
4886 correctly.
4887
50606b4c
GM
48882001-01-22 Gerd Moellmann <gerd@gnu.org>
4889
cb2ddc53 4890 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4891 a desired tool bar string, even if there are no tool bar items.
4892
57c28064
GM
4893 * xdisp.c (Ftool_bar_lines_needed): New function.
4894 (syms_of_xdisp): Defsubr it.
4895
50606b4c
GM
4896 * editfns.c (Fformat): Don't extend text properties from arguments
4897 to padding chars in the result.
4898
2f169c38
EZ
48992001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4900
4901 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4902
0f32f023
AI
49032001-01-20 Andrew Innes <andrewi@gnu.org>
4904
52283633 4905 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4906 (w32_initialize): Don't set term hooks that aren't actually needed
4907 in windowed mode.
4908
4909 * xfaces.c (realize_default_face):
4910 (realize_face):
4911 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4912
4913 * xdisp.c (handle_single_display_prop): Remove references to
4914 FRAME_W32_CONSOLE_P.
4915
52283633 4916 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4917
4918 * frame.h (output_method): Remove output_w32_console method.
4919 (FRAME_W32_CONSOLE_P): Remove macro.
4920
4921 * frame.c (Qw32_console): Remove variable.
4922 (Fframep): Remove references to it.
4923 (syms_of_frame): Ditto.
4924 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4925
4926 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4927 redefinition.
4928
7173eada
KH
49292001-01-20 Kenichi Handa <handa@etl.go.jp>
4930
4931 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4932
755b45ce
AI
49332001-01-19 Andrew Innes <andrewi@gnu.org>
4934
4935 * w32.c (init_environment): Add a version-independent site-lisp
4936 directory to EMACSLOADPATH, after the version dependent one.
4937
0a949811
GM
49382001-01-19 Gerd Moellmann <gerd@gnu.org>
4939
8501998a
GM
4940 * editfns.c (Fbuffer_substring): Doc fix.
4941
52283633
SM
4942 * xdisp.c (message_dolog, message2, message2_nolog):
4943 Rename parameter LEN to NBYTES.
0a949811 4944
e6ebcbbe
KH
49452001-01-19 Kenichi Handa <handa@etl.go.jp>
4946
200ecca2
KH
4947 * charset.c (strwidth): Use c_string_width.
4948 (c_string_width): New function.
4949 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4950 Caller changed.
4951
4952 * charset.h (c_string_width, lisp_string_width): Extern them.
4953
52283633 4954 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4955
e6ebcbbe
KH
4956 * indent.c (check_composition): Check validity of composition.
4957
200ecca2
KH
4958 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4959 characters by calling c_string_width.
4960 (x_consider_frame_title): Get byte length of frame tile string
4961 correctly.
4962 (display_mode_element): Pay attention to width of non-ASCII
4963 characters by calling strwidth.
4964
8692ca92
GM
49652001-01-18 Gerd Moellmann <gerd@gnu.org>
4966
8962e303
GM
4967 * xfns.c (Qcancel_timer): New variable.
4968 (syms_of_xfns): Initialize and staticpro it.
4969 (Fx_hide_tip, Fx_show_tip): Use it.
4970 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4971 the timer.
4972 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4973
91523be9
GM
4974 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4975
4976 * window.h (WINDOW_LIVE_P): New macro.
4977
b0b7ed0e
GM
4978 * window.c (window_size_fixed): New variable.
4979 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4980 the doc string.
4981
06bccf8e
GM
4982 * eval.c (specbind): If binding a per-buffer variable which
4983 doesn't have a buffer-local value in the current buffer, change
4984 the global value by changing the value of the symbol bound in all
4985 buffers not having their own value, to make it consistent with
4986 what happens with other buffer-local variables.
4987
8692ca92
GM
4988 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4989
4990 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4991 when searching for a newline.
4992
bb3a3b50
KH
49932001-01-18 Kenichi Handa <handa@etl.go.jp>
4994
4995 * xdisp.c (display_string): Fix previous change.
4996
c2cc16fa
JR
49972001-01-18 Jason Rumney <jasonr@gnu.org>
4998
4999 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5000 GLYPH_DEBUG is defined.
5001 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5002 true for images with `:ascent 100'.
5003 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5004 meantime, use face MOUSE_FACE_ID.
5005 If first glyph isn't a character glyph, use the ASCII NUL
5006 character to determine the face.
5007 (expose_area): Do not treat left margin specially.
5008 (note_mode_line_highlight): If no local_map, check global keymap.
5009 (note_mouse_highlight): Initialize overlay.
52283633 5010 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5011 (show_scroll_bars): Remove unused function.
5012 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5013 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5014 Clip to row.
52283633 5015 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5016 (x_free_frame_resources): Unload relief colors.
5017
9c11f79e
GM
50182001-01-17 Gerd Moellmann <gerd@gnu.org>
5019
3aec8722 5020 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5021 get_next_display_element when the newline is already found.
5022 This may change the iterator's position, when its current position is
3aec8722
GM
5023 equal to the iterator's stop_charpos.
5024
f3ffc2c3
GM
5025 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5026 zero, use this method only at the end of a line.
5027
52283633 5028 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5029 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5030 if SCALABLE_FONTS_P is set.
52283633 5031
d26d6fd9
GM
5032 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5033 so that scalable fonts are included.
5034
9c11f79e
GM
5035 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5036 In the cache, use a key containing the information if scalable
5037 fonts are included.
5038 (x_load_font): Adapt to change of keys in the font cache.
5039
50402001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5041
d26d6fd9
GM
5042 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5043 XListFonts to take advantage of font caching.
5044
9c11f79e
GM
5045 * xterm.c (x_list_fonts): Ensure caching font information when
5046 called for a null frame, which is the case frequently when Emacs
5047 starts.
5048
51446987
GM
50492001-01-17 Gerd Moellmann <gerd@gnu.org>
5050
f864120f
GM
5051 * xfns.c (QCconversion): Replaces QCalgorithm.
5052
5053 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5054
5055 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5056 of :algorithm.
52283633 5057
e37d1417
GM
5058 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5059 not everything could be displayed.
5060
51446987
GM
5061 * line.h, x-list-font.c: Files removed because unused.
5062
9ad4f3e5
AI
50632001-01-17 Andrew Innes <andrewi@gnu.org>
5064
5065 * dired.c (directory_files_internal): Convert result from readdir
5066 to a unibyte string initially, to avoid possible misinterpretation
5067 of some bytes as the internal form of Emacs characters.
5068
2eda09b5
KH
50692001-01-17 Kenichi Handa <handa@etl.go.jp>
5070
5071 * fns.c (concat): Be sure to avoid putting the same `composition'
5072 property on the adjacent regions.
5073
826f3788
GM
50742001-01-16 Gerd Moellmann <gerd@gnu.org>
5075
52283633 5076 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5077 (Fscroll_right, Fscroll_left): Set it here instead, if called
5078 interactively.
5079
d57b83b3
GM
5080 * buffer.c (Fset_buffer_modified_p): Set buffer's
5081 prevent_redisplay_optimizations_p flag.
5082
826f3788 5083 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5084 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5085 with additional arg.
5086
5087 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5088 Change prototype.
826f3788 5089
826f3788
GM
5090 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5091 FROM_WHERE, for debugging.
5092
261d788b
KH
50932001-01-16 Kenichi Handa <handa@etl.go.jp>
5094
5095 * ccl.c (Fregister_ccl_program): Handle the return value of
5096 resolve_symbol_ccl_program correctly.
52283633 5097 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5098
bccee4f2
GM
50992001-01-15 Gerd Moellmann <gerd@gnu.org>
5100
e4ded23c
GM
5101 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5102 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5103
5104 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5105 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5106 the display; we didn't open it.
5107
bccee4f2
GM
5108 * dispnew.c (save_or_restore_current_matrices): Function removed.
5109 (save_current_matrix, restore_current_matrix): New functions.
5110 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5111 restore the frame's current matrix. Due to the glyph pointer
5112 setup done in adjust_glyph_matrix, there is no easy way to make
5113 saving the current matrix in the desired matrix generally correct,
5114 so don't try it.
5115
ebeccffa
KH
51162001-01-15 Kenichi Handa <handa@etl.go.jp>
5117
5118 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5119 truncation glyphs.
5120 (display_line): Optimize for wide characters.
e4ded23c 5121 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5122 partially. On ttys, produce more than one truncation glyph for
5123 multi-column characters that don't fit on the line.
5124
64388126
KH
51252001-01-13 Kenichi Handa <handa@etl.go.jp>
5126
52283633
SM
5127 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5128 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5129
8edb0a6f
JR
51302001-01-13 Jason Rumney <jasonr@gnu.org>
5131
5132 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5133 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5134 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5135 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5136
52283633
SM
5137 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5138 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5139 (x_draw_image_glyph_string): Adapt to change of image margins.
5140
5141 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5142 variables.
5143
5144 * w32bdf.c (search_file_line, get_cached_font_char)
5145 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5146
5147 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5148
5149 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5150 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5151 (Fw32_send_sys_command): Remove unused variables.
5152 (w32_msg_pump): Add parentheses.
5153
5154 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5155 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5156 Add parentheses.
5157
4956d1ef
GM
51582001-01-12 Gerd Moellmann <gerd@gnu.org>
5159
b30623be
GM
5160 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5161 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5162 being a pair of margins.
5163 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5164 to DEFVAR_LISP. Extend doc.
5165
5166 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5167 margins.
5168 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5169 pair of integers `(X . Y)', use X for the horizontal and Y for the
5170 vertical margin.
5171 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5172 (parse_image_spec): Check it.
52283633
SM
5173 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5174 (tiff_format, gif_format, gs_format):
5175 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5176
52283633
SM
5177 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5178 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5179 (x_draw_image_glyph_string): Adapt to the change of image margins.
5180
5181 * dispextern.h (struct image): Replace member `margin' with
5182 `hmargin' and `vmargin'.
5183
4554cc79
GM
5184 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5185 and GLYPHS.
5186
5187 * dispnew.c (update_text_area): Put code which decrements the
5188 stop position when the row's face extends to the end of the
3bffc665 5189 line in #if 0.
4554cc79 5190
3cccce8d
GM
5191 * xfns.c (x_set_mouse_color): Fix color allocation.
5192
4956d1ef
GM
5193 * keyboard.c: Call get_local_map with new argument list.
5194
5195 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5196
5197 * intervals.h (enum map_property): Removed.
5198 (get_local_map): Change prototype.
5199
5200 * keymap.c: Call get_local_map with new argument list.
5201 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5202
2c2ff7f2
GM
52032001-01-11 Gerd Moellmann <gerd@gnu.org>
5204
a23887b9
GM
5205 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5206 of the size needed for the tool bar string. For the last image,
5207 use a `display' property that reaches to the end of the string.
5208
a7ee2d2e
GM
5209 * xselect.c (selection_request_dpyinfo): New variable.
5210 (x_handle_selection_request): Set it.
5211 (x_selection_request_lisp_error): Don't call
5212 x_decline_selection_request if selection request's display has
5213 been closed.
5214
52283633
SM
5215 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5216 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5217
457b792c
GM
52182001-01-10 Dave Love <fx@gnu.org>
5219
5220 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5221 ${SOME_MACHINE_LISP}, not ${lisp}.
5222
c1efd260
GM
52232001-01-10 Gerd Moellmann <gerd@gnu.org>
5224
52283633
SM
5225 * xdisp.c (display_line): On ttys, produce more than one truncation
5226 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5227
ac95a621
GM
5228 * xselect.c (x_reply_selection_request): Add a comment.
5229
c1efd260
GM
5230 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5231 XkbGetNames instead of XkbGetKeyboard.
5232
1bfb1345
DL
52332001-01-10 Dave Love <fx@gnu.org>
5234
5235 * sysdep.c (random): Revert the declaration.
5236
38119822
GM
52372001-01-09 Gerd Moellmann <gerd@gnu.org>
5238
52283633
SM
5239 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5240 Call function string_bytes.
35f464a7
GM
5241 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5242
5243 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5244 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5245 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5246 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5247 the current sblock.
5248 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5249 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5250 after sweeping strings, and at the end.
5251 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5252
38119822
GM
5253 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5254 ensure that pop_message is called.
5255
5256 * keyboard.c (Fexecute_extended_command): Use a
5257 record_unwind_protect to ensure that pop_message is called.
5258
5259 * lisp.h (push_message_unwind): Add prototype.
5260
5261 * xdisp.c (push_message_unwind): New function.
5262
5263 * fileio.c (do_auto_save_unwind): Do the pop_message here
5264 instead of in Fdo_auto_save.
5265 (Fdo_auto_save): Don't call pop_message.
5266
f47a9ec4
KR
52672001-01-08 Ken Raeburn <raeburn@gnu.org>
5268
5269 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5270 in inner block.
5271
a758f97d
GM
52722001-01-08 Gerd Moellmann <gerd@gnu.org>
5273
6d0afc03
GM
5274 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5275 when increasing window's vscroll.
5276
a758f97d
GM
5277 * macros.c (Qkbd_macro_termination_hook): New variable.
5278 (syms_of_macros): Initialize and staticpro it.
5279 (pop_kbd_macro): Run kbd-macro-termination-hook.
5280
5281 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5282
1bfb1345 52832001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5284
5285 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5286 arglist, for documentation's sake.
5287
0dac6924
AI
52882001-01-06 Andrew Innes <andrewi@gnu.org>
5289
5290 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5291 of *.pdb.
5292
8182406a
AI
52932001-01-05 Andrew Innes <andrewi@gnu.org>
5294
5295 * term.c (update_end): Don't check updating_frame; for some reason
5296 this can be 0 sometimes, such as after dismissing a popup menu,
5297 and isn't necessary given the explicit frame argument.
5298
3828218c
GM
52992001-01-05 Gerd Moellmann <gerd@gnu.org>
5300
5301 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5302 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5303
2f5ded21
GM
53042001-01-04 Gerd Moellmann <gerd@gnu.org>
5305
52283633 5306 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5307
5308 * xfns.c (x_create_tip_frame): Preserve the value of
5309 face_change_count around the creation of the tip frame.
52283633 5310
2f5ded21
GM
5311 * xfns.c (last_show_tip_args): New variable.
5312 (compute_tip_xy): New function.
5313 (Fx_show_tip): Reuse an existing tip frame, if possible.
5314 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5315
dfad65fa
DL
53162001-01-04 Dave Love <fx@gnu.org>
5317
64d4ec0f
DL
5318 * editfns.c (Fformat): Doc fix.
5319
dfad65fa
DL
5320 * systime.h (set_file_times): Prototype.
5321
5322 * widget.h (EmacsFrameSetCharSize_): Prototype.
5323
5324 * sysdep.c (random, srandom): Declare explicitly.
5325
5326 * dispextern.h (move_it_vertically_backward): Declare.
5327
85fe3b5e
GM
53282001-01-04 Gerd Moellmann <gerd@gnu.org>
5329
0f2ac578
GM
5330 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5331 like in Fx_create_frame.
5332
482cca61
GM
5333 * xfaces.c (set_font_frame_param): Don't do anything for
5334 non-graphical frames.
5335
85fe3b5e
GM
5336 * window.c (Fdelete_other_windows): Set window's window_end_valid
5337 to nil when changing the window's start. Don't change the
5338 window's start when its top position hasn't changed. If we do,
5339 this will set the window's optional_new_start, which act's like a
5340 force_start during redisplay with C-x 1 M-> under particular
5341 circumstances (see report from Per Starback to emacs-pretest-bug
5342 from 2000-12-13.).
5343
3e99d3b4
GM
53442001-01-03 Gerd Moellmann <gerd@gnu.org>
5345
a77dc1ec
GM
5346 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5347 short cut at the start of the function. Add an assertion.
5348 (reseat_at_next_visible_line_start): Add an assertion.
5349
2f3cad6c
GM
5350 * window.c (Frecenter): When changing the window start, set the
5351 window's window_end_valid to nil.
5352 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5353
5354 * dispextern.h (move_it_past_eol): Add prototype.
5355
5356 * xdisp.c (move_it_past_eol): New function.
5357
3e99d3b4
GM
5358 * window.c (Fwindow_end): Doc fix.
5359
53602001-01-03 Dave Love <fx@gnu.org>
5361
52283633 5362 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5363
bafb434c
GM
53642001-01-03 Gerd Moellmann <gerd@gnu.org>
5365
5366 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5367 the enabled_p flag of the glyph row at window_end_vpos to 0.
5368 (handle_single_display_prop): Fix last change.
5369
5297fb00
RS
53702001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5371
5372 * window.c (Frecenter): Doc fix.
5373
13d6a61c
AI
53742001-01-02 Andrew Innes <andrewi@gnu.org>
5375
5376 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5377
5378 * frame.h (output_method): Add output_w32_console method.
5379 (FRAME_W32_CONSOLE_P): New macro.
5380
5381 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5382 use output_w32_console method.
5383 (Qw32_console): New Lisp_Object.
5384 (Fframep): Return it.
5385 (syms_of_frame): Init it.
52283633 5386 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5387
5388 * xfaces.c (realize_default_face): Set face foreground and
5389 background to unspecified for w32_console frames.
5390 (realize_face): Realize face cache for w32_console frames.
5391 (realize_tty_face): Accept w32_console frames.
5392
52283633 5393 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5394 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5395 necessary, even if running interactively.
5396
5397 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5398 w32_console frames.
5399
52283633
SM
5400 * w32term.c (x_update_begin):
5401 (x_update_end):
5402 (x_clear_frame):
5403 (x_ins_del_lines):
5404 (x_change_line_highlight):
5405 (x_delete_glyphs):
5406 (w32_ring_bell):
5407 (x_update_begin):
5408 (x_update_end):
5409 (w32_reassert_line_highlight):
5410 (w32_frame_rehighlight):
13d6a61c
AI
5411 (w32_frame_raise_lower): Do nothing if not w32 frame.
5412
5413 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5414
5415 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5416 system doesn't tell us directly.
5417 (Fx_display_visual_class): Implement properly.
5418
d6bb0c0d
GM
54192001-01-02 Gerd Moellmann <gerd@gnu.org>
5420
5421 * window.c (Frecenter): Handle centering in graphical frames
5422 specially. Centering on the basis of line counts doesn't work
5423 reliably with variable-height lines.
52283633 5424
315f5865
EZ
54252001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5426
5427 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5428 and al[].
5429
52283633 5430 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5431 (update_compositions): Remove unused variable `hook'.
5432
5433 * intervals.c (get_local_map): Remove unused variable `tem'.
5434
5435 * doprnt.c (doprnt1): Remove unused variable `size'.
5436
5437 * fns.c (Flength): Remove unused variable `tail'.
5438 (Fdelete): Remove unused variable `size'.
5439
5440 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5441 and `gcpro2'.
5442
52283633 5443 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5444
5445 * data.c (find_symbol_value): Remove extra 3rd argument in the
5446 call to swap_in_symval_forwarding.
5447
52283633 5448 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5449
5450 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5451 (trivial_regexp_p): Remove unused variable `c'.
5452 (boyer_moore): Remove unused variable `k'.
5453
5454 * indent.c (current_column): Remove unused variable `stopchar'.
5455 (Fcompute_motion): Remove unused variable `contin'.
5456
5457 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5458
5459 * dired.c (directory_files_internal): Fix a typo in a comment.
5460 Remove an unused variable `handler'.
52283633 5461 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5462 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5463 on BSD4_2.
5464
52283633 5465 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5466
5467 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5468 and `buf'.
5469 (Fmarker_insertion_type): Remove unused variable `buf'.
5470
5471 * insdel.c (make_gap): Remove unused variable `result'.
5472
52283633 5473 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5474 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5475 (menu_bar_items): Remove unused function-scope variable `tem'.
5476
5477 * fontset.c (fontset_ref): Remove unused variable `i'.
5478 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5479 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5480 (make_fontset_for_ascii_face): Remove unused variable `name'.
5481 (fs_load_font): Remove unused variable `font_idx'.
52283633 5482 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5483 (list_fontsets): Remove unused variable `tail'.
5484 (Fnew_fontset): Remove unused variables `family' and `registry'.
5485 (accumulate_font_info): Remove unused variable `tmp'.
5486 (Ffontset_font): Remove unused variable `id'.
5487 (syms_of_fontset): Remove unused variable `i'.
5488
5489 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5490 to x_term_init.
5491 (lookup_image): Remove unused variable `file'.
5492 (xbm_load): Remove unused variables `bitmap_data', `height', and
5493 `width'. Remove function-local variable `i', leave the
5494 block-local one.
5495 (gif_load): Remove unused variable `inc'.
5496
52283633 5497 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5498 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5499 leave only the one in the inner block.
5500
5501 * xfaces.c (face_fontset, realize_default_face): Remove unused
5502 variable `fontset'.
5503 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5504
5505 * term.c (encode_terminal_code): Remove unused variable `c'.
5506
5507 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5508 char *' instead of `char *'.
5509
5510 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5511 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5512 (Fchar_category_set): Remove unused variables `val', `charset',
5513 `c1' and `c2'.
5514
52283633
SM
5515 * coding.c (detect_coding_iso2022, setup_coding_system):
5516 Remove unused variable `i'.
315f5865
EZ
5517 (detect_coding_mask): Remove unused variable `idx'.
5518 (detect_coding): Remove unused variable `i'.
5519 (ccl_coding_driver): Remove unused variable `result'.
5520 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5521 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5522 (encode_coding_string): Remove unused variables `gcpro1' and
5523 `saved_coding_symbol'.
5524 (Ffind_coding_systems_region_internal): Remove function-local
5525 variable args[], leave only the block-local one.
5526 (code_convert_region1): Remove unused variable `len'.
5527
5528 * charset.c (char_printable_p): Remove unused variable `chars'.
5529 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5530 (str_to_multibyte): Remove unused variable `c'.
5531
5532 * window.c (size_window): Remove block-local variable `min_size'.
5533
5534 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5535 `header_line_height'.
5536 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5537 enum display_element_type.
5538
1a8a9daf
GM
55392001-01-02 Gerd Moellmann <gerd@gnu.org>
5540
6dde6abc 5541 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5542 statements that call X. Save away the error message in a local copy.
5543
1883b2c6
GM
5544 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5545 the start.
5546
a13be207
GM
5547 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5548 in or at the start of invisible text.
5549
1a8a9daf
GM
5550 * dispnew.c (update_window): Don't check_current_matrix_flags.
5551
3608c0f9
JR
55522001-01-01 Jason Rumney <jasonr@gnu.org>
5553
5554 * w32fns.c (x_figure_window_size): Do not allow new_height and
5555 new_width of frame to override specified values.
5556
abb1acc4
KH
55572000-12-30 Kenichi Handa <handa@etl.go.jp>
5558
52283633 5559 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5560
762a68ec
GM
55612000-12-29 Gerd Moellmann <gerd@gnu.org>
5562
52283633 5563 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5564 (update_window) [GLYPH_DEBUG]: Call it.
5565 (scrolling_window): Prevent including current rows which are below
5566 what's displayed in the window.
5567
5568 * xdisp.c (try_window_reusing_current_matrix)
5569 <new start <= old start>: Disable rows in the current matrix
5570 which are below the window after scrolling.
52283633 5571
762a68ec
GM
5572 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5573 is zero. It's not worth the complexity.
5574 (invisible_text_between_p): Put in #if 0 because unused.
5575
2d5912c1
GM
55762000-12-28 Gerd Moellmann <gerd@gnu.org>
5577
46f6a258
GM
5578 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5579 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5580
89f93679
GM
5581 * keyboard.c (echo_char): If C is an integer, always call
5582 push_key_description. Former code could signal an invalid
5583 character error.
5584
5585 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5586 If set, print multibyte text.
5587 (Fsingle_key_description): Call push_key_description with
5588 FORCE_MULTIBYTE set.
5589 (describe_buffer_bindings): Likewise.
5590
5591 * lisp.h (push_key_description): Add prototype.
5592
c06017fb
GM
5593 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5594 around the call to redisplay_internal.
5595
f1d2ce7f
GM
5596 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5597
2d5912c1
GM
5598 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5599
9371f831
KH
56002000-12-28 Kenichi Handa <handa@etl.go.jp>
5601
5602 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5603 (ccl_driver): New local variable `extra_bytes'.
5604
5605 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5606
52283633
SM
5607 * coding.c (setup_coding_system):
5608 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5609 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5610
0c80628a
KH
56112000-12-28 Kenichi Handa <handa@etl.go.jp>
5612
5613 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5614 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5615 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5616 (decode_composition_emacs_mule): New function.
5617 (decode_coding_emacs_mule): Decode composition sequence by calling
5618 decode_composition_emacs_mule.
5619 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5620 (encode_coding_emacs_mule): Changed from macro to function.
5621 If a text contains compositions, encode them correctly.
0c80628a
KH
5622 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5623 that decoding and encoding are required.
5624
3e32cc27
GM
56252000-12-27 Gerd Moellmann <gerd@gnu.org>
5626
5e25feee
GM
5627 * xfaces.c (PT_PER_INCH): New macro.
5628 (xlfd_point_size): Compute real point size from font's pixel size.
5629 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5630 instead of 72.
5631
892d8fcd
GM
5632 * .gdbinit: Comment out the line pointing to the Lesstif source
5633 directory.
5634
12c8b416
GM
5635 * window.c (Frecenter): Use displayed_window_lines instead
5636 of window_internal_height.
5637
6061fbf0
GM
5638 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5639 instead of x-toolkit-scroll-bars-p.
5640 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5641
5642 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5643 instead of x-toolkit-scroll-bars-p.
5644 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5645
3e32cc27
GM
5646 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5647 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5648 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5649 New variables.
5650 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5651 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5652 (build_frame_matrix_from_leaf_window): Remove unused code.
5653 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5654 redisplay history.
5655 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5656 (update_window) [GLYPH_DEBUG]: Likewise.
5657 (syms_of_display): Defsubr dump-redisplay-history.
5658
31798cfe
GM
56592000-12-23 Gerd Moellmann <gerd@gnu.org>
5660
f717c2ba
GM
5661 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5662 the end of the prompt. Set echo_after_prompt to the offset
5663 of echoptr in echobuf.
5664
aeb2b8fc
GM
5665 * xdisp.c (init_from_display_pos): Pop until the iterator's
5666 stack is empty; there may be frames for stretch or images
5667 on the stack.
5668
31798cfe
GM
5669 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5670 (save_or_restore_current_matrix): New function for the same
5671 purpose, but more efficient.
5672 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5673
f8156156
EZ
56742000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5675
5676 * xdisp.c (syms_of_xdisp): Fix last change.
5677
bdd6d4e8
GM
56782000-12-23 Gerd Moellmann <gerd@gnu.org>
5679
5680 * xdisp.c (syms_of_xdisp): Doc fix.
5681
5682 * xdisp.c (redisplay_window): Remove label restore_buffers;
5683 use finish_scroll_bars instead to make sure that scroll bars
5684 are redeemed. If we don't do this, flickering can result from
5685 scroll bars being destroyed and recreated.
5686
9436cdf9
JR
56872000-12-22 Jason Rumney <jasonr@gnu.org>
5688
5689 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5690 in the wrong colors when the foreground is not black.
5691 (expose_window): Don't redraw the window that's currently being
5692 updated.
5693
951f9df5
GM
56942000-12-22 Gerd Moellmann <gerd@gnu.org>
5695
856ff7a7
GM
5696 * window.c (size_window): When setting the window's too_small_ok
5697 flag, compare old size with minimum size depending on WIDTH_P,
5698 don't compare with window_min_width.
52283633 5699
951f9df5
GM
5700 * window.c (delete_window): Simplify somewhat.
5701 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5702 freeing window matrices. The flag windows_or_buffers_changed is
5703 set, so the next redisplay will consider all windows; this should
5704 suffice.
5705
886bc933
KH
57062000-12-22 Kenichi Handa <handa@etl.go.jp>
5707
5708 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5709
5710 * ccl.h (struct ccl_program): New member cr_consumed.
5711
5712 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5713 (CCL_READ_CHAR): Handle EOL conversion here.
5714 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5715
177f4e88
GM
57162000-12-21 Gerd Moellmann <gerd@gnu.org>
5717
52283633 5718 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5719
5720 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5721 otherwise tabs of different size compare equal.
5722
5723 * callint.c (Fcall_interactively): Prevent a compiler warning.
5724
5725 * print.c (print_unwind): Return nil.
5726 (PRINTDECLARE): Initialize all local variables.
5727 (print_preprocess): Add a default case.
5728
8e15274f
GM
5729 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5730
5731 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5732
52283633 5733 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5734 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5735
5736 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5737
5738 * dispnew.c (ensure_frame_matrix): Removed.
5739 (save_frame_matrix, restore_frame_matrix): New functions.
5740 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5741
5742 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5743 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5744
99012074
AI
57452000-12-21 Andrew Innes <andrewi@gnu.org>
5746
5747 * w32term.c (x_update_begin): Regenerate the palette here, rather
5748 than for each window.
5749
5750 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5751 palette is NULL, since this corrupts memory! Also get
5752 display_info reference from frame.
5753
29ef7d2d
JR
57542000-12-21 Jason Rumney <jasonr@gnu.org>
5755
5756 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5757
5758 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5759 to avoid returning without releasing it.
3e27fa1f 5760
3f9d67a6
KH
57612000-12-21 Kenichi Handa <handa@etl.go.jp>
5762
587fc3f9
KH
5763 * keymap.c (push_key_description): Don't convert eight-bit-control
5764 and eight-bit-graphic to multibyte character.
5765
3f9d67a6
KH
5766 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5767 generic character and CODE1 is nil, return the smallest character
5768 in CHARSET.
5769
774ba8c9
DL
57702000-12-20 Dave Love <fx@gnu.org>
5771
5772 * s/osf5-0.h (NSIG): Don't redefine.
5773
88416888
SM
57742000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5775
5776 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5777 excluding menu-bar and tool-bar.
5778 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5779 (menu_item_p): Remove.
5780 (where_is_internal_1): Don't ignore menu-items.
5781
a6426c6f
GM
57822000-12-20 Gerd Moellmann <gerd@gnu.org>
5783
03ff8aab
GM
5784 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5785 into account.
5786
5787 * window.c (make_window): Initialize window's min_hscroll.
5788 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5789 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5790 to zero.
5791 (struct saved_window): New member min_hscroll.
5792 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5793 (Fset_window_configuration): Set window's min_hscroll.
5794 (save_window_save): Save window's min_hscroll.
5795 (compare_window_configurations): Compare min_hscroll values.
5796
5797 * window.h (struct window): New member min_hscroll.
5798
5799 * keyboard.c (echo_prompt): Prevent a compiler warning.
5800
8de4aaf8
GM
5801 * xdisp.c (try_cursor_movement): Fix last change. The real
5802 condition is that PT is at the end of the row, and should
5803 be displayed at the start of the next row.
52283633 5804
3f7e3031
GM
5805 * xdisp.c (try_cursor_movement): If we end on a partially
5806 visible line, end we already decided to scroll, return -1.
5807
a6426c6f
GM
5808 * dispextern.h (ensure_frame_matrix): Add prototype.
5809
5810 * window.c (delete_window, Fsplit_window)
5811 (Fset_window_configuration): Call ensure_frame_matrix.
5812
52283633
SM
5813 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5814 New functions.
a6426c6f
GM
5815 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5816 completed, call fake_current_matrices instead of marking frame
5817 garbaged.
5818
57fa2774
JR
58192000-12-20 Jason Rumney <jasonr@gnu.org>
5820
5821 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5822
d925df90
EZ
58232000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5824
5825 * fns.c (Frequire): Doc fix.
5826
7b93a85b
GM
58272000-12-19 Gerd Moellmann <gerd@gnu.org>
5828
52283633 5829 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5830
c74e645b
GM
5831 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5832 currently displaying a message.
5833
7b93a85b
GM
5834 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5835 xterm.h.
5836 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5837
90d97e64
AI
58382000-12-18 Andrew Innes <andrewi@gnu.org>
5839
5840 * w32.c (w32_strerror): New function.
5841
5842 * w32.h (w32_strerror): New extern.
5843
5844 * w32fns.c (Fw32_shell_execute): Use it.
5845
91c9e6ce
GM
58462000-12-18 Gerd Moellmann <gerd@gnu.org>
5847
5848 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5849
6f4745e2
EZ
58502000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5851
5852 * msdos.c (IT_set_face): Obey inverse_video.
5853
c9e088ce
KH
58542000-12-18 Kenichi Handa <handa@etl.go.jp>
5855
5856 * dired.c (directory_files_internal): Always return decoded filenames.
5857
c3695f5f
GM
58582000-12-18 Gerd Moellmann <gerd@gnu.org>
5859
52d8e4ff
GM
5860 * xterm.c (x_connection_closed): Prevent being called recursively
5861 because of an error condition in XtCloseDisplay.
52283633 5862
62be9979
GM
5863 * xdisp.c (init_iterator): If noninteractive, and the frame's
5864 face cache is null, make one.
5865
52283633 5866 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5867
c3695f5f
GM
5868 * process.c (wait_reading_process_input): Check for pending
5869 input when running timers.
5870
78555fbe
EZ
58712000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5872
52283633 5873 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5874
b2b36264
KH
58752000-12-18 Kenichi Handa <handa@etl.go.jp>
5876
5877 * process.c (read_process_output): Don't run a filter if the code
5878 decoder produces nothing but carryover.
5879
9c543fbf
AI
58802000-12-17 Andrew Innes <andrewi@gnu.org>
5881
5882 * w32.c (sys_rename): Only check errno against EEXIST, and not
5883 EACCES, when determining whether rename failed because the target
5884 exists. This was resulting in indefinite looping on Windows 9x if
5885 the source file was locked by another process.
5886
5887 * w32fns.c (Ffile_system_info): New function.
5888 (syms_of_w32fns): Defsubr it.
5889
10c2b5a8
GM
58902000-12-17 Gerd Moellmann <gerd@gnu.org>
5891
b0228ace
GM
5892 * window.c (coordinates_in_window): Fix computation for
5893 position on vertical line between mode lines.
5894
10c2b5a8
GM
5895 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5896 Don't alter tip_frame or tip_window.
5897 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5898 was deleted.
5899
c844a81a
GM
5900 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5901 Don't alter tip_frame or tip_window.
5902 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5903 was deleted.
5904
6c825f8e
EZ
59052000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5906
5907 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5908 be consistent with the doc string. Reported by NAKAJIMA Mikio
5909 <minakaji@osaka.email.ne.jp>.
5910
af4bb4c8
KH
59112000-12-16 Kenichi Handa <handa@etl.go.jp>
5912
5913 * xfaces.c (Vface_ignored_fonts): New variable.
5914 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5915 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5916
8062e53a
GM
59172000-12-15 Gerd Moellmann <gerd@gnu.org>
5918
e87b8809
GM
5919 * dispnew.c (update_window): Detect pending input every nth line
5920 updated, i.e. do it depending on real work done, and not on the
5921 vpos of the line.
5922
5923 * xterm.c (expose_window): Don't redraw the window that's
5924 currently being updated.
5925
a6768cc5
GM
5926 * window.c (Fset_window_point): Remove test for
5927 cursor_in_non_selected_windows.
5928
4ea7fdca
GM
5929 * lread.c (read1): Recognize end of file after `\\'.
5930
8062e53a
GM
5931 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5932 not unwind_create_frame.
5933
bb7959c1
GM
59342000-12-15 Dave Love <fx@gnu.org>
5935
5936 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5937 bcopy & al.
5938
5939 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5940
ced04c42
KH
59412000-12-15 Kenichi Handa <handa@etl.go.jp>
5942
c5443913
KH
5943 * coding.c (setup_coding_system): Clear all members of the struct
5944 coding_system at first.
bc137305
KH
5945 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5946 argument.
5947 (code_convert_region): Don't override coding->src_multibyte and
5948 coding->dst_multibyte.
c5443913 5949
ced04c42
KH
5950 * fns.c (Fmd5): Docstring improved.
5951
c2d7f289
MB
59522000-12-15 Miles Bader <miles@gnu.org>
5953
5954 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5955 are actually marked as mode-lines; otherwise use
5956 estimate_mode_line_height.
5957
9d7d9263
GM
59582000-12-14 Gerd Moellmann <gerd@gnu.org>
5959
5960 * editfns.c (Fformat): Prevent a buffer overrun when the format
5961 specifies a precision.
5962
7cf0153a
EZ
59632000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5964
5965 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5966 argument is outside the range [2..3].
5967
1de0f662
AI
59682000-12-14 Andrew Innes <andrewi@gnu.org>
5969
5970 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5971 nothing to do. Bind inhibit-quit.
5972 (tip_frame): Make it a Lisp_Object.
5973 (x_create_tip_frame): Set tip_frame after it has been added to
5974 Vframe_list.
5975 (Fx_show_tip): Don't set tip_frame here.
52283633 5976 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5977 (unwind_create_frame, unwind_create_tip_frame): New functions.
5978 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5979 while a frame is only partially constructed.
5980
5981 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5982 (x_free_frame_resources): New function.
5983 (x_destroy_window): Use it.
5984
02387dcc
GM
59852000-12-14 Gerd Moellmann <gerd@gnu.org>
5986
5987 * xfns.c (Fx_backspace_delete_keys_p): New function.
5988 (syms_of_xfns): Defsubr it.
5989
5990 * config.in (HAVE_XKBGETKEYBOARD): Add.
5991
0544ef49
KH
59922000-12-14 Kenichi Handa <handa@etl.go.jp>
5993
98d62747
KH
5994 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5995 Always store string in multibyte representation in echobuf.
5996 (echo_char): Always store string in multibyte representation in
5997 echobuf.
5998 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5999 (read_key_sequence): Adjusted for the change of echo_prompt.
6000
a20193cd
KH
6001 * fns.c (Fmd5): Docstring improved.
6002
191b83b6
KH
6003 * lisp.h (detect_coding_system): Prototype adjusted.
6004
0544ef49
KH
6005 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6006 (detect_coding_emacs_mule, detect_coding_iso2022,)
6007 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6008 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6009 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6010 (detect_coding_mask, detect_coding_system): New argument
6011 MULTIBYTEP. Callers changed.
1da1bb05
KH
6012 (decode_coding_string): Set coding->src_multibyte and
6013 coding->dst_multibyte before calling detect_coding and detect_eol.
6014 Update them after some coding system is detected.
52283633 6015
d5b3eb1b
SM
60162000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6017
6018 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6019
6020 * keyboard.c (menu_bar_items, tool_bar_items):
6021 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6022
f7f8bb69
GM
60232000-12-13 Gerd Moellmann <gerd@gnu.org>
6024
52283633 6025 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6026 New variables.
6027 (unwind_create_frame, unwind_create_tip_frame): New functions.
6028 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6029 while a frame is only partially constructed.
6030
6031 * xterm.h (x_free_frame_resources): Declare.
6032
6033 * xterm.c (x_free_frame_resources): New function.
6034 (x_destroy_window): Use it.
6035
e10da507
GM
6036 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6037 don't interrupt the update for pending input initially, i.e.
6038 update at least some lines.
6039
6040 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6041
d5b3eb1b 6042 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6043
6044 * xfns.c (gray_bitmap_bits): Declare `char *'.
6045
90aa2856
GM
60462000-12-12 Gerd Moellmann <gerd@gnu.org>
6047
6048 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6049 lines start with a relief line.
6050
a308c9cd
DL
60512000-12-12 Dave Love <fx@gnu.org>
6052
6053 * window.c (Fdisplay_buffer): Doc fix.
6054 (Fwindow_list): Remove unused var.
6055
6056 * buffer.h (mmap_set_vars): Declare.
6057
6058 * window.h (Fset_window_point): Declare.
6059
d575011f
EZ
60602000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6061
bf6282d2 6062 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6063 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6064 variable `area'. When looking for a row under (X,Y), give up if some
6065 of the previous rows is not enabled.
d575011f 6066
ecf4d726
GM
60672000-12-12 Gerd Moellmann <gerd@gnu.org>
6068
2ebf6139
GM
6069 * window.c (Fset_window_point): If displaying cursors in windows
6070 other than the selected window, make sure redisplay updates
6071 other windows to show the new value of point in the window.
6072
6073 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6074
bfdb75ee
GM
6075 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6076 the buffer is the sole visible buffer when in the mini-buffer.
6077
52283633 6078 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6079 Bind `inhibit-read-only' to t.
6080 (unwind_with_echo_area_buffer): Use AREF.
6081
c0006262
GM
6082 * xfns.c (Fx_hide_tip): Simplified.
6083
52283633
SM
6084 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6085 instead of `1'.
e9a59cad 6086
ecf4d726
GM
6087 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6088
e5959a9a
GM
60892000-12-11 Gerd Moellmann <gerd@gnu.org>
6090
a3642e49 6091 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6092
44b5a125
GM
6093 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6094 nothing to do. Bind inhibit-quit.
6095 (tip_frame): Make it a Lisp_Object.
6096 (x_create_tip_frame): Set tip_frame after it has been added to
6097 Vframe_list.
6098 (Fx_show_tip): Don't set tip_frame here.
6099
6100 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6101
6102 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6103 Lisp_Object.
6104
6105 * dispextern.h: Change external declaration of tip_frame.
6106
d990421f
GM
6107 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6108 return an empty string.
6109
4db87380
GM
6110 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6111 of the window's update_mode_line flag, since the former is set by
6112 force-mode-line-update, not the latter. This makes
6113 column-number-mode slightly faster.
52283633 6114
e5959a9a
GM
6115 * xdisp.c (try_window_id) <all changes above window start>:
6116 Set the cursor.
6117
169fe44e
GM
61182000-12-11 Paul Eggert <eggert@twinsun.com>
6119
6120 * config.in (HAVE_FTELLO): Remove.
6121 (HAVE_FSEEKO): Add.
6122 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6123 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6124 HAVE_FTELLO.
6125 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6126 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6127
59ec59ae
MB
61282000-12-11 Miles Bader <miles@gnu.org>
6129
6130 * window.c (displayed_window_lines): Don't round up when
6131 converting empty space at bottom to lines.
ff904dd6
MB
6132 Handle non-newline-terminated final lines properly.
6133 (Fwindow_text_height): New function (used to be in lisp).
6134 (syms_of_window): Initialize it.
59ec59ae 6135
42ebfa31
SM
61362000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6137
6138 * syntax.c (scan_lists): Check that the right quote char has the
6139 right Sstring syntax when jumping over strings.
6140 (init_syntax_once): Use Smax rather than 13.
6141
5cdb3cf3
MB
61422000-12-09 Miles Bader <miles@gnu.org>
6143
6144 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6145 with PARTIALLY, inverting the sense.
6146 (window_scroll_pixel_based): Scroll partially visible lines into
6147 place if we hit the beginning or end of the buffer.
a12167c5
MB
6148 (displayed_window_lines): Don't include partially visible lines.
6149 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6150
842b2a94
GM
61512000-12-08 Gerd Moellmann <gerd@gnu.org>
6152
6153 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6154
6155 * tparam.c (tparam1): Change the way buffers are reallocated to be
6156 portable and less obfuscated.
6157
6158 * termcap.c (tgetent): Change the way buffers are reallocated to
6159 be portable and less obfuscated.
6160
6161 * macros.c (store_kbd_macro_char): Change the way buffers are
6162 reallocated to be portable and less obfuscated.
6163
6164 * lread.c (read1): Change the way buffers are reallocated to be
6165 portable and less obfuscated.
6166
6167 * doc.c (Fsubstitute_command_keys): Change the way buffers
6168 are reallocated so that it is portable.
6169
137cad7c
EZ
61702000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6171
6172 * dosfns.c (Ffile_system_info): New function.
6173 (syms_of_dosfns): Defsubr it.
6174
5c7f629c
SM
61752000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6176
6177 * alloc.c (gc_sweep): Add comment.
6178
959e647d
GM
61792000-12-07 Gerd Moellmann <gerd@gnu.org>
6180
52283633
SM
6181 * sound.c (vox_configure): Change order of ioctls.
6182 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6183 Ignore errors when changing volume.
6184 (vox_close): Don't reset the device.
6185
926b7e5e
GM
6186 * process.c (read_process_output): Make sure the process marker's
6187 position is valid when the process buffer is changed in
6188 after-change functions. W3 does that.
52283633 6189
959e647d
GM
6190 * xfns.c (x_free_gcs): New function.
6191
6192 * xterm.h (x_free_gcs): Add prototype.
6193
6194 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6195 freeing GCs here.
6196
6197 * xterm.c (x_destroy_window): Call x_free_gcs so that
6198 resources of non-toolkit X windows will be freed.
6199
478ea067
AI
62002000-12-07 Andrew Innes <andrewi@gnu.org>
6201
6202 * w32fns.c (xlfd_charset_of_font): Fix last change.
6203
fbee3231
DL
62042000-12-06 Dave Love <fx@gnu.org>
6205
67292061
DL
6206 * md5.h (__P): Don't define -- it comes from config.h.
6207
fbee3231
DL
6208 * strftime.c: Change some #if foo to #ifdef foo.
6209
4ee87dbb
AI
62102000-12-06 Andrew Innes <andrewi@gnu.org>
6211
6212 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6213
52283633 6214 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6215 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6216 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6217
9765b4a4
GM
62182000-12-06 Gerd Moellmann <gerd@gnu.org>
6219
d285b373
GM
6220 * alloc.c (gc_sweep): Prevent symbols read during loadup
6221 from being freed.
6222
384333ee
GM
6223 * xdisp.c (underlying_face_id): New function.
6224 (handle_face_prop, face_before_or_after_it_pos): Use it
6225 to determine the face ``under'' a string. Let strings inherit
6226 the face of the buffer under them.
6227
6228 * xfaces.c (face_at_string_position): Update function comment.
52283633 6229
d4b72d58
GM
6230 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6231 matrix if the window's left position has changed; we need to
6232 redraw it in this case.
6233
6234 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6235
e1d05387
GM
6236 * window.c (coordinates_in_window): Check mouse on mode-line or
6237 header-line first.
6238
eb1b0c74
GM
6239 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6240 advertized by the function documentation.
6241
d94d636f
GM
6242 * window.c (syms_of_window): Doc fix.
6243
3887b449
GM
6244 * sound.c (vox_configure): Set volume for left and right channel.
6245 (sound_cleanup): Return nil.
6246
efc8f57a
GM
6247 * xdisp.c (move_it_by_lines): Fix paren typo.
6248
9765b4a4
GM
6249 * xterm.c (x_load_font): Don't use the font's max_bounds for
6250 computing the height of the font. If max_bounds' ascent or
6251 descent are greater than the font's ascent or descent, this means
6252 glyphs overlap, which should be handled now by redisplay.
6253
6529ed87
GM
6254 * window.c (Veven_window_heights): New variable.
6255 (syms_of_window): DEFVAR_LISP it.
6256 (Fdisplay_buffer): Check Veven_window_heights before evening the
6257 window heights.
52283633 6258
0eb2ecde
MB
62592000-12-06 Miles Bader <miles@gnu.org>
6260
6261 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6262 update `default-frame-alist' instead of setting no frame parameters.
6263
03d7a167
KH
62642000-12-06 Kenichi Handa <handa@etl.go.jp>
6265
6266 * composite.c (update_compositions): Fix typo (use the correct
6267 variable).
6268
5f8803c2
JR
62692000-12-05 Jason Rumney <jasonr@gnu.org>
6270
6271 * md5.h: Remove underscores from function declarations.
6272 (__attribute__, __alignof__) [!__GNUC__]: Define.
6273
6274 * md5.c: Delay include of md5.h until after namespace cleaning.
6275
c28a075b
JR
6276 * makefile.w32-in (fns.o): Depend on md5.h
6277 (md5.o): New target.
6278 (sunfns.o): Remove.
6279
6280 * makefile.nt: Likewise.
6281
ff3c7056
JR
62822000-12-05 Jason Rumney <jasonr@altavista.net>
6283
6284 * w32term.c (expose_area): Complete last change.
6285
0c21eeeb
KR
62862000-12-05 Ken Raeburn <raeburn@gnu.org>
6287
6288 * minibuf.c: Include intervals.h.
6289
f201d732
JR
62902000-12-05 Jason Rumney <jasonr@gnu.org>
6291
6292 * w32term.c (x_produce_glyphs): If a font for a component of
6293 a composition is not found, use 1 pixel dot ascent and 0 dot
6294 descent value to avoid displaying terribly tall empty boxes.
6295 (expose_area): Pass x-coordinate relative to the exposed
6296 area to x_draw_glyphs instead of a window-relative coordinate.
6297
21999ab9
GM
62982000-12-05 Gerd Moellmann <gerd@gnu.org>
6299
4d2036e4
GM
6300 * xdisp.c (next_element_from_ellipsis): Save face before selective
6301 display in saved_face_id, and set face_before_selective_p.
6302 (reseat_1): Reset face_before_selective_p.
6303 (append_space, extend_face_to_end_of_line): If iterator's
6304 face_before_selective_p is set, use the face from saved_face_id.
6305 (extend_face_to_end_of_line): For tty frames, make sure to
6306 use the right face id when producing spaces at the end of
6307 the line.
6308
6309 * dispextern.h (struct it): Add face_before_selective_p.
6310
52be17cc
GM
6311 * keyboard.c (record_char): Don't record identical help-echo
6312 events in recent_keys.
6313
8a4f36cc
GM
6314 * xterm.c [USE_X_TOOLKIT]: Close the display.
6315 (xim_close_dpy): Handle case that the display has been closed.
6316
57d6e381
GM
6317 * xterm.c (x_destroy_window): Reset the frame's X window after
6318 destroying it.
6319
21999ab9
GM
6320 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6321 variable window_width.
6322 (line_draw_cost): Fix code skipping over spaces at the end of the
6323 line when must_write_spaces is not set.
6324 (scrolling_window): Fix code inserting runs in list of all runs.
6325
91372bb7
KH
63262000-12-05 Kenichi Handa <handa@etl.go.jp>
6327
6328 * coding.c (setup_coding_system): Be sure to initialize
6329 coding->category_idx.
6330
6c083b4c
GM
63312000-12-04 Gerd Moellmann <gerd@gnu.org>
6332
0c68ce6f 6333 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6334
6452929e
GM
6335 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6336 area to x_draw_glyphs instead of a window-relative coordinate.
6337
d7f31e22
GM
6338 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6339 error in the message.
6340
ae18aa3b
GM
6341 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6342 timer after having read a key. It's not good for code reading
6343 several keys in a loop, like an input method.
6344
caa15ef7
GM
6345 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6346 record undo information for format-decode.
6347
6348 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6349 current buffer is read-only, not if it isn't.
6350
6c083b4c
GM
6351 * keyboard.c (record_char): Record `help-echo' input events
6352 in recent_keys only if they display some help. Don't record
6353 `help-echo' events as macro char.
6354
caa15ef7
GM
63552000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6356
6357 * editfns.c (save_excursion_restore): Don't move point
6358 in another window if it is showing the wrong buffer.
6359 Avoid the call to Fwindow_live_p, for speed.
6360
5a13529b
KH
63612000-12-04 Kenichi Handa <handa@etl.go.jp>
6362
e225faa7
KH
6363 * xfaces.c (struct font_name): New member registry_priority.
6364 (split_font_name): Initialize the above member to zero.
6365 (concat_font_list): New function.
6366 (font_list): Include fonts of all alternative registries.
6367 (FONT_POINT_SIZE_QUANTUM): New macro.
6368 (better_font_p): Ignore point size difference less than
6369 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6370
e89648b4
KH
6371 * xterm.c (x_produce_glyphs): If a font for a component of
6372 a composition is not found, use 1 pixel dot ascent and 0 dot
6373 descent value to avoid displaying terribly tall empty boxes.
6374
5a13529b
KH
6375 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6376
d7935eb6
KR
63772000-12-03 Ken Raeburn <raeburn@gnu.org>
6378
6379 * coding.h (code_convert_string1): Declare.
6380
6381 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6382
52283633 6383 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6384
0dd5e255
JR
63852000-12-02 Jason Rumney <jasonr@gnu.org>
6386
6387 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6388 correctly for single byte character case.
6389 (w32_per_char_metric): Do not try to make any assumptions about
6390 the metrics of BDF fonts.
250cfece 6391 (x_estimate_mode_line_height): If `mode-line' face
52283633 6392 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6393 (note_mouse_highlight): Change the cursor shape on the vertical
6394 border between windows [not enabled].
6395
6396 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6397
6398 * w32fns.c (Fx_create_frame): Reintroduce the call to
6399 face-set-after-frame-defaults.
6400 (Vx_window_horizontal_drag_shape): New variable.
6401 (syms_of_xfns): DEFVAR_LISP it.
6402 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6403 enabled].
0dd5e255 6404
b5d8d2ca
GM
64052000-12-02 Simon Josefsson <simon@josefsson.org>
6406
6407 * fns.c (Fmd5): Use a different logic to decide the coding system
6408 to use.
6409
6410 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6411
fbb87147
EZ
64122000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6413
52283633 6414 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6415
447e9da0
GM
64162000-12-01 Gerd Moellmann <gerd@gnu.org>
6417
7708ced0
GM
6418 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6419 height for YNegative.
6420 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6421 height; also see comment there.
6422
447e9da0
GM
6423 * window.c (coordinates_in_window): Handle computations for
6424 positions on the vertical bar and fringes differently for
6425 window-system frames. Consider some pixels near the vertical bar
6426 as on the bar if the frame doesn't have vertical scroll bars.
6427 Associate positions between mode or header lines with the
6428 right window, the left one.
6429
86d1db20
JR
64302000-12-01 Jason Rumney <jasonr@gnu.org>
6431
6432 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6433
6434 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6435 invalid frame.
6436
a1d58e5b
GM
64372000-12-01 Gerd Moellmann <gerd@gnu.org>
6438
52283633 6439 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6440 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6441 (save_window_save, Fset_window_configuration): Save/restore
6442 window's orig_top and orig_height.
6443
89c609af
JR
64442000-12-01 Jason Rumney <jasonr@gnu.org>
6445
4d177746 6446 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6447
89c609af
JR
6448 * w32fns.c (x_set_cursor_color): Fix last change.
6449
eccc05db
GM
64502000-11-30 Gerd Moellmann <gerd@gnu.org>
6451
31b6671b
GM
6452 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6453 sure that the next redisplay displays the minibuffer, so that
6454 the cursor will be replaced with what the minibuffer wants.
6455
eccc05db
GM
6456 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6457 #ifndef instead of using #if.
6458 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6459 USE_TOOLKIT_SCROLL_BARS is defined.
6460
162de750
JR
64612000-11-30 Jason Rumney <jasonr@gnu.org>
6462
6463 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6464 x_display_cursor.
6465
693c4692
GM
64662000-11-30 Gerd Moellmann <gerd@gnu.org>
6467
6468 * fns.c (Fmd5): Doc fix.
6469
b5d8d2ca 64702000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6471
6472 * fns.c (Fmd5): New function.
6473 (syms_of_fns): Defsubr md5.
6474
6475 * Makefile.in (obj): Add md5.o
6476
b02cd40b
GM
64772000-11-30 Gerd Moellmann <gerd@gnu.org>
6478
edfb795e
GM
6479 * md5.h, md5.c: New files, taken from glibc.
6480
df3aedcf
GM
6481 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6482
b02cd40b 6483 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6484 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6485
8b5176cd
SM
64862000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6487
6488 * eval.c (Frun_hooks): Allow 0 arguments.
6489
346598f1
GM
64902000-11-29 Gerd Moellmann <gerd@gnu.org>
6491
f9396e03
GM
6492 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6493 is over the menu bar widget, say it's not on the frame.
6494
4a967a9b
GM
6495 * xfns.c (Fx_create_frame): Reintroduce the call to
6496 face-set-after-frame-defaults.
6497
346598f1
GM
6498 * eval.c (Fsignal): Reset handling_signal.
6499
222456a1
JR
65002000-11-28 Jason Rumney <jasonr@gnu.org>
6501
6502 * w32menu.c (add_menu_item): Reset menu item text when changing
6503 type to radio button.
6504
8049ddc0
GM
65052000-11-28 Gerd Moellmann <gerd@gnu.org>
6506
346598f1 6507 * xselect.c: Update copyright.
f4f4ee4d 6508
bebe4a2c
GM
6509 * window.c (coordinates_in_window): If on a mode or header line,
6510 but sufficiently close to its start, return ``on vertical
6511 border''. This gives us a way to drag windows horizontally when
6512 using toolkit scroll bars.
6513
6514 * xterm.c (note_mouse_highlight): Change the cursor shape
6515 on the vertical border between windows.
6516
6517 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6518
6519 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6520 (syms_of_xfns): DEFVAR_LISP it.
6521 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6522
8d2c2642
GM
6523 * textprop.c (text_read_only): New function.
6524 (verify_interval_modification): Use it instead of signaling
6525 `text-read-only'. This makes it easier to catch this error
52283633 6526 with a breakpoint.:
8d2c2642 6527
52283633 6528 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6529 not end of line, which includes CR.
6530
5a2bae6c
KH
65312000-11-28 Kenichi Handa <handa@etl.go.jp>
6532
6533 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6534 include no-conversion.
6535
ae31f84d
JR
65362000-11-27 Jason Rumney <jasonr@gnu.org>
6537
6538 * w32fns.c (w32_load_system_font): Always mark font as double byte
6539 if codepage is unicode.
6540
67f1cf4c
GM
65412000-11-27 Gerd Moellmann <gerd@gnu.org>
6542
4a74d071 6543 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6544 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6545
902ae620
GM
6546 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6547 `vertical-line', `mode-line' and `header-line' events.
6548
6549 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6550 of a character, a TAB for instance. This is easier than to set
6551 up the iterator exactly, and it's not a frequent case, so the
6552 additional effort wouldn't really pay off.
6553
c1e279c2
AC
65542000-11-26 Andrew Choi <akochoi@i-cable.com>
6555
67f1cf4c 6556 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6557 init_window_once.
6558
a609568a
JR
65592000-11-25 Jason Rumney <jasonr@gnu.org>
6560
52283633
SM
6561 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6562 Args to window_from_coordinates should be pixel coordinates.
48b21762 6563
a609568a
JR
6564 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6565 redisplay handles them properly.
6566
a658d039
MB
65672000-11-25 Miles Bader <miles@gnu.org>
6568
6569 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6570
d3416cca
JR
65712000-11-24 Jason Rumney <jasonr@gnu.org>
6572
6573 * w32.c (init_environment): Set LANG environment variable based on
6574 locale settings, if not set.
6575
6576 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6577 making tool bar smaller. When clearing the frame, also
6578 clear current matrices. Clear frame when tool bar disappears.
6579 Don't use more lines for the tool-bar than is available.
6580 (x_change_window_heights): New function.
6581
ba193890
GM
65822000-11-24 Gerd Moellmann <gerd@gnu.org>
6583
2be8f184
GM
6584 * xdisp.c (init_from_display_pos): If POS says we're already after
6585 an overlay string ending at POS, make sure to pop the iterator
6586 because it will be in front of that overlay string. When POS is
6587 ZV, we've thereby also ``processed'' overlay strings at ZV.
6588
ba193890
GM
6589 * xfaces.c (lface_from_face_name): Function comment fix.
6590
1862a24e
MB
65912000-11-24 Miles Bader <miles@gnu.org>
6592
6593 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6594 apply `mode-line-inverse-video' -- zero means force display using
6595 the default face, non-zero means display using the specialized face.
6596 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6597
f07fa1b8
KH
65982000-11-23 Kenichi Handa <handa@etl.go.jp>
6599
6600 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6601 hard coded `4'.
6602
2bcdf662
EZ
66032000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6604
6605 * coding.c (decode_coding_emacs_mule): Fix the case of
6606 CODING_EOL_LF, which used uninitialized value of c.
6607
ba8299ff
SM
66082000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6609
6610 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6611
f4117c4d
GM
66122000-11-22 Gerd Moellmann <gerd@gnu.org>
6613
03e757c1
GM
6614 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6615 buffer object.
6616
f4117c4d
GM
6617 * frame.h (struct frame): Replace desired_tool_bar_items,
6618 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6619 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6620
6621 * frame.c (make_frame): Change initialization of tool bar
6622 items accordingly.
6623
6624 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6625 Change references to members deleted from struct frame to use the
f4117c4d
GM
6626 new ones.
6627
6628 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6629 references to members deleted from struct frame to use the new ones.
f4117c4d 6630
52283633 6631 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6632
6633 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6634
6635 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6636 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6637 from struct frame to use the new ones.
6638
f8e2f3f2
MB
66392000-11-23 Miles Bader <miles@gnu.org>
6640
6641 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6642 the face's inverse-video attribute, rather than overriding it.
6643
60e8e0a5
GM
66442000-11-22 Gerd Moellmann <gerd@gnu.org>
6645
6646 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6647 making tool bar smaller.
6648
92dd1b29
DL
66492000-11-22 Dave Love <fx@gnu.org>
6650
6651 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6652
e672fdce
MB
66532000-11-22 Miles Bader <miles@gnu.org>
6654
3a17d6cc
MB
6655 * keyboard.c (Vminibuffer_message_timeout): New variable.
6656 (command_loop_1): Use it to determine message timeout.
6657 (syms_of_keyboard): Initialize it.
6658
60e8e0a5 6659 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6660
e9655d81
KH
66612000-11-22 Kenichi Handa <handa@etl.go.jp>
6662
6663 * sysdep.c: Move the code for declaring h_errno after #include
6664 <netdb.h>.
6665
77270fac
GM
66662000-11-21 Gerd Moellmann <gerd@gnu.org>
6667
cd913aae
GM
6668 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6669 the menu bar when the tooltip is unmapped.
6670
77270fac
GM
6671 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6672 sole visible buffer when we're currently in the mini-buffer, and
6673 give up if so.
52283633 6674
556635d6
JR
66752000-11-21 Jason Rumney <jasonr@gnu.org>
6676
6677 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6678 put on the clipboard.
6679 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6680 copy of what Emacs last put there. If they are the same, do not
52283633 6681 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6682
5b7bde64
MB
66832000-11-22 Miles Bader <miles@gnu.org>
6684
6685 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6686 (syms_of_minibuf): Initialize it.
6687 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6688 to prompt, don't make read-only.
6689
ff23e1dd
GM
66902000-11-21 Gerd Moellmann <gerd@gnu.org>
6691
52283633
SM
6692 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6693 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6694
7aaf4388
GM
6695 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6696
f5f47add 6697 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6698
ff23e1dd
GM
6699 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6700
37c35586
KH
67012000-11-21 Kenichi Handa <handa@etl.go.jp>
6702
6703 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6704 ... #endif scope.
6705
ff9ab414
GM
67062000-11-20 Gerd Moellmann <gerd@gnu.org>
6707
52283633 6708 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6709 screen supports it.
6710
29a01b72
GM
6711 * s/gnu-linux.h: Don't use `#cpu'.
6712
09dfdf85
GM
6713 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6714 not defined in mman.h.
6715
52283633 6716 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6717 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6718 and store an index in the XClientMessageEvent. Storing a
6719 Lisp_Object or pointer can fail on a 64 bit system, since X only
6720 transfers 32 bits.
52283633
SM
6721 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6722
81459ac9
DL
67232000-11-20 Dave Love <fx@gnu.org>
6724
6725 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6726
56c13ae6
GM
67272000-11-20 Gerd Moellmann <gerd@gnu.org>
6728
6729 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6730
495a6df3
KH
67312000-11-20 Kenichi Handa <handa@etl.go.jp>
6732
2bcf3714
KH
6733 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6734 by WIDTH.
6735
495a6df3
KH
6736 * alloc.c (make_string): Fix previous change. Be sure to make
6737 unibyte string correctly.
6738
6d950f4c
GM
67392000-11-19 Gerd Moellmann <gerd@gnu.org>
6740
39b39373
GM
6741 * window.c (Fwindow_list): Change parameter list to be XEmacs
6742 compatible.
6743 (window_list_1): New function.
6744 (window_loop): Use it instead of Fwindow_list.
6745
b95b34e5
GM
6746 * sysdep.c (emacs_ospeed): New variable.
6747 (toplevel): Don't declare ospeed extern.
6748 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6749
6750 * termcap.c (ospeed): Remove.
6751 (tputs) [!emacs]: Remove unused code.
6752 (tgetent): Avoid a compiler warning.
6753
e83dc917
GM
6754 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6755 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6756 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6757
6758 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6759 removed.
6760 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6761 Take the X display as additional argument.
6762 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6763 `Widget' is a pointer type that's not easily stored in Lisp_Object
6764 form in a portable way.
52283633 6765
6d950f4c
GM
6766 * dispnew.c (update_text_area): Fix last change.
6767
e47306e6
GM
67682000-11-18 Gerd Moellmann <gerd@gnu.org>
6769
fb3cd89b
GM
6770 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6771
6772 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6773 clear current matrices.
6774
edaa9aed
GM
6775 * buffer.c (mmap_enlarge): Don't print a message on stderr
6776 if mapping new memory at the end of the existing region fails.
6777
e47306e6
GM
6778 * dispnew.c (update_text_area): Don't skip over equal glyphs
6779 when the last current glyph overlaps the glyph to its right.
6780
509633e3
MB
67812000-11-18 Miles Bader <miles@gnu.org>
6782
6783 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6784 lines that *end* with "..." too (that's the most common case!).
6785
d392e9c5
GM
67862000-11-18 Gerd Moellmann <gerd@gnu.org>
6787
67988445
GM
6788 * xdisp.c (resize_mini_window): Temporarily change to the
6789 mini-window's buffer if necessary.
1bfdbe43 6790
d392e9c5
GM
6791 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6792 the tooltip obscures less text under it.
6793
67942000-11-17 Gerd Moellmann <gerd@gnu.org>
6795
6796 * puresize.h (BASE_PURESIZE): Increase to 700000.
6797
92bb977f
JR
67982000-11-18 Jason Rumney <jasonr@gnu.org>
6799
6800 * w32term.c (w32_draw_bitmap): Use face to set colors.
6801
26fbf20b
DL
68022000-11-17 Dave Love <fx@gnu.org>
6803
6804 * lread.c (Fload): Fix #ifdef for pcc.
6805
100b593b
GM
68062000-11-17 Gerd Moellmann <gerd@gnu.org>
6807
6808 * xdisp.c (pos_visible_p): Compute the default character height
6809 differently.
6810
a288d0d1
GM
68112000-11-16 Gerd Moellmann <gerd@gnu.org>
6812
cac94de6 6813 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6814 knowing the line's height; use the default font's height in that case.
cac94de6 6815
a288d0d1
GM
6816 * xfaces.c (weight_table): Add `demi' with the same meaning as
6817 `demibold'.
6818
981fb6f6
KH
68192000-11-16 Kenichi Handa <handa@etl.go.jp>
6820
2cca872d 6821 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6822 (clear_glyph_row): Delete local static variable null_row.
6823
e5fa381b
JR
68242000-11-15 Jason Rumney <jasonr@gnu.org>
6825
6826 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6827 (w32_alloc_lighter_color): Use new brightness calculations from
6828 xterm.c. Scale delta to be in the range expected by W32.
6829 (w32_draw_relief_rect): Use frame relief colors.
6830
8e42f043
GM
68312000-11-15 Gerd Moellmann <gerd@gnu.org>
6832
6d133d1f
GM
6833 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6834 (Qinhibit_default_face_x_resources): New variable.
6835 (syms_of_frame): Initialize it.
6836 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6837
6838 * xdisp.c (pos_visible_p): Improve function comment.
6839
6840 * lisp.h (BINDING_STACK_SIZE): New macro.
6841
8e42f043
GM
6842 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6843 reading the directory if readdir returns null and errno is EAGAIN
6844 or EINTR.
6845
e8c87124
SM
68462000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6847
6848 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6849 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6850 Set amount_to_scroll to max of dx and scroll_step so that
6851 scroll-conservatively doesn't defeat scroll-step>1.
6852 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6853 scroll-conservatively for line-at-a-time scrolling.
6854
5f0c971d
GM
68552000-11-14 Gerd Moellmann <gerd@gnu.org>
6856
6857 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6858 extra argument.
6859
6860 * xdisp.c (current_mode_line_height, current_header_line_height):
6861 New variables.
6862 (init_xdisp): Initialize them.
6863 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6864 and use exact mode line heights if it is set.
6865
6866 * lisp.h (pos_visible_p): Change prototype.
6867
6868 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6869 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6870 and current_header_line_height first.
52283633
SM
6871 (current_mode_line_height, current_header_line_height):
6872 Declare extern.
5f0c971d 6873
d7361edf
MB
68742000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6875
6876 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6877 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6878 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6879
ee5e440a
MB
68802000-11-14 Miles Bader <miles@gnu.org>
6881
6882 * xterm.c (x_alloc_lighter_color): Include an additive component
6883 too for dark colors, because FACTOR isn't enough.
6884 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6885 New macros.
6886
5ca020fc
GM
68872000-11-13 Gerd Moellmann <gerd@gnu.org>
6888
6889 * keyboard.c (show_help_echo): Call message3_nolog with number of
6890 bytes in the help string as 2nd parameter, instead of the number
6891 of characters.
6892
9d348294
MB
68932000-11-13 Miles Bader <miles@gnu.org>
6894
6895 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6896 (Fload): Use new openp return protocol.
6897 Don't try to use Vload_source_file_function to load .elc files.
6898 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6899 openp return protocol.
6900 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6901
1729bb9a
KH
69022000-11-11 Kenichi Handa <handa@etl.go.jp>
6903
4e677396
KH
6904 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6905
6906 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6907 Defined these macros.
6908 (NLIST_STRUCT): Avoid re-defining it.
6909
1729bb9a
KH
6910 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6911 -I/usr/contrib/X11R6/include.
6912 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6913
a82fe213
JR
69142000-11-10 Jason Rumney <jasonr@gnu.org>
6915
6916 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6917
6918 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6919 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6920
6921 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6922 (Qw32_charset_vietnamese): New symbol.
6923 (xlfd_charset_of_font): New function.
6924 (w32_load_system_font): Use it.
6925 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6926 when Vw32_charset_info_alist is nil to ensure default face always
6927 has font. Use Fcar and Fcdr for safety.
6928 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6929 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6930 pseudo-codepages for special cases.
6931 (w32_to_x_font): New parameter to allow charset portion to be
6932 specified where there is many to one mapping. Callers changed.
6933 (w32_list_fonts): Avoid listing fonts that won't display.
6934
52d89894
GM
69352000-11-10 Gerd Moellmann <gerd@gnu.org>
6936
6937 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6938 (font_list_1): Renamed from font_list.
6939 (font_list): New function, trying alternative registries from
6940 Vface_alternative_font_registry_alist.
6941 (Finternal_set_alternative_font_registry_alist): New function.
6942 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6943 Vface_alternative_font_registry_alist.
6944 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6945
651cd3da
KR
69462000-11-09 Ken Raeburn <raeburn@gnu.org>
6947
6948 * lisp.h (Flooking_at): Declare.
6949
388ac098
GM
69502000-11-09 Gerd Moellmann <gerd@gnu.org>
6951
778fbc46 6952 * dired.c (directory_files_internal): Fix a braino.
52283633 6953
388ac098
GM
6954 * dired.c (directory_files_internal): Add missing GCPRO's.
6955 Some cleanup.
6956
ecaedde1
GM
69572000-11-08 Gerd Moellmann <gerd@gnu.org>
6958
f7eb32aa
GM
6959 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6960 (resize_mini_window): Return quickly if Vresize_mini_window is
6961 nil. Don't return if Vmax_mini_window_height is nil.
6962
6963 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6964 (syms_of_xdisp): Initialize them.
6965 (resize_mini_window): Act according to the setting of
6966 Vresize_mini_window.
6967 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6968
ecaedde1
GM
6969 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6970 scroll bar widget after configuring it, so that it will appear at
6971 the right position from the start.
6972 (XTredeem_scroll_bar): Cleaned up.
6973
3747ef2c
KH
69742000-11-08 Kenichi Handa <handa@etl.go.jp>
6975
6976 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6977 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6978 division by two.
6979
6980 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6981
03391420
DL
69822000-11-07 Dave Love <fx@gnu.org>
6983
7758f1c1 6984 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6985
6986 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6987
b5de343d
GM
69882000-11-07 Gerd Moellmann <gerd@gnu.org>
6989
acad3c0b
GM
6990 * window.c (Fset_window_configuration): Don't try to preserve
6991 point in the current buffer, if that buffer is displayed in more
6992 than one window.
6993
b5de343d
GM
6994 * xfaces.c (lookup_named_face): If default face isn't realized,
6995 try to realize it. Return -1 if not successful.
6996 (Fx_list_fonts): Handle case that face cannot be determined.
6997 (Fface_font): Likewise.
6998
cdb1fe49
GM
69992000-11-06 Gerd Moellmann <gerd@gnu.org>
7000
7001 * window.c (displayed_window_lines): Detect partially
7002 visible lines at the bottom correctly.
7003
d3a67486
SM
70042000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7005
7006 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7007 when ensuring we don't do visit in indirect buffer.
7008
ff8dd5d5
KH
70092000-11-06 Kenichi Handa <handa@etl.go.jp>
7010
7011 * composite.h (compose_chars_in_text): Add prototype.
7012
7013 * composite.c (Vcomposition_function_table): New variable.
7014 (Qcomposition_function_table): New variable.
7015 (run_composition_function): Call
7016 Vcompose_chars_after_function with three arguments.
7017 (compose_chars_in_text): New function.
7018 (syms_of_composite): Modified the doc-string of
7019 Vcompose_chars_after_function. Declare composition-function-table
7020 as a lisp variable, and initialize it.
7021
7022 * xfns.c (x_encode_text): Suppress producing escape sequences for
7023 composition.
7024
7025 * xselect.c: Include composite.h.
7026 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7027
d1145f85
AI
70282000-11-05 Andrew Innes <andrewi@gnu.org>
7029
7030 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7031
7032 * sysdep.c (read_input_waiting): Remove extraneous argument to
7033 read_socket_hook.
7034
7035 * w32fns.c (Fx_server_version): Include w32_build_number in the
7036 return list.
7037
7038 * w32heap.c (w32_build_number): New variable.
7039 (cache_system_info): Set it.
7040
7041 * w32heap.h (w32_build_number): Add extern.
7042
7043 * emacs.c (syms_of_emacs): Update docstring for
7044 system-configuration, to reflect the actual usage on MS-Windows.
7045
e85ee976
GM
70462000-10-31 Gerd Moellmann <gerd@gnu.org>
7047
26dcb81b
GM
7048 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7049 process idle timers while waiting for another event.
7050
52283633 7051 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7052 the default face are colored.
7053
e85ee976
GM
7054 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7055 window height hasn't changed.
7056
01b220b6
JR
70572000-10-31 Jason Rumney <jasonr@gnu.org>
7058
7059 * w32term.c (x_produce_glyphs): Handle composite characters.
7060 (x_draw_glyph_string_foreground)
7061 (x_draw_composite_glyph_string_foreground): Restore old font.
7062
4e6b7204
MB
70632000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7064
7065 * minibuf.c (read_minibuf): Reset the undo history just before
7066 starting the recursive-edit.
7067
d4358b37
GM
70682000-10-30 Gerd Moellmann <gerd@gnu.org>
7069
563f68f1
GM
7070 * xfaces.c (menu_face_change_count): New variable.
7071 (Finternal_set_lisp_face_attribute): Increment it for changes
7072 of the `menu' face.
7073 (realize_basic_faces): Reflect changes in the `menu' faces
7074 in menu bars.
7075
82e274d1
GM
7076 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7077 dy obtained from the iterator's y-position after moving from
7078 scroll_margin_pos to PT; see comment there.
52283633 7079
0dbf9fd2
GM
7080 * xdisp.c (safe_eval_handler): Call add_to_log.
7081
906b3b14
GM
7082 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7083 is not a symbol or string.
7084
d4358b37
GM
7085 * xdisp.c (echo_area_display): Don't perform a display update from
7086 inside redisplay. The update will happen anyway at the end of
7087 redisplay, and it can confuse redisplay (GC messages while
7088 redisplaying, for instance.)
7089
70c825df
SM
70902000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7091
cf9b4b0b
SM
7092 * xrdb.c (x_load_resources): Use the class name in the defaults.
7093
70c825df
SM
7094 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7095 (regex_compile): Catch bogus \(\1\).
7096
a1d34b1e
GM
70972000-10-30 Gerd Moellmann <gerd@gnu.org>
7098
cae71efe
GM
7099 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7100 RGB values.
52283633 7101
35efe0a1
GM
7102 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7103 we have a color cache, check that the cached color equals the
7104 allocated color. If not, clear the color cache.
7105
1d3baf74
GM
7106 * window.c (displayed_window_lines): Change buffers if necessary.
7107 Fix computation of displayed lines.
7108
a1d34b1e
GM
7109 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7110 update_menu_bindings to DEFVAR_BOOL.
7111
70737ea9
KH
71122000-10-30 Kenichi Handa <handa@etl.go.jp>
7113
70c825df 7114 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7115
fa0cb51d
KH
7116 * puresize.h (BASE_PURESIZE): Increase to 680000.
7117
70737ea9
KH
7118 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7119
0e4c08e8
JR
71202000-10-29 Jason Rumney <jasonr@gnu.org>
7121
7122 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7123
7124 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7125 (w32_cache_char_metrics): Handle possibility that 'x' does not
7126 exist in a BDF font.
7127 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7128
7129 * w32bdf.h (bdffont): Add nchars.
7130
7131 * w32bdf.c (set_bdf_font_info): Set it.
7132 (w32_BDF_TextOut): Swap byte order of double byte characters.
7133 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7134
45b84006
EZ
71352000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7136
7137 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7138 don't override the colors in frame's param_alist, unless they are
7139 unspecified.
7140
7141 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7142 reverse the effect of the highlight flag.
7143
caf9deee
KR
71442000-10-27 Ken Raeburn <raeburn@gnu.org>
7145
7146 * window.h (Fwindow_live_p): Declare.
7147
ae0b9b46
KR
7148 * undo.c (record_delete): Check that last_undo_buffer is really a
7149 buffer before applying XBUFFER to it.
7150
7151 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7152 Faref.
7153
02067692
SM
71542000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7155
7156 * lisp.h (KEYMAPP): New macro.
7157 (get_keymap): Remove.
7158 (get_keymap_1): Rename get_keymap.
7159
7160 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7161
7162 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7163
7164 * xmenu.c (single_submenu): Use KEYMAPP.
7165 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7166 Use KEYMAPP rather than Fkeymapp.
7167
7168 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7169
7170 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7171 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7172 Use KEYMAPP rather than Fkeymapp.
7173 (single_submenu): Use KEYMAPP.
7174 (w32_menu_show, w32_dialog_show): Use TRUE.
7175
7176 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7177
7178 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7179 (Fkeymapp): Use KEYMAPP.
7180 (get_keymap): Rename from get_keymap_1. Remove old def.
7181 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7182 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7183 (Fminor_mode_key_binding): Don't raise an error if the binding
7184 is not a keymap.
7185 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7186 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7187
7188 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7189 Allow Vspecial_event_map to be autoloaded.
7190 (menu_bar_items): Fetch the keymap rather than using keymapp.
7191 (menu_bar_one_keymap): No need to follow func-indirect any more.
7192 (parse_menu_item): get_keymap_1 -> get_keymap.
7193 (tool_bar_items): Fetch the keymap rather than using keymapp.
7194 (read_key_sequence): Use KEYMAPP.
7195
7196 * intervals.c (get_local_map): Use get_keymap rather than following
7197 function-indirections explicitly.
7198
7199 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7200
f9d80af3
JR
72012000-10-27 Jason Rumney <jasonr@gnu.org>
7202
7203 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7204 point, as Windows has oversized fonts.
7205
7206 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7207
a3ba27da
GM
72082000-10-27 Gerd Moellmann <gerd@gnu.org>
7209
7210 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7211 (freehook, reallochook): Handle null pointer arguments.
7212 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7213
aa3b80cc
SM
72142000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7215
7216 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7217 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7218 Giving in to popular pressure to shut up the compiler with casts.
7219
e24e84cc
GM
72202000-10-27 Gerd Moellmann <gerd@gnu.org>
7221
7222 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7223 signed value, and use a default value computed from the font's
7224 maximum descent.
7225
05ea7ef2
MB
72262000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7227
7228 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7229 that specify a negative underline position can still use underlines.
7230
7231 * window.c (Fpos_visible_in_window_p): Make POS default to
7232 WINDOW's point, not the current buffer's point.
7233
0b95284b
DL
72342000-10-26 Dave Love <fx@gnu.org>
7235
7236 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7237 when it's necessary.
7238
6c5b90af
GM
72392000-10-26 Gerd Moellmann <gerd@gnu.org>
7240
8b6d9dc9
GM
7241 * window.c (size_window): Compute size difference from sum of old
7242 child window sizes instead of from parent's size.
7243
6bc92b2e
GM
7244 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7245 Handle obscured lines at the top of the window.
7246
7247 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7248 down after the last error condition check.
7249
6c5b90af
GM
7250 * frame.c (Fdelete_frame): Run delete-frame-hook.
7251
42f92d4d
KH
72522000-10-26 Kenichi Handa <handa@etl.go.jp>
7253
7254 * coding.c (decode_coding): Fix previous change (check also
7255 CODING_MODE_LAST_BLOCK).
7256
d97151cb
SM
72572000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7258
e7efc503
SM
7259 * regex.c: More `unsigned char' -> `re_char' changes.
7260 Also change several `int' into `re_wchar_t'.
7261 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7262 (PUSH_FAILURE_POINTER): Don't cast any more.
7263 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7264 We want GCC to complain, since this piece of code makes
7265 re_match non-reentrant, which *should* be fixed.
7266 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7267 (EXTEND_BUFFER): Use RETALLOC.
7268 (SET_LIST_BIT): Don't cast.
7269 (re_wchar_t): New type.
7270 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7271 that those two functions will always properly return.
7272 (IMMEDIATE_QUIT_CHECK): Cast to void.
7273 (analyse_first): Use recursion rather than an explicit stack.
7274 (re_compile_fastmap): Can't fail anymore.
7275 (re_search_2): Don't check re_compile_fastmap for failure.
7276 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7277 Now also sets the new value (passed in a new argument).
7278 (re_match_2_internal): Use it.
7279 Also, use a new var `reg' of type size_t when looping through regs
7280 rather than reuse the inappropriate `mcnt'.
7281
d97151cb
SM
7282 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7283 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7284 (where_is_internal): Renamed from Fwhere_is_internal.
7285 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7286 (Fwhere_is_internal): New function wrapping where_is_internal.
7287 (where_is_internal_1): Handle the case where we're filling the cache.
7288 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7289
d5789b65
MB
72902000-10-25 Miles Bader <miles@gnu.org>
7291
7292 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7293
4ecda532
GM
72942000-10-25 Gerd Moellmann <gerd@gnu.org>
7295
7296 * window.c (pos_fully_visible_p): Removed.
7297 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7298 if position is visible and/or fully visible.
7299
7300 * lisp.h (pos_visible_p): Add prototype.
7301
7302 * xdisp.c (pos_visible_p): New function.
7303
68c3a137
KH
73042000-10-25 Kenichi Handa <handa@etl.go.jp>
7305
7306 * process.c (send_process): If OBJECT is t, it means that the data
7307 is from C string, but we should encode it. Before calling
7308 setup_raw_text_coding_system, be sure to flush out data by the
7309 previous coding system.
7310
7ae1c032
MB
73112000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7312
ff4dcd4b
MB
7313 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7314 assignment of startpos to prev when startpos == pos.
7315
7ae1c032
MB
7316 * editfns.c (find_field): Set the field stickiness correctly from
7317 overlay fields. Use renamed `text_property_stickiness'.
7318 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7319 Only check text properties, not overlays.
7ae1c032
MB
7320 * textprop.c (get_char_property_and_overlay): New function.
7321 (Fget_char_property): Use it.
7322 * intervals.h (get_char_property_and_overlay): Add declaration.
7323
49801145
SM
73242000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7325
7326 * keymap.c: Use AREF, ASET and ASIZE macros.
7327 (Fmake_sparse_keymap): Docstring fix.
7328 (synkey): Remove.
7329 (shadow_lookup): Move up.
7330 Handle the case where lookup-key returns an integer.
7331 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7332 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7333 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7334 Simplify/rewrite the keymap-finding code.
7335 Add check for command shadowing, using shadow_lookup.
7336
39e776cd
SM
73372000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7338
7339 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7340 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7341 a symbol.
7342
2488aba5
AI
73432000-10-24 Andrew Innes <andrewi@gnu.org>
7344
7345 * dired.c (directory_files_internal_unwind): New function.
7346 (directory_files_internal): Use it to ensure closedir is called
7347 even if expand-file-name or file-attributes throw, eg. because of
7348 a user interrupt. Also enable immediate_quit while calling
7349 re_search, so that matching can be interrupted as well.
7350
b94fdf61
AI
73512000-10-24 Andrew Innes <andrewi@gnu.org>
7352
7353 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7354 NT-Emacs only.
7355 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7356 so that re_search functions only quit when callers expect them to.
7357
73582000-10-24 Kenichi Handa <handa@etl.go.jp>
7359
7360 * regex.c (regex_compile): Change the way of handling a range from
7361 a char less than 256 to a char not less than 256.
7362
1946f901
GM
73632000-10-24 Gerd Moellmann <gerd@gnu.org>
7364
7ae2f10f
GM
7365 * window.c (size_window): Prevent setting window's width or
7366 height to a negative value (esp. with XSETFASTINT).
7367
5dcab13e
GM
7368 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7369 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7370 (protect_malloc_state) [GC_MALLOC_CHECK &&
7371 GC_PROTECT_MALLOC_STATE]: New function.
7372 (PROTECT_MALLOC_STATE): New macro.
7373 (__malloc_initialize, morecore, _malloc_internal)
7374 (_free_internal) _realloc_internal): Use it to make _heapinfo
7375 read-only outside of gmalloc.
7376
63e1b552
GM
7377 * keymap.c: Update copyright.
7378
1946f901
GM
7379 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7380 a symbol.
7381
4fa09beb
GM
73822000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7383
7384 * filelock.c (unlock_all_files): Use unlock_file to expand each
7385 buffer's file_truename before trying remove its lock file.
7386
23afac01
EZ
73872000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7388
7389 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7390 or CRLF, decode EOLs.
7391
04448b95
KH
73922000-10-24 Kenichi Handa <handa@etl.go.jp>
7393
7394 * window.c (Fdisplay_buffer): Fix doc.
7395
3090a5a5
JR
73962000-10-23 Jason Rumney <jasonr@gnu.org>
7397
7398 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7399 ASCII font of default fontset on Windows.
7400
7401 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7402 xterm.c comment below).
7403
7404 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7405
a83fee2c
GM
74062000-10-23 Gerd Moellmann <gerd@gnu.org>
7407
7408 * xterm.c (x_connection_closed): Reset handling_signal.
7409
52283633 7410 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7411
6ffdb539
MB
74122000-10-23 Miles Bader <miles@gnu.org>
7413
7414 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7415 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7416 maintain old behavior.
7417 * minibuf.c (Fminibuffer_complete): Likewise.
7418
7f1c969b
MB
74192000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7420
7421 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7422 that when a font can't be exactly centered, it errs up rather than
7423 down.
7424
23afac01 74252000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7426
52283633 7427 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7428
1a578e9b
AC
74292000-10-23 Andrew Choi <akochoi@i-cable.com>
7430
7431 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7432
7433 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7434 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7435
7436 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7437 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7438 syms_of_search, x_term_init, and init_keyboard before calling
7439 init_window_once. Also, call syms_of_xmenu.
7440
7441 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7442 default fontset to Monaco.
7443
7444 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7445 NewMacWindow and DisposeMacWindow.
7446 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7447 instead of calling NewMacWindow and setting fields of
7448 f->output_data.mac directly. Call init_frame_faces.
7449 (Fdelete_frame) [macintosh]: Remove unused code.
7450 (Fmodify_frame_parameters) [macintosh]: Call
7451 x_set_frame_parameters instead of mac_set_frame_parameters.
7452
7453 * frame.h [macintosh]: Define menu_bar_lines field in struct
7454 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7455
7456 * keyboard.c [macintosh]: Include macterm.h.
7457 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7458 and menu_bar_activate_event type events as for X and NT.
7459 (make_lispy_event) [macintosh]: Construct lisp events of type
7460 MENU_BAR_EVENT as for X and NT.
7461
7462 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7463 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7464 (sys_subshell) [macintosh]: Remove definition entirely.
7465 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7466 Vwindow_system_version here. Remove initialization of
7467 Vx_bitmap_file_path.
7468 (read_input_waiting): Correct the number of parameters passed to
7469 read_socket_hook.
7470 Move all Macintosh functions to mac/mac.c.
7471
7472 * term.c [macintosh]: Include macterm.h.
7473
7474 * window.c [macintosh]: Include macterm.h.
7475
7476 * xdisp.c [macintosh]: Include macterm.h. Declare
7477 set_frame_menubar and pending_menu_activation.
7478 (echo_area_display) [macintosh]: Do not return if terminal frame
7479 is the selected frame.
7480 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7481 Allow only the selected frame to set menu bar.
7482 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7483 calling FRAME_EXTERNAL_MENU_BAR (f).
7484 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7485
7486 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7487 and check_x. Declare XCreateGC. Define x_create_gc and
7488 x_free_gc. Initialize font_sort_order.
7489 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7490 but call x_list_fonts instead of w32_list_fonts.
7491 (Finternal_face_x_get_resource) [macintosh]: Do not call
7492 display_x_get_resource.
7493 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7494 (realize_x_face) [macintosh]: Load the font if it is specified in
7495 ATTRS.
52283633 7496 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7497
1ffbabe3
SM
74982000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7499
7500 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7501 is nil: since we go to the end of submap anyway, we'd end up
7502 setting nil to nil.
7503 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7504 doesn't obey autoload.
7505
bed43f1d
EZ
75062000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7507
1ffbabe3 7508 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7509
ea4233a7
JR
75102000-10-21 Jason Rumney <jasonr@gnu.org>
7511
7512 * w32term.c (w32_cache_char_metrics): Double check that font is
7513 really fixed pitch before trusting tmPitchAndFamily.
7514
f3d3c491
AI
75152000-10-21 Andrew Innes <andrewi@gnu.org>
7516
7517 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7518
7519 * w32term.h: Extern decl for w32_cache_char_metrics.
7520
7521 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7522
7523 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7524 (w32_unload_font): Free per_char array if present.
7525
7526 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7527 cached information in emulated XFontStruct to handle common cases
7528 quickly. Do not allocate XCharStruct for return.
7529 (w32_native_per_char_metric): New function.
7530 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7531 allocating one.
7532 (x_produce_glyphs): Don't get an HDC. Change calls to
7533 w32_per_char_metric to match arg change above. Remove calls to
7534 free results.
7535 (w32_get_glyph_overhangs): Ditto.
7536 (w32_cache_char_metrics): New function.
7537
7538 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7539 ($(BLD)/casefiddle.$(O)): Remove compile command.
7540 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7541 ($(BLD)/dispnew.obj):
7542 ($(BLD)/keyboard.obj):
7543 ($(BLD)/w32inevt.obj):
7544 ($(BLD)/w32bdf.obj):
7545 ($(BLD)/alloc.obj):
7546 ($(BLD)/buffer.obj):
7547 ($(BLD)/editfns.obj):
7548 ($(BLD)/emacs.obj):
7549 ($(BLD)/fileio.obj):
7550 ($(BLD)/fns.obj):
7551 ($(BLD)/indent.obj):
7552 ($(BLD)/insdel.obj):
7553 ($(BLD)/intervals.obj):
7554 ($(BLD)/minibuf.obj):
7555 ($(BLD)/print.obj):
7556 ($(BLD)/scroll.obj):
7557 ($(BLD)/sysdep.obj):
7558 ($(BLD)/textprop.obj):
7559 ($(BLD)/widget.obj):
f3d3c491
AI
7560 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7561 ($(BLD)/term.obj): Add dependency on dispextern.h.
7562
52283633
SM
7563 * makefile.nt ($(BLD)\dispnew.obj):
7564 ($(BLD)\keyboard.obj):
7565 ($(BLD)\w32inevt.obj):
7566 ($(BLD)\w32bdf.obj):
7567 ($(BLD)\alloc.obj):
7568 ($(BLD)\buffer.obj):
7569 ($(BLD)\editfns.obj):
7570 ($(BLD)\emacs.obj):
7571 ($(BLD)\fileio.obj):
7572 ($(BLD)\fns.obj):
7573 ($(BLD)\indent.obj):
7574 ($(BLD)\insdel.obj):
7575 ($(BLD)\intervals.obj):
7576 ($(BLD)\minibuf.obj):
7577 ($(BLD)\print.obj):
7578 ($(BLD)\scroll.obj):
7579 ($(BLD)\sysdep.obj):
7580 ($(BLD)\textprop.obj):
7581 ($(BLD)\widget.obj):
f3d3c491
AI
7582 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7583 ($(BLD)\term.obj): Add dependency on dispextern.h
7584
18ad4821
EZ
75852000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7586
7587 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7588 with an additional argument of Qt.
7589
de54681a
MB
75902000-10-21 Miles Bader <miles@gnu.org>
7591
7592 * window.c (pos_fully_visible_in_window_p): New function.
7593 (Fpos_visible_in_window_p): Add FULLY argument.
7594 Use pos_fully_visible_in_window_p.
7595 (window_scroll_pixel_based, window_scroll_line_based): Update
7596 calls to Fpos_visible_in_window_p.
7597 * lisp.h (Fpos_visible_in_window_p): Update prototype
7598
13c844fb
GM
75992000-10-20 Gerd Moellmann <gerd@gnu.org>
7600
7601 * alloc.c (toplevel): Conditionalize compilation of mem_*
7602 functions differently.
52283633 7603
d9506268
JR
76042000-10-20 Jason Rumney <jasonr@gnu.org>
7605
7606 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7607 mem_init where it used to be. mem_z etc not defined otherwise.
7608
8094989b
GM
76092000-10-20 Gerd Moellmann <gerd@gnu.org>
7610
7611 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7612 GC_MALLOC_CHECK.
7613 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7614 structure definition and related variabled to the top of the file.
7615 Include this code when GC_MALLOC_CHECK is defined.
7616 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7617 register/unregister allocated region.
7618 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7619 which isn't allocated.
7620 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7621 something which is already in use.
7622 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7623 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7624 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7625 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7626
7627 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7628 _malloc_internal instead of malloc.
7629 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7630 of free.
7631
ea456eb4
AI
76322000-10-20 Andrew Innes <andrewi@gnu.org>
7633
7634 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7635 Windows.
7636 (my_strftime) <macro>: Don't use macro arg list when redefining as
7637 _strftime_copytm.
7638 (my_strftime) <function>: Supply 0 as ut argument.
7639
e64c3a75
JR
76402000-10-19 Jason Rumney <jasonr@altavista.net>
7641
7642 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7643 including dispextern.h, as it stops faces from working.
7644
7645 * w32fns.c (Fx_create_frame): Don't bother calling
7646 face-set-after-frame-default since the caller does it for us
7647 anyway. Clean up calls to x_get_arg to be consistent with X.
7648
7649 * w32term.c (x_produce_glyphs): Handle
7650 unibyte_display_via_language_environment correctly.
7651 (w32_draw_box_rect): Fix the calculation of width and height.
7652
7653 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7654 as it has stopped working.
7655 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7656 menu-bar.
7657
17401c97
GM
76582000-10-19 Gerd Moellmann <gerd@gnu.org>
7659
7660 * eval.c (skip_debugger): Prevent a compiler warning.
7661 (Fcondition_case): Likewise.
7662 (Fbacktrace_frame): Use a null interactive spec.
7663
773272d8
KH
76642000-10-19 Kenichi Handa <handa@etl.go.jp>
7665
7666 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7667
a42943e9
GM
76682000-10-18 Gerd Moellmann <gerd@gnu.org>
7669
e50517d9
GM
7670 * strftime.c: Sync with glibc, file version 1.78.
7671 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7672 should no longer be used according to ISO 8601.
7673
9035a35a
GM
7674 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7675 no map for meta_prefix_char, don't try to use it as a keymap.
7676 Instead, if T_OK is non-zero, look up a default binding, if any,
7677 otherwise, if T_OK is zero, return nil.
7678
a42943e9
GM
7679 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7680 (x_to_xcolors, png_load): Use x_query_color.
7681
52283633
SM
7682 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7683 New functions.
a42943e9
GM
7684 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7685 which can be slow.
7686 (x_copy_color, x_alloc_lighter_color): Likewise.
7687
7688 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7689 (x_query_color, x_query_colors): Add prototype.
7690
7691 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7692 check_string_bytes only if not noninteractive, increase count to 50.
7693
00de2987
MB
76942000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7695
7696 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7697 markers correctly.
7698
54918e2b
GM
76992000-10-17 Gerd Moellmann <gerd@gnu.org>
7700
1f0b3fd2
GM
7701 * alloc.c (pure_bytes_used): Renamed from pureptr.
7702 (ALIGN): New macro.
7703 (pure_alloc): New function.
7704 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7705 Use it.
7706 (Fpurecopy): Use PURE_POINTER_P.
7707
68c5d1db
GM
7708 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7709 PT has moved backward.
52283633 7710
9a038881
GM
7711 * xdisp.c (cursor_row_p): Take continued lines into account.
7712
361b097f
GM
7713 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7714 string's size_byte.
7715 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7716 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7717 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7718 string allocated.
7719
54918e2b
GM
7720 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7721 of selective display off while searching for the next line start.
7722
03ed0806
KH
77232000-10-17 Kenichi Handa <handa@etl.go.jp>
7724
7725 * Makefile.in (term.o): Depend on dispextern.h.
7726
7e05cdaf
SM
77272000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7728
7729 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7730
a6801fd1
GM
77312000-10-16 Gerd Moellmann <gerd@gnu.org>
7732
483de32b
GM
7733 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7734 the iterator at the beginning, so that they can be set later on,
7735 for instance in reseat_at_next_visible_line_start, without being
7736 overwritten.
7737
a6801fd1
GM
7738 * xfns.c (pbm_format): Add :foreground and :background keywords.
7739 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7740 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7741
dbf1fcc1
EZ
77422000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7743
7744 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7745
52283633 7746 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7747
7748 * msdos.c (IT_set_face): Compare highlighted face with the default
7749 face, and invert colors if these faces' colors are identical.
7750 (Fmsdos_remember_default_colors): Don't swap foreground and
7751 background colors in initial_colors[].
7752 (IT_set_frame_parameters): Don't swap frame's foreground and
7753 background pixels. If ALIST includes "(reverse . t)", swap
7754 foreground-color and background-color properties in frame's
7755 param_alist. If the original frame's param_alist doesn't specify
7756 the colors, store unspecified-fg and unspecified-bg, reversed if
7757 required.
7758
7759 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7760 the colors are unspecified and reversed, reverse fore- and back-
7761 ground in the returned value.
7762 (Fframe_parameter): Ditto.
7763
b41fe2c3 77642000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7765
3a6b59d9
GM
7766 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7767 get_last_unchanged_at_beg_row.
7768 (find_first_unchanged_at_end_row): Renamed from
7769 get_first_unchanged_at_end_row.
7770 (find_first_unchanged_at_end_row): Convert assertions to
7771 unconditional tests which abort. When looking for a row in
7772 unchanged text, don't go further back than first_text_row.
7773
b41fe2c3
GM
7774 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7775 Don't add in the last line's height when deciding if the new
7776 position is below the scroll margin.
9d1af64f 7777
b41fe2c3 77782000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7779
7780 * editfns.c (Fconstrain_to_field): Check carefully for field
7781 boundaries if either OLD_POS or NEW_POS has a non-nil field
7782 property, even if they're the same.
7783
c412cb7b
KH
77842000-10-16 Kenichi Handa <handa@etl.go.jp>
7785
7786 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7787 height for XFillRectangle.
7788
5586f3eb
SM
77892000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7790
7791 * syntax.c (Fstring_to_syntax): New function extracted from
7792 Fmodify_syntax_entry.
7793 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7794 (skip_chars, Fforward_comment): Remove unused variables.
7795 (syms_of_syntax): Add defsubr for string-to-syntax.
7796 (describe_syntax): Add code for comment and string fences.
7797
db785038
SM
77982000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7799
7800 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7801 Do the meta->esc mapping. Call get_keyelt before returning.
7802 Start scanning from the second element (the first is always `keymap')
7803 to make it easier to detect when we reach a parent map.
7804 Handle the case of inheriting from a symbol whose function is a map.
7805 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7806 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7807 (get_keyelt, Flookup_key): Update call to access_keymap.
7808 Remove the meta->esc mappings.
7809 (define_as_prefix): Delete old disabled code.
7810 (menu_item_p): New function.
7811 (where_is_internal_1): Skip over the few remaining menu items.
7812 * lisp.h (access_keymap): Update prototype.
7813 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7814 Update call to access_keymap.
7815 (follow_key, read_key_sequence): Update calls to access_keymap.
7816 Remove the meta->esc mappings.
7817
cafafe0b
GM
78182000-10-13 Gerd Moellmann <gerd@gnu.org>
7819
a2e2a7f6
GM
7820 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7821 with additional argument.
7822
cafafe0b
GM
7823 * xdisp.c (cursor_row_p): New function.
7824 (try_cursor_movement, display_line): Use it.
52283633 7825
cafafe0b
GM
7826 * xdisp.c (append_space): Also save/restore iterator's current
7827 character and its length.
7828
7829 * xdisp.c (init_from_display_pos): Add an assertion.
7830 (handle_stop): Don't set iterator's add_overlay_start.
7831 (handle_invisible_prop): Likewise.
7832 (load_overlay_strings): If text under an overlay is invisible,
7833 take both before- and after-strings into account when the iterator
7834 is positioned either at the start or at the end of the overlay.
7835 (forward_to_next_line_start): Rewritten.
7836 (reseat_at_next_visible_line_start): Rewritten.
7837 (set_iterator_to_next): Add parameter RESEAT_P.
7838
7839 * dispextern.h (struct it): Remove member add_overlay_start.
7840 (set_iterator_to_next): Change prototype.
7841
c744452b
KH
78422000-10-13 Kenichi Handa <handa@etl.go.jp>
7843
7844 * coding.c (code_convert_region): Be sure to initialize
7845 coding->category_idx.
e4a3f4e1
KH
7846 (decode_coding_string): Set coding->src_multibyte and
7847 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7848 (encode_coding_string): Set coding->src_multibyte and
7849 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7850
321fd26f
SM
78512000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7852
7853 * xfns.c (Fx_create_frame): Don't bother calling
7854 face-set-after-frame-default since the caller does it for us anyway.
7855
76832439
EZ
78562000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7857
7858 * window.c (coordinates_in_window): Fix detection of vertical line
7859 on character terminals.
7860
2483cf58
GM
78612000-10-12 Gerd Moellmann <gerd@gnu.org>
7862
7863 * editfns.c (save_excursion_save): Additionally record the
7864 selected window.
7865 (save_excursion_restore): If buffer was visible in a window, and a
7866 different window was selected, and the old selected window is
7867 still live, restore point in that window.
7868
eb991b25
KH
78692000-10-12 Kenichi Handa <handa@etl.go.jp>
7870
8a0eba09
KH
7871 * xterm.c (x_produce_glyphs): Handle
7872 unibyte_display_via_language_environment correctly.
7873
20401fcc
KH
7874 * regex.c (regex_compile): Change the way of handling a range from
7875 unibyte char to multibyte char.
7876
7877 * syntax.c (skip_chars): Change the way of handling a range from
7878 unibyte char to multibyte char.
7879
eb991b25
KH
7880 * process.c (read_process_output): Cancel previous change.
7881
365dd325
EZ
78822000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7883
c1b096cb
EZ
7884 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7885
365dd325
EZ
7886 * charset.c (Ffind_charset_string): Doc fix.
7887 (Ffind_charset_region): Doc fix.
7888
eb483c2b
KH
78892000-10-11 Kenichi Handa <handa@mule.m17n.org>
7890
7891 * process.c (read_process_output): Fix previous change. Adjust
7892 multibyteness of text to insert in a buffer by
52283633 7893 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7894
b40bfb99
AS
78952000-10-10 Andreas Schwab <schwab@suse.de>
7896
7897 * alloc.c (mark_object): Remove all workarounds installed on
7898 1993-08-08.
7899
caff31d4
KH
79002000-10-10 Kenichi Handa <handa@etl.go.jp>
7901
52283633 7902 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7903 (base64_encode_1): Make it work for a text of multibyte form.
7904 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7905 case. Don't call str_to_multibyte because base64_decode_1
7906 produces correct multibyte form for eight-bit codes.
52283633 7907 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7908 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7909 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7910 codes.
7911
7912 * charset.h (CHAR_STRING): Optimized for single byte characters.
7913
cba026ef
AS
79142000-10-09 Andreas Schwab <schwab@suse.de>
7915
7916 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7917 -1 after socket is closed, to fall through to error processing.
7918
1e21fe48
EZ
79192000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7920
7921 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7922 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7923 background-color, change also the colors of the default face for
7924 this frame.
7925
a640322e
EZ
79262000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7927
7928 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7929 them extern (they are defined on xfaces.c).
7930 (syms_of_msdos): Don't intern and don't staticpro
7931 Qbackground_color and Qforeground_color.
7932
a115794c
EZ
79332000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7934
7935 * frame.c (Fframe_parameter): For non-windowed frames, if
7936 f->param_alist says foreground or background color is unspecified,
7937 call tty_color_name to return the color name computed from the
7938 frame's current colors.
7939
f5533b63
DL
79402000-10-06 Dave Love <fx@gnu.org>
7941
7942 * terminfo.c (ospeed): Don't declare.
7943
7944 * sysdep.c: Don't include string.h.
7945 (h_errno): Declare conditional also on TRY_AGAIN.
7946
7947 * charset.c (Ffind_charset_string): Doc fix.
7948
52283633 7949 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7950 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7951 error messages.
7952
2b06561a
DL
79532000-10-05 Dave Love <fx@gnu.org>
7954
7955 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7956 position like menu-bar.
7957
ca839c85
GM
79582000-10-05 Gerd Moellmann <gerd@gnu.org>
7959
7960 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7961
7962 * xdisp.c (handle_single_display_prop): Use safe_call1.
7963 (safe_call): Renamed from call_function.
7964 (safe_call1): New function.
7965 (handle_fontified_prop): Use safe_call1 instead of call1.
7966 (safe_eval): Renamed from eval_form.
7967 (safe_eval_handler): Renamed from eval_handler.
7968 (handle_single_display_prop, display_mode_element): Use safe_eval
7969 instead of eval_form.
7970
7971 * xfaces.c (merge_face_heights): Use safe_call instead of
7972 call_function.
7973
7974 * keyboard.c (show_help_echo): Use safe_call instead of
7975 call_function; use safe_eval instead of eval_form.
7976
7977 * lisp.h (safe_call): Renamed from call_function.
7978 (safe_eval): Renamed from eval_form.
7979 (safe_call1): Add prototype.
7980
a3489ece
MB
79812000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7982
7983 * xfns.c (image_ascent): Rearrange ascent calculation for the
7984 has-a-font case.
7985
35810b6f
SM
79862000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7987
7988 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7989 (where_is_internal_1): Don't bother ignoring menu-items any more.
7990
3dc78168
GM
79912000-10-04 Gerd Moellmann <gerd@gnu.org>
7992
7993 * keyboard.c (update_menu_bindings): New variable.
7994 (parse_menu_item): Use AREF. If update_menu_bindings
7995 is 0, don't update menu bindings.
7996 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7997
1efc2bb9
EZ
79982000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7999
8000 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8001 to `mark_object'.
8002
3f679f55
SM
80032000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8004
8005 * syntax.c (forw_comment): Match nestedness of ender/starter.
8006 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8007 (prev_char_comstart_first): Remove.
8008 (back_comment): Check two-char comment markers more carefully
8009 to better handle overlapping cases like *//* or /* */* */ ...
8010 Match nestedness of ender/starter.
8011
2021ab61
DL
80122000-10-02 Dave Love <fx@gnu.org>
8013
8014 * config.in (HAVE_GAI_STRERROR): Add undef.
8015
8016 * process.c (Fopen_network_stream): Use it.
8017
8018 * m/alpha.h (NO_REMAP): Don't define.
8019
64e6cc18
GM
80202000-10-02 Gerd Moellmann <gerd@gnu.org>
8021
8022 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8023 return with a string converted to an integer or vice versa when
8024 Vmocklisp_arguments is t.
8025 (Fsignal): Likewise. The function can return for `quit'.
8026 (struct gcpro): Declare member `var' to point to a volatile
8027 Lisp_Object.
8028
8029 * eval.c (error): Prevent compiler warning.
8030
b1904cd9
SM
80312000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8032
8033 * keymap.c (keymap_memberp): New function.
8034 (Fset_keymap_parent): Use it.
8035 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8036 Use keymap_memberp to avoid creating cycles.
8037 (access_keymap): Use KEYMAPP.
8038
71c9ec51
GM
80392000-09-30 Gerd Moellmann <gerd@gnu.org>
8040
8041 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8042 gai_strerror. Make sure xerrno is set if connect fails. Improve
8043 error recovery.
71c9ec51 8044
c70c6b58
JR
80452000-09-29 Jason Rumney <jasonr@gnu.org>
8046
8047 * w32term.c (w32_char_font_type, w32_encode_char)
8048 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8049 (w32_bdf_per_char_metric): New function.
8050 (w32_per_char_metric): Use it.
8051 (x_draw_glyph_string_background): Always draw background for BDF
8052 glyphs.
8053
8054 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8055 GDI object which is a scarce resource.
8056
8057 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8058 (get_quoted_string): Fix limit on memchr search.
8059 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8060 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8061 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8062 (get_cached_font_char, cache_char_offset): Use macro
8063 BDF_CODEPOINT_RANGE_COVER_P.
8064 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8065 (clear_cached_bitmap_slots): New function.
8066 (GET_HEX_VALUE): G-Z, g-z are not hex.
8067 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8068 (get_bitmap_with_cache): Use new cache implementation.
8069 (create_offscreen_bitmap): New function.
8070 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8071
8072 * w32term.c (x_produce_glyphs): If the distance from the current
8073 position to the next tab stop is less than a canonical character
8074 width, use the tab stop after that.
8075 (x_draw_glyphs): Handle case START and END are out of bounds more
8076 carefully.
8077 (x_clear_mouse_face): Block/unblock input.
8078 (x_display_and_set_cursor): Don't show a hollow box cursor for
8079 buffers whose cursor_type is nil.
8080
fe01239f
GM
80812000-09-29 Gerd Moellmann <gerd@gnu.org>
8082
52283633 8083 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8084
8085 * dispextern.h (updating_frame): Declare extern.
8086
e7c52f1f
AS
80872000-09-29 Andreas Schwab <schwab@suse.de>
8088
8089 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8090
de6e1f7c
GM
80912000-09-29 Gerd Moellmann <gerd@gnu.org>
8092
25126faa
GM
8093 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8094 use its function definition.
8095 (tool_bar_items): Likewise.
8096
de6e1f7c 8097 * lisp.h (fatal): Declare NO_RETURN.
52283633 8098
454ee39b
KH
80992000-09-29 Kenichi Handa <handa@etl.go.jp>
8100
8101 * keymap.c: Remove the line "#undef NULL".
8102
96301c5f
GM
81032000-09-28 Gerd Moellmann <gerd@gnu.org>
8104
52283633 8105 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8106
efffeeb4
DL
81072000-09-28 Dave Love <fx@gnu.org>
8108
ecb8b666
DL
8109 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8110
dc3cd20f
DL
8111 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8112
8113 * .gdbinit (xreload): Note its need on GNU/Linux.
8114
efffeeb4
DL
8115 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8116 r_alloc, r_alloc_free.
8117
8610d903
KH
81182000-09-28 Kenichi Handa <handa@etl.go.jp>
8119
8120 * syntax.c (skip_chars): Handle negation correctly.
8121
8901d1ac
GM
81222000-09-27 Gerd Moellmann <gerd@gnu.org>
8123
6f22f1ad
GM
8124 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8125 with non-zero FORCE_P argument.
8126
52283633 8127 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8128 Add assertions.
8129
8130 * xdisp.c (window_box_height): Add an assertion.
8131
8132 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8133 tool-bar than is available.
8134 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8135
36f1966f
DL
81362000-09-27 Dave Love <fx@gnu.org>
8137
efffeeb4 8138 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8139
31d929e5
GM
81402000-09-26 Gerd Moellmann <gerd@gnu.org>
8141
c98863bf
GM
8142 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8143 instead of BITS_PER_INT.
8144 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8145 EMACS_UINT, respectively.
8146 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8147
8148 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8149
8150 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8151
77072ab1
GM
8152 * window.c (freeze_window_starts): Construct last argument for
8153 foreach_window differently.
8154
8155 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8156
8157 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8158 EMACS_UINT instead of `int' and `unsigned int'.
8159 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8160
8161 * frame.h (struct frame): Make the `nothing' member of union
8162 output_data an EMACS_INT.
8163
52283633 8164 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8165 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8166 size in the sdata structure.
8167 (SDATA_NBYTES, SDATA_DATA): New macros.
8168 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8169 differently for the different layout of the sdata structure.
8170 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8171 in sdata.
8172 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8173 Check that size recorded in the string size and size recorded in
8174 the sdata structure agree.
8175
3e60b029
DL
81762000-09-25 Dave Love <fx@gnu.org>
8177
8178 * buffer.c: Include stdio.h.
8179
8180 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8181
3e60b029
DL
8182 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8183
8184 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8185 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8186 (__malloc_extra_blocks): Declare as __malloc_size_t.
8187
8ff16b4e
GM
81882000-09-25 Gerd Moellmann <gerd@gnu.org>
8189
755a2ccd
GM
8190 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8191
d8b4516f
GM
8192 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8193 (read_char): If help-echo is showing, preserve the echo area
8194 when redisplaying.
8195
8196 * xdisp.c (help_echo_showing_p): New variable.
8197 (set_message): Reset it to 0.
8198 (init_xdisp): Initialize help_echo_showing_p.
8199
8200 * dispextern.h (help_echo_showing_p): Declare extern.
8201
8202 * config.in: Fix typo in __GNUC_MINOR__.
8203
8204 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8205
b11af2dd
GM
8206 * s/freebsd.h (POSIX_SIGNALS): Define.
8207
8ff16b4e
GM
8208 * xterm.c (x_clear_mouse_face): Block/unblock input.
8209
844eb643
DL
82102000-09-24 Dave Love <fx@gnu.org>
8211
8212 * fns.c (base64_encode_1): Fix last change.
8213
b30ab1b3
GM
82142000-09-22 Gerd Moellmann <gerd@gnu.org>
8215
8216 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8217
8218 * xdisp.c (try_window_reusing_current_matrix): More fixes
8219 for the case window has a header-line.
8220
c6cbe5f0
DL
82212000-09-22 Dave Love <fx@gnu.org>
8222
4c7c1f3f
DL
8223 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8224 a doc string.
8225
8226 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8227
c6cbe5f0
DL
8228 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8229
550a625e
GM
82302000-09-21 Gerd Moellmann <gerd@gnu.org>
8231
4c7c1f3f 8232 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8233 for GCC >= 2.5.
8234
52283633
SM
8235 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8236 Declare NO_RETURN.
fca99116 8237
80d26f99
GM
8238 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8239 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8240 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8241 warnings.
52283633 8242
80d26f99
GM
8243 * marker.c (byte_char_debug_check): Return void.
8244
623a0aae
GM
8245 * xfns.c (Fx_create_frame): Set default frame parameter value
8246 for tool-bar-lines to 1.
8247
8248 * dispnew.c (scrolling_window): Compare y-positions of rows
8249 equal at the start. Some simplification.
8250
8251 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8252 reused rows' y-position in the case window has a header-line, and
8253 new window start is greater than old window start.
8254
42ac0ae5
GM
8255 * process.c (process_sent_to): New variable.
8256 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8257 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8258 Declare more parameters volatile.
8259
550a625e
GM
8260 * lread.c (Vrecursive_load_depth_limit): New variable.
8261 (Fload): Check recursive loads whose recursion depth exceeds
8262 Vrecursive_load_depth_limit.
8263 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8264
8320414c
GM
82652000-09-20 Gerd Moellmann <gerd@gnu.org>
8266
f46c275e
GM
8267 * fileio.c (Fread_file_name): Doc fix.
8268
8269 * editfns.c (Fmessage_or_box): Doc fix.
8270
8271 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8272
b7e11c5b 8273 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8274
8320414c
GM
8275 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8276 symbols are specified, add color translations to the cache.
52283633 8277 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8278 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8279 xpm_cache_color.
8280 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8281 structures to xpm_init_color_cache.
8282
da1608d9
GM
82832000-09-19 Gerd Moellmann <gerd@gnu.org>
8284
52283633 8285 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8286
6badfa25
AI
82872000-09-19 Andrew Innes <andrewi@gnu.org>
8288
8289 * makefile.nt (bootstrap-emacs): Don't change directory.
8290
3a5f42bb
KH
82912000-09-19 Kenichi Handa <handa@etl.go.jp>
8292
1b7649bd
KH
8293 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8294
3a5f42bb
KH
8295 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8296 If output buffer is too small, signal an appropriated error.
8297
9f83cf0b
DL
82982000-09-18 Dave Love <fx@gnu.org>
8299
52283633 8300 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8301 (current_active_maps): Remove redundant get_local_map call.
8302
28c7826c
GM
83032000-09-18 Gerd Moellmann <gerd@gnu.org>
8304
5cefa566
GM
8305 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8306 cursor for buffers whose cursor_type is nil.
52283633 8307
6fed3546
GM
8308 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8309 a feature to implement that is already implemented.
8310 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8311 warnings.
8312
8313 * xfns.c (x_clear_image_1): New function.
8314 (x_clear_image): Use it.
52283633 8315 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8316
05b1f851
GM
8317 * dispnew.c (update_window): Move test for invisible lines
8318 at the top to update_window_line.
8319 (update_window_line): Handle invisible lines here.
8320
f4779de9
GM
8321 * xfns.c (clear_image_cache): Clear current matrices of all
8322 frames sharing an image cache. Block input while freeing
8323 images. Fix timestamp comparison.
8324 (x_clear_image): Also free the mask.
8325
28c7826c
GM
8326 * xfns.c (lookup_image): Block input while loading the image so
8327 that we won't get interrupted in a state where the image isn't yet
8328 set up completely.
8329 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8330 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8331 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8332 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8333
b7412313
GM
83342000-09-16 Gerd Moellmann <gerd@gnu.org>
8335
8336 * dispnew.c (update_window): Make sure to make desired rows
8337 current even if they are completely invisible at the top
8338 of a window.
8339
47e351a3
GM
83402000-09-15 Gerd Moellmann <gerd@gnu.org>
8341
7f8f1edc
GM
8342 * xfns.c (lookup_image): Build mask before applying an algorithm.
8343 Recognize algorithm `disabled'.
8344 (cross_disabled_images): New variable.
8345 (COLOR_INTENSITY): New macro.
8346 (x_detect_edges): Use COLOR_INTENSITY.
8347 (x_disable_image): New function.
8348 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8349
8350 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8351 disabled state, don't apply an image transformation algorithm if
8352 the user specified an image for the disabled state. Use
28c7826c 8353 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8354 user hasn't specified an image.
8355
ebb8f116
GM
8356 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8357 allocation functions with the XPM lib.
8358 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8359 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8360 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8361 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8362 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8363 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8364 functions, if possible, because these handle color allocation
8365 failure more gracefully.
8366 (Fimage_mask_p): New function.
8367
47e351a3
GM
8368 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8369 (Qedge_detection, Qheuristic): New symbols.
8370 (syms_of_xfns): Initialize new symbols.
8371 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8372 `algorithm (edge-detection ...)'.
8373 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8374 (tiff_format, gif_format, gs_format): Add `:mask'.
8375 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8376 (GIF_MASK, GS_MASK): New enumerators.
8377 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8378 (emboss_matrix, laplace_matrix): New variables.
8379 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8380 (x_edge_detection): New functions.
8381 (x_laplace): Rewritten in terms of x_detect_edges.
8382 (x_build_heuristic_mask): If image has a mask, free it.
8383
fe83b953
AI
83842000-09-14 Andrew Innes <andrewi@gnu.org>
8385
8386 * makefile.w32-in: Revert to Unix line endings.
8387
3021e816
AI
83882000-09-14 Andrew Innes <andrewi@gnu.org>
8389
8390 * makefile.w32-in: Standardize indentation somewhat.
8391 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8392 cater for differences between shells.
8393
8394 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8395
2a32b5ea
GM
83962000-09-14 Gerd Moellmann <gerd@gnu.org>
8397
8398 * xterm.c (x_produce_glyphs): If the distance from the current
8399 position to the next tab stop is less than a canonical character
8400 width, use the tab stop after that.
8401
b4331e96
DL
84022000-09-14 Dave Love <fx@gnu.org>
8403
8404 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8405
ef9e4345
GM
84062000-09-14 Gerd Moellmann <gerd@gnu.org>
8407
085536c2
GM
8408 * xdisp.c (handle_fontified_prop): While running fontification
8409 functions, bind `fontification-functions' and
8410 `after-change-functions' to nil.
8411
ef9e4345
GM
8412 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8413 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8414
8415 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8416
8417 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8418 USE_MMAP_FOR_BUFFERS.
8419
8420 * insdel.c (make_gap): Use enlarge_buffer_text.
8421
8422 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8423 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8424 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8425 from former r_alloc_* functions in ralloc.c.
52283633 8426 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8427 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8428 (mmap_init) [REL_ALLOC_MMAP]: New function.
8429 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8430 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8431 BUFFER_FREE.
8432
8433 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8434 (enlarge_buffer_text): Add prototype.
8435
8436 * ralloc.c: Remove everything having to do with the use of mmap.
8437
f8608968
GM
84382000-09-13 Gerd Moellmann <gerd@gnu.org>
8439
2a494b2d
GM
8440 * sound.c (Fplay_sound): Doc fix.
8441
8c907a56
GM
8442 * keyboard.c: Avoid some more compiler warnings.
8443 (parse_tool_bar_item): Ignore cached key bindings.
8444
f8608968
GM
8445 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8446 and allocation of Lisp data.
8447
6ab70e9a
GM
84482000-09-12 Gerd Moellmann <gerd@gnu.org>
8449
d12d0a9b
GM
8450 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8451 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8452 defaults first.
8453
6ab70e9a
GM
8454 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8455
63c36c3c
KH
84562000-09-12 Miyashita Hisashi <himi@meadowy.org>
8457
8458 * ccl.c: Comment fixed.
8459 (MAX_MAP_SET_LEVEL): Increased to 30.
8460 (PUSH_MAPPING_STACK): Enclose with do-while block.
8461 (POP_MAPPING_STACK): Likewise.
8462 (stack_idx_of_map_multiple): New variable.
8463 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8464 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8465 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8466 (ccl_driver) <CCL_MapSingle>: Likewise.
8467 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8468 with the case where looking up process reaches to the end of
8469 map-set, and call CCL programs as the above change.
8470
7ee3bd7b
GM
84712000-09-11 Gerd Moellmann <gerd@gnu.org>
8472
8ec8a5ec
GM
8473 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8474 that might be clobbered by longjmp.
8475 (check_x_display_info, x_decode_color, create_frame_xic)
8476 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8477 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8478
f74b0705
GM
8479 * lread.c (init_lread): Set Vloads_in_progress to nil.
8480 (Fload): Show list of recursively loaded files, when signaling an
8481 error.
8482
7ee3bd7b
GM
8483 * lread.c (Vloads_in_progress): New variable.
8484 (record_load_unwind): New function.
8485 (Fload): Check for recursive loads.
8486 (syms_of_lread): Initialize Vloads_in_progress.
8487 (read_integer, read1): Avoid some compiler warnings.
8488
8489 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8490 compiler warnings.
8491
974e1e5b
MB
84922000-09-11 Miles Bader <miles@gnu.org>
8493
8494 * editfns.c (Fbuffer_string): Doc fix.
8495
9824c4e3
GM
84962000-09-10 Gerd Moellmann <gerd@gnu.org>
8497
8498 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8499
6a72fdd1
KR
85002000-09-09 Ken Raeburn <raeburn@gnu.org>
8501
8502 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8503 whether to include other header files.
8504
28e6fb66
GM
85052000-09-09 Gerd Moellmann <gerd@gnu.org>
8506
52283633 8507 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8508 by Fmemq as a boolean.
28e6fb66 8509
7f8b6551
SM
85102000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8511
8512 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8513
a8710abf
GM
85142000-09-08 Gerd Moellmann <gerd@gnu.org>
8515
d1a02881
GM
8516 * ralloc.c (mmap_fd): Remove initializer which can make it
8517 read-only in a dumped Emacs.
8518 (mmap_fd_1): New variable.
8519 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8520 restore it from there.
8521 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8522 unconditionally so that mmap_fd can be initialized there.
8523 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8524 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8525 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8526
c454aac1
GM
8527 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8528
8529 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8530 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8531
fc653ef2
GM
8532 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8533
3015eec0
GM
8534 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8535 inheritance.
8536
bfe0ee88
GM
8537 * xdisp.c (try_window_id): When trying to locate cursor in
8538 unchanged rows at the top, handle the case that we can't find it.
8539
a8710abf
GM
8540 * xterm.c (x_draw_glyphs): Handle case START and END are out
8541 of bounds more carefully.
8542
6b7d4ae4
DL
85432000-09-08 Dave Love <fx@gnu.org>
8544
423193c5
DL
8545 * s/sol2.h (REL_ALLOC_MMAP): Define.
8546 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8547
8548 * ralloc.c: Don't include string.h (redundant).
8549 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8550 [!MAP_ANON]: Include fcntl.h.
8551 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8552 (r_alloc, r_re_alloc, r_alloc_free)
8553 (mmap_enlarge, mmap_set_vars): Use it.
8554 (r_alloc_init_fd): New function.
8555 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8556 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8557 malloc type.
8558
8559 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8560 Remove vm-limit.o.
8561
6b7d4ae4
DL
8562 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8563 change to __NetBSD__.
8564
44d31981
KH
85652000-09-08 Kenichi Handa <handa@etl.go.jp>
8566
8567 * search.c (compile_pattern): Check the multibyteness of cached
8568 string and PATTERN.
8569
aad40737
MB
85702000-09-08 Miles Bader <miles@gnu.org>
8571
8572 * xfaces.c (default_face_vector): Function removed.
8573 (Finternal_merge_in_global_face): Restore old global/local
8574 attribute override order. Use inline loop instead of calling
8575 default_face_vector.
8576
91a211b5
GM
85772000-09-07 Gerd Moellmann <gerd@gnu.org>
8578
8579 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8580 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8581 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8582 where necessary, in case POINTER_TYPE is `void'.
8583
03419440
EZ
85842000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8585
8586 * frame.c (make_terminal_frame): Initialize frame foreground and
8587 background colors to unspecified, for the initial instance of an
8588 MSDOS frame.
8589
f46f845b
GM
85902000-09-07 Gerd Moellmann <gerd@gnu.org>
8591
24f76fbf
GM
8592 * ralloc.c (mmap_find): Fix overlap computation.
8593 (mmap_enlarge): Compute nbytes before trying to find an
8594 overlapping region.
8595
f46f845b
GM
8596 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8597 instead of `!='.
8598
8599 * lread.c (syms_of_lread): Change value of regexp
8600 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8601
8602 * xmenu.c (xdialog_show): When looking up the selection in
8603 menu_items, take `quote' boundaries into account; this corresponds
8604 to a nil ITEM in x-popup-dialog.
8605
3c014385
KH
86062000-09-07 Kenichi Handa <handa@etl.go.jp>
8607
fd6f711b
KH
8608 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8609 not 0x81.
8610 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8611
3c014385 8612 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8613 encoding, not decoding. Fix the handling of latin-jisx0201.
8614 Check for the charset katakana-jisx0201 too.
3c014385 8615 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8616 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8617
0da3ecef
GM
86182000-09-07 Gerd Moellmann <gerd@gnu.org>
8619
ab0ee409
GM
8620 * xfaces.c (Vparam_value_alist): New variable.
8621 (syms_of_xfaces): Initialize it.
8622 (Finternal_set_lisp_face_attribute): Avoid more consing.
8623
8624 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8625 specially.
8626 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8627 (Qbackground_mode): New variable.
8628 (syms_of_frame_1): Initialize Qbackground_mode.
8629
8630 * lisp.h (Qdisplay): Declare extern.
1091dd67 8631
0da3ecef
GM
8632 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8633 change face on all frames, and change the default for new frames.
8634
b14654b9
DL
86352000-09-07 Dave Love <fx@gnu.org>
8636
8637 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8638
d24fd56f
KH
86392000-09-07 Kenichi Handa <handa@etl.go.jp>
8640
794f3670
KH
8641 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8642
0fddd0dc
KH
8643 * charset.c: Include composite.h
8644 (lisp_string_width): New function.
8645 (Fstring_width): Call lisp_string_width instead of strwidth.
8646
8647 * Makefile.in (charset.o): Depends on composite.h.
8648
d24fd56f
KH
8649 * process.c (read_process_output): Before inserting the decoded
8650 text in the buffer, adjust the multibyteness.
8651
fa0b693c
GM
86522000-09-06 Gerd Moellmann <gerd@gnu.org>
8653
52283633 8654 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8655 buffer's text buffer is null, map new memory.
8656
0a58f946
GM
8657 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8658 POINTER_TYPE and size_t.
8659 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8660 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8661 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8662 [REL_ALLOC_MMAP]: New macros.
8663 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8664 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8665 [REL_ALLOC_MMAP]: New functions.
8666
8667 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8668 before and after unexec.
8669
8670 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8671 text buffers if necessary.
8672
8673 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8674 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8675 in prototypes.
8676
fa0b693c
GM
8677 * config.in (HAVE_MMAP): Add #undef.
8678
877055f6
GM
86792000-09-05 Gerd Moellmann <gerd@gnu.org>
8680
08ba3862
GM
8681 * frame.c (Qdisplay_type): New variable.
8682 (syms_of_frame_1): Initialize it.
8683 (Fframe_parameter): New function that avoids consing.
8684 (syms_of_frame): Defsubr it.
8685
66ffe51c
GM
8686 * buffer.c (Fother_buffer): Consider buffers as invisible when
8687 they are displayed in a window on an invisible frame.
8688
877055f6
GM
8689 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8690 get-largest-window always return nil.
8691
bb970e67
GM
86922000-09-04 Gerd Moellmann <gerd@gnu.org>
8693
8694 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8695 variable; recognize Emacs 19 elc files.
8696
7a3d0e0e
MB
86972000-09-04 Miles Bader <miles@gnu.org>
8698
8699 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8700 before initially popping up the menu, so the menu doesn't flash
52283633 8701 when the face settings are significantly different from the defaults.
7a3d0e0e 8702
14473664
SM
87032000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8704
8705 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8706 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8707 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8708 (BIT_UNIBYTE): Remove.
8709 (re_match_2_internal): Delete corresponding code and streamline the
8710 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8711 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8712 (re_wctype_t): New type.
8713 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8714 (regex_compile): Use them and fix handling of overly long char classes.
8715
c1174479
AI
87162000-09-03 Andrew Innes <andrewi@gnu.org>
8717
f8803e97
AI
8718 * makefile.w32-in: Change to DOS line endings.
8719
c1174479
AI
8720 * s/ms-w32.h (ORDINARY_LINK): New define.
8721
8722 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8723 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8724
8725 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8726 (distclean): Delete them here instead.
8727
44ef7cf6
AI
8728 * w32proc.c (compare_env): Convert to uppercase for comparison,
8729 not lowercase, to match how the native Windows shell works.
8730
49b3bd82
JR
87312000-09-03 Jason Rumney <jasonr@gnu.org>
8732
8733 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8734 CVS changes the line-ends when checking in/out on DOS/Windows.
8735
8736 * makefile.nt (emacs): Do not change directory to run temacs, as
8737 the load-path is set relative to current directory.
8738
a3d35a39
MB
87392000-09-03 Miles Bader <miles@gnu.org>
8740
8741 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8742
d276b0cf
GM
87432000-09-02 Gerd Moellmann <gerd@gnu.org>
8744
715e84c9
GM
8745 * xdisp.c (redisplay_mode_lines): New function.
8746 (display_mode_lines): Return number of mode lines displayed.
8747 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8748 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8749
8892f40b
GM
8750 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8751 string.h and strings.h.
8752 (index) [HAVE_INDEX]: Add prototype.
8753
d276b0cf
GM
8754 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8755 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8756
8757 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8758 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8759
38404229
GM
87602000-09-01 Gerd Moellmann <gerd@gnu.org>
8761
8762 * lread.c (read1): Accept `?' as symbol constituent, for
8763 compatiblity with XEmacs.
8764
c0f9ea08
SM
87652000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8766
8767 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8768 (struct re_pattern_buffer): Remove newline_anchor.
8769 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8770 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8771 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8772 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8773 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8774 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8775 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8776 Get rid of references to newline_anchor.
8777 (regcomp): Allocate and precompute a fastmap.
8778
8c0f83fe
GM
87792000-08-31 Gerd Moellmann <gerd@gnu.org>
8780
8781 * lread.c (openp): GCPRO local variable `filename'.
8782
4bb91c68
SM
87832000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8784
8785 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8786
8787 * regex.c: Merge some changes from GNU libc. Add prototypes.
8788 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8789 Use memcmp and memcpy instead of bcopy and bcmp.
8790 (init_syntax_once): Use ISALNUM.
8791 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8792 (REG_UNSET_VALUE): Remove. Use NULL instead.
8793 (REG_UNSET, re_match_2_internal): Use NULL.
8794 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8795 New macros.
8796 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8797 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8798 (regex_compile): In handle_interval, return an error rather than try to
8799 unfetch the interval if we can't find the closing brace.
8800 Obey the RE_NO_GNU_OPS syntax bit.
8801 (TOLOWER): New macro.
8802 (regcomp): Use it.
8803 (regexec): Allocate regs.start and regs.end as one block.
8804
5226a931
GM
88052000-08-30 Gerd Moellmann <gerd@gnu.org>
8806
868dd24b
GM
8807 * xdisp.c (echo_area_display): Check display_completed instead
8808 of calling detect_input_pending.
8809
8810 * dispnew.c (update_frame): Only set display_completed here; move
8811 the update_begin and update_end calls here from update_frame_1.
8812 (update_frame_1): Don't set display_completed here, don't call
8813 update_begin/update_end.
8814
5226a931
GM
8815 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8816 instead of store_frame_param.
8817
2a8bd25f
GM
88182000-08-29 Gerd Moellmann <gerd@gnu.org>
8819
8820 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8821 desired window matrix hasn't been displayed, use the current row
8822 instead. Make sure that only those frame rows are updated for
8823 which there exists a corresponding enabled desired row.
52283633 8824
ba3478d9
MB
88252000-08-29 Miles Bader <miles@gnu.org>
8826
8827 * xfaces.c (default_face_vector): New function.
8828 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8829
87d0f685
GM
88302000-08-29 Gerd Moellmann <gerd@gnu.org>
8831
8832 * lread.c (openp): Prevent temporary string passed to
8833 Ffile_readable_p from being garbage collected.
8834
6fa86045
DL
88352000-08-28 Dave Love <fx@gnu.org>
8836
8837 * keymap.c (store_in_keymap): Add `static' to declaration.
8838
bb17930d
GM
88392000-08-28 Gerd Moellmann <gerd@gnu.org>
8840
8841 * emacs.c, callint.c, doc.c, editfns.c
8842 (toplevel) [HAVE_STRING_H]: Include string.h.
8843 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8844 (index): Remove prototypes which might conflict with non-standard
8845 definitions of index/strchr.
8846
8847 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8848 (rindex): Define only if !HAVE_RINDEX.
8849
8850 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8851
8852 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8853
87188200
MB
88542000-08-28 Miles Bader <miles@gnu.org>
8855
8856 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8857 made inconsistent by a font-related attribute in FROM.
8858 (merge_face_inheritance): Add function comment.
8859
41a68aef
KH
88602000-08-28 Kenichi Handa <handa@etl.go.jp>
8861
8862 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8863 the 4th arg (PREV_EVENT) Qt to suppress input method.
8864
f7c436c1
SM
88652000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8866
0b32bf0e
SM
8867 * regex.c: Indent cpp directives and remove parens after `defined'.
8868 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8869 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8870 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8871 (re_compile_pattern): Use size_t for length.
8872 (init_syntax_once): Move to a better place.
8873 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8874 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8875
f7c436c1
SM
8876 * syntax.c (back_comment): Detect cases where a comment-starter is
8877 actually inside another comment as in: /* a // b */ c // d \n.
8878 Make it clear that `comstart_pos' is unused for nested comments.
8879
8880 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8881 (KEYMAPP): New macro.
8882 (Fkeymap_parent, Fset_keymap_parent): Use it.
8883 (fix_submap_inheritance): Mark it static.
8884 (define_as_prefix, describe_buffer_bindings, describe_command)
8885 (describe_translation, describe_map): Complete prototypes.
8886
8887 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8888
8889 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8890 to better match the key-lookup behavior.
8891
6288c62f
GM
88922000-08-27 Gerd Moellmann <gerd@gnu.org>
8893
8894 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8895 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8896
e931344e
EZ
88972000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8898
8899 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8900 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8901 (xterm.o): Depend on coding.h
8902
d10dfeef
KH
89032000-08-26 Kenichi Handa <handa@etl.go.jp>
8904
8905 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8906 the corresponding '#endif'.
8907
2d73e8d3
MB
89082000-08-26 Miles Bader <miles@gnu.org>
8909
8910 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8911 * xfaces.c (QCinherit): New variable.
8912 (syms_of_xfaces): Initialize it.
8913 (LFACE_INHERIT): New macro.
8914 (Finternal_get_lisp_face_attribute)
52283633 8915 (merge_face_vector_with_property)
2d73e8d3
MB
8916 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8917 (check_lface_attrs): Allow new types of face height. Check
8918 inherit attribute.
8919 (CYCLE_CHECK): New macro.
8920 (merge_face_inheritance): New function.
8921 (merge_face_vectors): Merge inherited faces too. Add F and
8922 CYCLE_CHECK arguments.
8923 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8924 (lookup_named_face, lookup_derived_face, realize_named_face)
8925 (face_at_string_position, face_at_buffer_position): Supply
8926 new F and CYCLE_CHECK arguments to merge_face_vectors.
8927 (merge_face_heights): New function.
52283633 8928 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8929 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8930 handle relative face heights.
8931 (lface_same_font_attributes_p): Compare heights using EQ.
8932
6ce974d4
KH
89332000-08-26 Kenichi Handa <handa@etl.go.jp>
8934
8935 * charset.c (char_to_string): Check the character validity.
52283633 8936 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8937
dc1e502d
SM
89382000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8939
8940 * regex.c (PUSH_FAILURE_COUNT): New macro.
8941 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8942 Handle popping of a register's or a counter's data.
8943 (POP_FAILURE_POINT): Use the new name.
8944 (re_match_2_internal): Push counter data on the stack for succeed_n,
8945 jump_n and set_number_at and remove misleading dead code in succeed_n.
8946
bd9d0f3f
GM
89472000-08-25 Gerd Moellmann <gerd@gnu.org>
8948
8949 * xdisp.c (redisplay_internal): If considering all windows on all
8950 frames, update the display for each frame as soon as possible,
8951 instead of first building all desired matrices for all frames, and
8952 then updating them all.
8953 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8954
aa5b8e15
GM
89552000-08-24 Gerd Moellmann <gerd@gnu.org>
8956
17494071
GM
8957 * bytecode.c (mark_byte_stack): Add a comment.
8958
52283633
SM
8959 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8960 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8961 a graphical frame.
8962
c543db81
KH
89632000-08-24 Kenichi Handa <handa@etl.go.jp>
8964
d246d5f5
KH
8965 * minibuf.c (do_completion): Always use compare-string, not
8966 string-equal because the latter doesn't pay attention to
8967 multibyteness of strings.
8968
c543db81
KH
8969 * process.c (create_process): Don't setup raw-text coding here.
8970 (Fopen_network_stream): Don't set coding->src_multibyte and
8971 coding->dst_multibyte here.
8972 (read_process_output): For process filter, return unibyte string
8973 if default-enable-multibyte-characters is nil.
8974 (send_process): If OBJECT is multibyte text, be sure to encoded it
8975 by the specified coding system for the process. Otherwise, setup
8976 raw-text coding.
52283633 8977 (init_process): Don't initialize default-process-coding-system here.
c543db81 8978
9b47cfe0
EZ
89792000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8980
8981 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8982 <scroll-down-aggressively>: Likewise.
8983
f5a36960
KH
89842000-08-23 Kenichi Handa <handa@etl.go.jp>
8985
8986 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8987 zero. Set coding->produced_char correctly.
8988
69a7ffa7
AI
89892000-08-22 Andrew Innes <andrewi@gnu.org>
8990
8991 * makefile.w32-in: New file.
8992
8993 * unexw32.c (unexec): Ignore old_name, and use the actual location
8994 of the current executable instead. Base new_name on this.
8995
8996 * w32proc.c (create_child): Remove reference to security
8997 descriptor, which isn't needed and doesn't compile with mingw32.
8998
8999 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9000 up dllimport attributes.
9001 (x_update_window_end): Update prototype.
9002
9003 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9004 extern, which screws up dllimport attributes.
9005
9006 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9007 up dllimport attributes.
9008
9009 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9010 screws up dllimport attributes.
9011
9012 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9013 up dllimport attributes.
9014 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9015 screws up dllimport attributes.
9016
9017 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9018 up dllimport attributes.
9019
9020 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9021 screws up dllimport attributes.
9022
9023 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9024 screws up dllimport attributes.
9025
9026 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9027 up dllimport attributes.
9028
9029 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9030 unnecessary extern, which screws up dllimport attributes.
9031 (main): Ditto.
9032
9033 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9034 up dllimport attributes.
9035
9036 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9037 unnecessary extern, which screws up dllimport attributes.
9038
9039 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9040 screws up dllimport attributes.
9041
9042 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9043 up dllimport attributes.
9044
9045 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9046
52283633
SM
9047 * w32bdf.c (search_file_line):
9048 (set_bdf_font_info):
9049 (seek_char):
9050 (w32_get_bdf_glyph):
69a7ffa7
AI
9051 (w32_BDF_to_x_font): Fix compile warnings.
9052
52283633 9053 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9054
9055 * w32select.c: Include keyboard.h before frame.h.
9056
9057 * w32fns.c (max): Define macro.
9058 (JOHAB_CHARSET): Define if not known.
9059 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9060 (Fx_show_tip): Synch with X version.
9061
9062 * w32xfns.c: Include keyboard.h before frame.h.
9063
9064 * w32fns.c: Include keyboard.h before frame.h.
9065
9066 * w32term.c: Include keyboard.h before frame.h.
9067
9068 * fontset.c: Include keyboard.h before frame.h.
9069
9070 * w32inevt.c: Include keyboard.h before frame.h.
9071 (MOUSE_MOVED): Define if not known.
9072
9073 * minibuf.c: Include keyboard.h before frame.h.
9074
9075 * keyboard.c: Include keyboard.h before frame.h.
9076
9077 * indent.c: Include keyboard.h before frame.h.
9078
9079 * dispnew.c: Include keyboard.h before frame.h.
9080
9081 * buffer.c: Include keyboard.h before frame.h.
9082
9083 * alloc.c: Include keyboard.h before frame.h.
9084
9085 * print.c: Include keyboard.h before frame.h.
9086
9087 * process.c: Include keyboard.h before frame.h.
9088
9089 * scroll.c: Include keyboard.h before frame.h.
9090
9091 * sysdep.c: Include keyboard.h before frame.h.
9092
9093 * term.c: Include keyboard.h before frame.h.
9094
9095 * window.c: Include keyboard.h before frame.h.
9096
9097 * xdisp.c: Include keyboard.h before frame.h.
9098 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9099
9100 * frame.c: Include keyboard.h before frame.h.
9101
9102 * w32heap.h: Undefine min, max.
9103
9104 * w32gui.h: Undefine min, max.
9105
9106 * unexw32.c: Change PUCHAR to PCHAR.
9107 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9108 (relocate_offset):
9109 (get_section_info):
69a7ffa7
AI
9110 (copy_executable_and_dump_data): Remove unnecessary static defs.
9111 (copy_executable_and_dump_data): Fix compile warnings.
9112
9113 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9114
9115 * w32console.c (min): Define macro.
9116 (clear_frame, write_glyphs): Fix compile warning.
9117
52283633 9118 * w32proc.c (compare_env):
69a7ffa7
AI
9119 (find_child_console): Fix compile warning.
9120
9121 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9122 sys_errlist instead of _sys_errlist.
9123 (get_emacs_configuration_options): New function.
9124
9125 * s/ms-w32.h (sys_nerr): Provide default definition.
9126 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9127 name with _ prepended.
9128 (NSIG): Define if not known.
9129 (get_emacs_configuration): Provide extern declaration.
9130 (get_emacs_configuration_options): Provide extern declaration.
9131 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9132
9133 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9134 (map_w32_filename):
69a7ffa7
AI
9135 (read_unc_volume): Fix compile warning.
9136
9137 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9138 definitions from being used.
9139
9140 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9141
52283633 9142 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9143 (open_unc_volume): Make arg const.
9144
9145 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9146 (read_input_waiting): Remove excess parameter.
9147
9148 * w32.c (init_environment): Call _access.
9149 (check_windows_init_file): Call _close.
9150 (init_user_info): Call _putenv.
9151 (init_environment): Call _putenv and _strdup.
9152 (init_ntproc): Reset volume info cache on startup.
9153
9154 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9155 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9156 cannot override the CRT malloc.
9157
9158 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9159 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9160
9161 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9162 unless we are linking with a static CRT.
9163 (RVA_TO_PTR): Cast result to unsigned char*.
9164
9165 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9166 (add_volume_info): Use xstrdup.
9167
25060080
SM
91682000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9169
9170 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9171 (do_completion, Fminibuffer_complete_word): Use it.
9172 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9173 var so it can take non-boolean values.
9174
6917e6bb
GM
91752000-08-21 Gerd Moellmann <gerd@gnu.org>
9176
acb7cc89 9177 * editfns.c (find_field): Formatting changes.
52283633 9178 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9179 changed to prototypes, some new protypes added, some functions
9180 made static.
9181
9182 * lisp.h (set_time_zone_rule): Add prototype.
9183 (use_dialog_box): External declaration.
9184
0bbfdc25
GM
9185 * keyboard.c (gen_help_event): Add parameter SIZE.
9186 (kbd_buffer_events_waiting): Slightly rewritten.
9187 (clear_event): New function.
9188 (kbd_buffer_get_event): Use it, and clear the input_events of
9189 HELP_EVENTs.
9190 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9191 don't fill the newly created array with nils.
9192 (toplevel): Convert some old-style function forward declarations
9193 to prototypes.
9194
9195 * keyboard.h (gen_help_event): Change prototype.
9196
9197 * xterm.c (XTread_socket): Change calls to gen_help_event.
9198
9199 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9200
6917e6bb
GM
9201 * eval.c (Fmacroexpand): Doc fix.
9202
e5cd3d11
JR
92032000-08-20 Jason Rumney <jasonr@gnu.org>
9204
9205 * w32term.h (x_display_info_for_display): Remove as this function
9206 does not exist on W32.
9207
9208 * w32term.c (help_echo_window): New variable.
9209 (syms_of_w32term): staticpro it.
9210 (note_mode_line_highlight): Set it.
9211 (XTextExtents16): Removed as there is no equivalent on W32.
9212 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9213 the X way of doing this will not work for W32.
9214 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9215 (x_draw_image_foreground): Avoid drawing outside of the clip area
9216 when image doesn't have a mask.
9217 (note_mouse_highlight): Process overlays in the right order of
9218 priority. Set help_echo_window.
9219 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9220 because that's more visible for large images.
9221
9222 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9223 name to single_keymap_panes.
9224 (w32_menu_show): Set wv->title when dealing with titles.
9225 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9226
6e69ab8c
MB
92272000-08-21 Miles Bader <miles@gnu.org>
9228
9229 * minibuf.c (do_completion): Try again if we rewrite the input
9230 string, but no completion was done, so that any completion message
9231 will be correct.
9232
511bd4eb
GM
92332000-08-20 Gerd Moellmann <gerd@gnu.org>
9234
9235 * xfaces.c (lface_equal_p): Compare strings differently.
9236 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9237 (realize_tty_face): Use them.
9238 (syms_of_xfaces): Initialize new variables.
9239 (map_tty_color): New function, extracted from realize_tty_face.
9240 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9241 foreground or background color, store the new color name in the
9242 realized face; previous code trying to do this had no effect.
9243 (realize_tty_face): Use map_tty_color.
9244 (Fclear_face_cache): Set face_change_count and ensure thorough
9245 redisplay.
9246
1433385f
GM
92472000-08-19 Gerd Moellmann <gerd@gnu.org>
9248
511bd4eb
GM
9249 * undo.c (record_first_change, record_marker_adjustment): Don't
9250 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9251
419ac0a2
KH
92522000-08-18 Kenichi Handa <handa@etl.go.jp>
9253
9254 * coding.c (decode_coding_string): Set members consumed,
9255 consumed_char, produced, produced_char of *coding correctly. If
9256 decode_coding doesn't consume any byte, don't try anymore.
9257 (encode_coding_string): Likewise.
9258
7eb9e30d
GM
92592000-08-18 Gerd Moellmann <gerd@gnu.org>
9260
511bd4eb
GM
9261 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9262 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9263
9264 * xdisp.c (redisplay_internal): Compare windows for equality with
9265 EQ, instead of applying XWINDOW to something that might not
9266 be a window.
52283633 9267
dd34a735
KH
92682000-08-18 Kenichi Handa <handa@etl.go.jp>
9269
9270 * fontset.c (Finternal_char_font): Search only the selected frame
9271 for a window of the current buffer.
9272
385ff9e3
GM
92732000-08-18 Gerd Moellmann <gerd@gnu.org>
9274
511bd4eb 9275 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9276 Lisp_Objects.
9277
385ff9e3
GM
9278 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9279 second half of a HELP_EVENT is found at the start of kbd_buffer.
9280
d6abb4c7
MB
92812000-08-18 Miles Bader <miles@gnu.org>
9282
4618074a
MB
9283 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9284
d6abb4c7
MB
9285 * editfns.c (save_restriction_save): Rewrite to use markers.
9286 (save_restriction_restore): Rewrite to understand new form of data
9287 saved by save_restriction_save.
9288 (Fsave_restriction): Remove cautionary note in doc-string.
9289
a7b28523
GM
92902000-08-17 Gerd Moellmann <gerd@gnu.org>
9291
9292 * fileio.c (build_annotations): Add a comment explaining the
9293 return value of format-annotate-function. Replace a spurious call
9294 to Flength with a CONSP test. Call format-annotate-function with
9295 a fifth arg specifying how many times the function is been called
9296 in a row, to let it choose temporary buffers appropriately.
9297
03c9ed77
DL
92982000-08-17 Dave Love <fx@gnu.org>
9299
9300 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9301 declare make_temp_name twice.
9302
52283633 9303 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9304 (unreadpure): Give it an arg.
9305
9306 * unexalpha.c: Prototype fatal_unexec, mark_x,
9307 update_dynamic_symbols. Declare unexec as void.
9308
9309 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9310 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9311
9312 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9313 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9314
9315 * alloca.c: Use #error.
9316 [POINTER_TYPE]: Use it.
9317
9318 * eval.c (Fdefvar): Doc fix.
9319
9320 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9321 INITIALIZE_INTERVAL.
9322
9323 * buffer.h: Avoid DECLARE_INTERVALS.
9324
9325 * config.in: Add size_t.
9326
aae41d97
EZ
93272000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9328
9329 * w16select.c (set_clipboard_data): If there's not enough memory
9330 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9331 expects. In case of other failures, return 3.
9332 (system_error_msg): New error message.
9333 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9334 system_error_msg.
9335
65aa5e85
GM
93362000-08-16 Gerd Moellmann <gerd@gnu.org>
9337
9338 * term.c (write_glyphs): Also turn off inverse video after turning
9339 off other appearances in case TS_exit_attribute_mode is not equal
9340 to TS_end_standout_mode.
9341 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9342 with the same face.
9343 (turn_off_face): Reset standout_mode only if
9344 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9345 is equal to TS_end_standout_mode.
9346
ece23901
KH
93472000-08-16 Kenichi Handa <handa@etl.go.jp>
9348
9d7bcb2e
KH
9349 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9350 sequence at the end of the source block.
9351
ece23901
KH
9352 * ccl.c (Fccl_program_p): Docstring modified.
9353 (Fccl_execute): Likewise.
9354 (Fccl_execute_on_string): Likewise.
9355
5e30eaa2
EZ
93562000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9357
9358 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9359
290602fd
KH
93602000-08-16 Kenichi Handa <handa@etl.go.jp>
9361
9362 The following changes are mainly to fix bugs of
9363 encode/decode-coding-string failing if encoding/decoding return
9364 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9365 variable conversion_buffer.
9366
9367 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9368 decrement dst_end to avoid buffer overflow in the later call of
9369 string_as_multibyte
9370
9371 * coding.h (conversion_buffer_size, conversion_buffer)
9372 (get_conversion_buffer): Extern deleted.
9373
9374 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9375 (conversion_buffer, conversion_buffer_size): Variables deleted.
9376 (get_conversion_buffer): Function deleted.
9377 (struct conversion_buffer): New structure.
9378 (MAX_ALLOCA): New macro.
9379 (allocate_conversion_buffer): New macro.
9380 (extend_conversion_buffer, free_conversion_buffer): New functions.
9381 (ccl_coding_driver): Set coding->result.
9382 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9383 this is the last block of source.
9384 (encode_coding): Likewise. Handle the source block as the last
9385 one only when the whole source text is consumed.
9386 (decode_coding_string): Handle the case that the output buffer is
9387 too small to decode the whole source text. Use
9388 allocate_conversion_buffer, extend_conversion_buffer and
9389 free_conversion_buffer, not get_conversion_buffer.
9390 (encode_coding_string): Likewise.
9391 (init_coding): Function deleted.
52283633 9392 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9393
9394 * emacs.c (main): Don't call init_coding.
9395
52283633 9396 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9397
9398 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9399 (insert_glyphs): Likewise.
9400
9401 * w32console.c (write_glyphs): Use a locally declared
9402 conversion_buffer.
9403
b9f80d41
EZ
94042000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9405
9406 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9407 member of display_info is NULL.
9408
32dc52f7
GM
94092000-08-15 Gerd Moellmann <gerd@gnu.org>
9410
52283633 9411 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9412
32dc52f7 9413 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9414 appearances with capability `me'.
32dc52f7
GM
9415 (write_glyphs): Switch on inverse video before each face change.
9416
4eb22d33
DL
94172000-08-14 Dave Love <fx@gnu.org>
9418
9419 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9420 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9421 (lisp_free): Declare and make static.
9422
9423 * window.c: Fix embedded comment.
9424 (syms_of_window): Fix doc string.
9425
90cbf47e
GM
94262000-08-14 Gerd Moellmann <gerd@gnu.org>
9427
52283633 9428 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9429 make sure to print `C-' before `M-', like in the manual.
9430
440fc135
GM
94312000-08-11 Gerd Moellmann <gerd@gnu.org>
9432
9433 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9434 since they aren't relocated anymore.
52283633 9435 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9436
9437 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9438 partially visible line which is smaller than the window's height.
440fc135 9439
6e264fad
KH
94402000-08-11 Kenichi Handa <handa@etl.go.jp>
9441
9442 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9443 the multibyte form of eight-bit-control characters.
6e264fad
KH
9444 (Fccl_execute_on_string): Initialize ccl->multibyte.
9445
9446 * ccl.h (struct ccl_program): New member multibyte.
9447
9448 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9449
c371f69a
KH
94502000-08-11 Kenichi Handa <handa@etl.go.jp>
9451
9452 * regex.c (regex_compile) <normal_char>: Pay attention to
9453 multibyteness.
9454 (analyse_first) <exactn>: Setup fastmap correctly for
9455 eight-bit-control characters.
9456
94572000-08-11 Kenichi Handa <handa@etl.go.jp>
9458
52283633 9459 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9460
9461 * keyboard.c (make_lispy_event): Handle the new event type
9462 multibyte_char_keystroke.
9463
9464 * xterm.c: Include coding.h.
9465 (XTread_socket): Work around a bug of XmbLookupString. If the
9466 input is from XIM, decode it according to the current locale. In
9467 that case, generate multibyte_char_keystroke events.
9468
b8ddbe71
KH
94692000-08-11 Kenichi Handa <handa@etl.go.jp>
9470
9471 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9472 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9473
47589c8c
GM
94742000-08-10 Gerd Moellmann <gerd@gnu.org>
9475
9476 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9477 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9478 (move_it_in_display_line_to): Record iterator's ascent and descent
9479 before producing glyphs, and restore them when we know the glyph
9480 doesn't fit on the line.
9481 (move_it_to): Restructured so that it's easier to debug. If
9482 moving to a vpos, and not moving to an x or character position,
9483 stop as soon as the specified vpos is reached; don't move further
9484 into that line because that might change the computed line height.
9485 (try_cursor_movement): New function, extracted from the cursor
9486 movement branch of redisplay_window. If ending on a partially
9487 visible line, don't try to scroll if the cursor line is taller
9488 than the window.
9489 (redisplay_window): Use try_cursor_movement.
9490
9491 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9492 because that function doesn't cope with variable-height lines.
9493
9494 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9495 box cursor because that's better visible for large images.
52283633 9496
c51bacd6
MB
94972000-08-10 Miles Bader <miles@gnu.org>
9498
9499 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9500
bea56df7
GM
95012000-08-10 Gerd Moellmann <gerd@gnu.org>
9502
9503 * xdisp.c (Vmessages_buffer_name): New variable.
9504 (message_dolog): Use it.
9505 (syms_of_xdisp): Initialize it.
9506
99cd7364
EZ
95072000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9508
52283633 9509 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9510 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9511 redundant now that keyboard.h is included.
9512
7d093d56
EZ
95132000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9514
9515 * keyboard.c (kbd_buffer_events_waiting): New function.
9516
9517 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9518
9519 * msdos.c: Include keyboard.h.
9520 (XMenuActivate): Empty no_event events from the event buffer. If
9521 no events are left after that, call clear_input_pending.
9522 (mouse_clear_clicks): New function, code moved from mouse_init.
9523 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9524 mouse driver to ``forget'' any past clicks.
9525
9526 * Makefile.in (msdos.o): Depend on keyboard.h.
9527
41e757a6
GM
95282000-08-09 Gerd Moellmann <gerd@gnu.org>
9529
8e7bd231
GM
9530 * lisp.h (input_pending): External declaration.
9531
9532 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9533
8e7bd231
GM
9534 * xdisp.c (echo_area_display): Display thoroughly if input is
9535 pending. Bind redisplay-dont-pause to t during the redisplay.
9536 in case input is pending.
9537
9538 * dispnew.c (Qredisplay_dont_pause): New variable.
9539 (syms_of_display): Initialize and staticpro it.
9540 (update_frame_1): Don't interrupt the display for pending input if
9541 redisplay_dont_pause is set.
52283633 9542
43028b7e
GM
9543 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9544
41e757a6
GM
9545 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9546
2f2174fa
KH
95472000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9548
9549 * callproc.c (Fcall_process): Terminate the unwind-protect around
9550 the post-read-conversion of coding system.
9551
0a6fd67e
MB
9552 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9553 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9554 * buffer.h (overlays_at): Update prototype.
9555 * xdisp.c (next_overlay_change): Update call to overlays_at.
9556 * xfaces.c (face_at_buffer_position): Likewise.
9557 * textprop.c (Fget_char_property): Likewise.
9558 * xterm.c (note_mouse_highlight): Likewise.
9559
0c80756e
MB
9560 * minibuf.c (do_completion): Don't consider a simple change of
9561 case as `completion'.
9562
975f250a
KR
95632000-08-08 Ken Raeburn <raeburn@gnu.org>
9564
52283633 9565 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9566 * undo.c (record_delete): Make sure last_point_position_buffer is
9567 a buffer before comparing pointers.
9568
9569 * coding.h (decode_coding_string): Declare.
9570
9571 * intervals.h (Fprevious_single_char_property_change): Declare.
9572
9573 * textprop.c (Fprevious_single_char_property_change): Don't do
9574 arithmetic directly on lisp objects.
9575
52283633 9576 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9577
9578 * keyboard.h (menu_item_eval_property): Declare.
9579
9580 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9581 reuse as buffer name, instead of recreating (and discarding) every
9582 time a message is logged.
9583 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9584 (current_message_1, truncate_message_1, set_message_1)
9585 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9586 (current_message, truncate_echo_area, display_echo_area)
9587 (resize_echo_area_axactly): Changed calls.
b347b3fd 9588
975f250a 9589 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9590 Lisp object.
975f250a 9591 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9592 must be an integer, not a Lisp object.
975f250a 9593
46dc9912
KH
95942000-08-08 Kenichi Handa <handa@etl.go.jp>
9595
9596 * charset.c (Fchar_width): Doc fix.
9597
9f6d1a6c
GM
95982000-08-08 Gerd Moellmann <gerd@gnu.org>
9599
9600 * charset.c (Fstring_width): Doc fix.
9601
ff3d9573
GM
96022000-08-07 Gerd Moellmann <gerd@gnu.org>
9603
41e757a6 9604 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9605 line, clear ascent and descent members of the iterator structure;
9606 the height of the continued line does not affect the height of the
9607 continuation line.
9608 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9609 line taller than the window.
9610 (redisplay_window) <forced window start>: Handle case that the
9611 middle of the window is not found in any row.
9612 (dump_glyph_row): Show more information.
9613 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9614 first text line in a glyph matrix.
9615
9616 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9617 of the clip area when image doesn't have a mask.
9618
70fc58b3
GM
9619 * fns.c (sweep_weak_table): Fix survival conditions for
9620 key-or-value and key-and-value weakness.
9621
9622 * .gdbinit (xhashtable): New command.
9623
ac0e96ee
GM
9624 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9625 tables out of the list of all weak hash tables.
9626
ff3d9573
GM
9627 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9628 a new buffer is created, make sure echo_area_buffer[] references
9629 the new buffer.
9630
e0d8827b
EZ
96312000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9632
9633 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9634 the doc string.
9635
c6f35378
KH
96362000-08-07 Kenichi Handa <handa@etl.go.jp>
9637
9638 * syntax.c (skip_chars): Fix previous change. Make the handling
9639 of unibyte string consistent with that of regex search.
9640
1fd4c450
GM
96412000-08-05 Gerd Moellmann <gerd@gnu.org>
9642
e49aa397
GM
9643 * xmenu.c (popup_get_selection): Use xfree instead of free.
9644
9645 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9646
9647 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9648
9649 * callproc.c (child_setup): Use xfree instead of free.
9650
9651 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9652 instead of malloc.
9653 (run_mac_command, closedir): Use `xfree' instead of `free'.
9654
9655 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9656
9657 * eval.c (error): Use xfree instead of free.
9658
1fd4c450
GM
9659 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9660
9661 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9662 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9663
82d497fc
KH
96642000-08-05 Kenichi Handa <handa@etl.go.jp>
9665
9666 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9667 conversion.
9668
59f953a2
NF
96692000-08-04 Noah Friedman <friedman@splode.com>
9670
9671 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9672 docstring.
9673
688351f2
GM
96742000-08-04 Gerd Moellmann <gerd@gnu.org>
9675
9676 * syntax.c (skip_chars): Fix typo in error message.
9677
2dad51cc
AS
96782000-08-04 Andreas Schwab <schwab@suse.de>
9679
9680 * m/ia64.h: Moved from s/ia64.h.
9681
99bb2c60
KH
96822000-08-04 Kenichi Handa <handa@etl.go.jp>
9683
082a1df2
KH
9684 * process.c (read_process_output): Big simplification. Handle
9685 composition and post-read-conversion of coding system correctly.
9686 (send_process): Handle composition correctly.
9687
9688 * callproc.c (Fcall_process): Handle post-read-conversion of
9689 coding system if any.
9690
99bb2c60
KH
9691 * coding.c (decode_coding_iso2022): More strict check for handling
9692 single shifting.
082a1df2
KH
9693 (coding_restore_composition): Pay attention to the case that
9694 cmp_data is not set properly (because of invalid code in the
9695 source text).
9696 (run_pre_post_conversion_on_str): Include text properties in the
9697 resulting string.
9698 (decode_coding_string): Set members of coding correctly.
99bb2c60 9699
f4988be7
GM
97002000-08-03 Gerd Moellmann <gerd@gnu.org>
9701
9702 * s/ia64.h: New file.
9703
9704 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9705 Use NULL instead of 0 at the end of variable argument list of
9706 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9707 sizeof (int) < sizeof (void *).
9708
9709 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9710 of variable argument lists of XtVaGetValues and XtVaSetValues.
9711
9712 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9713 variable argument lists of XtVaGetValues and XtVaSetValues.
9714
ead53494
GM
97152000-08-02 Gerd Moellmann <gerd@gnu.org>
9716
9717 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9718 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9719
9720 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9721 prototype.
9722
9723 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9724 in call to Fsingle_key_description.
9725
9726 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9727 Callers changed.
9728
97292000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9730
9731 * window.c (display_buffer_reuse_frames): New variable.
9732 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9733 frames displaying BUFFER.
52283633 9734 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9735
10b0f752
MB
97362000-08-01 Miles Bader <miles@gnu.org>
9737
9738 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9739 when to constrain NEW_POS (they were pretty screwed up before).
9740
16425c4a
EZ
97412000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9742
9743 * msdos.c (run_msdos_command): Save and restore the master
9744 environment, for the case that child_setup signals an error.
9745 When mirroring slashes in DOS shell commands, don't fail when
9746 argv[2] has embedded blanks.
da288c14
EZ
9747 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9748 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9749 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9750
9751 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9752 using alloca; free it after run_msdos_command returns.
9753
27f73852
DL
97542000-07-27 Dave Love <fx@gnu.org>
9755
52283633
SM
9756 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9757 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9758
9759 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9760
c0261b5e
EZ
97612000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9762
9763 * editfns.c (lisp_time_argument): Fix last change.
9764
b548072f
GM
97652000-07-27 Gerd Moellmann <gerd@gnu.org>
9766
3ab82477
GM
9767 * fns.c (Fdelete): Make it work on vectors and strings in addition
9768 to lists.
9769
b548072f
GM
9770 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9771 (syms_of_fns): Initialize new variables.
52283633 9772 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9773 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9774 weakness, with t meaning the same as `key-and-value'.
9775
91ae8751
KH
97762000-07-27 Kenichi Handa <handa@etl.go.jp>
9777
9778 * coding.h (struct coding_system): Member safe_charset deleted.
9779
9780 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9781 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9782 New variables.
91ae8751
KH
9783 (coding_safe_chars): New function.
9784 (CODING_SAFE_CHAR_P): New macro.
9785 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9786 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9787 (detect_coding_iso2022): New local variable safe_chars.
9788 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9789 safe_charsets member of the coding system.
9790 (decode_coding_iso2022): New local variable safe_chars.
9791 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9792 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9793 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9794 (ENCODE_UNSAFE_CHARACTER): New macro.
9795 (encode_coding_iso2022): New local variable safe_chars. Check
9796 unsafe chars.
9797 (setup_coding_system): Delete the code to initialize
9798 coding->safe_charses
9799 (intersection, find_safe_codings): New functions.
9800 (Ffind_coding_systems_region_internal): New function.
9801 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9802 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9803 variable and initialize it.
9804
9805 * fns.c (char_table_ref_and_index): New function.
9806
9807 * lisp.h (char_table_ref_and_index): Add prototype.
9808
34a7a267
SS
98092000-07-26 Sam Steingold <sds@gnu.org>
9810
9811 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9812 (Ffloat_time): New built-in Lisp function.
34a7a267 9813
a95cb10a
GM
98142000-07-26 Gerd Moellmann <gerd@gnu.org>
9815
3353ef5a
GM
9816 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9817 for the character code.
9818
9819 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9820 GNU/Linux.
9821
a95cb10a
GM
9822 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9823 if called for a popup menu.
9824 (xmenu_show): Store help string in widget values.
9825
b4a12321
DL
98262000-07-26 Dave Love <fx@gnu.org>
9827
9828 * syswait.h: Move some definitions.
9829 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9830 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9831 perspicuous definitions.
9832 (WTERMSIG): Fix bit pattern used.
9833
13f5ad37
KH
98342000-07-26 Kenichi Handa <handa@etl.go.jp>
9835
9836 * print.c (print_object): If vector printing is truncated, print
9837 "..." to indicate it as well as the case of list printing.
9838
070fe99c
GM
98392000-07-25 Gerd Moellmann <gerd@gnu.org>
9840
969065c3
GM
9841 * xdisp.c (next_element_from_display_vector): Improve comments.
9842
9843 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9844 for the character code, and the rest for the face id as in 20.x.
9845 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9846
9847 * window.c (window_display_table): Cleaned up.
9848
070fe99c
GM
9849 * syntax.c (Fforward_word): Add last arg nil in call of
9850 Fconstrain_to_field.
9851
bad77ef7
EZ
98522000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9853
969065c3 9854 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9855 identical but for the letter-case, don't call
9856 barf_or_query_if_file_exists.
bad77ef7 9857
c28da489
MB
98582000-07-25 Miles Bader <miles@gnu.org>
9859
9860 * editfns.c (find_field): Honor special `boundary' fields.
9861 (Qboundary): New variables.
9862 (syms_of_editfns): Initialize Qboundary.
9863 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9864 Use scan_buffer instead of find_before_next_newline, because it
9865 allows us to detect the boundary case where there's a newline at
9866 the search limit.
9867 * lisp.h (Fconstrain_to_field): Update external declaration.
9868
e3c31fd5
GM
98692000-07-24 Gerd Moellmann <gerd@gnu.org>
9870
9871 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9872 if that is nil.
c28da489 9873
c66c29a2
DL
98742000-07-24 Dave Love <fx@gnu.org>
9875
9876 * s/sunos4-0.h, s/sol2.h:
9877 (LIBS_TERMCAP): Move from m/sparc.h.
9878
9879 * m/sparc.h (TERMINFO): Moved to system files (probably only
9880 relevant for sunos4 judging by its vintage).
9881 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9882 __arch64__.
9883
fbe0a958
EZ
98842000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9885
9886 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9887 name to single_keymap_panes.
9888
7d88e5c9
AS
98892000-07-24 Andreas Schwab <schwab@suse.de>
9890
9891 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9892
e024b101
GM
98932000-07-24 Gerd Moellmann <gerd@gnu.org>
9894
9895 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9896 parameters instead of using int parameters. Expect FN to accept
9897 EMACS_INT parameters.
9898 (display_echo_area, resize_echo_area_axactly, current_message)
9899 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9900 with new argument list.
9901 (resize_mini_window_1): New callback function.
9902 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9903 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9904
25c1a9ce
KH
99052000-07-24 Kenichi Handa <handa@etl.go.jp>
9906
9907 * fontset.c (fontset_ref): Remove INLINE declaration.
9908 (fontset_ref_via_base): Likewise.
9909 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9910 to downcase.
9911
7f987ac0
EZ
99122000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9913
9914 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9915 correct order of priority. If help echo was found in an overlay,
9916 use that overlay as the object in which the help echo was found.
9917
e2db3069
MB
99182000-07-22 Miles Bader <miles@gnu.org>
9919
9920 * textprop.c (Fprevious_single_char_property_change): The initial
9921 property value should be from the position preceding POSITION, not
9922 following it.
9923
5e3203e4
EZ
99242000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9925
9926 * coding.c (syms_of_coding): Doc fix for
9927 inhibit-iso-escape-detection.
9928
62145073
GM
99292000-07-21 Gerd Moellmann <gerd@gnu.org>
9930
c20aeb83
GM
9931 * xterm.c (note_mouse_highlight): Process overlays in the right
9932 order of priority.
34a7a267 9933
743934db
GM
9934 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9935
9936 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9937 overlay, use that overlay as the object in which the help was found.
743934db 9938
d1dc7e43 9939 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9940
62145073
GM
9941 * window.c (foreach_window): Instead of a fake variable argument
9942 list, take one USER_DATA argument.
9943 (foreach_window_1): Likewise, and call callback functions with two
9944 args, the window and USER_DATA.
9945 (struct check_window_data): New struct.
9946 (check_window_containing): Use it.
9947 (window_from_coordinates): Set up a struct check_window_data for
9948 foreach_window.
9949 (add_window_to_list, freeze_window_start): Change parameters
9950 according to new calling convention.
9951
9952 * window.h (foreach_window): Change prototype.
9953
9954 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9955
99562000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9957
9958 * xmenu.c (menu_help_callback): Call show_help_echo with
9959 additional arguments OBJECT and POS.
9960
11270583
KH
99612000-07-21 Kenichi Handa <handa@etl.go.jp>
9962
07b14857
KH
9963 * data.c (Faset): Allow storing any multibyte character in a
9964 string. Convert unibyte string to multibyte if necessary.
9965
11270583
KH
9966 * xfns.c (x_encode_text): New function.
9967 (x_set_name): Use x_encode_text.
9968 (x_set_title): Likewise.
9969
9970 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9971
9972 * xterm.h (x_encode_text): Add prototype.
9973
bc75b4fd
DL
99742000-07-20 Dave Love <fx@gnu.org>
9975
9976 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9977 xfree, not free.
9978
48c14970
EZ
99792000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9980
9981 * msdos.c (help_echo_window): New variable.
9982 (syms_of_msdos): Initialize and staticpro it.
9983 (IT_note_mode_line_highlight): Set help_echo_window.
9984 (IT_note_mouse_highlight): Ditto.
9985 (dos_rawgetc): Store help_echo_window in the second event produced
9986 for HELP_EVENTs.
9987
9988 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9989 Record the object that generated the help echo and the position of
9990 that object in help_echo_object and help_echo_pos. Record that
9991 some glyphs in a row are displayed in mouse-face.
9992 (IT_update_begin): Don't clear mouse highlight unless one of the
9993 enabled glyph rows is marked as being displayed in mouse-face.
9994 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9995 and position recorded in help_echo_object and help_echo_pos to the
9996 event queue.
9997 (IT_menu_display): Accept a new argument PN: the pane number of
9998 the current menu pane. Record the pane number and the item
9999 number of the item which has associated help string.
10000 (XMenuActivate): Update the prototype for help_callback in
10001 function declaration. Call IT_menu_display with the current menu
10002 pane number as an additional argument. Call help_callback with
10003 two additional arguments: the pane number and the item number of
10004 the menu item associated with the help text.
10005 (help_echo_object, help_echo_pos): New variables.
10006 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10007
10008 * msdos.h (XMenuActivate): Update prototype.
10009
4279296d
GM
100102000-07-19 Gerd Moellmann <gerd@gnu.org>
10011
47db06aa
GM
10012 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10013 Add some more prototypes.
10014
10015 * xterm.c, xterm.h: Add some more prototypes.
10016
10017 * lisp.h (Fnext_single_char_property_change): Add prototype.
10018
10019 * dispnew.c (direct_output_for_insert): Remove confusing
10020 outer local variable mouse_face_overwritten_p.
10021 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10022
4279296d
GM
10023 * alloc.c (allocate_string_data): Don't copy old string contents.
10024
670acd62
KH
100252000-07-19 Kenichi Handa <handa@etl.go.jp>
10026
10027 * coding.c (code_convert_region): Delete text properties before
10028 shrinking the conversion region.
10029
7cea38bc
GM
100302000-07-18 Gerd Moellmann <gerd@gnu.org>
10031
dc1cac59
GM
10032 * dispnew.c (update_text_area): Write the whole row if it
10033 has mouse-face in it.
10034
85a8aca9
GM
10035 * xfaces.c (face-alternative-font-family-alist): Remove
10036 DEFVAR_LISP; staticpro instead.
10037
34a7a267 10038 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10039 new arguments.
10040
10041 * keyboard.c (show_help_echo): Add parameter WINDOW.
10042 (read_char): Call show_help_echo with window extracted from Lisp
10043 help event.
10044 (gen_help_event): Add parameter WINDOW.
10045
10046 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10047
10048 * xterm.c (help_echo_window): New variable.
52283633 10049 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10050 (XTread_socket): Pass help_echo_window to gen_help_event.
10051 (syms_of_xterm): Initialize and staticpro help_echo_window.
10052
f8276b77
DL
100532000-07-18 Dave Love <fx@gnu.org>
10054
52283633 10055 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10056
088831a6
GM
100572000-07-18 Gerd Moellmann <gerd@gnu.org>
10058
3d6cd763
GM
10059 * alloc.c (allocate_string_data): If string had already data
10060 assigned, copy old contents to new string data.
10061
10062 * coding.c (syms_of_coding): Fix typo in spelling of variable
10063 `inhibit-iso-escape-detection'.
10064
088831a6
GM
10065 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10066
10067 * Makefile.in: Add dependencies on dispextern.h.
10068 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10069 `free'; both can conflict with system header files.
10070
bc8a8d55
KH
100712000-07-18 Kenichi Handa <handa@etl.go.jp>
10072
10073 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10074 undefined.
10075
069f5950
DL
100762000-07-18 Dave Love <fx@gnu.org>
10077
10078 * window.c (Fwindow_list): Declare arg `window'.
10079
aa96c820
KH
100802000-07-18 Kenichi Handa <handa@etl.go.jp>
10081
10082 * coding.c (setup_coding_system): Don't override the explicitly
10083 specified designations.
10084
06be8d32
MB
100852000-07-15 Miles Bader <miles@gnu.org>
10086
10087 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10088 from `text_property_eq' and `text_property_stickiness', respectively.
10089 (find_field, Fconstrain_to_field, char_property_eq)
10090 (char_property_stickiness): Changed to call char-property functions
10091 instead of text-property-only ones.
10092
10093 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10094 `next_single_char_property_change'). Do more error checking, and
10095 cleanup limit behavior.
10096 (Fprevious_single_char_property_change): New function.
10097 (syms_of_textprop): Initialize new subrs.
10098
10099 * xdisp.c (display_prop_end, invisible_text_between_p):
10100 Call Fnext_single_char_property_change instead of
10101 next_single_char_property_change.
10102
3fddcdc3
JR
101032000-07-15 Jason Rumney <jasonr@gnu.org>
10104
10105 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10106 after menu is finished with.
10107 (add_menu_item): Only consider wv->title as a menu title.
10108 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10109
10110 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10111 null title.
10112 (FONT_REGEXP): Remove unused macro, and its sub-components.
10113 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10114
10115 * w32term.c (help_echo_object, help_echo_pos): New variables.
10116 (note_mode_line_highlight): Store additional information about the
10117 help-echo in help_echo_object and help_echo_pos. Check both
10118 `local-map' and `keymap' properties for changing the cursor
10119 (note_mouse_highlight): Store additional information about the
10120 help-echo in help_echo_object and help_echo_pos.
10121 (note_tool_bar_highlight): Set help_echo_object to nil and
10122 help_echo_pos to -1.
10123 (w32_read_socket): Use gen_help_event instead of filling
10124 input_events manually.
10125 (syms_of_w32term): Staticpro help_echo_object.
10126 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10127 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10128 (x_clear_mouse_face): New function.
10129 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10130 (x_update_window_begin): No need to turn off the mouse
10131 highlight here.
10132 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10133 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10134 (x_fill_stretch_glyph_string): Consume runs of stretch
10135 glyphs instead of a single one.
10136 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10137 with new argument list.
10138 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10139 (x_append_glyph, x_append_composite_glyph)
10140 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10141 changes in struct glyph starting 1999-12-27. See comments for
10142 xterm.c on 2000-07-05.
10143
178c5d9c
SS
101442000-07-14 Sam Steingold <sds@gnu.org>
10145
10146 * xfaces.c (realize_x_face): Fix the last patch:
10147 check `default_face' before dereferencing.
10148
6fe533f6
DL
101492000-07-14 Dave Love <fx@gnu.org>
10150
069f5950 10151 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10152
dd7b81cf
KH
101532000-07-14 Kenichi Handa <handa@etl.go.jp>
10154
0693904a 10155 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10156 default_face's fontset, not using the default fontset.
0693904a 10157
dd7b81cf
KH
10158 * coding.c (inhibit_iso_escape_detection): New variable.
10159 (syms_of_coding): Make it a Lisp variable.
10160 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10161 nonzero, ignore ISO2022's escape sequence.
10162
d5aa31d8
GM
101632000-07-14 Gerd Moellmann <gerd@gnu.org>
10164
e5acf0ca
GM
10165 * alloca.c (malloc) [emacs]: Define as xmalloc.
10166
bd23a692
GM
10167 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10168 use that instead of the mouse position. Add parameters DX and DY.
10169
10170 * dispextern.h (Fx_show_tip): Adjust number of parameters
10171 in prototype.
10172
9662da0b
GM
10173 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10174 if HELP is a function, call it with OBJECT and POS as parameters
10175 to get the help to display.
10176 (gen_help_event, kbd_buffer_store_help_event): New functions.
10177 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10178 (read_char): Call show_help_echo with new parameters.
10179
178c5d9c 10180 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10181 Add prototypes.
10182
10183 * xterm.c (help_echo_object, help_echo_pos): New variables.
10184 (note_mode_line_highlight): Store additional information about the
10185 help-echo in help_echo_object and help_echo_pos. Check both
10186 `local-map' and `keymap' properties for changing the cursor
10187 (note_mouse_highlight): Store additional information about the
10188 help-echo in help_echo_object and help_echo_pos.
10189 (note_tool_bar_highlight): Set help_echo_object to nil and
10190 help_echo_pos to -1.
10191 (XTread_socket): Use gen_help_event instead of filling
10192 input_events manually.
10193 (syms_of_xterm): Staticpro help_echo_object.
10194
10195 * xmenu.c (menu_highlight_callback): Use
10196 kbd_buffer_store_help_event instead of setting up and input_event
10197 structure manually.
10198
10199 * xdisp.c (eval_form): GCPRO argument sexpr.
10200 (call_function): New function.
10201 (handle_single_display_prop): Use call_function and FUNCTIONP
10202 instead of checking whether if font_height is a symbol and
10203 using eval_form.
10204
10205 * eval.c (internal_condition_case_2): New function.
10206
10207 * lisp.h (FUNCTIONP): New macro.
10208 (internal_condition_case_2, call_function): Add prototypes.
10209
d5aa31d8
GM
10210 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10211 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10212 Always set `arg' member of input_events.
10213 (construct_menu_click): Unused function removed.
10214
10215 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10216
10217 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10218 (construct_drag_n_drop, x_scroll_bar_handle_click)
10219 (w32_read_socket): Always set `arg' member of input_events.
10220
10221 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10222
10223 * lisp.h (eval_form): Add prototype.
10224
10225 * xdisp.c (eval_form): Make it externally visible.
10226
0f1a9b23
GM
102272000-07-13 Gerd Moellmann <gerd@gnu.org>
10228
10229 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10230 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10231 consing. For prefix events, store the frame in the `arg' slot of
10232 the event, otherwise store the key there.
10233 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10234 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10235
10236 * xmenu.c (menu_highlight_callback): Store help string in the
10237 `arg' member of the input event; don't cons.
10238 (menubar_selection_callback): Use the `arg' slot of input events
10239 to queue additional information, instead of consing.
10240
10241 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10242
10243 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10244 TOOL_BAR_EVENTs.
10245 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10246
10247 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10248 input events to queue additional information, instead of consing.
10249
10250 * keyboard.c (kbd_buffer_gcpro): Renamed from
10251 kbd_buffer_frame_or_window. Now used for all Lisp objects
10252 referenced from the input queue.
10253 (kbd_buffer_store_event): Always use structure assignment for
10254 copying input events. Record all Lisp objects referenced from
10255 events in kbd_buffer_gcpro.
10256 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10257 differently from input events. Test for prefix menu_bar_events
10258 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10259 event in kbd_buffer_gcpro to nil.
10260 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10261 frame_or_window is equal to its arg member as prefix events.
10262 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10263 used by an input event to nil.
10264 (init_keyboard): Use two times the size of the input queue
10265 for kbd_buffer_gcpro.
10266 (syms_of_keyboard): Likewise.
10267
52283633
SM
10268 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10269 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10270
10271 * termhooks.h (struct input_event): Add member `arg'.
10272 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10273 (USER_SIGNAL_EVENT): Renamed from user_signal.
10274
10275 * xfaces.c (ASET): Remove definition.
10276
10277 * lisp.h (AREF, ASET, ASIZE): New macros.
10278
10279 * fontset.c (AREF, ASIZE): Remove definitions.
10280
10281 * fns.c (AREF): Remove definition.
178c5d9c 10282
0f1a9b23
GM
10283 * composite.c (AREF): Remove definition.
10284
712eaef2
GM
102852000-07-12 Gerd Moellmann <gerd@gnu.org>
10286
d8ee7803
GM
10287 * dispnew.c (redraw_overlapped_rows): Add missing local.
10288 (scrolling_window): Remove debug code.
10289
712eaef2
GM
10290 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10291 Before scrolling, turn off a mouse-highlight in the window
10292 being scrolled.
10293
10294 * xterm.c (x_update_window_end): Add parameter
10295 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10296 redisplay in XTframe_up_to_date.
10297 (x_clear_mouse_face): New function.
10298 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10299
10300 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10301 current glyph row.
10302 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10303 it when any row is written to that contains glyphs highlighted in
10304 mouse-face.
10305 (update_window): Call the window update end hook with new
10306 parameter MOUSE_FACE_OVERWRITTEN_P.
10307 (direct_output_for_insert): Give up if row contains mouse-face.
10308
10309 * dispextern.h (struct redisplay_interface): Add parameter
10310 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10311 (clear_mouse_face): New function pointer member.
10312
02010917
SM
103132000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10314
10315 * syntax.c (back_comment): Use one switch rather than a few `if's.
10316 Obey open_paren_in_column_0_is_defun_start.
10317 When reverting to the `slow' method, try to nicely handle the case
10318 of nested comments by checking that the comment-starter we found
10319 does indeed match the comment-ender.
10320 (scan_sexps_forward, scan_sexps_forward):
10321 Ignore excessive opening parenthesis rather than throwing an error.
10322
d76c03ea
GM
103232000-07-11 Gerd Moellmann <gerd@gnu.org>
10324
10325 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10326 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10327
10328 * dispnew.c (direct_output_forward_char): Give up if currently
10329 displaying a message instead of the minibuffer contents.
10330
10331 * xterm.c (x_update_window_begin): No need to turn off the mouse
10332 highlight here.
10333 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10334 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10335
10336 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10337 compare the mouse_face_p flags of both rows.
10338
10339 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10340
d55ead18
EZ
103412000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10342
10343 * keyboard.c (show_help_echo): Accept additional parameter
10344 ok_to_overwrite_keystroke_echo.
10345 (read_char): Call show_help_echo with a zero
10346 ok_to_overwrite_keystroke_echo argument.
52283633 10347 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10348 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10349 ok_to_overwrite_keystroke_echo argument.
10350 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10351 non-zero ok_to_overwrite_keystroke_echo argument.
10352
df75b1a3
GM
103532000-07-10 Gerd Moellmann <gerd@gnu.org>
10354
4b92c49a
GM
10355 * xdisp.c (try_window_id): If changes are all below what is
10356 displayed in the window, and point is in the window, we still
10357 might have to find point on the display.
10358
10359 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10360 glyphs instead of a single one.
10361 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10362 with new argument list.
10363 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10364
df75b1a3
GM
10365 * keymap.c (get_keymap_1): Add comment that this function can GC.
10366 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10367 comment that functions can GC.
10368 (Fset_keymap_parent): GCPRO arg KEYMAP.
10369
4314cf3e
EZ
103702000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10371
10372 * msdos.c (XMenuActivate): After exiting the menu, restore the
10373 echo area message and erase it.
10374
ab49ce15
KH
103752000-07-10 Kenichi Handa <handa@etl.go.jp>
10376
10377 * fontset.c (Ffontset_info): Make the return value more compatible
10378 with that of Emacs 20.
10379
090a072f
GM
103802000-07-07 Gerd Moellmann <gerd@gnu.org>
10381
10382 * eval.c (Fsignal): Handle case that backtrace_list is null.
10383
f92de4a6
KH
103842000-07-07 Kenichi Handa <handa@etl.go.jp>
10385
10386 * ccl.c (Fccl_execute): Typo fixed.
10387
dd8888a1
GM
103882000-07-06 Gerd Moellmann <gerd@gnu.org>
10389
e5c81191 10390 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10391
dd8888a1
GM
10392 * window.c (Fwindow_list): Reverse list at the end.
10393 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10394 means allow windows on OWINDOW's frame, only.
10395 (window_loop): Simplified; use Fwindow_list.
10396
10397 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10398
485266d0
GM
103992000-07-05 Gerd Moellmann <gerd@gnu.org>
10400
10401 * xterm.c (XTread_socket): Increment handling_signal at the start,
10402 decrement it at the end.
10403
10404 * eval.c (handling_signal): New variable.
10405 (Fsignal): Abort if handling_signal is non-zero.
10406
10407 * lisp.h (handling_signal): External declaration.
178c5d9c 10408
485266d0
GM
10409 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10410
80fcd514
KR
104112000-07-05 Ken Raeburn <raeburn@gnu.org>
10412
10413 Sound support for NetBSD through "Linux emulation" support:
10414 * config.in (HAVE_SOUNDCARD_H): Undef.
10415 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10416 * Makefile.in (LIBSOUND): New variable.
10417 (LIBES): Include it.
52283633
SM
10418 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10419 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10420 (vox_open): Use DEFAULT_SOUND_DEVICE.
10421 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10422
d5c5cddd
GM
104232000-07-05 Gerd Moellmann <gerd@gnu.org>
10424
10425 * print.c (print_error_message): If Vsignaling_function is set,
10426 show it in *Messages*.
10427
10428 * lisp.h (Vsignaling_function): External declaration.
10429
10430 * eval.c (Vsignaling_function): New variable.
10431 (Fsignal): Compute it.
10432 (syms_of_eval): Staticpro it.
10433
65171e3a
DL
104342000-07-05 Dave Love <fx@gnu.org>
10435
10436 * syswait.h: Use the autoconf recommended approach. Old code
10437 #if'd out in case we need to revert.
10438
178c5d9c 10439 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10440
e2c46326
AI
104412000-07-05 Andrew Innes <andrewi@gnu.org>
10442
10443 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10444 when non-NULL instead of __morecore, to take account of buffer
10445 memory. This also solves a problem with spurious memory warnings
10446 on Windows.
10447
10448 * ralloc.c: Make real_morecore non-static.
10449
10450 * eval.c (internal_condition_case): Comment out abort if
10451 interrupt_input_blocked is not zero.
10452
10453 * makefile.nt: Add support for `bootstrap' and related targets.
10454 Include minimal debug info in emacs.exe in release build.
10455 Remove all dependencies on lisp.h, and fixup some others.
10456
10457 * w32.c (init_environment): Install code from 20.7 for providing
10458 default values for environment variables, based on the
10459 executable's own location.
52283633 10460 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10461 (sys_socket): Install socket inheritance bug fix from 20.7.
10462
10463 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10464 here via blockinput.h).
10465
a027a91b
SM
104662000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10467
e4b31601
SM
10468 * w32menu.c (w32_menu_display_help):
10469 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10470
10471 * keyboard.h (show_help_echo): Declare.
10472
10473 * keyboard.c (show_help_echo): New function, extracted from read_char.
10474 Feval its `msg' argument if it's a cons cell.
10475 (read_char): Use it.
4cf8d9d5 10476 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10477
178c5d9c 10478 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10479 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10480 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10481 (dos_rawgetc):
10482 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10483 (note_tool_bar_highlight, w32_read_socket):
10484 Do not gratuitously ignore non-string `help-echo' properties.
10485
88d75730
GM
104862000-07-05 Gerd Moellmann <gerd@gnu.org>
10487
969f7e79
GM
10488 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10489
71201b00
GM
10490 * window.c (delete_all_subwindows): Reset Vwindow_list.
10491
88d75730
GM
10492 * xterm.c (x_append_glyph, x_append_composite_glyph)
10493 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10494 changes in struct glyph starting 1999-12-27. Some bit-fields of
10495 struct glyph were not set, which made glyphs unequal when compared
10496 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10497 effects were the result. This also depended on the contents of
10498 memory returned by xmalloc. If flickering happens again, activate
10499 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10500 gone with that, chances are that it is caused by something similar.
88d75730
GM
10501
10502 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10503
88d75730
GM
10504 * dispextern.h: Add some comments.
10505
10506 * window.c (add_window_to_list): Add parameter LIST.
10507 (window_list): Order list so that, for each frame, windows are
10508 in canonical order, and so that frames appear in the list in
10509 the order given by Vframe_list.
10510 (next_window): Reverse the handling of NEXT_P.
10511
53654733
GM
105122000-07-04 Gerd Moellmann <gerd@gnu.org>
10513
87efd256
GM
10514 * window.c (Vwindow_list): New variable.
10515 (make_window, delete_window): Set Vwindow_list to nil.
10516 (check_window_containing): New function.
10517 (window_from_coordinates): Rewritten.
10518 (add_window_to_list, window_list, candidate_window_p)
10519 (decode_next_window_args, next_window): New functions.
52283633 10520 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10521 (Fwindow_list): New function.
10522 (Fother_window): Cleaned up.
10523 (foreach_window): Add a longer "variable argument list". Let
10524 callback function return 0 to indicate that cycling over windows
10525 should stop.
10526 (foreach_window_1): Likewise.
10527 (freeze_window_start): Return int.
10528 (init_window): New function.
10529 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10530
10531 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10532 input_event with bzero.
10533 (main): Call init_window.
10534
53654733
GM
10535 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10536 a menu filter.
10537
4a8c194f
KH
105382000-07-04 Kenichi Handa <handa@etl.go.jp>
10539
10540 * composite.h (make_composition_value_copy): Extern it.
10541
10542 * composite.c (make_composition_value_copy): New function.
10543
10544 * editfns.c (Fformat): While copying text properties, make each
10545 composition property value a copy.
10546
10547 * fns.c (concat): While copying text properties, make each
10548 composition property value a copy.
10549
831a6cb0
GM
105502000-07-03 Gerd Moellmann <gerd@gnu.org>
10551
2f516940
GM
10552 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10553
178c5d9c 10554 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10555 marked already.
10556
831a6cb0
GM
10557 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10558 include those frames as candidates which have their focus
10559 redirected to the minibuffer frame.
10560
d9c4f922
SM
105612000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10562
10563 * fns.c (Fputhash): Return `value' rather than nil.
10564
3780bc22
GM
105652000-06-30 Gerd Moellmann <gerd@gnu.org>
10566
97d176db
GM
10567 * frame.c (next_frame): Don't check focus redirection in case
10568 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10569 unless their focus is redirected, which contradicts the
10570 specification of next-frame, and leads to infinite loops in
10571 certain situations when cycling through windows with next-window.
10572
dca9961d
KH
105732000-06-30 Kenichi Handa <handa@etl.go.jp>
10574
10575 * coding.c (code_convert_region): Even if the length of text is
10576 zero, try to convert it if coding->type is coding_type_ccl.
10577 (decode_coding_string, encode_coding_string): Likewise.
10578
d5483ab1
GM
105792000-06-28 Gerd Moellmann <gerd@gnu.org>
10580
af5c25e1 10581 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10582 the display if windows_or_buffers_changed.
af5c25e1
GM
10583
10584 * dispnew.c (struct row_entry): New structure.
10585 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10586 (row_table_size, old_lines, new_lines, old_lines_size)
10587 (new_lines_size, run_pool, runs_size, runs): New variables.
10588 (add_row_entry): New function.
10589 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10590 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10591 holding them in local variables. Use a larger hash table whose
10592 size depends on glyph matrix sizes. Don't use bzero to clear the
10593 hash table; instead, clear used slots only.
10594
10595 * fns.c (next_almost_prime): Make it externally visible.
10596
10597 * lisp.h (next_almost_prime): Add prototype.
10598
d5483ab1
GM
10599 * s/isc4-0.h (sigunblock): Define.
10600
10601 * s/sco5.h (sigunblock): Define.
10602
93e40f40
DL
106032000-06-27 Dave Love <fx@gnu.org>
10604
10605 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10606 (moved to osf5-0.h).
10607 [!NOT_C_CODE]: Protect string.h stuff.
10608
10609 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10610 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10611
3c4b7685
GM
106122000-06-27 Gerd Moellmann <gerd@gnu.org>
10613
97d176db 10614 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10615 below the last line from the needed window height.
10616
32cad0aa
SM
106172000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10618
10619 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10620 (Fwidget_get): Use it.
10621 (syms_of_fns): Defsubr it.
10622
2c69ced2
GM
106232000-06-26 Gerd Moellmann <gerd@gnu.org>
10624
178c5d9c 10625 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10626 display info for XIM.
10627 (xim_open_dpy): Likewise.
10628 (xim_close_dpy): Don't free the display info's XIM.
10629
10630 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10631
10632 * config.in (USE_XIM): New define.
10633
3fc720e4
GM
10634 * keymap.c (get_keyelt): For menu-items containing a `:filter
10635 FILTER', apply FILTER to the menu-item's definition to get the
10636 real definition to use.
10637
10638 * lisp.h (QCfilter): External declaration.
10639
2c69ced2
GM
10640 * xfns.c (Fimage_size): New function.
10641 (syms_of_xfns): Defsubr it.
10642
f978b2a2
AS
106432000-06-26 Andreas Schwab <schwab@suse.de>
10644
10645 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10646 Fstring_as_unibyte.
10647
94cc7892
DL
106482000-06-25 Dave Love <fx@gnu.org>
10649
52283633 10650 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10651
10652 * Makefile.in (blockinput.h): Depend on atimer.h.
10653 (atimer.h): Depend on systime.h.
10654
52283633 10655 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10656
52283633 10657 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10658
10659 * lisp.h (swap_in_global_binding): Declare.
10660
b8c24556
KR
106612000-06-24 Ken Raeburn <raeburn@gnu.org>
10662
10663 * process.c (Fopen_network_stream): Turn off atimers for duration
10664 of call to connect. (Patch from Gerd.)
10665
8cf8560b
DL
106662000-06-23 Dave Love <fx@gnu.org>
10667
511c7541
DL
10668 * ralloc.c: Maybe include unistd.h
10669
8cf8560b
DL
10670 * emacs.c (setgrp): Undefine before defining.
10671 (malloc_warning, set_time_zone_rule, index): Prototype.
10672
10673 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10674 HAVE_STRUCT_TIMEZONE.
10675
10676 * s/osf1.h: Move string.h hack here from alpha.h and make it
10677 conditional.
10678 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10679 _XOPEN_SOURCE.
10680 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10681 (SOCKLEN_TYPE): Don't define.
10682
10683 * m/alpha.h: Remove string.h hack.
10684
10685 * s/osf5-0.h: New file.
10686
10687 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10688 include time.h, done by systime.h.
10689 [__FreeBSD__]: Remove redundant includes.
10690
3fc720e4 10691 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10692 (delete_temp_file): Return Qnil to avoid warning.
10693
10694 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10695
10696 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10697 HAVE_X_WINDOWS.
10698
10699 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10700
10701 * composite.h (compose_text): Declare.
10702
10703 * xterm.c: Don't include sys/types.h unconditionally. Don't
10704 protect its inclusion with !USG (following xmenu.c).
10705
ea055732
GM
107062000-06-23 Gerd Moellmann <gerd@gnu.org>
10707
10708 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10709 in x_create_frame.
10710
74b01b80
EZ
107112000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10712
10713 * coding.c (decode_eol_post_ccl): Special handling for undecided
10714 and inconsistent EOL types.
10715
64f3a166
GM
107162000-06-22 Gerd Moellmann <gerd@gnu.org>
10717
16cf31f7
GM
10718 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10719 trough color and main window's background color.
10720
52283633 10721 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10722
10723 * xterm.h (Xt_app_con): External declaration.
10724
10725 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10726
486a103d
GM
10727 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10728
64f3a166
GM
10729 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10730 (handle_invisible_prop): Record the start of invisible text in
10731 it->add_overlay_start.
10732 (struct overlay_entry): Add member `overlay'.
10733 (handle_overlay_change): Simplify.
10734 (next_overlay_string): After having processed overlay strings at the
10735 end of the buffer, record that fact in
10736 it->overlay_strings_at_end_processed_p.
10737 (compare_overlay_entries): If before- and after-strings come
10738 from the same overlay, let before-strings come first.
10739 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10740 (load_overlay_strings): Take it->add_overlay_start into account
10741 when adding overlay strings.
10742
10743 * dispextern.h (struct it): Add member add_overlay_start.
10744
bb746ea6
DL
107452000-06-22 Dave Love <fx@gnu.org>
10746
10747 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10748
10749 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10750
a8f573f3
KH
107512000-06-22 Kenichi Handa <handa@etl.go.jp>
10752
10753 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10754 is greater than 0.
10755
9f2bbc92
DL
107562000-06-21 Dave Love <fx@gnu.org>
10757
178c5d9c 10758 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10759
3ee5041c
SM
107602000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10761
10762 * syntax.c (back_comment): Simplify string-parity counting (with
10763 the added benefit of handling multiple string-styles as long as
10764 they are not intertwined).
10765 Jump to the slow code as soon as a comment starter is found in
10766 a "string_lossage" position. Fixes the case: " /* " /* " */.
10767
4c343001
DL
107682000-06-21 Dave Love <fx@gnu.org>
10769
10770 * Makefile.in: Use GETLOADAVG_LIBS.
10771
10772 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10773 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10774
e6365855
SM
107752000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10776
10777 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10778 (Fforward_comment, scan_lists):
10779 Check the comstyle of single-char comment-starters.
10780 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10781 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10782 Check the comstyle of single-char comment-starters.
10783 Clarify control-flow around the Scomment case.
e6365855 10784
5700d2cc
DL
107852000-06-20 Dave Love <fx@gnu.org>
10786
d355bd8a
SM
10787 * fns.c (make_hash_table, maybe_resize_hash_table):
10788 Cast arg of next_almost_prime.
5700d2cc 10789
178c5d9c 10790 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10791
10792 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10793 and unistd.h.
10794
4a27bdfb
GM
107952000-06-20 Gerd Moellmann <gerd@gnu.org>
10796
a61d762c 10797 * keyboard.c (adjust_point_for_property): Check if display
52283633 10798 property should be treated as intangible by looking at its value.
a61d762c 10799
178c5d9c 10800 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10801 (display_prop_intangible_p): New functions.
10802
10803 * dispextern.h (display_prop_intangible_p): Add prototype.
10804
10805 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10806
4a27bdfb
GM
10807 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10808 argument to sigprocmask.
10809
10810 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10811 argument to sigprocmask.
10812
10813 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10814 sigprocmask_set, and pass a pointer to it to sigprocmask.
10815
10816 * sysdep.c (sigprocmask_set): New variable.
10817
10818 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10819 report_file_error.
10820
427ec082
SS
108212000-06-20 Sam Steingold <sds@gnu.org>
10822
10823 * xrdb.c: Don't declare xmalloc, xrealloc.
10824
8972fe79 108252000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10826
10827 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10828 (re_comp): Cast gettext return value to avoid complaints when
10829 !HAVE_LIBINTL.
10830
074b6efe
DL
108312000-06-20 Dave Love <fx@gnu.org>
10832
52283633 10833 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10834
5700d2cc 10835 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10836
d355bd8a 10837 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10838
10839 * m/alpha.h: Don't declare xmalloc, xrealloc.
10840
0af4f205
DL
10841 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10842
10843 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10844
10845 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10846
10847 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10848 HAVE_GETWD.
10849
074b6efe
DL
10850 * keyboard.h (poll_for_input_1): Declare.
10851
10852 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10853
10854 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10855
10856 * doprnt.c: Don't declare xmalloc, xrealloc.
10857
10858 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10859 (getenv, ctime, getwd): Removed.
10860 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10861
10862 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10863 x_set_tool_bar_lines.
10864
10865 * config.in: Add HAVE_GETWD. Move some definitions above
10866 machine/system includes.
10867
68a5e97b
KH
108682000-06-20 Kenichi Handa <handa@etl.go.jp>
10869
95417e1e
KH
10870 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10871
68a5e97b
KH
10872 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10873 contain information about ENCODING.
10874
10875 * fontset.c (FONTSET_ASCII): Use the first element of char table
10876 for an ASCII font, not defalt slot.
10877 (fontset_ref_via_base): If FONTSET doesn't contain information for
10878 C, try the default fontset.
10879 (make_fontset): Don't copy the default fontset.
10880 (fontset_font_pattern): Likewise.
10881 (accumulate_font_info): If ELT is nil, use the corresponding
10882 element in the default fontset.
10883
3b4fa1b2
DL
108842000-06-19 Dave Love <fx@gnu.org>
10885
943e731c
DL
10886 * syntax.c (Fparse_partial_sexp): Doc fix.
10887
10888 * regex.h: Test PROTOTYPES as well as __STDC__.
10889
3b4fa1b2
DL
10890 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10891 errno, strerror. Put text after #endif in comment.
10892
52283633 10893 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10894
10895 * xterm.c (x_frame_of_widget): Likewise.
10896
cdf0357b
GM
108972000-06-19 Gerd Moellmann <gerd@gnu.org>
10898
10899 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10900 to Vfundamental_mode_abbrev_table.
10901
10902 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10903 bogus objects are marked. This slows down GC by ~80 percent, but
10904 it might be worth trying when debugging GC-related problems.
10905 This feature requires conservative stack marking to be enabled.
10906
10907 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10908 returns XLookupChars, reset `modifiers' to zero.
10909
998e9f8c
DL
109102000-06-19 Dave Love <fx@gnu.org>
10911
10912 * mktime.c: Unprotoized.
10913
18e21ce8 109142000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10915
10916 * data.c (set_internal): If variable is frame-local,
10917 store the new value immediately into the frame parameter alist.
10918
140c4ac6
KR
109192000-06-19 Ken Raeburn <raeburn@gnu.org>
10920
14358466
KR
10921 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10922 in the custom handler pointer.
10923
140c4ac6
KR
10924 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10925 value, or checks for CHAR_META can fail when Lisp_Object is a
10926 union type.
10927 * keymap.c (get_keyelt): Likewise.
10928
10d7bf84
KH
109292000-06-19 Kenichi Handa <handa@etl.go.jp>
10930
10931 * ccl.h (struct ccl_program): New member eol_type.
10932 (struct ccl_spec): New member cr_carryover.
10933
10934 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10935 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10936
10937 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10938 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10939 (decode_eol_post_ccl): New function.
10940 (decode_coding): Don't detect EOL format here for CCL based coding
10941 systems.
10942 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10943 decode_eol_post_ccl after running the CCL program.
10944 (code_convert_region): Don't detect EOL format here for CCL based
10945 coding systems.
10946 (decode_coding_string): Likewise.
10947
52e386c2
KR
109482000-06-18 Ken Raeburn <raeburn@gnu.org>
10949
10950 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10951 when treating it as an integer.
10952
10953 * coding.h (encode_coding_string): Declare.
10954
10955 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10956 it as an integer.
10957
10958 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10959 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10960 to be passed to get_local_map.
10961
10962 * sound.c (Fplay_sound): Don't call make_number on
10963 Frun_hook_with_args count argument.
10964
10965 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10966 for lisp objects in X event structure data field, when lisp
10967 objects are represented with unions.
10968 (x_scroll_bar_to_input_event): Ditto.
10969
b357b9d4
KR
109702000-06-16 Ken Raeburn <raeburn@gnu.org>
10971
10972 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10973 termination of string. Fix sense of test whether
10974 Vline_number_display_limit is an integer.
b357b9d4 10975
a871441d
GM
109762000-06-16 Gerd Moellmann <gerd@gnu.org>
10977
a9021acd
GM
10978 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10979 only if HAVE_X_WINDOWS.
10980
6344985d
GM
10981 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10982 of titles.
10983
427ec082 10984 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10985 out of bounds.
10986
228b083e
EZ
109872000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10988
10989 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10990 of its headers.
10991
c25b53a2
KH
109922000-06-15 Kenichi Handa <handa@etl.go.jp>
10993
10994 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10995 start of the while loop.
10996
a6981b11
GM
109972000-06-15 Gerd Moellmann <gerd@gnu.org>
10998
e9924e52
GM
10999 * atimer.c (alarm_signal_handler): Add forward declaration.
11000
a6981b11
GM
11001 * data.c (set_internal): Remove debug code.
11002
25fa6deb
GM
110032000-06-14 Gerd Moellmann <gerd@gnu.org>
11004
dce6b995
GM
11005 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11006
9f817ea4
GM
11007 * unexec.c (toplevel) [COFF]: Include coff.h.
11008
11009 * s/lynxos.h: New file.
11010
11011 * keymap.c (Fsingle_key_description): Enclose function key and
11012 event symbol names in angle brackets.
11013
8a4e3c0c
GM
11014 * xdisp.c (setup_echo_area_for_printing): Call
11015 message_log_maybe_newline if message_buf_print is not set.
11016
11017 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11018 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11019 function does something useful even when message_buf_print is
11020 already set.
11021
52283633
SM
11022 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11023 New variables.
25fa6deb
GM
11024 (ensure_echo_area_buffers): Initialize echo buffer's
11025 truncate lines setting to nil.
11026 (with_echo_area_buffer): Don't set the echo buffer's truncate
11027 lines setting here.
8a4e3c0c 11028 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11029 of message_truncate_lines.
11030 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11031 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11032 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11033
11034 * keyboard.c (read_char): Bind message-truncate-lines to t
11035 while displaying a help-echo.
11036
11037 * lisp.h (Qmessage_truncate_lines): External declaration.
11038
163dcff3
GM
110392000-06-13 Gerd Moellmann <gerd@gnu.org>
11040
1681ead6
GM
11041 * xdisp.c (Vline_number_display_limit): Renamed from
11042 line_number_display_limit.
11043 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11044 Extend documentation string. Initialize
11045 Vline_number_display_limit to nil meaning no limit.
11046 (decode_mode_spec): Use Vline_number_display_limit with its new
11047 meaning.
11048
163dcff3
GM
11049 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11050
18e21ce8 110512000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11052
11053 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11054
163dcff3
GM
11055 * xfns.c (x_set_frame_parameters): Comment fix.
11056
11057 * frame.c (store_frame_param): Call swap_in_global_binding if the
11058 variable's current binding was chosen based on this frame.
11059
11060 * data.c (swap_in_global_binding): New function.
11061
a704139d
EZ
110622000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11063
11064 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11065 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11066
9b6610db
EZ
110672000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11068
11069 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11070
c68833d2
JR
110712000-06-12 Jason Rumney <jasonr@gnu.org>
11072
11073 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11074
11075 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11076
11077 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11078
11079 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11080
ed1056b3
GM
110812000-06-12 Gerd Moellmann <gerd@gnu.org>
11082
11083 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11084 (syms_of_xfaces): Defsubr Sdump_colors.
11085 (x_free_colors): Don't treat b&w specially on default visual.
11086 (x_free_dpy_colors): New function.
11087 (free_face_colors): Don't check visual class; it's done
11088 in x_free_colors.
11089
11090 * xterm.c (x_frame_of_widget): New function.
11091 (x_alloc_nearest_color_for_widget): Use it.
11092 (x_copy_dpy_color): New function.
11093 (x_destroy_window): Free various colors.
11094
5050a2ef
KH
110952000-06-12 Kenichi Handa <handa@etl.go.jp>
11096
11097 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11098
11099 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11100
11101 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11102
11103 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11104
11105 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11106
fb1b041d
DL
111072000-06-11 Dave Love <fx@gnu.org>
11108
11109 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11110
ff96b5f4
EZ
111112000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11112
11113 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11114
db8eeecd
GM
111152000-06-11 Gerd Moellmann <gerd@gnu.org>
11116
ed1056b3 11117 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11118 to `XEvent *'.
11119
49b71c5f
KH
111202000-06-10 Kenichi Handa <handa@etl.go.jp>
11121
c479bd55
KH
11122 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11123 (regex_compile): Fix the code for handling the case of single byte
11124 char and multibyte char being mixed in a range within [...].
11125
ff6a65c2
KH
11126 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11127 and dst_multibyte members of coding.
11128
49b71c5f
KH
11129 * charset.c (update_charset_table): Update the table
11130 bytes_by_char_head.
11131 (init_charset_once): Initialize elements of bytes_by_char_head to
11132 1 except for leading codes for private charases.
11133
11134 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11135 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11136
9e80b57d
KR
111372000-06-09 Ken Raeburn <raeburn@gnu.org>
11138
11139 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11140 access the data it doesn't point to.
11141
f83fe4b4
GM
111422000-06-08 Gerd Moellmann <gerd@gnu.org>
11143
11144 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11145 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11146 event queue. This is necessary because Emacs otherwise won't
11147 perform a switch-frame to a new frame until some other event, for
11148 example a keystroke event, forces it to do so. This has various
11149 effects, one visible being that the cursor of a frame created with
11150 C-x 5 2 or switched to with a window manager key binding like
11151 A-TAB stays hollow because selected_window isn't on the newly
11152 focused frame until the switch-frame is performed.
11153
11154 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11155 generating a switch-frame event if necessary.
11156
11157 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11158
11159 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11160 it's an integer.
11161
0890801b
KH
111622000-06-08 Kenichi Handa <handa@etl.go.jp>
11163
52283633 11164 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11165
173cbca8
GM
111662000-06-07 Gerd Moellmann <gerd@gnu.org>
11167
3091c2a6
GM
11168 * window.c (displayed_window_lines): Take empty lines at
11169 the bottom of a window into account.
427ec082 11170
f38952fe
GM
11171 * window.c (displayed_window_lines): New function.
11172 (Fmove_to_window_line): Use displayed_window_lines to determine
11173 the number of lines to move, instead of using the window's height.
11174
11175 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11176 to stop reading, even if the form read sets point to a different
11177 value when evaluated.
11178
427ec082 11179 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11180 put the cursor.
11181
6ba6c818
KH
111822000-06-07 Kenichi Handa <handa@etl.go.jp>
11183
11184 * fileio.c (e_write): Free composition data if stored in
11185 coding->cmp_data.
11186
5f1aea9a
GM
111872000-06-06 Gerd Moellmann <gerd@gnu.org>
11188
666852af
GM
11189 * xdisp.c (display_line): Set row's and iterator's
11190 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11191 Set cursor even if row ends in the middle of a character.
11192 (dump_glyph_row): Print values of new flags.
11193 (redisplay_window) <cursor movement in unchanged window>: When
11194 point has been moved forward, and PT is at the end of the cursor
11195 row, don't place the cursor in the next row if the cursor row ends
11196 in the middle of a character or at ZV.
11197
11198 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11199 (struct glyph_row): Add starts_in_middle_of_char_p and
11200 ends_in_middle_of_char_p.
11201 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11202 ends_in_middle_of_char_p flag.
11203 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11204
d13f3e2e
GM
11205 * term.c (append_glyph): Revert change of 2000-06-06.
11206
11207 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11208 padding glyph not fitting on line as whole character not
11209 fitting on line.
11210
5f1aea9a
GM
11211 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11212 this isn't true for images with `:ascent 100'.
11213
10cda9b0
KH
112142000-06-06 Kenichi Handa <handa@etl.go.jp>
11215
ed00559d
KH
11216 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11217 as modified if it is originally unmodified.
11218
10cda9b0
KH
11219 * term.c (encode_terminal_code): Change the way to check if
11220 terminal coding does any conversion.
11221 (append_glyph): Set glyph->pixel_width correctly.
11222
11223 * xdisp.c (display_line): While checking line continuation, pay
11224 attention to a padding glyph.
11225
1969fae2
GM
112262000-06-05 Gerd Moellmann <gerd@gnu.org>
11227
11228 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11229
162ccef4
DL
112302000-06-05 Dave Love <fx@gnu.org>
11231
f19f32dd
DL
11232 * xdisp.c: Include fontset.h.
11233
11234 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11235
11236 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11237
11238 * dispnew.c: Conditionally include term.h.
11239
11240 * coding.h: Declare code_convert_string_norecord.
11241
11242 * frame.h (struct frame): Use volatile unconditionally.
11243
11244 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11245
11246 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11247
11248 * systime.h: Protect against multiple inclusion.
11249 (timezone) [USG5_4]: Define as time_t.
11250
11251 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11252 (Foptimize_char_table, make_temp_name): Declare.
11253
11254 * Makefile.in (xdisp.o): Depend on fontset.h.
11255
11256 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11257
11258 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11259 (Foptimize_char_table, make_temp_name): Declare.
11260
427ec082 11261 * s/irix4-0.h:
162ccef4
DL
11262 * s/irix5-0.h:
11263 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11264
2082fe81
DL
112652000-06-02 Dave Love <fx@gnu.org>
11266
11267 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11268
dcf671d2
GM
112692000-06-02 Gerd Moellmann <gerd@gnu.org>
11270
11271 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11272 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11273 be freed.
11274
11275 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11276 glyph, use the ASCII NUL character to determine the face.
11277
d42122a3
DL
112782000-06-02 Dave Love <fx@gnu.org>
11279
11280 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11281 (VFORK_RETURN_TYPE): Remove.
427ec082 11282
d42122a3
DL
11283 * config.in: Add NO_MATHERR.
11284
dd432f16
DL
112852000-06-01 Dave Love <fx@gnu.org>
11286
90aa4ea8
DL
11287 * cmds.c (internal_self_insert): Don't check
11288 Vbefore_change_function, Vafter_change_function.
11289
11290 * insdel.c (signal_before_change, signal_after_change): Likewise.
11291
11292 * buffer.c (Vbefore_change_function, Vafter_change_function):
11293 Variables and their initializations deleted.
11294
2330c9d4
DL
11295 * callint.c (Fcall_interactively): Doc fix.
11296
dd432f16
DL
11297 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11298
bf9e8804
DL
112992000-05-31 Dave Love <fx@gnu.org>
11300
11301 * textprop.c: Revert last change -- duplicated.
11302
3694b4ab
GM
113032000-05-31 Gerd Moellmann <gerd@gnu.org>
11304
11305 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11306 in #if 0.
11307
11308 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11309
f14156cd
JR
113102000-05-31 Jason Rumney <jasonr@gnu.org>
11311
8119aab8
JR
11312 * search.c (Fre_search_forward, Fre_search_backward)
11313 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11314
f14156cd
JR
11315 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11316
4aab9be3
JR
113172000-05-30 Jason Rumney <jasonr@gnu.org>
11318
11319 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11320 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11321
52283633 11322 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11323
11324 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11325 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11326 expand a nil default_filename.
11327
11328 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11329 pointer to glyph_to_pixel_coords, not a frame.
11330
11331 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11332 coding.h to dependencies.
11333
11334 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11335
11336 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11337 window pointer to be consistent with w32term.c and xterm.c.
11338
11339 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11340 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11341 (Qline_spacing, Qcenter): New variables.
11342 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11343 (x_set_line_spacing): New function.
52283633 11344 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11345 (x_specified_cursor_type): New function.
11346 (x_set_cursor_type): Use it.
11347 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11348 and icon strings.
11349 (validate_x_resource_name, x_get_resource_string): Measure lengths
11350 of external strings in bytes.
11351 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11352 GetTextExtentPoint32 with NULL title.
11353 (Fx_create_frame): Initialize Qline_spacing.
11354 (w32_load_system_font): Initialize font->double_byte_p.
11355 (x_to_w32_charset): Use Vw32_charset_info_alist.
11356 (Image, busy cursor, tooltip functions): Merged changes from
11357 xfns.c. Not yet functional on Windows.
11358
11359 * w32gui.h (W32FontStruct): Add double_byte_p member.
11360
11361 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11362 (emacs_button_translation): Use it.
11363 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11364 in `mask' to be set.
11365
11366 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11367 menu strings.
11368
11369 * w32term.c: Format and doc changes to bring closer to xterm.c.
11370 (w32_char_font_type): New enum.
11371 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11372 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11373 (w32_encode_char): New function.
11374 (x_encode_char): Removed.
11375 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11376 x_encode_char and w32_font_is_double_byte.
11377 (x_produce_image_glyph): Use image_ascent.
11378 (x_produce_glyphs): Use new version of w32_per_char_metric and
11379 handle NULL return value. Allow extra line spacing.
11380 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11381 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11382 w32_font_type member of glyph instead.
11383 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11384 (fast_find_position): Make sure not to consider rows not visible
11385 in the window.
11386 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11387 w32_menu_display_help with input blocked, as it can abort.
11388 (x_display_and_set_cursor): Choose cursor depending
11389 on buffer-local value of cursor_type.
11390 (x_draw_bar_cursor): Add parameter WIDTH.
11391
11392 * w32term.h (CP_DEFAULT): Define.
11393 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11394
10fc3187
GM
113952000-05-30 Gerd Moellmann <gerd@gnu.org>
11396
11397 * search.c (Fre_search_forward, Fre_search_backward)
11398 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11399
d0555360
KH
114002000-05-30 Kenichi Handa <handa@etl.go.jp>
11401
11402 * coding.c (detect_coding_iso2022): Fix code for checking
11403 CODING_CATEGORY_MASK_ISO_8_2.
11404
f1ad044f
SM
114052000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11406
11407 * regex.c (PREFETCH_NOLIMIT): New function.
11408 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11409
84ec3b4b
GM
114102000-05-29 Gerd Moellmann <gerd@gnu.org>
11411
66254a13
GM
11412 * syntax.c (find_defun_start): Move test for
11413 open_paren_in_column_0_is_defun_start outside of the loop.
11414
49e70dec
GM
11415 * xdisp.c (redisplay_window): Really switch buffers when
11416 displaying mode lines, and temporarily set selected_frame to the
11417 frame of the window that's redisplayed.
11418
84ec3b4b
GM
11419 * xfaces.c (free_realized_faces): Block/unblock input.
11420 (free_realized_multibyte_face): Ditto.
11421
869a3a14
DL
114222000-05-29 Dave Love <fx@gnu.org>
11423
11424 * textprop.c (Qkeymap): New variable.
11425 (syms_of_textprop): Intern it.
11426
11427 * keymap.c: Include intervals.h.
11428 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11429
11430 * Makefile.in (keymap.o): Depend on intervals.h.
11431
11432 * keyboard.c (menu_bar_items, tool_bar_items)
11433 (Fexecute_extended_command): Deal with `keymap' property.
11434 (read_key_sequence): Track map from `keymap' property as well as
11435 `local_map'.
11436
11437 * intervals.c (get_local_map): Extra arg to allow looking for
11438 `keymap' too.
11439
11440 * intervals.h (map_property): New enum.
11441 (get_local_map): Extra arg using it.
11442 (Qkeymap): Declare.
11443
84ec3b4b 11444 * lisp.h (get_local_map): Don't declare here.
869a3a14 11445
89d0c844
KH
114462000-05-29 Kenichi Handa <handa@etl.go.jp>
11447
11448 * Makefile.in (callproc.o): Depend on composite.h.
11449
11450 * callproc.c: Include composite.h.
11451 (Fcall_process): Handle composition correctly.
11452
11453 * coding.h (coding_allocate_composition_data): Extern it.
11454 (coding_restore_composition): Likewise.
11455
11456 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11457 yet allocated, finish decoding with result
11458 CODING_FINISH_INSUFFICIENT_CMP.
11459 (coding_allocate_composition_data): Make it non-static.
11460 (coding_restore_composition): Likewise.
11461
797a084a
EZ
114622000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11463
11464 * charset.c (syms_of_charset): Revert last change.
11465
cf872af5
EZ
114662000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11467
11468 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11469 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11470 Handa.
cf872af5 11471
5b1ae051
EZ
114722000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11473
11474 * charset.c (syms_of_charset): Set width of character sets
11475 eight-bit-control and eight-bit-graphic to 1 column.
11476
34ec9ebe
GM
114772000-05-26 Gerd Moellmann <gerd@gnu.org>
11478
11479 * config.in (HAVE_SPEED_T): New define.
11480
11481 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11482 `extern speed_t'.
11483
dd854dc2
DL
114842000-05-26 Dave Love <fx@gnu.org>
11485
11486 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11487
11488 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11489 (Fsubr_arity): New function.
11490 (syms_of_data): Install them.
11491
ba9f8f95
KH
114922000-05-26 Kenichi Handa <handa@etl.go.jp>
11493
0f3e0672
KH
11494 * charset.c (init_charset_once): Set the table bytes_by_char_head
11495 correctly.
11496
cebefb44
KH
11497 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11498 the default fontset to what Emacs uses by default.
0f3e0672
KH
11499 (check_registry_encoding): This function deleted.
11500 (Fset_fontset_font): Remove the adhoc condition for the default
11501 fontset. Allow cons in FONTNAME.
cebefb44 11502
0f3e0672
KH
11503 * fns.c (map_char_table): Ignore char-table entries for
11504 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11505
7a18af49
KR
115062000-05-25 Ken Raeburn <raeburn@gnu.org>
11507
11508 * emacs.c (main): Initialize keyboard syms before initializing
11509 window code, so face names are available.
11510
d2af47df
SM
115112000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11512
11513 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11514 of an anchor at the beginning of a shy-group.
11515
fc6a6a4e
GM
115162000-05-25 Gerd Moellmann <gerd@gnu.org>
11517
11518 * xdisp.c (handle_invisible_prop): Don't try to skip over
11519 invisible text if end of text is already reached.
11520
005f0d35
DL
115212000-05-25 Dave Love <fx@gnu.org>
11522
02513cdd
DL
11523 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11524
005f0d35
DL
11525 * coding.c (encode_eol): Add null statement after label.
11526
89f6ca4e
EZ
115272000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11528
11529 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11530 2000-05-20.
11531
a4e1759e
KH
115322000-05-25 Kenichi Handa <handa@etl.go.jp>
11533
11534 * ccl.c (ccl_driver): Fix previous change.
11535
eacfd7fe
KH
115362000-05-25 Kenichi Handa <handa@etl.go.jp>
11537
46ab33a9
KH
11538 * coding.c (run_pre_post_conversion_on_str): Set point to the
11539 beginning of buffer before calling coding->post_read_conversion.
11540 (decode_coding_string): Give correct args to
11541 run_pre_post_conversion_on_str.
11542 (encode_coding_string): Likewise.
11543
eacfd7fe
KH
11544 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11545 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11546 eight-bit-graphic correctly.
11547
f8569325
DL
115482000-05-24 Kenichi HANDA <handa@etl.go.jp>
11549
11550 * fileio.c (Finsert_file_contents): Even if a file is not found,
11551 execute codes for setting up coding system. Call
11552 after-insert-file-functions unconditionally.
11553
04545643
GM
115542000-05-24 Gerd Moellmann <gerd@gnu.org>
11555
11556 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11557 BSD_PGRPS are not defined.
11558
747d90ea
KH
115592000-05-24 Kenichi Handa <handa@etl.go.jp>
11560
11561 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11562 DESCRIPTION.
11563 (syms_of_charset): Avoid building same strings.
11564
716e3b88
GM
115652000-05-23 Gerd Moellmann <gerd@gnu.org>
11566
11567 * lread.c (Fload): Add a comment about the meaning of
11568 Vuser_init_file being t.
11569
11570 * puresize.h (BASE_PURESIZE): Increase to 675000.
11571
11572 * s/gnu-linux.h (setpgrp): Don't define it here because this
11573 prevents compilation on GNU/Linux systems with glib 2.2.
11574
11575 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11576 as setpgid.
427ec082 11577
9aeb39fa
EZ
115782000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11579
11580 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11581 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11582 version.
11583 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11584
29ced61b
KH
115852000-05-23 Kenichi Handa <handa@etl.go.jp>
11586
52283633 11587 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11588
3d80f24d
KH
11589 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11590
52283633 11591 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11592
29ced61b
KH
11593 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11594
d7e00792
KH
115952000-05-22 Kenichi Handa <handa@etl.go.jp>
11596
c9d80d38
KH
11597 * keyboard.c (read_char): Allow character codes 128..255 to be
11598 handled by input-method-function.
11599
d7e00792
KH
11600 * insdel.c (adjust_markers_for_replace): Fix previous change.
11601 (adjust_after_replace): If PREV_TEXT is nil, call
11602 adjust_markers_for_insert, not adjust_markers_for_replace.
11603
087121cc 116042000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11605
087121cc
GM
11606 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11607 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11608 [HAVE_GRANDPT]: Define.
11609 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11610
11611 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11612 like SYSV_PTYS.
11613
11614 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11615
11616 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11617
c9671f81
KH
116182000-05-20 Kenichi Handa <handa@etl.go.jp>
11619
11620 The following changes are to handle 8-bit characters in a
11621 multibyte buffer/string without facing with byte combining
11622 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11623 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11624
11625 * Makefile.in (fns.o): Depend on charset.h.
11626
11627 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11628 convert it to unibyte.
11629 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11630
11631 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11632 apparent char boundary.
11633 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11634 0x80..0x9F to/from multibyte form.
11635
11636 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11637 to unibyte.
11638
11639 * callproc.c (Fcall_process): Always encode an argument string if
11640 it is multibyte. Setup src_multibyte and dst_multibyte members of
11641 process_coding properly.
ce75fd23 11642
c9671f81
KH
11643 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11644 SPLIT_NON_ASCII_CHAR.
11645
11646 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11647 as is.
11648 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11649
52283633 11650 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11651 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11652 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11653 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11654 and eight-bit-graphic.
11655 (char_to_string): Likewise. Signal an error for too large
11656 character code.
11657 (char_printable_p): Return 0 for 8-bit characters.
11658 (update_charset_table): Update iso_charset_table only when a final
11659 character is non-negative.
11660 (find_charset_in_text): Renamed from find_charset_in_str.
11661 Arguments and return value changed. Callers changed.
11662 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11663 be -1 if CHARSET is used only internally.
11664 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11665 eight-bit-graphic.
11666 (Fcharset_after): Simplified.
11667 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11668 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11669 (multibyte_chars_in_text): Simplified by assuming there's no
11670 invalid multibyte sequence.
52283633
SM
11671 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11672 (str_as_unibyte): New functions.
11673 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11674 (init_charset_once): Initialization for
11675 LEADING_CODE_8_BIT_CONTROL.
11676 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11677 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11678 eight-bit-control and eight-bit-graphic.
11679
52283633
SM
11680 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11681 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11682 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11683 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11684 (CHARSET_REVERSE_CHARSET): Likewise.
11685 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11686 eight-bit-graphic.
11687 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11688 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11689 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11690 encounter an invalid multibyte sequence.
11691 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11692 sequence is always valid.
11693 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11694 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11695 (CHAR_STRING): For 8-bit characters, call char_to_string.
11696 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11697 multibyte sequence is always valid.
11698 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11699 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11700 (str_as_unibyte): Extern them.
c9671f81 11701 (BCOPY_SHORT): Fix a bug.
52283633 11702 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11703 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11704 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11705 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11706
bd4bde7f 11707 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11708 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11709 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11710 (EMIT_BYTES): New macros.
11711 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11712 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11713 macros deleted.
11714 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11715 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11716 check the validity of multibyte sequence.
11717 (decode_coding_emacs_mule): New function.
11718 (encode_coding_emacs_mule): New macro.
11719 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11720 the source.
11721 (DECODE_ISO_CHARACTER): Just return a character code.
11722 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11723 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11724 EMIT_CHAR to produced decoded characters. Exit the loop only by
11725 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11726 block here.
11727 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11728 only position codes for an invalid character.
11729 (encode_designation_at_bol): Return new destination pointer. 5th
11730 arg DSTP is changed to DST.
11731 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11732 from the source by ONE_MORE_CHAR. Don't handle the case of last
11733 block here.
11734 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11735 macros deleted.
52283633
SM
11736 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11737 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11738 TWO_MORE_BYTES to fetch a byte from the source.
11739 (encode_eol): Pay attention to coding->src_multibyte.
11740 (detect_coding, detect_eol): Preserve members src_multibyte and
11741 dst_multibyte.
11742 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11743 (encoding_buffer_size): Set magnification to 3 for all coding
11744 systems that require encoding.
11745 (ccl_coding_driver): For decoding, be sure that the result is
11746 valid multibyte sequence.
11747 (decode_coding): Initialize coding->errors and coding->result.
11748 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11749 and raw-text, always call decode_eol. Handle the case of last
11750 block here. If not coding->dst_multibyte, convert the resulting
11751 sequence to unibyte.
11752 (encode_coding): Initialize coding->errors and coding->result.
11753 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11754 and raw-text, always call encode_eol. Handle the case of last
11755 block here.
11756 (shrink_decoding_region, shrink_encoding_region): Detect cases
11757 that we can't skip data more rigidly.
11758 (code_convert_region): Setup src_multibyte and dst_multibyte
11759 members of coding. For decoding, if the buffer is multibyte,
11760 convert the source sequence to unibyte in advance. For encoding,
11761 if the buffer is multibyte, convert the resulting sequence to
11762 multibyte afterward.
11763 (run_pre_post_conversion_on_str): New function.
11764 (code_convert_string): Deleted and divided into the following two.
11765 (decode_coding_string, encode_coding_string): New functions.
11766 (code_convert_string1, code_convert_string_norecord): Call one of
11767 above.
11768 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11769 MAKE_NON_ASCII_CHAR.
52283633
SM
11770 (Fset_terminal_coding_system_internal)
11771 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11772 and dst_multibyte members.
11773 (init_coding_once): Initialize iso_code_class with new enum
11774 ISO_control_0 and ISO_control_1.
11775
11776 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11777 devided into ISO_control_0 and ISO_control_1.
11778 (struct coding_system): New members src_multibyte, dst_multibyte,
11779 errors, and result. Delete member fake_multibyte.
11780 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11781 nonzero.
11782 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11783 nonzero.
11784
11785 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11786 (Faset): Likewise.
11787
11788 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11789 multibyte form.
11790 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11791 combining occurs.
11792 (Ftranspose_region): Delete codes for handling byte combining.
11793
11794 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11795 dst_multibyte members of coding. On handling REPLACE on unibyte
11796 buffer, convert the result of decode_coding to unibyte. On
11797 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11798 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11799 multibyteness of the source (buffer or string).
11800
11801 * fns.c (concat): Handle 8-bit characters correctly.
11802 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11803 unibyte in the result.
11804 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11805 valid multibyte form in the result.
11806 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11807 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11808 return -1, signal an error.
11809 (base64_encode_1): New arg MULTIBYTE. Get each character by
11810 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11811 character is found, return -1.
11812 (Fbase64_decode_region): Delete codes for handling byte-combining.
11813 Treat each decoded byte as a unibyte character.
11814 (Fbase64_decode_string): Return unibyte string.
11815 (Fcompare_strings, concat, string_byte_to_char): Use
11816 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11817 FETCH_STRING_CHAR_ADVANCE.
11818 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11819 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11820
11821 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11822 SPLIT_NON_ASCII_CHAR.
11823 (fontset_ref_via_base, fontset_set): Likewise
11824
11825 * insdel.c (adjust_markers_for_record_delete): Deleted.
11826 (adjust_markers_for_insert): Argument changed. Caller changed.
11827 (adjust_markers_for_replace): Likewise.
52283633
SM
11828 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11829 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11830 (copy_text): Delete unused local varialbe c_save. For converting
11831 to multibyte, be sure to make all 8-bit characters in valid
11832 multibyte form.
11833 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11834 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11835 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11836 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11837 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11838 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11839 handling byte combining.
11840 (adjust_before_replace): Deleted.
427ec082 11841
c9671f81
KH
11842 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11843 SPLIT_NON_ASCII_CHAR.
11844 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11845 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11846 (Fkey_description): Likewise.
11847
11848 * lread.c (read1): On reading multibyte string, be sure to make
11849 all 8-bit chararacters in valid multibyte form.
11850 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11851
11852 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11853 unconditionally.
11854
11855 * process.c (Fstart_process): GCPRO current_dir before calling
11856 Ffind_operation_coding_system. Encode arguments here.
11857 (create_process): Don't encode arguments here. Setup
11858 src_multibyte and dst_multibyte members of struct coding.
11859 (read_process_output): Setup src_multibyte and dst_multibyte
11860 members of struct coding. If the output is to multibyte buffer,
11861 always decode the output of the process. Adjust the
52283633 11862 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11863 (send_process): Setup coding->src_multibyte according to the
11864 multibyteness of the source.
11865
52283633 11866 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11867 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11868 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11869
52283633 11870 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11871
11872 * w16select.c (Fw16_set_clipboard_data): Setup members
11873 src_multibyte and dst_multibyte of coding. Adjusted for the
11874 change for find_charset_in_str.
11875 (Fw16_get_clipboard_data): Likewise.
11876
11877 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11878 dst_multibyte of coding.
11879 (x_to_w32_font): Likewise.
11880
11881 * w32select.c (Fw32_set_clipboard_data): Setup members
11882 src_multibyte and dst_multibyte of coding. Adjusted for the
11883 change for find_charset_in_str.
11884 (Fw32_get_clipboard_data): Likewise.
11885
11886 * xdisp.c (get_next_display_element): Handle 8-bit characters
11887 correctly.
52283633
SM
11888 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11889 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11890
11891 * xselect.c (selection_data_to_lisp_data): Setup members
11892 src_multibyte and dst_multibyte of coding. Adjusted for the
11893 change for find_charset_in_str.
11894 (lisp_data_to_selection_data): Likewise.
11895
5f64c9e0
GM
118962000-05-19 Gerd Moellmann <gerd@gnu.org>
11897
52283633 11898 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11899
5f64c9e0
GM
11900 * dispextern.h (Vimage_types): Add extern declaration.
11901
11902 * xdisp.c (Vimage_types): Moved here from xfns.c.
11903 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11904
11905 * xfns.c (Vimages_types): Moved to xdisp.c.
11906 (syms_of_xfns): Move `image-types' to xdisp.c.
11907
11908 * w32fns.c (Vimage_types): Removed.
11909 (syms_of_w32fns): Remove `image-types'.
11910
813086ea
KH
119112000-05-18 Kenichi Handa <handa@etl.go.jp>
11912
11913 * fns.c (map_char_table): Pay attention to character number of
11914 charset. Check the validity of charset at the first level. For
11915 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11916 the default value.
11917
11918 * fontset.c: Include "buffer.h".
11919 (fs_load_font): If the face has fontset, record the face ID in
11920 that fontset.
11921 (Finternal_char_font): New function.
11922 (accumulate_font_info): New function.
11923 (Ffontset_info): Rewritten for the new fontset implementation.
11924 (syms_of_fontset): Register Vdefault_fontset in the first element
11925 of Vfontset_table. Include Vdefault_fontset in
11926 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11927 function.
11928
bdaebbf0
DL
119292000-05-16 Dave Love <fx@gnu.org>
11930
11931 * m/iris5d.h: Deleted -- unused.
11932
cb613bb8
GM
119332000-05-16 Gerd Moellmann <gerd@gnu.org>
11934
b15f3b77
GM
11935 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11936 `invalid' instead of `illegal'.
11937
11938 * indent.c (Fmove_to_column): When ending within a tab, insert
11939 spaces first so that markers at the end of the tab get adjusted.
11940
835c1b36
GM
11941 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11942 buffer list that wasn't selected in that frame.
11943
cb613bb8
GM
11944 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11945 is needed on mescaline, use a 2 char prefix, and call
11946 make_temp_name with second arg non-zero.
11947
11948 * fileio.c (make_temp_name): New function, extracted from
11949 Fmake_temp_name.
11950 (Fmake_temp_name): Use it.
11951
f685bea9
EZ
119522000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11953
52283633 11954 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11955
a1b8d58b
GM
119562000-05-15 Gerd Moellmann <gerd@gnu.org>
11957
11958 * Makefile.in (lisp): Add env.elc.
11959
11960 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11961
a265079f
GM
119622000-05-12 Gerd Moellmann <gerd@gnu.org>
11963
11964 * search.c (Freplace_match): Handle case of `\N' in the
11965 replacement when there's no group N.
11966
da4496b6
GM
119672000-05-11 Gerd Moellmann <gerd@gnu.org>
11968
0ace421a
GM
11969 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11970 of the message to message_dolog.
11971
1172eb8d
GM
11972 * keyboard.c (read_char): Don't clear current message for help
11973 events; let the code handling help events handle this. Change
11974 code detecting help events that should be ignored.
11975
da4496b6
GM
11976 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11977 we're interating over a string.
11978
0623e40f
DL
119792000-05-09 Dave Love <fx@gnu.org>
11980
11981 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11982 that offset before writing. Move gcpro region past call of
11983 Ffile_regular_p.
11984
bae2503b
DL
119852000-05-04 Dave Love <fx@gnu.org>
11986
11987 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11988
ec82fb2f
GM
119892000-05-04 Gerd Moellmann <gerd@gnu.org>
11990
11991 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11992 of inserted characters when BUF equals the current buffer, and PT
11993 is in front of or equal to FROM.
11994
cbf18892
GM
119952000-05-03 Gerd Moellmann <gerd@gnu.org>
11996
4ff40dd0
GM
11997 * xdisp.c (handle_single_display_prop): If display property value
11998 is invalid, or something not supported on the frame, restore
11999 iterator's position to what it was initially. Make sure to return
12000 0 for invalid and unsupported property values.
12001
cbf18892
GM
12002 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12003 that x_per_char_metric returns null.
12004
1b0672c3
GM
120052000-05-02 Gerd Moellmann <gerd@gnu.org>
12006
576da55d
GM
12007 * xterm.h (struct face): Add forward declaration.
12008 (struct image): Ditto.
12009 (image_ascent): Add prototype.
12010
12011 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12012 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12013 image_ascent instead of using IMAGE_ASCENT.
12014
12015 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12016 (IMAGE_ASCENT): Removed.
12017
12018 * xfns.c (Qcenter): New variable.
12019 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12020 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12021 (image_ascent): New function.
12022 (lookup_image): Recognize `:ascent center'.
12023 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12024 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12025 (xbm_load): Don't set image's ascent here.
12026 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12027 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12028 check ascent values here.
12029 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12030 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12031 (syms_of_xfns): Initialize Qcenter.
12032
1b0672c3
GM
12033 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12034 to the limits, increase the limits.
12035
0d7811ed
KH
120362000-05-01 Kenichi Handa <handa@etl.go.jp>
12037
12038 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12039 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12040
a943a5ca
GM
120412000-04-28 Gerd Moellmann <gerd@gnu.org>
12042
12043 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12044 taller than the window.
12045
5dba1e29
KH
120462000-04-28 Kenichi Handa <handa@etl.go.jp>
12047
12048 * xfaces.c (realize_x_face): Fix the argument of the second
12049 xassert. BASE_FACE may not be a face for ASCII.
12050
353964e3
GM
120512000-04-27 Gerd Moellmann <gerd@gnu.org>
12052
c76e04a8
GM
12053 * print.c (print_object): Treat print-length < 0 as nil.
12054
12055 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12056
12057 * s/freebsd.h (TERMCAP_OBJ): Removed.
12058 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12059
12060 * lread.c (read1): Don't treat period followed by certain
12061 characters as symbol start.
12062
12063 * xfns.c (slurp_file): New function.
12064 (xbm_image_p): Handle case of in-memory XBM files.
12065 (xbm_scan): Rewritten to work on memory buffers instead of files.
12066 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12067 Work on memory buffers instead of files. If DATA is null test
12068 if buffer looks like an in-memory XBM file.
12069 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12070 memory buffers instead of files.
12071 (xbm_file_p): New function.
12072 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12073
353964e3
GM
12074 * lread.c (end_of_file_error): New function.
12075 (read1): Call it instead of signaling `end-of-file' directly.
12076
427ec082 12077 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12078 with Fprinc instead of Fprin1.
12079
24d744ac
KR
120802000-04-26 Ken Raeburn <raeburn@gnu.org>
12081
12082 * window.c (freeze_window_start): Check that minibuffer scroll
12083 window isn't nil before extracting the window structure pointer
12084 from it.
12085
12086 * undo.c (record_delete): If we hit the end of the undo list, stop
12087 picking elements apart.
12088
7464346d
GM
120892000-04-26 Gerd Moellmann <gerd@gnu.org>
12090
12091 * xdisp.c (display_line): If lines are continued, restore
12092 iterator's ascent/descent information to the values before the
12093 first glyph not fitting on the line.
12094
612839b6
GM
120952000-04-25 Gerd Moellmann <gerd@gnu.org>
12096
12097 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12098 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12099
12100 * dispnew.c (increment_matrix_positions): Renamed from
12101 increment_glyph_matrix_buffer_positions.
12102 (increment_row_positions): Renamed from
12103 increment_glyph_row_buffer_positions.
12104
12105 * dispextern.h: Change names of renamed functions from dispnew.c
12106 in prototypes.
12107
cc181e95
GM
121082000-04-24 Gerd Moellmann <gerd@gnu.org>
12109
abfcc168
GM
12110 * fileio.c (Fdo_auto_save): Create directories for auto-save
12111 list file if necessary.
12112
cc181e95
GM
12113 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12114 from buffer or frame.
12115 (automatic_hscrolling_p): New variable.
12116 (hscroll_windows): Scroll windows horizontally only if automatic
12117 hscrolling is allowed.
12118 (syms_of_xdisp): New variable `automatic-hscrolling'.
12119
12120 * frame.h (struct frame): Add member extra_line_spacing.
12121
12122 * xfns.c (x_set_line_spacing): New function.
12123 (Fx_create_frame): Set line spacing from resources.
12124 (Qline_spacing): New variable.
12125 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12126
cc181e95
GM
12127 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12128
12129 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12130 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12131 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12132 extra_line_spacing from default value.
12133 (init_buffer_once): Initialize default value of extra_line_spacing.
12134
12135 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12136 and extra3.
12137
12138 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12139 prompt_width. Add extra line spacing.
12140
12141 * term.c (produce_glyphs): Remove reference to struct it's
12142 prompt_width.
12143
12144 * dispextern.h (struct it): Remove member prompt_width, add
12145 extra_line_spacing.
12146
58827478
GM
121472000-04-22 Gerd Moellmann <gerd@gnu.org>
12148
12149 * dispnew.c (update_frame_line): When writing a whole line, make
12150 sure cursor is in the right row afterwards, otherwise a use of
12151 capability `ch' in cmgoto might leave the cursor in the row below.
12152
25a87f42
GM
121532000-04-21 Gerd Moellmann <gerd@gnu.org>
12154
12155 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12156
12157 * keyboard.c (timer_check): Fix typo in comment.
12158
54edf5c2
KH
121592000-04-21 Kenichi Handa <handa@etl.go.jp>
12160
12161 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12162 name change: ch -> character.
12163
3a64eef5
GM
121642000-04-20 Gerd Moellmann <gerd@gnu.org>
12165
12166 * keyboard.c (echo_message_buffer): New variable.
12167 (echo_now): Set echo_message_buffer to the echo area buffer used
12168 to display the echo.
12169 (cancel_echoing): Reset echo_message_buffer to nil.
12170 (read_char): Code rewritten that handles canceling an echo or
12171 echoing a dash, respectively.
12172
12173 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12174 directory doesn't exist.
12175
6142fdcb
DL
121762000-04-19 Dave Love <fx@gnu.org>
12177
12178 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12179 (concat): Don't allow numeric args.
12180 (Fconcat): Doc change.
6142fdcb 12181
ac6b5352
SM
121822000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12183
12184 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12185 instead define end_match(1|2) more carefully.
12186 Use GET_CHAR_BEFORE_2 for `begline'.
12187
cb9215e4
GM
121882000-04-19 Gerd Moellmann <gerd@gnu.org>
12189
5e3dac3f
GM
12190 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12191 on 64-bit systems where NULL is defined as `0'.
12192
12193 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12194 the `variable argument list' to make it work on Alpha.
12195
cb9215e4
GM
12196 * m/alpha.h (_LP64) [!_LP64]: Define.
12197 (ORDINARY_LINK): Define for NetBSD.
12198
12199 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12200
f532dca0
DL
122012000-04-19 Dave Love <fx@gnu.org>
12202
c750667e
DL
12203 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12204 change.
12205
12206 * Makefile.in (LIBS): Don't use.
12207 (GETLOADAVG_OBJ): Define again.
12208 (otherobj): Add GETLOADAVG_OBJ.
12209
f532dca0
DL
12210 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12211
1c7e22fd
GM
122122000-04-18 Gerd Moellmann <gerd@gnu.org>
12213
f6d3257b
GM
12214 * lread.c (read_filtered_event): Cancel and start busy cursor.
12215
427ec082 12216 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12217 that the per-character metrics may be null.
12218
e10f64e7
GM
122192000-04-17 Gerd Moellmann <gerd@gnu.org>
12220
0daee095
GM
12221 * buffer.c (clone_per_buffer_values): New function.
12222 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12223 clone_per_buffer_values if CLONE is not nil.
12224
e10f64e7
GM
12225 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12226
38687d43
DL
122272000-04-16 Dave Love <fx@gnu.org>
12228
12229 * Makefile.in: Remove obsolete localcpp stuff.
12230 (GETLOADAVG_OBJ): Don't define.
12231 (obj): Move LIBOBJS...
12232 (otherobj): ... to here.
12233 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12234 whitespace-only lines after the continuation (Irix).
12235
c21c7262
GM
122362000-04-14 Gerd Moellmann <gerd@gnu.org>
12237
12238 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12239
12240 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12241
314767c0
DL
122422000-04-14 Dave Love <fx@gnu.org>
12243
12244 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12245 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12246 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12247 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12248 NLIST_STRUCT.
12249
12250 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12251 autoconfiscated HAVE_GETLOADAVG.
12252
12253 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12254 BROKEN_MKTIME.
12255
a2522dca
GM
122562000-04-14 Gerd Moellmann <gerd@gnu.org>
12257
12258 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12259 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12260
33744b5d
DL
122612000-04-14 Dave Love <fx@gnu.org>
12262
c21c7262 12263 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12264 (INTERVAL_SRC): Convert to make variable.
12265 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12266 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12267 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12268 add LIBOBJS.
12269 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12270 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12271 (shortlisp): Add facemenu, float-sup, frame.
12272 (SOME_MACHINE_LISP): Remove them from here.
12273 (LIBES): Change unused LDLIBS to autoconf LIBS.
12274
12275 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12276
9d3d5916
KH
122772000-04-14 Kenichi Handa <handa@etl.go.jp>
12278
12279 * composite.c (update_compositions): If FROM and TO are not in a
12280 valid range, do nothing.
12281
198e3c7a
GM
122822000-04-13 Gerd Moellmann <gerd@gnu.org>
12283
52283633 12284 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12285
52283633 12286 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12287
12288 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12289 as TERMCAP_OBJ.
12290
055a28c9
EZ
122912000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12292
12293 * fileio.c (a_write): Remove redundant semi-colons.
12294 (e_write): Return -1 if failed to write all the data.
12295 This fixes the changes made at 1999-12-15.
12296
f5c75033
DL
122972000-04-12 Dave Love <fx@gnu.org>
12298
12299 * fns.c (mapcar1): Test for null vals to support mapc.
12300 (Fmapc): New function.
12301
0c3cfc51
EZ
123022000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12303
12304 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12305 (IT_frame_up_to_date): Support the buffer local value of
12306 cursor-type, if defined.
12307
33465a31
DL
123082000-04-10 Dave Love <fx@gnu.org>
12309
12310 * editfns.c (preceding-char, following-char): Doc fix.
12311
6ed56568
KR
123122000-04-10 Ken Raeburn <raeburn@gnu.org>
12313
12314 * Makefile.in (temacs): Revert 2000-03-12 change.
12315
7cf80d4e
JR
123162000-04-10 Jason Rumney <jasonr@gnu.org>
12317
12318 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12319
34f3f342
GM
123202000-04-10 Gerd Moellmann <gerd@gnu.org>
12321
1a1b1895
GM
12322 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12323 area buffer, if it's not set up yet.
12324
34f3f342
GM
12325 * indent.c (compute_motion): Set immediate_quit.
12326
be0dbdab
GM
123272000-04-09 Gerd Moellmann <gerd@gnu.org>
12328
52283633 12329 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12330 (realize_tty_face): Suppress boldness if colors are the inverse of
12331 the default colors, and tty_suppress_bold_inverse_default_colors_p
12332 is set.
12333 (Ftty_suppress_bold_inverse_default_colors): New function.
12334 (syms_of_xfaces): Defsubr it.
12335
be0dbdab
GM
12336 * buffer.c (Frestore_buffer_modified_p): New function.
12337 (syms_of_buffer): Defsubr it.
12338
e8413c3b
KR
123392000-04-08 Ken Raeburn <raeburn@gnu.org>
12340
87f67317
KR
12341 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12342 charset id (int) argument, not a charset (Lisp_Object).
12343
e8413c3b
KR
12344 * coding.h (code_convert_string): Declare.
12345 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12346 object, as the fourth argument to code_convert_string.
12347
52283633 12348 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12349 (Fset_fontset_font): Use EQ to compare lisp objects.
12350
7c752c80
KR
123512000-04-05 Ken Raeburn <raeburn@gnu.org>
12352
c0333abc
KR
12353 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12354 a pointer that looks like a lisp object.
12355 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12356 zero, instead see whether it's an integer object, since they can't
12357 have intervals.
12358 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12359
52283633
SM
12360 * dispnew.c (allocate_matrices_for_frame_redisplay)
12361 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12362 to convert between (unsigned) int values and lisp integers.
12363 * keyboard.c (read_key_sequence): Likewise.
12364 * lread.c (substitute_object_recurse): Likewise.
12365 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12366 * minibuf.c (do_completion, Fminibuffer_complete_word)
12367 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12368 * term.c (produce_special_glyphs): Likewise.
12369
12370 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12371 * print.c (print_preprocess, print_object): Likewise.
12372
12373 * search.c (compile_pattern): Use NILP when checking for nil.
12374
74e49b38
KR
12375 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12376 __OPTIMIZE__]: Provide a GNU C macro version that handles
12377 lisp-object unions.
12378 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12379 field, to better cope with ENABLE_CHECKING and calls that modify a
12380 Lisp_Object using its old value.
12381
685e5ed2
GM
123822000-04-04 Gerd Moellmann <gerd@gnu.org>
12383
c407c570
GM
12384 * window.c (compare_window_configurations): Signal an error
12385 if parameters C1 or C2 aren't window configurations.
12386
685e5ed2
GM
12387 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12388 AFTER_POTENTIAL_GC calls around calls to functions that can
12389 signal an error and thus invoke the debugger.
12390
587a49ab
GM
123912000-04-03 Gerd Moellmann <gerd@gnu.org>
12392
62f20204
GM
12393 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12394 an error if decoding fails.
12395
587a49ab
GM
12396 * keyboard.c (lispy_mouse_names): Variable removed.
12397 (Vlispy_mouse_stem): New variable.
12398 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12399 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12400 for any mouse button number. Increase size of mouse_syms and
12401 button_down_location as needed. Call modify_event_symbol with
12402 different arguments.
12403 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12404 Call modify_event_symbol with different arguments.
12405 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12406 for any button number. Call modify_event_symbol with different
12407 arguments.
12408 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12409 Accept a string for NAME_ALIST_OR_STEM.
12410
12411 * lisp.h (larger_vector): Add prototype.
12412
12413 * fns.c (larger_vector): Make externally visible.
12414
12415 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12416
2d1675e4
SM
124172000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12418
12419 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12420 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12421 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12422 we are between str1 and str2.
12423 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12424 (PATFETCH): Use `TRANSLATE'.
12425 (PATFETCH_RAW): Fetch multibyte char if applicable.
12426 (PATUNFETCH): Remove.
12427 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12428 When writing a char, write it directly into the pattern buffer rather
12429 than going needlessly through a temp char-array.
12430 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12431 multibyte magic and remove the useless `#ifdef emacs'.
12432 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12433 buffer.
12434
12435 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12436 conditional on `emacs'.
12437
12438 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12439
cc2d8c6b
KR
124402000-04-01 Ken Raeburn <raeburn@gnu.org>
12441
12442 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12443 non-union-type versions of XMARK and friends here, because XMARK
12444 and friends won't work on an integer field if NO_UNION_TYPE is not
12445 defined.
52283633 12446 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12447
52283633 12448 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12449 (syms_of_composite): Delete local var NARGS, pass an int as first
12450 argument to Fmake_hash_table.
12451
2387b382
KR
12452 * editfns.c (text_property_stickiness): Use NILP to test
12453 Lisp_Object boolean value.
12454 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12455 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12456 problems reading from and changing the same lisp value in an
12457 XSETSTRING call.
12458
27660e89
GM
124592000-04-01 Gerd Moellmann <gerd@gnu.org>
12460
12461 * term.c (TN_no_color_video): New variable.
12462 (term_init): Intitialize TN_no_color_video.
12463 (enum no_color_bit): New enumeration.
12464 (MAY_USE_WITH_COLORS_P): New macro.
12465 (turn_on_face): Use it to determine if attributes may be used
12466 combined with colors.
12467
3578db3c
KR
124682000-04-01 Ken Raeburn <raeburn@gnu.org>
12469
12470 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12471 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12472 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12473 proper accessor macros.
12474 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12475 (grow_mini_window): Fix typo getting int value of root->height.
12476
6fc556fd
KR
12477 * xdisp.c (compute_string_pos): Fix order of arguments to
12478 string_pos_nchars_ahead.
12479 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12480 count arg to variable-arg routines like Frun_hook_with_args and
12481 Fformat.
587a49ab
GM
12482 (back_to_previous_visible_line_start)
12483 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12484 fixed-arg routines like Fget_char_property and Fmake_string.
12485 (reconsider_clip_changes): Use XINT when comparing integer lisp
12486 objects, or passing them as int arguments.
587a49ab
GM
12487 (mark_window_display_accurate, insert_left_trunc_glyphs)
12488 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12489 storing or passing integer values as lisp objects.
12490 (set_cursor_from_row, highlight_trailing_whitespace): Use
12491 INTEGERP, not implicit test against zero, for glyph object.
12492 (try_window_id): Don't use make_number when we want an int value.
12493
12494 * xfaces.c (xlfd_symbolic_value): Make last argument a
12495 Lisp_Object, to be consistent with callers.
12496 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12497 (lface_hash): Apply XFASTINT to lisp values before folding in.
12498
12499 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12500 fill in window width and height. Pass an int, not a lisp object,
12501 as first arg to Finsert.
12502
6e7b2457
GM
125032000-04-01 Gerd Moellmann <gerd@gnu.org>
12504
610d841e
GM
12505 * xfaces.c (realize_basic_faces): Block input while realizing
12506 the faces.
12507
6e7b2457
GM
12508 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12509
12510 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12511
aa110c0c
GM
125122000-03-31 Gerd Moellmann <gerd@gnu.org>
12513
12514 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12515 or ASCII, handle case that per-char metric is null.
aa110c0c 12516
8801a864
KR
125172000-03-30 Ken Raeburn <raeburn@gnu.org>
12518
c6129d7e
KR
12519 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12520
52283633
SM
12521 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12522 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12523 pointer, using eassert.
12524 * frame.h (XFRAME): Likewise.
12525
52283633
SM
12526 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12527 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12528 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12529 * data.c (set_internal): Likewise.
52283633
SM
12530 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12531 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12532 * fileio.c (auto_save_1): Likewise.
12533 * insdel.c (check_markers): Likewise.
12534 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12535 * undo.c (record_insert): Likewise.
12536 * vmsproc.c (child_sig): Likewise.
12537 * window.c (unshow_buffer, window_loop): Likewise.
12538 * xterm.c (x_erase_phys_cursor): Likewise.
12539
8e7af858
GM
125402000-03-30 Gerd Moellmann <gerd@gnu.org>
12541
12542 * xfns.c (free_image_cache): Free the cache structure itself
12543 last, after all its members have been freed.
12544
12545 * lisp.h (xstrdup): Add prototype.
12546
12547 * alloc.c (xstrdup): Moved here from xfaces.c.
12548 (allocating_for_lisp): Variable removed.
52283633 12549 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12550
12551 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12552 of Fsymbol_value.
12553 (xstrdup): Moved to alloc.c.
12554
e0b8c689
KR
125552000-03-29 Ken Raeburn <raeburn@gnu.org>
12556
b96f9fb7
KR
12557 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12558
12559 * emacs.c (main): Fix sense of no-loadup test.
12560
e0b8c689
KR
12561 * config.in (ENABLE_CHECKING): Undef.
12562
12563 * lisp.h (struct interval): Replace "parent" field with a union of
12564 interval pointer and Lisp_Object; add new bitfield to use as
12565 discriminant. Change other flag fields to bitfields.
12566 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12567 is defined and the supplied test fails, print a message and abort.
12568 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12569
12570 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12571 pointers; abort if the value looks like a lisp object.
52283633
SM
12572 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12573 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12574 Modify for new interval parent definition.
12575
52283633
SM
12576 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12577 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12578 addressable lisp object in the interval structure.
12579 (die): New function.
12580 (suppress_checking): New variable.
12581
12582 * intervals.c (interval_start_pos): Just return 0 if there's no
12583 parent object.
12584
f83c5440
GM
125852000-03-29 Gerd Moellmann <gerd@gnu.org>
12586
12587 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12588 and earlier Emacs versions.
12589
12590 * keyboard.c (Ftop_level): Cancel busy-cursor.
12591
12592 * eval.c (call_debugger): Cancel busy-cursor.
12593
fdce64ff
KH
125942000-03-29 Kenichi Handa <handa@etl.go.jp>
12595
12596 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12597 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12598
f6a3f532
SM
125992000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12600
12601 * regex.c (analyse_first): New function obtained by ripping out most
12602 of re_compile_fastmap and generalizing it a little bit so that it
12603 can also just return whether a given (sub)pattern can match the empty
12604 string or not.
12605 (regex_compile): Use `analyse_first' to decide whether the loop-check
12606 needs to be done or not for *, +, *? and +? (the loop check is costly
12607 for non-greedy repetition).
12608 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12609
e9b309ac
DL
126102000-03-28 Dave Love <fx@gnu.org>
12611
52283633 12612 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12613
e9b309ac
DL
12614 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12615
ed0767d8
SM
126162000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12617
12618 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12619 an expression.
12620 (enum re_opcode_t): Update description of succeed_n.
12621 (PATFETCH): Always define.
12622 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12623 operators, char classes, shy-groups and intervals).
12624 Optimize special cases of intervals so as to only use succeed_n and
12625 jump_n when really needed.
12626 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12627 that we don't have to handle the special cases any more.
12628 Simplify on_failure_jump handling as well.
12629
e11e7e46
JR
126302000-03-28 Jason Rumney <jasonr@gnu.org>
12631
12632 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12633
88faab89
GM
126342000-03-27 Gerd Moellmann <gerd@gnu.org>
12635
182ff242
GM
12636 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12637
12638 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12639
182ff242
GM
12640 * alloc.c (mark_maybe_object): New function.
12641 (mark_memory): Use it.
12642 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12643 (setjmp_tested_p, longjmp_done): New variables.
12644 (test_setjmp): New function.
12645 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12646 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12647
c1005d06
GM
12648 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12649 to DEC_TEXT_POS and INC_TEXT_POS.
12650
12651 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12652 with parameter MULTIBYTE_P.
12653
52283633 12654 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12655
7439e5b9 12656 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12657 buffers because it looks for multibyte character byte sequences
12658 which don't exist in unibyte text.
7439e5b9 12659
d9c545da
GM
12660 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12661
11fd416e 12662 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12663 [DEBUG_X_COLORS]: New functions.
12664 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12665
12666 * xfns.c (x_set_cursor_color): Get color reference counts right.
12667
12668 * xterm.c (x_copy_color): New function.
12669 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12670
12671 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12672 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12673 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12674 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12675 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12676 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12677 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12678 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12679 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12680 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12681
11fd416e
GM
12682 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12683 names for handling per-buffer variables.
d9c545da
GM
12684
12685 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12686 instead of MAX_BUFFER_LOCAL_VARS.
12687 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12688
12689 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12690
88faab89
GM
12691 * xfns.c (x_specified_cursor_type): New function.
12692 (x_set_cursor_type): Use it.
12693
12694 * buffer.h (struct buffer): Add cursor_type.
12695
d80f42b7
SM
126962000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12697
12698 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12699 (print_partial_compiled_pattern, re_compile_fastmap):
12700 Handle new opcode.
d80f42b7
SM
12701 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12702 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12703 executing it as well as when popping it off the stack to find infinite
12704 loops in non-greedy repetition operators.
12705
89e80928
GM
127062000-03-26 Gerd Moellmann <gerd@gnu.org>
12707
3d4ff2dd
GM
12708 * doc.c (Qfunction_documentation): New variable.
12709 (syms_of_doc): Initialize Qfunction_documentation.
12710 (Fdocumentation): If FUNCTION is a symbol with non-nil
12711 `function-documentation' property, return a documentation derived
12712 from that.
12713
bd96bd79
GM
12714 * buffer.c (syms_of_buffer): Add default-cursor-type.
12715 (init_buffer_once): Don't let cursor_type have a local value
12716 in every buffer.
12717
19d1bc27
GM
12718 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12719 on buffer-local value of cursor_type.
12720 (x_draw_bar_cursor): Add parameter WIDTH.
12721
12722 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12723 (init_buffer_once): Set default cursor_type value to t.
12724 Mark cursor_type as local everywhere.
12725 (syms_of_buffer): New per-buffer variable cursor-type.
12726
89e80928
GM
12727 * buffer.h (struct buffer): Remove member local_var_flags,
12728 add local_flags.
12729 (MAX_BUFFER_LOCAL_VARS): New macro.
12730 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12731 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12732 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12733 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12734
52283633 12735 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12736
12737 * category.c (Fset_category_table): Use new macros for per-buffer
12738 variables.
12739
12740 * buffer.c (buffer_permanent_local_flags): Make a char array.
12741 (max_buffer_local_idx): New variable.
12742 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12743 for new handling of per-buffer variables.
12744 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12745 (init_buffer_once): Initialize per-buffer vars differently.
12746 Set max_buffer_local_idx.
12747
12748 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12749 variables.
12750
52283633 12751 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12752
12753 * data.c (do_symval_forwarding, store_symval_forwarding)
12754 (find_symbol_value, set_internal, default_value, Fset_default)
12755 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12756 per-buffer variables.
12757
12758 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12759
9a0dd3dc
GM
127602000-03-24 Gerd Moellmann <gerd@gnu.org>
12761
b68c375f
GM
12762 * xterm.c (x_term_init): Unblock input around call1 of
12763 Qvendor_specific_keysyms.
12764
9a0dd3dc
GM
12765 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12766 (find_defun_start): Consider an open parenthesis in column 0
12767 a defun start only if open_paren_in_column_0_is_defun_start is set.
12768 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12769
7973e637
SM
127702000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12771
12772 * eval.c (Fautoload): Add entry in load-history (if after dump).
12773 * lread.c (load-history): Update docstring.
12774
39210e90
GM
127752000-03-24 Gerd Moellmann <gerd@gnu.org>
12776
12777 * indent.c (Fvertical_motion): Always use the current buffer.
12778 Temporarily change the window's buffer, if necessary.
12779
72db3ab5
GM
127802000-03-23 Gerd Moellmann <gerd@gnu.org>
12781
12782 * xterm.c (fast_find_position): Make sure not to consider rows
12783 not visible in the window.
12784
990b2375
SM
127852000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12786
12787 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12788 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12789
ff4df011
JR
127902000-03-22 Jason Rumney <jasonr@gnu.org>
12791
12792 * w32menu.c (single_submenu): Set help string to NULL if none.
12793 (w32_menu_show): Set help string correctly.
12794 (add-menu-item): Set help string in MIIM_DATA for menu item.
12795 Load SetMenuItemInfoA explicitly.
12796 (w32_menu_display_help): New function.
427ec082 12797
ff4df011
JR
12798 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12799 (QCdata): Moved to xdisp.c.
12800
12801 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12802 (Vw32_charset_to_codepage_alist): Removed.
12803 (Vw32_charset_info_alist): New variable.
52283633
SM
12804 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12805 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12806 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12807 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12808 with TODO comment.
12809 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12810 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12811 Define Vw32_charset_info_alist and w32_charset symbols.
12812
128132000-03-22 Jason Rumney <jasonr@gnu.org>
12814
12815 * makefile.nt (w32bdf.obj): Update dependencies.
12816
12817 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12818
12819 * w32fns.c: Include fontset.h after dispextern.h.
12820 (Fx_create_frame): Do not create fontset.
12821 (w32_load_system_font): Doc fix.
12822 (Fx_close_connection): Free full_name if it is not shared.
12823
12824 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12825 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12826 Callers updated.
ff4df011
JR
12827 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12828 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12829 (w32_font_is_double_byte): New function, needs body.
12830 (x_append_glyph): Set glyph->glyph_not_available_p.
12831 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12832 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12833 character, convert it to a unibyte character.
12834 (struct glyph_string): Delete member `charset'.
12835 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12836 calculating it is found.
12837 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12838 the case that per char metric is not available correctly.
12839 (x_fill_glyph_string): Handle the case that the specific glyph is
12840 not available correctly.
12841 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12842 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12843 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12844 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12845 fontset. Don't call FS_LOAD_FONT.
12846
439d5cb4
KR
128472000-03-22 Ken Raeburn <raeburn@gnu.org>
12848
12849 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12850 (INT_LISPLIKE): New macro.
12851 (NULL_INTERVAL_P): Use it.
52283633
SM
12852 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12853 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12854 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12855
12856 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12857 explicit references to "parent" field of struct interval and
12858 associated unclean type conversions.
52283633
SM
12859 * intervals.c (create_root_interval, root_interval, rotate_right)
12860 (rotate_left, balance_possible_root_interval, split_interval_right)
12861 (split_interval_left, interval_start_pos, find_interval)
12862 (next_interval, previous_interval, update_interval)
12863 (adjust_intervals_for_insertion, delete_node, delete_interval)
12864 (adjust_intervals_for_deletion, merge_interval_right)
12865 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12866 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12867 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12868 Likewise.
12869 * syntax.c (update_syntax_table): Likewise.
12870
12871 * intervals.c (reproduce_tree_obj): New function, like
12872 reproduce_tree but takes a Lisp_Object for the parent. Declare
12873 with prototype.
12874 (graft_intervals_into_buffer): Use it when appropriate.
12875 (reproduce_tree): Declare with prototype.
12876 (balance_possible_root_interval): Check that the parent is a lisp
12877 object before trying to examine its type.
12878
ee1c5b21
GM
128792000-03-22 Gerd Moellmann <gerd@gnu.org>
12880
12881 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12882 as strings only if both are known to be strings.
12883
12884 * s/openbsd.h (LIBS_TERMCAP): Undef.
12885
1fb352e0
SM
128862000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12887
12888 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12889 definitions for non-Emacs compilation.
12890 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12891 outside of `#ifdef emacs'.
12892 (print_partial_compiled_pattern): Update.
12893 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12894 (re_compile_fastmap): Merge handling of charset and charset_not (for
12895 emacs and non-emacs compilation as well).
12896 Similarly for (not)categoryspec and (not)syntaxspec.
12897 Don't use the fastmap when reaching `anychar' since the added
12898 complexity is not justified.
12899 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12900 and (not)syntaxspec. Merge (not)categoryspec.
12901
fdaa1f77
KH
129022000-03-22 Kenichi Handa <handa@etl.go.jp>
12903
52283633
SM
12904 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12905 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12906 --without-x.
fdaa1f77 12907
d152fb46
DL
129082000-03-21 Dave Love <fx@gnu.org>
12909
12910 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12911 doc string.
12912
d2cafc8c
GM
129132000-03-21 Gerd Moellmann <gerd@gnu.org>
12914
12915 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12916 (lface_fully_specified_p): Don't check contents of
12917 LFACE_FONT_INDEX because that attribute is optional.
12918 (realize_x_face): Remove now unwarranted xassert.
12919
9111d4b5
KH
129202000-03-21 Kenichi HANDA <handa@etl.go.jp>
12921
12922 The following changes are to make font selection based on
12923 characters, not charset. In addition, they recover fontset
12924 facilities while utilizing the new font selection mechanism.
12925
6c4bfdc0
KH
12926 * Makefile.in (fontset.o): Depend on dispextern.h.
12927
12928 * alloc.c (mark_face_cache): Don't mark face->registry.
12929
9111d4b5
KH
12930 * dispextern.h (struct glyph): New member glyph_not_available_p.
12931 Use 22 bits for face_id.
12932 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12933 (struct face): Delete member registry, new member ascii_face.
12934 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12935 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12936 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12937 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12938
12939 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12940 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12941 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12942 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12943 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12944 (fs_free_face_fontset, fontset_font_pattern)
12945 (face_suitable_for_char_p, face_for_char)
12946 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12947 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12948 (FS_LOAD_FACE_FONT): New macro.
12949
12950 * fontset.c: All codes rewritten or adjusted for the change of
12951 fontset implementation. Now fontset is represented by char table.
52283633
SM
12952 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12953 Variables removed.
9111d4b5 12954 (my_strcasecmp): Function removed.
52283633 12955 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12956 (AREF, ASIZE): New macros.
52283633
SM
12957 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12958 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12959 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12960 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12961 (fontset_id_valid_p, font_family_registry, fontset_name)
12962 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12963 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12964 New functions.
12965 (fs_load_font): New arg FACE. Caller changed.
12966 (fs_query_fontset): Argument changed. Caller changed.
12967 (Fquery_fontset): call fs_query_fontset.
12968 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12969 Functions removed.
52283633
SM
12970 (clear_fontset_elements, check_registry_encoding)
12971 (check_fontset_name): New functions.
9111d4b5
KH
12972 (syms_of_fontset): Set char-table-extra-slots property of fontset
12973 to 3. Staticpro and initialize Vfontset_table and
12974 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12975
12976 * frame.h (struct frame): Member `fontset_data' removed.
12977 (FRAME_FONTSET_DATA): Macro removed.
12978
12979 * frame.c (make_frame): Don't allocate f->fontset_data.
12980 (Fdelete_frame): Don't free f->fontset_data.
12981
6c4bfdc0
KH
12982 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12983
9111d4b5
KH
12984 * xdisp.c (charset_at_position): Function removed.
12985 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12986 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12987 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12988 Likewise.
12989 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12990 FACE_FOR_CHARSET.
52283633
SM
12991 (get_next_display_element, append_space)
12992 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12993
12994 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12995 Variables removed.
12996 (clear_font_table, frame_update_line_height, load_face_font):
12997 Adjusted for the change of fontset implementation.
12998 (load_face_fontset_font): Function removed.
12999 (pixel_point_size): New function.
13000 (font_list): Argument type changed. Caller changed.
13001 (LFACE_FONT): New macro.
13002 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13003 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13004 Lisp_Object. Determine the font name by actually loading a font
13005 by the specified pattern. Set LFACE_FONT (lface) to the specified
13006 pattern. Even if a font is not found, don't try alternatives.
13007 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13008 (set_font_frame_param): If `font' is specified in lface, use it.
13009 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13010 (lface_same_font_attributes_p): Likewise.
13011 (make_realized_face): Arguent changed. Caller changed. Set
13012 face->ascii_face to face itself.
13013 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13014 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13015 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13016 (free_realized_multibyte_face): New function.
13017 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13018 changed. Caller changed.
13019 (try_font_list): Argument type changed.
13020 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13021 (choose_face_font): Argument changed. Handle fontset properly.
13022 (choose_face_fontset_font): Function removed.
13023 (realize_default_face, realize_named_face): Don't remove the
13024 former face here.
13025 (realize_face): Argument changed. Caller changed. Remove face
52283633 13026 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13027 (realize_x_face): Argument changed. Caller changed. For a
13028 multibyte character, share fontset with base_face. For a single
52283633 13029 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13030 (realize_tty_face): Argument changed. Caller changed.
13031 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13032 (face_at_buffer_position): Don't check multibyte_p for returning
13033 DEFAULT_FACE_ID.
13034 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13035 FACE_SUITABLE_FOR_CHARSET_P.
13036 (syms_of_xfaces): Remove code for Qx_charset_registry and
13037 Vface_default_registry.
13038
6c4bfdc0
KH
13039 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13040 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13041 (x_per_char_metric): Don't try FONT->default_char. Even if
13042 pcm->width is zero, glyph bits may exist.
13043 (x_encode_char): Always initialize char2b->byte1.
13044 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13045 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13046 (x_append_glyph): Set glyph->glyph_not_available_p.
13047 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13048 it->charset. Handle the case that per char metric is not
13049 available. If it->multibyte_p is zero and it->c is a multibyte
13050 character, convert it to a unibyte character.
13051 (struct glyph_string): Delete member `charset'.
13052 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13053 the case that per char metric is not available correctly.
13054 (x_fill_glyph_string): Handle the case that the specific glyph is
13055 not available correctly.
13056 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13057 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13058 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13059 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13060 fontset. Don't call FS_LOAD_FONT.
13061
13062 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13063 (x_create_tip_frame): Likewise.
13064 (Fx_close_connection): Free full_name of font_info.
13065
13066 * fns.c (optimize_sub_char_table): New function.
13067 (Foptimize_char_table): New function.
13068 (syms_of_fns): Defsubr Soptimize_char_table.
13069
b33dd3b0
GM
130702000-03-20 Gerd Moellmann <gerd@gnu.org>
13071
13072 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13073 only if buffer is displayed in some window.
13074
13075 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13076 (try_window_reusing_current_matrix): Don't call scroll run
13077 function if run's current and desired position are the same;
13078 this prevents cursor flickering.
13079
4e8a9132
SM
130802000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13081
13082 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13083
13084 * regex.c (RE_STRING_CHAR): New macro.
13085 (GET_CHAR_AFER_2): Remove.
13086 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13087 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13088 (print_partial_compiled_pattern, re_compile_fastmap)
13089 (re_match_2_internal): Remove on_failure_jump_exclusive.
13090 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13091 optimization only need to work for * (ie. can use of_keep_string_jump).
13092 Remove the special case for .*\n since it is now covered by the general
13093 optimization.
13094 (re_search_2): Don't bother with `room'.
13095 (skip_one_char): New function.
13096 (skip_noops): Simplify since `memory' is not needed any more.
13097 (mutually_exclusive_p): Restructure slightly to use `switch' and
13098 add handling for "all" remaining cases.
13099 (re_match_2_internal): Change on_failure_jump_smart to use
13100 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13101 rather than on_failure_jump_exclusive.
13102
2136fdd4
GM
131032000-03-19 Gerd Moellmann <gerd@gnu.org>
13104
13105 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13106 number of bits per RGB because it's everywhere used as the depth
13107 of the visual.
13108
13109 * term.c (calculate_costs): Remove code dealing with X frames.
13110
18e21ce8 131112000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13112
13113 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13114
d7b511c4
GM
131152000-03-18 Gerd Moellmann <gerd@gnu.org>
13116
13117 * lread.c (read_integer): Unread the last char not consumed.
13118
16b5d424
GM
131192000-03-17 Gerd Moellmann <gerd@gnu.org>
13120
13121 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13122 which are in the process of being deleted.
16b5d424 13123
1fa28578
GM
131242000-03-16 Gerd Moellmann <gerd@gnu.org>
13125
83488cce
GM
13126 * Makefile.in (mostlyclean): Add `*.core'.
13127 (clean): Add `bootstrap-emacs'.
13128
1fa28578
GM
13129 * lread.c (read_integer): New function.
13130 (read1): Support read syntax #o, #x, #b, #r.
13131
99633e97
SM
131322000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13133
1fa28578
GM
13134 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13135 make sure POINTER_TO_OFFSET gives the same value before and after
13136 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13137 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13138 (debug): Now only active if > 0 rather than if != 0.
13139 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13140 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13141 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13142 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13143 (store_op1, store_op2, insert_op1, insert_op2)
13144 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13145 (group_in_compile_stack): Move to after its arg's types are
13146 declared and add a prototype.
99633e97 13147 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13148 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13149 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13150 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13151 indentation of the greedy-op and shy-group code.
99633e97
SM
13152 (at_(beg|end)line_loc_p): Fix argument's types.
13153 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13154 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13155 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13156 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13157 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13158 QUIT unconditionally.
99633e97 13159
699238d9
GM
131602000-03-15 Gerd Moellmann <gerd@gnu.org>
13161
13162 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13163 a sole completion.
13164
13165 * process.c (send_process): Add a hint that the function
13166 can call Lisp code to its comment.
13167
13168 * lread.c (load_dangerous_libraries): New variable.
13169 (Vbytecomp_version_regexp): New variable.
13170 (safe_to_load_p): New function.
13171 (Fload): Handle files not compiled with Emacs specially.
13172 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13173
34e23e5a
GM
131742000-03-14 Gerd Moellmann <gerd@gnu.org>
13175
9c763cca
GM
13176 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13177
13178 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13179 support functions only if HAVE_X11R6_XIM is defined.
13180 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13181
13182 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13183
13184 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13185 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13186 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13187
13188 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13189 (HAVE_X11R6_XIM): Define.
13190
13191 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13192
34e23e5a
GM
13193 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13194 If set, call XSynchronize.
13195
66f0296e
SM
131962000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13197
34e23e5a
GM
13198 * regex.c: Declare a new type `re_char' used throughout the code
13199 for the string char type. It's `const unsigned char' to match the
13200 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13201 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13202 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13203 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13204 code duplication.
66f0296e
SM
13205
13206 * charset.h (GET_CHAR_AFTER_2): Remove.
13207 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13208
854a025c
KR
132092000-03-12 Ken Raeburn <raeburn@gnu.org>
13210
13211 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13212 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13213 of them try to use backquotes.
13214
b9d2c7e2
DL
132152000-03-12 Dave Love <fx@gnu.org>
13216
13217 * unexelf.c: Restore changes of 1999-10-19.
13218 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13219 fix its type and alignment; copy it from current process.
13220
5e5dff44
GM
132212000-03-12 Gerd Moellmann <gerd@gnu.org>
13222
9b2f3c38
GM
13223 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13224 has been found. Fix bug not computing timer's predecessor.
13225
427ec082 13226 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13227 file name.
13228
e1cff360
GM
13229 * window.c (Fsave_window_excursion): Doc fix.
13230
52283633 13231 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13232
e411ce4b
EZ
132332000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13234
13235 * msdos.c (vga_installed): New function, code moved from
13236 dos_set_window_size.
13237 (Qbar, Qcursor_type, outside_cursor): New variables.
13238 (syms_of_msdos): Intern and staticpro them.
13239 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13240 shape used outside Emacs when called for the first time.
13241 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13242 cursor shape used outside Emacs.
13243 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13244 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13245 type has changed.
13246 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13247 parameters specify the cursor. Make qreverse a global
13248 variable (renamed to Qreverse).
13249
80460654
GM
132502000-03-09 Gerd Moellmann <gerd@gnu.org>
13251
13252 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13253
95cd4c40
SM
132542000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13255
13256 This is a big redesign of failure-stack and register handling, prompted
13257 by bugs revealed when trying to add shy-groups. Overall, what happened
13258 is that loops are now structured a little differently, groups can be
13259 shy and the code is a little simpler.
13260
13261 * regex.h: Update the copyright.
13262 (RE_SHY_GROUPS): New value.
13263 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13264 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13265
80460654
GM
13266 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13267 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13268 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13269 for (start|stop)_memory since they now only take one argument (the
13270 second has becomes unnecessary).
52283633 13271 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13272 (print_compiled_pattern): Use %ld to printf long ints and flush to
13273 make debugging a little easier.
95cd4c40
SM
13274 (union fail_stack_elt): Make the integer unsigned.
13275 (struct fail_stack_type): Add a `frame' element.
13276 (INIT_FAIL_STACK): Init `frame' as well.
13277 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13278 (DEBUG_PUSH, DEBUG_POP): Remove.
13279 (NUM_REG_ITEMS): Remove.
13280 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13281 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13282 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13283 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13284 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13285 New macros.
80460654
GM
13286 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13287 address pushed is not the destination of the jump but the source
13288 of it instead.
95cd4c40
SM
13289 (NUM_FAILURE_ITEMS): Remove.
13290 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13291 registers before the actual failure point). Don't hardcode any
13292 meaning for str==NULL anymore.
95cd4c40 13293 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13294 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13295 Remove.
95cd4c40
SM
13296 (REG_UNSET_VALUE): Use NULL (why not?).
13297 (compile_range): Remove declaration since it doesn't exist.
13298 (struct compile_stack_elt_t): Remove inner_group_offset.
13299 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13300 (regex_grow_registers): Remove dead code.
13301 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13302 (regex_compile): Add shy-groups Change loops to use
13303 on_failure_jump_smart&jump instead of
13304 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13305 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13306 variable to me). Use `jump' instead of `jump_past_alt' and don't
13307 bother with push_dummy_failure in alternatives since it is now
13308 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13309 emacs' for (re)allocating the stack.
13310 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13311 from loop when bufp->can_be_null rather than jumping to `done'.
13312 Avoid jumping backwards so as to ensure termination. Use
13313 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13314 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13315 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13316 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13317 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13318 (lowest_active_reg, highest_active_reg)
13319 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13320 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13321 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13322 variables. Push register (in `start_memory') on the stack rather
13323 than storing it in old_reg(start|end). Remove the cycle detection
13324 from `stop_memory', replaced by the use of on_failure_jump_loop
13325 for greedy loops. Add code for the new on_failure_jump_<foo>.
13326 Remove ad-hoc code in `on_failure_jump' to push more registers in
13327 the case of a loop. Take out code from `maybe_pop_jump' into
13328 separate functions and adapt it to the semantics of
13329 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13330 and push_dummy_failure. Remove dummy_failure handling and
13331 handling of `failures to jump to on_failure_jump' (this last one
13332 was already dead code, it seems).
13333 (group_match_null_string_p, alt_match_null_string_p)
13334 (common_op_match_null_string_p): Remove.
95cd4c40 13335
7397acc4
DL
133362000-03-08 Dave Love <fx@gnu.org>
13337
13338 * config.in: Don't depend on __STDC__ for volatile.
13339 Add POINTER_TYPE, PTR, PROTOTYPES.
13340
13341 * hftctl.c, strftime.c: Use PROTOTYPES.
13342 * eval.c (find_handler_clause): Likewise.
13343
13344 * mem-limits.h: Use POINTER_TYPE.
13345
13346 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13347 (memory_warnings): Declare using POINTER_TYPE.
13348
5e91ff9e
GM
133492000-03-08 Gerd Moellmann <gerd@gnu.org>
13350
feab4fba
GM
13351 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13352
52283633 13353 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13354
5e91ff9e
GM
13355 * xfns.c: Remove obsolete code in #if 0.
13356 (Fx_focus_frame): New function.
13357
a735b7e1
KH
133582000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13359
13360 * coding.c (coding_category_name): Add coding-category-utf-8,
13361 coding-category-utf-16-be, coding-category-utf-16-le.
13362 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13363 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13364 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13365 (detect_coding_utf_8): New function.
13366 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13367 UTF_16_LOW_SURROGATE_P): New macros.
13368 (detect_coding_utf_16): New function
13369 (detect_coding_mask): When priorities are specified, skip any
13370 categories that have `nil' coding-system. Fix bug of returning
13371 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13372 returns a mask not set in PRIORITIES.
13373 (detect_eol_type_in_2_octet_form): New function.
13374 (detect_eol): selects detect_eol_type_XXX to call according to
13375 cooding->category_idx.
13376 (detect_coding_system): Remove `nil' coding-system in the result.
13377 (Fupdate_coding_systems_internal): Update all coding-categories.
13378
52283633
SM
13379 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13380 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13381 New macros.
13382 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13383 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13384 (CODING_CATEGORY_IDX_UTF_16_LE)
13385 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13386 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13387 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13388 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13389
9994cc69
GM
133902000-03-07 Gerd Moellmann <gerd@gnu.org>
13391
e9b4e5ff
GM
13392 * doc.c (Fdocumentation_property): If value is not a string,
13393 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13394
f7daf1e1
GM
13395 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13396 close the display with XtCloseDisplay. This caused a bus error
13397 on OpenWindows.
13398
9994cc69
GM
13399 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13400 complete but not unique.
13401
4336c705
GM
134022000-03-06 Gerd Moellmann <gerd@gnu.org>
13403
18bb0684
GM
13404 * process.c (send_process): Remove local variable `procname' that
13405 might become invalid when a GC happens. Instead, access the
13406 process name slot directly.
13407
4336c705
GM
13408 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13409 orig_height if set.
13410
13411 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13412 orig_height if set.
13413
515d0d0e
EZ
134142000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13415
13416 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13417 glyph matrices have been freed.
13418
100b3cbb
GM
134192000-03-05 Gerd Moellmann <gerd@gnu.org>
13420
50df5e5a 13421 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13422 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13423
13424 * xfns.c (QCdata): Moved to xdisp.c.
13425
13426 * xdisp.c (QCdata): Moved here from xfns.c.
13427 (syms_of_xdisp): Initialize QCdata.
13428
13429 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13430
13431 * window.c (coordinates_in_window): Use
13432 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13433 FRAME_INTERNAL_BORDER_WIDTH.
13434
100b3cbb 13435 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13436 it is obviously invalid.
100b3cbb
GM
13437
13438 * xterm.c (x_term_init): Create a colormap if not using the
13439 default visual.
13440
13441 * xterm.h (select_visual): Change prototype.
13442
13443 * xfns.c (select_visual): Rewritten. Recognize user-specified
13444 visual classes.
13445 (visual_classes): New variable.
13446
64d739c4
GM
134472000-03-04 Gerd Moellmann <gerd@gnu.org>
13448
13449 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13450 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13451 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13452 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13453 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13454 XtNcolormap resources.
13455 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13456 (Fx_create_frame): Initialize color members of x_output structure.
13457 (xpm_load): Pass colormap to XPM lib.
13458
13459 * xfaces.c (x_free_colors): Access colormap of frame using
13460 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13461 when default colormap is used.
13462
13463 * xterm.c (x_term_init): Set Colormap member of x_display_info
13464 structure. Copy colormap if resource `privateColormap' is
13465 specified (PseudoColor only).
13466 (x_setup_relief_color): Access colormap of frame using
13467 FRAME_X_COLORMAP.
13468
13469 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13470 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13471
c3cee013
JR
134722000-03-04 Jason Rumney <jasonr@gnu.org>
13473
13474 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13475 other non-platform-specific equivalents.
64d739c4 13476 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13477 specific functions and macros as their w32 equivalents where
13478 non-platform-specifics are not available.
13479 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13480 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13481 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13482 (frame_update_line_height): Use macros to access f->output_data.
13483 (defined_color): Remove FIXME comments; fixed.
13484 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13485 into #ifdef blocks. Add WINDOWSNT blocks.
13486 (Fx_list_fonts): Use macros for accessing font data.
13487 (set_lface_from_font_name): Different default fonts for X and
13488 WINDOWSNT.
13489 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13490 scalable for backward compatibility.
64d739c4 13491 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13492 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13493
64d739c4 13494 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13495 syms_of_w32faces.
13496
13497 * makefile.nt (w32faces.obj): Remove.
13498 (xfaces.obj): Add.
13499
807cc41c
JR
135002000-03-03 Jason Rumney <jasonr@gnu.org>
13501
13502 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13503 correct parameters.
13504
0007072a
KR
135052000-03-03 Ken Raeburn <raeburn@gnu.org>
13506
13507 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13508 standard ELF definitions here if the system header does not.
13509
71a6ba55
GM
135102000-03-03 Gerd Moellmann <gerd@gnu.org>
13511
13512 * xterm.c (PER_CHAR_METRIC): Removed.
13513 (x_per_char_metric_1, x_default_char): New functions.
13514 (x_per_char_metric): If font's default char is invalid, return
13515 metrics of a suitably chosen usable default char.
13516 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13517 char, replace occurrences of unprintable chars with a suitably
13518 chosen usable default char.
71a6ba55 13519
900fa1f1
GM
135202000-03-02 Gerd Moellmann <gerd@gnu.org>
13521
42f55fe0
GM
13522 * xterm.c (note_mouse_highlight): Return quickly if frame's
13523 glyph matrices have been freed.
13524
13525 * dispnew.c (free_glyphs): Block input while freeing matrices.
13526
900fa1f1
GM
13527 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13528
52283633
SM
13529 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13530 Use x_free_colors.
900fa1f1
GM
13531
13532 * dispextern.h (x_free_colors): Add prototype.
13533
13534 * xfaces.c (x_free_colors): New function.
13535 (unload_color, free_face_colors): Use it.
13536
2f950292
EZ
135372000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13538
13539 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13540
13541 * window.c [MSDOS]: Include msdos.h.
13542
54d04320
DL
135432000-03-02 Dave Love <fx@gnu.org>
13544
13545 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13546
13547 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13548 set C_OPTIMIZE_SWITCH for gcc.
13549
0ba93ac4
KH
135502000-03-02 Kenichi Handa <handa@etl.go.jp>
13551
13552 * coding.c (coding_save_composition): Be sure to allocate
13553 composition data area in coding even if there's no composition in
13554 the current run.
13555
a2bc11d4
JR
135562000-03-01 Jason Rumney <jasonr@gnu.org>
13557
13558 * w32term.c: Equivalent changes to those made to xterm.c on
13559 2000-02-25 and 2000-02-24.
13560
13561 * w32fns.c: Equivalent changes to those made to xfns.c on
13562 2000-02-25 and 2000-02-21.
13563
13564 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13565 correct line-end convention is followed.
13566
13567 * w32menu.c [HAVE_BOXES]: Remove #undef.
13568 (single_keymap_panes): Remove code for simulating checkmarks.
13569 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13570 Remove code for drawing simulated checkmarks.
13571 (w32_menu_show): make unibyte help string correctly.
13572 (add_menu_item): draw standard Windows checkmarks. Draw radio
13573 buttons as radio buttons if possible.
13574
72d19d75
GM
135752000-03-01 Gerd Moellmann <gerd@gnu.org>
13576
2df636f4
GM
13577 * sysdep.c (start_of_text): Don't define this function for NetBSD
13578 with ELF.
13579
427ec082 13580 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13581 Don't define.
13582 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13583 (LINKER): Don't undef if __NetBSD__ is defined.
13584
13585 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13586
13587 * fileio.c [__NetBSD__]: Define `unix'.
13588
72d19d75
GM
13589 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13590
ed4d0512
GM
135912000-02-29 Gerd Moellmann <gerd@gnu.org>
13592
50b1039f
GM
13593 * atimer.c (start_atimer): Don't abort when timers are stopped.
13594 (append_atimer_lists): New function.
13595 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13596 arbitrary lists of stopped and running atimers.
13597
ed4d0512
GM
13598 * atimer.c (cancel_atimer): Handle canceling an atimer when
13599 some timers are stopped.
13600
13601 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13602 after canceling it.
13603
13604 * fns.c (maybe_resize_hash_table): Handle case of new size
13605 coming out as being the same as old size.
13606
387023ee
JR
136072000-02-27 Jason Rumney <jasonr@gnu.org>
13608
13609 * makefile.nt: Add atimer.h to dependencies.
13610 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13611 * w32console.c: Only disable window system features for dispextern.h
13612 (initialize_w32_display): Build a display info for the console.
13613 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13614 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13615 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13616 as 2 button mice.
13617 * w32gui.h (struct W32FontStruct): Revert last change after change
13618 to xdisp.c.
13619 * w32menu.c (single_submenu): Set up help string.
13620 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13621 (w32_dialog_show): Set up help string.
13622 * w32term.c (w32_display_info_for_display): Remove unused function.
13623 (w32_draw_bitmap): Use pre-built bitmaps.
13624 (w32_initialize_display_info): New function to initialize parts of
13625 display info that are common to both GUI and console frames.
13626 (w32_term_init): Use w32_initialize_display_info. Do not set
13627 Vw32_num_mouse_buttons here, as it is not called for console
13628 frames. Build bitmaps for indicating truncated lines etc.
13629 (x_delete_display): Destroy pre-built bitmaps.
13630 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13631 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13632
4516715a
DL
136332000-02-27 Dave Love <fx@gnu.org>
13634
13635 * lisp.h: Add a bunch of prototypes.
13636
171ca836
KH
136372000-02-26 Kenichi Handa <handa@etl.go.jp>
13638
13639 * keyboard.c (read_char): Set `usec' correctly.
13640
4013921d
KH
136412000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13642
13643 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13644 `lambda', set reg[RRR] to the map index.
13645 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13646 reg[RRR] to 0. Otherwise, set it to -1.
13647
9244a058
GM
136482000-02-25 Gerd Moellmann <gerd@gnu.org>
13649
2df636f4 13650 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13651
18e21ce8 136522000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13653
f43d79c1
GM
13654 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13655 and contains a `:', prepend `/:'.
13656
13657 * window.c (select_window_1): If selected_window is nil,
13658 don't "swap out" the buffer's point.
13659 (Fset_window_configuration): Set selected_window to nil
13660 before calling Fselect_window.
13661 (unshow_buffer): Don't set point in buffer from window's point
13662 if another more recently selected window also shows the buffer.
13663
bed0c171
GM
136642000-02-25 Gerd Moellmann <gerd@gnu.org>
13665
449c3c52
GM
13666 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13667
f5b58615
GM
13668 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13669 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13670 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13671 New variables.
f5b58615
GM
13672 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13673 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13674 (hide_busy_cursor): New functions.
13675 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13676
13677 * minibuf.c (read_minibuf): Cancel busy-cursor.
13678
13679 * keyboard.c (command_loop_1): Call start_busy_cursor before
13680 Fcommand_execute and cancel_busy_cursor after it.
13681 (timer_check): Remove busy-cursor code.
13682 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13683 cursor timer.
13684
13685 * process.c (wait_reading_process_input): Remove busy-cursor code.
13686
13687 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13688 Fx_hide_busy_cursor.
13689
13690 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13691 Remove prototyoes.
13692 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13693
13694 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13695
13696 * xterm.c (XTread_socket): Remove busy-cursor code.
13697
4eb8436f
GM
13698 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13699 (build_frame_matrix_from_leaf_window): Put code handling
13700 glyph row's not being a slice of a frame row in #if 0.
13701 (sync_window_with_frame_matrix_rows): New function.
13702 (frame_row_to_window): New function.
13703 (mirror_line_dance): Handle copies between windows.
13704
3cb65b0e
GM
13705 * lread.c (Fload): Use `xfree' instead of `free'.
13706 (init_obarray): Use `xmalloc' instead of `malloc'.
13707
bed0c171
GM
13708 * window.c (Fset_window_buffer): Set WINDOW to the window
13709 after decoding.
2add4349
GM
13710 (coordinates_in_window): Take frame's internal border width
13711 into account.
bed0c171 13712
42088c12
GM
137132000-02-24 Gerd Moellmann <gerd@gnu.org>
13714
13715 * xterm.c (x_display_and_set_cursor): Display cursor of
13716 non-selected windows depending on the setting of
13717 cursor_in_non_selected_windows.
13718
13719 * xdisp.c (cursor_in_non_selected_windows): New variable.
13720 (syms_of_xdisp): DEFVAR_BOOL it.
13721
d1e103b2
GM
137222000-02-23 Gerd Moellmann <gerd@gnu.org>
13723
723e779c
GM
13724 * data.c (Fstring_to_number): If number is greater than what
13725 fits into an integer, return a float.
13726
d1e103b2
GM
13727 * eval.c (specbind): Remove references to
13728 keyword_symbols_constant_flag.
13729
13730 * data.c (keyword_symbols_constant_flag): Removed.
13731 (Fmakunbound, set_internal, syms_of_data): Remove references to
13732 keyword_symbols_constant_flag.
13733
13734 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13735
214f877f
KH
137362000-02-23 Kenichi Handa <handa@etl.go.jp>
13737
13738 * syntax.c (multibyte_syntax_as_symbol): New variable.
13739 (syms_of_syntax): Declare it as a Lisp variable.
13740 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13741 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13742 nonzero, treat all multibyte characters as symbol.
52283633 13743 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13744
130adcb7
EZ
137452000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13746
3cb65b0e 13747 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13748 a deleted frame.
130adcb7 13749
17cbbf95
GM
137502000-02-21 Gerd Moellmann <gerd@gnu.org>
13751
13752 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13753
13754 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13755 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13756
beb0bc36
DL
137572000-02-21 Dave Love <fx@gnu.org>
13758
13759 * frame.c (Vmouse_position_function): New variable.
13760 (Fmouse_position): Use it.
13761 (syms_of_frame): Install it.
13762
13763 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13764
1d92afcd
GM
137652000-02-20 Gerd Moellmann <gerd@gnu.org>
13766
13767 * fileio.c (Finsert_file_contents): Unbind the binding of
13768 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13769
13770 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13771 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13772 (specbind, unbind_to): Handle most common case of non-constant
13773 symbol with trivial value specially.
13774
13775 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13776
18e21ce8 137772000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13778
13779 * data.c (Fmake_variable_buffer_local): Doc fix.
13780 Init found_for_buffer to 0.
13781 (Fmake_variable_frame_local): If the variable has already
13782 been buffer-local, set the check_frame field.
13783
1d4311c3
EZ
137842000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13785
13786 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13787 produced for CODING_MODE_LAST_BLOCK requires.
13788
2dc95ddd
DL
137892000-02-18 Dave Love <fx@gnu.org>
13790
13791 * keyboard.c (echo_keystrokes): Remove declaration.
13792 (Vecho_keystrokes) New variable.
13793 (read_char, record_menu_key, read_key_sequence): Use it to allow
13794 use of float value.
13795 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13796
13797 * lread.c: Undef feature selection macros before defining.
13798
f0930f35
GM
137992000-02-18 Gerd Moellmann <gerd@gnu.org>
13800
13801 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13802 for symbols other than the symbol in question.
13803
e3d4de90
DL
138042000-02-17 Dave Love <fx@gnu.org>
13805
13806 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13807
0b378936
GM
138082000-02-17 Gerd Moellmann <gerd@gnu.org>
13809
d621caf7
GM
13810 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13811
0b378936
GM
13812 * alloc.c (enum mem_type): Compile unconditionally.
13813
3b451f74
EZ
138142000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13815
13816 * xfaces.c (tty_defined_color): Don't return faulire indication
13817 for unspecified-fg and unspecified-bg pseudo-colors.
13818
10689a01
GM
138192000-02-17 Gerd Moellmann <gerd@gnu.org>
13820
1216f5e4
GM
13821 * alloc.c (mark_object): Don't mark symbol names in pure space.
13822 (gc_sweep): Don't unmark symbol names in pure space.
13823
13824 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13825 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13826 [GC_MARK_STACK]: New defines.
427ec082 13827 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13828 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13829
13830 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13831
13832 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13833 allocate_buffer instead of xmalloc.
13834
13835 * alloc.c (toplevel): Include setjmp.h.
13836 (PURE_POINTER_P): New define.
13837 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13838 (Vdead) [GC_MARK_STACK]: New variable.
13839 (lisp_malloc): Add parameter TYPE, call mem_insert if
13840 GC_MARK_STACK is defined.
13841 (allocate_buffer): New function.
427ec082 13842 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13843 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13844 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13845 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13846 (MEM_NIL) [GC_MARK_STACK]: New define.
13847 (struct mem_node) [GC_MARK_STACK]: New structure.
13848 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13849 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13850 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13851 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13852 (mark_stack) [GC_MARK_STACK]: New functions.
13853 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13854 (clear_marks): Removed.
13855 (gc_sweep): Set free conses' car, free floats' type, free
13856 symbols' function to Vdead. Use lisp_free to free buffers.
13857 (init_alloc_once): Initialize Vdead.
13858 (survives_gc_p): Return non-zero for pure objects.
13859
13860 * alloc.c: Add comments throughout the file.
13861
2503c8b1
GM
13862 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13863 that unblocks alarms.
13864
8389e1e2
GM
13865 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13866 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13867 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13868
10689a01 13869 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13870
bfc17d18
KH
138712000-02-17 Kenichi Handa <handa@etl.go.jp>
13872
4a09dee0
KH
13873 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13874 avoid infinite error signaling. Allocate sufficient memory for
13875 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13876
2b927d02
SM
138772000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13878
13879 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13880 depends on the previous behavior.
13881
b49cb764
GM
138822000-02-16 Gerd Moellmann <gerd@gnu.org>
13883
13884 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13885
99e95407
GM
138862000-02-15 Gerd Moellmann <gerd@gnu.org>
13887
13888 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13889
13890 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13891 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13892 write(2).
13893
6ffd3cf7
RS
138942000-02-15 Richard M. Stallman <rms@gnu.org>
13895
13896 * data.c (set_internal): Don't make variable buffer-local
13897 if within a let-binding for the same buffer.
13898 (let_shadows_buffer_binding_p): New function.
13899
13900 * eval.c (specbind): For buffer-local value,
13901 record the current buffer also.
13902 (unbind_to): Cope with that change.
13903
cad53475
GM
139042000-02-15 Gerd Moellmann <gerd@gnu.org>
13905
13906 * window.c (Fsave_window_excursion): Doc fix.
13907
1aa963c8
SM
139082000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13909
13910 * syntax.c (back_comment): Make sure we only consider comment-starters
13911 of the relevant style and return -1 in case of a failure to find the
13912 beginning of the comment.
13913 (Fforward_comment): If back_comment fails, go back to the position just
13914 after the comment-end.
13915 (scan_lists): Add comment describing a very minor bug.
13916
b9b84fd3
SM
139172000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13918
13919 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13920 `completion-regexp-list' in the docstring.
13921
3a28db80
DL
139222000-02-14 Dave Love <fx@gnu.org>
13923
13924 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13925
fb4a568d
SM
139262000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13927
13928 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13929 to Emacs' syntax. Also fix the comment about set/not-set meanings
13930 since Emacs syntax is not the value 0 any more.
13931 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13932 since it's now part of RE_SYNTAX_EMACS.
13933
1063ebb5
DL
139342000-02-12 Dave Love <fx@gnu.org>
13935
52283633 13936 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13937
fb07a302
GM
139382000-02-12 Gerd Moellmann <gerd@gnu.org>
13939
13940 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13941
aaf2320c
DL
139422000-02-12 Dave Love <fx@gnu.org>
13943
13944 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13945
13946 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13947 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13948 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13949
13950 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13951
13952 * s/nextstep.h: Don't define HAVE_ALLOCA.
13953
13954 * config.in: Add vfork bits.
13955
eedf8bde
GM
139562000-02-12 Gerd Moellmann <gerd@gnu.org>
13957
13958 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13959 unwind function to undo the effect of stopping atimers.
13960
52283633 13961 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13962
13963 * atimer.c (stopped_atimers): New variable.
13964 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13965 New functions.
13966
13967 * atimer.h (stop_other_atimers, run_all_atimers)
13968 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13969
eedf8bde
GM
13970 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13971
8476c2f8
KR
139722000-02-11 Ken Raeburn <raeburn@gnu.org>
13973
13974 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13975 library may depend on jpeg.
13976 (atimer.o): Depends on atimer.c.
13977
0e85e4a3
KH
139782000-02-11 Kenichi Handa <handa@etl.go.jp>
13979
13980 * insdel.c (del_range_1): Call update_compositions.
13981 (del_range_both): Call update_compositions just once..
13982
97fa0cc8
DL
139832000-02-10 Dave Love <fx@gnu.org>
13984
13985 * xfns.c (create_frame_xic): Fix initialization of automatic
13986 aggregates for pcc.
13987
25566a3c
KH
139882000-02-09 Kenichi Handa <handa@etl.go.jp>
13989
13990 * ccl.c (CCL_MAKE_CHAR): New macro.
13991 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13992 registers by CCL_MAKE_CHAR before calling translate_char.
13993 <CCL_TranslateCharacterConstTbl> Likewise.
13994
69da54ba
DL
139952000-02-08 Dave Love <fx@gnu.org>
13996
13997 * lread.c (__EXTENSIONS__): Define.
13998
f7136ee8
GM
139992000-02-08 Gerd Moellmann <gerd@gnu.org>
14000
14001 * puresize.h (BASE_PURESIZE): Increase to 650000.
14002
7768790b
EZ
140032000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14004
14005 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14006 the help message.
14007
38fd211b
EZ
140082000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14009
14010 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14011 md, mh, mb, mr, and me to the fake termcap entry.
14012
66e4690f
KR
140132000-02-06 Ken Raeburn <raeburn@gnu.org>
14014
14015 * sound.c (sound_cleanup): Don't call device close routine if the
14016 function pointer is null.
14017
a75dfea0
AI
140182000-02-06 Andrew Innes <andrewi@gnu.org>
14019
14020 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14021 around image definitions and prototypes.
14022 (gamma_correct) [WINDOWSNT]: New prototype.
14023
14024 * w32term.c (x_make_frame_visible): Replace call to
14025 input_poll_signal with poll_for_input.
14026
14027 * window.c [WINDOWSNT]: Include w32term.h.
14028
14029 * xdisp.c [WINDOWSNT]: Include w32term.h.
14030
14031 * makefile.nt: Add dependencies on w32gui.h.
14032 (OBJ1): Include atimer.obj.
14033 ($(BLD)\atimer.obj): New dependency rule.
14034
14035 * w32.c (sigmask): New function (does nothing).
14036 (sigunblock): Ditto.
14037
14038 * frame.c [WINDOWSNT]: Include w32term.h.
14039
14040 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14041
14042 * lread.c (syms_of_lread): Fix literal newlines.
14043
14044 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14045 the string constant limit (2048 bytes) in MSVC.
14046 (main): Ditto.
14047
59ddecde
GM
140482000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14049
52283633 14050 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14051 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14052 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14053 dispatch the event.
14054
07590973
DL
140552000-02-04 Dave Love <fx@gnu.org>
14056
14057 * fileio.c: Remove some unused vars.
14058 (_GNU_SOURCE): Define (for euidaccess).
14059
14060 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14061
14062 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14063 gcpro1, gcpro2.
14064 (read_minibuf): Deal with allow_props correctly.
14065
649351f9
EZ
140662000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14067
14068 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14069
66e4690f 140702000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14071
14072 * search.c (compile_pattern): If a cache entry has a nil regexp,
14073 fill in that entry instead of clobbering a previously cached
14074 string regexp.
14075
66e4690f 140762000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14077
14078 * puresize.h (BASE_PURESIZE): Increase to 610000.
14079
d240a249
GM
140802000-02-02 Gerd Moellmann <gerd@gnu.org>
14081
14082 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14083 can GC.
14084
ca91fb26
KH
140852000-02-02 Kenichi Handa <handa@etl.go.jp>
14086
25660570
KH
14087 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14088 instead of incrementing ic directly.
14089 <CCL_WriteExprConst> Likewise.
14090 <ccl_set_expr>: Set ic to jump_address.
14091
ca91fb26
KH
14092 * fileio.c (e_write): Fix the handling of
14093 CODING_FINISH_INSUFFICIENT_SRC.
14094
2ede9689
DL
140952000-02-01 Dave Love <fx@gnu.org>
14096
14097 * editfns.c (Fpropertize): Doc fix.
14098
14099 * process.c (Fstart_process): Doc fix.
14100
14101 * eval.c: Fix various doc strings not to duplicate information
14102 from help-manyarg-func-alist.
14103
52283633 14104 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14105
14106 * doc.c (Vhelp_manyarg_func_alist): New variable.
14107 (Fdocumentation): Use it.
14108 (syms_of_doc): Define it.
14109
b6680a0e
GM
141102000-01-31 Gerd Moellmann <gerd@gnu.org>
14111
2cb750ba
GM
14112 * xterm.c (xim_open_dpy): Remove unused local variable.
14113
52283633 14114 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14115
14116 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14117 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14118
b6680a0e
GM
14119 * fns.c (sweep_weak_table): New function.
14120 (sweep_weak_hash_tables): Use it. Keep on marking until there
14121 is no more change.
14122
994c5afe
GM
141232000-01-30 Gerd Moellmann <gerd@gnu.org>
14124
14125 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14126 that XTread_socket does not crash by trying to call XNoOp on a
14127 closed display.
427ec082 14128
f00276e3
JR
141292000-01-30 Jason Rumney <jasonr@gnu.org>
14130
14131 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14132 Change selected_frame to SELECTED_FRAME ().
14133 (w32_console_mouse_position): Remove #ifndef MULE from around
14134 `insist' parameter.
14135
14136 * makefile.nt: Remove dosfns.obj.
14137
14138 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14139
14140 * w32fns.c (w32_defined_color): Check for valid frame before
14141 applying gamma correction. Eliminate dependency on frame elsewhere.
14142 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14143 (w32_to_x_font): Use resx and resy not height_in and width_in.
14144 (x_to_w32_font): Doc fix.
14145 (xlfd_strip_height): New function to strip and return font height.
14146 (w32_font_match): Compare height separately from rest of xlfd
14147 spec, using xlfd_strip_height.
14148
14149 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14150 width_in. Use w32_defined_color in place of defined_color.
14151
14152 * w32faces.c: Merge more of DOS and X specifics in preparation for
14153 merge with xfaces.c.
14154 (defined_color): Remove FIXME comment.
14155 (tty_color_name): Provide w32-specific function.
14156 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14157
14158 * w32console.c (turn_on_face, turn_off_face): Removed.
14159 (w32_face_attributes): New function.
14160 (Global_variables): Reduce scope where possible.
14161 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14162 fill attribute.
14163 (hl_mode): Don't modify text attributes.
14164 (write_glyphs): Don't do anything if len <= 0. Use
14165 w32_face_attributes to get attributes for drawing. Write
14166 terminating codes using char_attr_normal.
14167 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14168 (update_begin, update_end): Likewise.
14169 (vga_stdcolor_name): New function.
14170 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14171 (Fset_screen_color): Remove char_attr_reverse.
14172
b08e8bb2
GM
141732000-01-29 Gerd Moellmann <gerd@gnu.org>
14174
14175 * xfns.c (xic_set_preeditarea): Take window parameter and
14176 window-relative pixel-positions.
14177
14178 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14179 is its frame's selected window.
14180 (xim_instantiate_callback): Likewise.
14181
14182 * xfns.c (x_create_im): Removed.
14183 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14184 (supported_xim_styles): Renamed from supported_styles.
14185 (best_xim_style): Renamed from best_style.
14186 (create_frame_xic): Renamed from xic_create_frame.
14187 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14188
b08e8bb2
GM
141892000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14190
14191 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14192 our frames, call XFilterEvent with 2nd parameter `None'.
14193 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14194 returning XBufferOverflow.
52283633 14195 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14196 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14197 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14198 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14199 (xim_initialize, xim_close)
14200 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14201 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14202 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14203 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14204
14205 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14206 and `xim_styles'.
14207 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14208 `xic_style' and `xic_xfs'.
14209 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14210 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14211 (FRAME_XIM): Removed.
14212
14213 * xfns.c (supported_styles): New variable.
14214 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14215 (xic_create_xfontset, best_style, xic_create_frame)
14216 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14217 (xic_set_xfontset): New functions.
14218
142e109c
DL
142192000-01-28 Dave Love <fx@gnu.org>
14220
14221 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14222
14223 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14224
b02786f9
GM
142252000-01-28 Gerd Moellmann <gerd@gnu.org>
14226
d060bc9f
GM
14227 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14228 for *scratch* if it already existed.
14229
b02786f9
GM
14230 * emacs.c (USAGE): New macro.
14231 (main): Use it to display usage information.
14232
2c52d7e4
EZ
142332000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14234
14235 Support for the menu-help feature:
14236
52283633 14237 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14238
14239 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14240 part of the line to the termscript file.
14241 (IT_clear_to_end): Clear the entire line, not just its beginning.
14242 (menu_help_message, prev_menu_help_message): New variables.
14243 (IT_menu_make_room): Make room for the help_text member.
14244 (IT_menu_display): New argument disp_help; all callers changed.
14245 If disp_help is non-zero, store the help text of the active menu
14246 item in menu_help_message.
14247 (XMenuAddPane): Initialize the help_text member to NULL.
14248 (XMenuAddSelection): New argument help_text. Store it in the
14249 XMenu structure.
14250 (XMenuActivate): New argument help_callback. If the value of
14251 menu_help_message has changed since the last time, display the
14252 menu help message text while waiting for the mouse to move. Clear
14253 the echo area before exiting.
14254 (XMenuDestroy): Free the help_text member.
14255
ffe0bcd1
GM
142562000-01-27 Gerd Moellmann <gerd@gnu.org>
14257
14258 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14259 XMenuAddSelection. Pass help callback to XMenuActivate.
14260 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14261
50dbd23f
EZ
142622000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14263
14264 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14265 and EMACS_SET_USECS.
14266
f5941bf8
GM
142672000-01-26 Dave Love <fx@gnu.org>
14268
6c67ddee
DL
14269 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14270
f5941bf8
GM
14271 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14272 an error may be signalled.
14273
9e49c990
GM
142742000-01-26 Gerd Moellmann <gerd@gnu.org>
14275
fc3cb460
GM
14276 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14277 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14278
9e49c990
GM
14279 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14280
d0c037d8
GM
142812000-01-25 Gerd Moellmann <gerd@gnu.org>
14282
14283 * charset.c (Fstring): If there is a multibyte char among
14284 the args, always return a multibyte string.
14285
e12489f9
GM
142862000-01-25 Gerd Moellmann <gerd@gnu.org>
14287
14288 * sysdep.c (sys_select): Turn atimers off and on instead of
14289 recording and restoring old alarm handler
14290
14291 * process.c (toplevel): Include atimer.h.
14292 (create_process_1): Rewritten.
14293 (create_process): Use atimers instead of alarm.
14294 (wait_reading_process_input) [hpux]: Turn atimers off instead
14295 of turning off SIGALRM.
14296 (wait_reading_process_input): Turn off atimers instead off
14297 calling stop_polling.
14298
14299 * emacs.c (main): Call init_atimer.
14300
14301 * keyboard.c (toplevel): Include systime.h and atimer.h.
14302 (polling_for_input): Removed because unused.
14303 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14304 (poll_timer): New variable.
14305 (poll_for_input, poll_for_input_1): New functions.
14306 (start_polling, stop_polling): Rewritten.
14307
14308 * keyboard.h (polling_for_input): Removed.
427ec082 14309
e12489f9
GM
14310 * atimer.h, atimer.c: New files.
14311
14312 * Makefile.in (obj): Add atimer.o.
14313 (atimer.o): New target.
14314
14315 * blockinput.h (pending_atimers): Add extern declaration.
14316 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14317
14318 * lisp.h (popup_activated_flag): Add extern declaration.
14319
14320 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14321 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14322 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14323
14324 * xterm.c (toplevel): Include atimer.h.
14325 (toolkit_scroll_bar_interaction): New variable.
14326 (Fxt_process_timeouts): Removed.
14327 (x_process_timeouts): New function.
14328 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14329 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14330 (x_make_frame_visible): Call poll_for_input_1 instead of
14331 input_poll_signal. Don't call alarm.
14332 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14333
1e5279b9
DL
143342000-01-24 Dave Love <fx@gnu.org>
14335
6c67ddee 14336 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14337 Don't use -cckr -- apparently not now necessary.
14338
edf6aeb8
EZ
143392000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14340
14341 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14342 screen boundary.
14343
9badad41
JR
143442000-01-23 Jason Rumney <jasonr@gnu.org>
14345
14346 * w32fns.c (w32_defined_color): Apply gamma correction before
14347 trying to map to the palette.
14348 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14349 to w32_clear_rect.
14350
14351 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14352 here. Callers changed to always pass real device context.
14353 (w32_draw_bitmap): Likewise.
14354 (w32_get_glyph_overhangs): Likewise.
52283633 14355 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14356 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14357 pfnSetScrollInfo and SetScrollRange.
14358 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14359 back into MULE characters after decoding them.
14360 (x_get_glyph_face_and_encoding): Likewise.
14361 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14362 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14363 (x_produce_glyphs): Calculate per char metrics for a character
14364 that we know exists in default font when font_not_found_p is true.
14365
63bd786b
JR
143662000-01-22 Jason Rumney <jasonr@gnu.org>
14367
14368 * makefile.nt (intervals.obj, composite.obj): New modules.
14369 (composite.h): Added as dependency where appropriate.
14370
14371 * w32gui.h (XGCValue): New struct for emulating X GCs.
14372
14373 * w32term.h (XCharStruct): New struct for emulating X.
14374
14375 * w32console.c (turn_on_face, turn_off_face): New functions.
14376 (change_line_highlight): New prototype for new redisplay.
14377 (write_glyphs): Support multibyte text. Support faces.
14378
52283633 14379 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14380
14381 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14382 throughout. struct frame * in place of FRAME_PTR.
14383 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14384 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14385 (w32_get_arg): Renamed from x_get_arg.
14386 (Fx_file_dialog): New function.
14387 (w32_list_fonts): Check cache before asking system.
14388 (Vw32_enable_synthesized_fonts): New variable.
14389 (Vw32_enable_italics): Obsolete, removed.
14390
14391 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14392 Use SELECTED_FRAME macro.
14393
14394 * w32menu.c: Add skeleton support for help strings on menus.
14395 (add_menu_item): Native checkbox and radio support added, but not
14396 yet enabled due to bugs.
14397 (push_menu_item): Add parameters type, selection and help.
14398 Callers updated.
14399 Formatting changes to reduce unnecessary diffs with xmenu.c.
14400
14401 * w32select.c (Fw32_set_clipboard_data): Update call to
14402 find_charset_in_str.
14403
14404 * w32term.c: Complete rewrite for new redisplay based on new
14405 xterm.c with necessary sections merged back in from old w32term.c.
14406
6ffd3cf7 144072000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14408
14409 * data.c (set_internal): Further fix in same criterion.
14410
6ffd3cf7 144112000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14412
14413 * data.c (set_internal): Fix the criteria for whether
14414 to swap out the old cached binding.
14415
60af03f1
DL
144162000-01-19 Dave Love <fx@gnu.org>
14417
14418 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14419
f9be074f
KH
144202000-01-18 Kenichi Handa <handa@etl.go.jp>
14421
14422 * regex.c (re_compile_fastmap): While checking a range table for
14423 `charset', skip flag bits for a character class correctly.
14424
52b8dbf9
GM
144252000-01-17 Gerd Moellmann <gerd@gnu.org>
14426
d36100c9
GM
14427 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14428
52283633 14429 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14430
14431 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14432 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14433
14434 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14435 MENU_ITEMS_ITEM_.*.
14436 (MENU_ITEMS_ITEM_HELP): New enumerator.
14437 (push_menu_item): Add parameter HELP. Record help in menu_items.
14438 (single_menu_item, single_submenu, list_of_items): Call
14439 push_menu_item with new parameter.
14440 (single_submenu): Set help string in widget value.
14441 (menu_highlight_callback): New function.
14442 (set_frame_menubar): Call lw_create_widget with new
14443 parameter list.
14444 (xmenu_show, xdialog_show): Ditto.
14445
3139018f
GM
144462000-01-13 Gerd Moellmann <gerd@gnu.org>
14447
14448 * sound.c (Fplay_sound): Improve doc string.
14449
83c8f461
RS
144502000-01-11 Richard M. Stallman <rms@gnu.org>
14451
14452 * lisp.h (set_internal): Enter the new arg.
14453
14454 * eval.c (specbind): Record buffer-local variables specially,
14455 indicating which buffer's binding was saved.
14456 (unbind_to): Restore buffer-local variables specially
14457 in the proper buffer.
14458
14459 * data.c (set_internal): New arg BUF.
427ec082 14460
83c8f461
RS
14461 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14462 * data.c (Fset): Pass new arg to set_internal.
14463 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14464
1fab1775
GM
144652000-01-11 Gerd Moellmann <gerd@gnu.org>
14466
52283633 14467 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14468
83c8f461 144692000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14470
14471 * minibuf.c (Ftry_completion): Doc fix.
14472
7a85e4df
GM
144732000-01-11 Gerd Moellmann <gerd@gnu.org>
14474
14475 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14476 vector, too.
14477
a970dae4
AS
144782000-01-11 Andreas Schwab <schwab@suse.de>
14479
14480 * coding.c (code_convert_region): Initialize total_skip.
14481
c65d14ee
DL
144822000-01-08 Dave Love <fx@gnu.org>
14483
14484 * eval.c (Fuser_variable_p): Check customizability too.
14485
834938d2
GM
144862000-01-07 Gerd Moellmann <gerd@gnu.org>
14487
14488 * minibuf.c (Fcompleting_read): Doc fix.
14489
e0303cd6
GM
144902000-01-05 Gerd Moellmann <gerd@gnu.org>
14491
8a26744b
GM
14492 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14493 -L /usr/local/lib.
14494
e0303cd6
GM
14495 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14496 Check that input style is supported before trying to create an
14497 IC for it.
14498 (x_window): Call x_create_im.
427ec082 14499
2e471eb5
GM
145002000-01-04 Gerd Moellmann <gerd@gnu.org>
14501
560a7bd2
GM
14502 * xfns.c (current_gif_memory_src): New variable.
14503 (gif_load): Record the address of the current memory source
14504 in current_gif_memory_src.
14505 (gif_read_from_memory): Use current_gif_memory_src.
14506
f9ee84a3
GM
14507 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14508 macros statement form.
14509
d1299cde
GM
14510 * sound.c (struct sound): Renamed from struct sound_file.
14511 (struct sound): Add members `data' and `header_size'.
14512 (enum sound_attr): Add SOUND_DATA.
14513 (current_sound, current_sound_device): Variables renamed from
14514 sound_file and sound_device.
14515 (parse_sound): Parse :data.
14516 (parse_sound): Handle sound data in strings.
14517 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14518 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14519 needed header size.
14520 (wav_play, au_play): Play sounds from string data.
14521
2e471eb5
GM
14522 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14523
14524 * lisp.h: Add prototype for allocate_string_data.
14525
52283633 14526 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14527
14528 * alloc.c (mark_buffer): Remove code in #if 0.
14529 (gc_sweep): Ditto.
14530 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14531 (strings_consed): New variable.
14532 (allocate_string): Set it.
14533 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14534 (Fmemory_use_counts): Return strings_consed. Use Flist.
14535
14536 * alloc.c: General cleanup in comments etc. Remove conditional
14537 compilation for `standalone'.
14538
14539 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14540
14541 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14542 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14543 (DONT_COPY_FLAG): Removed.
14544 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14545 (struct sdata, struct sblock): New
14546 (struct string_block): Rewritten.
14547 (STRINGS_IN_STRING_BLOCK): New macro.
14548 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14549 (large_sblocks, string_blocks, string_free_list): New variables.
14550 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14551 (init_strings): Rewritten.
14552 (allocate_string, allocate_string_data, compact_small_strings)
14553 (free_large_strings, sweep_strings): New functions.
14554 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14555 (struct string_block_head, current_string_block)
14556 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14557 (STRING_PAD): Removed.
14558 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14559 (Fgarbage_collect): Don't set mark bit in large strings.
14560 (mark_object): Mark strings differently. Mark symbol names
14561 differently.
14562 (survives_gc_p): Test marked strings differently.
427ec082 14563 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14564 symbol names.
14565 (compact_strings): Removed.
14566
42608ba8
EZ
145672000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14568
14569 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14570 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14571
e0a09e1a
KH
145722000-01-04 Kenichi Handa <handa@etl.go.jp>
14573
dd9f0750 14574 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14575 in a non-empty buffer.
dd9f0750 14576
3c0f3b15 14577 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14578
44cd3ae5
GM
145792000-01-03 Gerd Moellmann <gerd@gnu.org>
14580
14581 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14582 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14583
14584 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14585
c182a70f
EZ
145862000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14587
14588 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14589 need to test for MSDOS frames.
14590
24480d5b
EZ
145912000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14592
14593 * dosfns.c (unspecified_colors): Remove.
14594 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14595 unspecified_bg.
14596 (msdos_stdcolor_name): Return strings for unspecified fore- and
14597 back-ground colors.
14598
14599 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14600 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14601 (tty_color_name): Return Lisp strings for unspecified fore- and
14602 back-ground colors.
14603 (Finternal_set_lisp_face_attribute): Remove the special treatment
14604 for Qunspecified_{f,b}g.
52283633 14605 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14606
047f434a
GM
146072000-01-03 Gerd Moellmann <gerd@gnu.org>
14608
14609 * xdisp.c (reseat_at_next_visible_line_start): Position before
14610 newline only if ending up on a newline.
14611 (next_element_from_ellipsis): Return success. Handle case of
52283633 14612 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14613 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14614 returns 0.
14615
d684c676
EZ
146162000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14617
14618 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14619 (Fcolor_supported_p): Renamed from face-color-supported-p.
14620
5fe1d139
EZ
146212000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14622
14623 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14624 list of colors renamed to tty-defined-color-alist.
14625 (tty_color_name): Pass the frame to tty-color-by-index.
14626 (realize_tty_face): tty-color-alist is now a function which
14627 accepts the frame as argument.
14628
52283633 14629 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14630
816be8b8
EZ
146312000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14632
14633 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14634 encode_terminal_code.
14635
b635321e
EZ
146362000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14637
14638 * dispnew.c (mode_line_string): Support termcap frames as well.
14639
9b784e96
GM
146402000-01-01 Gerd Moellmann <gerd@gnu.org>
14641
27189709
GM
14642 * syntax.c (Fforward_word): Undo previous change.
14643
14644 * editfns.c (Fconstrain_to_field): Don't constrain if
14645 inhibit-field-text-motion is non-nil.
14646 (Fline_beginning_position): Undo previous change.
14647 (Fline_end_position): Ditto.
14648
14649 * syntax.c (Fforward_word): Notice field boundaries only if
14650 inhibit-field-text-motion is nil.
14651
14652 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14653
14654 * editfns.c (Vinhibit_field_text_motion): New variable.
14655 (inhibit-field-text-motion): New DEFVAR_LISP.
14656 (Fline_beginning_position, Fline_end_position): Notice field
14657 boundaries only if inhibit-field-text-motion is nil.
14658
45158a91
GM
14659 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14660 All calls adjusted.
14661 (x_build_heuristic_mask): Likewise.
14662 (xbm_load_image_from_file): Change error output.
14663 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14664 (gif_load, gs_load, x_kill_gs_process): Ditto.
14665
9b784e96
GM
14666 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14667 color indices when accessing raster pixels.
63cec32f
GM
14668 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14669 one of :file or :data.
14670 (enum pbm_keyword_index): Add PBM_DATA.
14671 (pbm_format): Add :data.
14672 (pbm_image_p): Allow either :file or :data.
14673 (pbm_read_file): New function.
14674 (pbm_scan_number): Rewritten to read from string.
14675 (pbm_load): Support :data.
9b784e96 14676
2cb085db 14677See ChangeLog.8 for earlier changes.
6922b018
KH
14678
14679;; Local Variables:
49b3bd82 14680;; coding: iso-2022-7bit
6922b018 14681;; End:
2a34a036
GM
14682
14683 Copyright (C) 2001 Free Software Foundation, Inc.
14684 Copying and distribution of this file, with or without modification,
14685 are permitted provided the copyright notice and this notice are preserved.