Update maintainer.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
ace9b298
JR
12001-12-01 Jason Rumney <jasonr@gnu.org>
2
90647b07
JR
3 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
4
5 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
6 [!WM_MOUSELEAVE]: Define.
7
ace9b298
JR
8 * w32menu.c (current_popup_menu, get_menu_item_info):
9 (set_menu_item_info): New vars.
10 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
11 (w32_menu_show): Set current_popup_menu.
12 (add_menu_item): Allocate new strings for owner-drawn menu items
13 and help strings.
14 Use owner-draw for disabled menu items again.
15 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
16 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
17
18 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
19 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
20 <WM_EXITMENULOOP>: Free menu strings.
21 <WM_MOUSELEAVE>: Stop tracking mouse.
22 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
23
24 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
25 and mouse face.
26
a9549909 272001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
28
29 The following changes add left-fringe and right-fringe
30 frame parameters to adjust fringe widths, or remove one or
31 both fringes.
32
33 * frame.h (struct frame): Remove trunc_area_pixel_width and
34 trunc_area_cols fields.
35 (Qleft_fringe, Qright_fringe): Declare.
36 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
37
38 * frame.c (Qleft_fringe, Qright_fringe): New vars.
39 (syms_of_frame): Initialize them.
40
41 * window.c (coordinates_in_window): Handle separate left and right
42 fringe widths.
43
44 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
45 and fringe_cols fields.
46 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
47 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
48 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
49 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
50 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
51 (x_compute_fringe_widths): Add prototype.
52
53 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
54 fill fringe evenly with small dashes.
55 (x_draw_fringe_bitmap): Clear background if necessary. Align and
56 clip the new ZV bitmap to avoid jitter between rows.
57 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
58 background. Don't draw fringe bitmaps if fringe width is zero.
59 (x_compute_fringe_widths): New function.
60 (x_new_font, x_set_window_size_1): Use it.
61
62 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
63 (x_set_frame_parameters): Process Process `font' parameter before other
64 parameters as fringe widths depend on it.
65 (x_set_fringe_width): New function.
66 (x_figure_window_size): Use x_compute_fringe_widths.
67 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
68 parameters.
69
70 * widget.c (set_frame_size): Use x_compute_fringe_widths.
71 (EmacsFrameSetCharSize): Ditto.
72
73 * w32term.h: Merged changes from xterm.h.
74 * w32term.c: Merged changes from xterm.c.
75 * w32fns.c: Merged changes from xfns.c.
76
0142178a
PJ
772001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
78
79 * COPYING: Removed.
80
d4824a5d
DL
812001-11-29 Dave Love <fx@gnu.org>
82
83 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
84 extra extra slot.
85 (detect_coding_mask): Fix call of detect_coding_iso2022.
86
b1356234
PJ
872001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
88
89 * fileio.c (file-name-coding-system)
90 (default-file-name-coding-system): Doc fix (links to referenced
91 variables added).
92
3ce081f5
SM
932001-11-28 Stefan Monnier <monnier@cs.yale.edu>
94
99e380ee
SM
95 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
96 Add dummy uses of gcproN variables.
97
3ce081f5 98 * category.c (describe_category, describe_category_1)
2ad56c09 99 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
100 (syms_of_category): Don't defsubr Sdescribe_categories.
101
66458f32
RS
1022001-11-28 Richard M. Stallman <rms@gnu.org>
103
104 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
105
106 * Makefile.in (lispdir): New variable, referring to build dir.
107 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
108
59a86c99
AI
1092001-11-28 Andrew Innes <andrewi@gnu.org>
110
111 * w32menu.c (w32_menu_display_help): Actually add the new argument
112 OWNER.
113
eb77a5f4
JR
1142001-11-28 Jason Rumney <jasonr@gnu.org>
115
116 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
117 menu items. From David Ponce <dponce@wanadoo.fr>.
118 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
119 conditionally.
120 (w32_menu_display_help): New argument OWNER. Rewritten to store a
121 help event in the owner frame's keyboard buffer.
122
123 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
124 (Fx_show_tip): Don't subtract last width from row width.
125
126 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
127 (w32_read_socket): Use EQ to compare frames.
128
bb313871
GM
1292001-11-28 Gerd Moellmann <gerd@gnu.org>
130
131 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
132 OVERLAPS_P.
133
55b43a63
PJ
1342001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
135
6052529b
PJ
136 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
137 `gcpro3' and `gcpro4'.
138
3ce081f5
SM
139 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
140
1412001-11-28 Stefan Monnier <monnier@cs.yale.edu>
142
143 * ccl.c: Use AREF and ASIZE.
144
1452001-11-27 Stefan Monnier <monnier@cs.yale.edu>
146
147 * lisp.h (run_hook_list_with_args): Remove.
148 (LIST_END_P): Fix call to wrong_type_argument.
149 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 150
111ed14e
SM
1512001-11-26 Stefan Monnier <monnier@cs.yale.edu>
152
9fabb2f5
SM
153 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
154 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
155
156 * eval.c: Use AREF and ASIZE.
157 (Ffetch_bytecode): Add the file name to the error message.
158
159 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
160 which match the end of the file-name.
161 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
162 is not a valid env var, but leave it as is instead.
163
111ed14e
SM
164 * keymap.c (access_keymap): Handle t bindings like nil bindings.
165 Make nil bindings in char-tables transparent.
166 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
167
2fa0eedf
RS
1682001-11-26 Richard M. Stallman <rms@gnu.org>
169
d1420435
RS
170 * textprop.c (set_text_properties_1): Allow START, END in either order.
171 Do nothing if range is empty.
172
2fa0eedf
RS
173 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
174
ebcbef4e
RS
175 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
176 (clean): Not here.
177
5c131048
SM
1782001-11-25 Stefan Monnier <monnier@cs.yale.edu>
179
180 * textprop.c (set_text_properties_1): Clearly mark that the
181 interval should not be empty.
182
183 * intervals.c (graft_intervals_into_buffer):
184 Don't call set_text_properties_1 on an empty interval.
185
96d276c3
RS
1862001-11-25 Richard M. Stallman <rms@gnu.org>
187
6108b49c
RS
188 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
189
96d276c3
RS
190 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
191 don't lose the data in it.
192
5eea19a4
RS
1932001-11-25 Juanma Barranquero <lektu@terra.es>
194
195 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
196
197 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
198
199 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
200
438e57dd
SM
2012001-11-25 Stefan Monnier <monnier@cs.yale.edu>
202
203 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
204
c88e5347
EZ
2052001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
206
207 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
208 Niemitalo <kon@iki.fi>.
209
59ce1461
JR
2102001-11-25 Jason Rumney <jasonr@gnu.org>
211
212 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
213
214 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
215 (Fx_show_tip): Block input during frame creation.
216 (Fx_show_tip, Fx_hide_tip): Enable.
217
8727d588
RS
2182001-11-24 Richard M. Stallman <rms@gnu.org>
219
220 * lread.c (Fload): Detect recursive load error for more than 3
221 nestings of the same file.
222 (Vrecursive_load_depth_limit): Variable deleted.
223 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
224
cc63037e
JR
2252001-11-24 Jason Rumney <jasonr@gnu.org>
226
227 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
228 mouse position if either left or top is not specified.
229
230 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
231 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
232 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
233 (my_create_tip_window): Assign tip_window.
234 (x_create_tip_frame): Use same defaults as X.
235 (compute_tip_xy): Remove unused variable. Use full screen width.
236 (Fx_show_tip): Do not double height. Call ShowWindow directly.
237
238 * w32term.c (x_after_update_window_line): Doc fix.
239 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
240 frames.
241 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
242
243 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
244 for all Windowed systems.
245
deece6f5
EZ
2462001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
247
248 * msdos.c (IT_clear_screen): If the frame's faces are not yet
249 realized, use the initial screen colors to clear the screen.
250
1b944d9c
PJ
2512001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
252
28ff4293
PJ
253 * textprop.c (Fset_text_properties): Remove unused variables
254 `unchanged', `prev_changed', `s' and `len'.
255
56167cc5
PJ
256 * search.c (Freplace_match): Remove unused variable `inslen'.
257
1b944d9c
PJ
258 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
259
ca56d953
JR
2602001-11-22 Jason Rumney <jasonr@gnu.org>
261
262 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
263 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
264 (my_create_tip_window): New function.
265 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
266 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
267
33399dce
JR
2682001-11-20 Jason Rumney <jasonr@gnu.org>
269
270 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
271 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
272
273 * w32fns.c (Vw32_system_coding_system): Remove.
274 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
275
9b46de40
SM
2762001-11-19 Stefan Monnier <monnier@cs.yale.edu>
277
6710ea06
SM
278 * fileio.c (Fwrite_region): Move choose_write_coding_system to
279 after build_annotations.
280
a395ef6a
SM
281 * syntax.c (describe_syntax): Add dummy arg.
282 (describe_syntax_1): Update call to describe_vector.
283
284 * category.c (describe_category): Add dummy arg.
285 (describe_category_1): Update call to describe_vector.
286
287 * keymap.c (Fdescribe_vector): Add `describer' parameter.
288 (describe_command, describe_translation): Add dummy second param.
289 (describe_map): Call elt_describer with two arguments.
290 (describe_vector_princ): Add `fun' parameter.
291 Call it instead of the hardcoded `princ'.
292 (describe_vector): Add arg `args'.
293 Pass it as a new second argument to elt_describer.
294
295 * keymap.h (describe_vector): Update prototype.
296
9b46de40
SM
297 * frame.c: Don't include keymap.h any more.
298 (keys_of_frame): Remove.
299
300 * lisp.h (keys_of_frame): Remove declaration.
301
302 * emacs.c (main): Don't call `keys_of_frame' any more.
303
aff37336
SS
3042001-11-14 Andreas Schwab <schwab@suse.de>
305
306 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
307 if defined, 0 otherwise.
9b46de40 308 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
309 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
310
b9937f07
RS
3112001-11-19 Richard M. Stallman <rms@gnu.org>
312
313 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
314
2cd23960
JR
3152001-11-18 Jason Rumney <jasonr@gnu.org>
316
317 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
318 (x_draw_bar_cursor): If the background color of the glyph under
319 the cursor equals the frame's cursor color, use the glyph's
320 foreground color for drawing the bar cursor.
321 (x_after_update_window_line): Clear internal border in different
322 circumstances.
323 (w32_set_vertical_scroll_bar): Check for width and height > 0.
324 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
325 (x_set_glyph_string_background_width):
326 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
327 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
328 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
329 if cursor_in_non_selected_windows is false.
9b46de40 330 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
331 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
332 Notice if cursor gets overwritten.
333 (notice_overwritten_cursor): Renamed from
334 note_overwritten_text_cursor. Rewritten to take glyph widths
335 into account, and to take X positions as parameters.
336 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
337 around call to x_draw_glyphs.
338 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
339 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
340 color to use for image glyph reliefs.
341 (x_draw_image_relief): Accept zero tool_bar_button_relief.
342 (glyph_rect): Remove unused variable `area'.
343
344 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
345 some items.
346 (x_set_internal_border_width): Set frame garbaged when window
347 doesn't exist yet.
348 (Fx_create_frame): Accept zero tool_bar_button_relief.
349 (x_clear_image_1, four_corners_best, image_background)
350 (image_background_transparent): New functions.
351 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
352 (gs_format): Add `:background' entry.
353 (lookup_image): Set IMG's background color if specified.
354 (pbm_load, xbm_load_image, png_load): Set IMG's background field
355 when appropriate.
356 (x_clear_image_1): Reset `background_valid' and
357 `background_transparent_valid' fields.
358 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
359 calculating it here. Set IMG's background_transparent field.
360 (enum xpm_keyword_index): Add XPM_BACKGROUND.
361 (enum png_keyword_index): Add PNG_BACKGROUND.
362 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
363 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
364 (enum gif_keyword_index): Add GIF_BACKGROUND.
365 (enum gs_keyword_index): Add GS_BACKGROUND.
366 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
367 Pre-calculate image background color where necessary.
9b46de40
SM
368 (x_create_x_image_and_pixmap, xbm_load, gs_load):
369 Use display info's n_cbits entry for screen depth.
2cd23960
JR
370 (Fx_show_tip): Remove unused variables `buffer', `top',
371 `left', `max_width' and `max_height'.
372
373 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
374
a4184c1c
GM
3752001-11-18 Gerd Moellmann <gerd@gnu.org>
376
377 * puresize.h (BASE_PURESIZE): Increase to 750000.
378
f6fa0866
PJ
3792001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
380
381 * frame.c (Fframe_live_p): Doc fix.
382
f4ca4b00
RS
3832001-11-18 Richard M. Stallman <rms@gnu.org>
384
385 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
386 (message_dolog_marker3): New static variables hold three markers.
387 (syms_of_xdisp): Initialize and staticpro them.
388 (message_dolog): Use message_dolog_marker1..3 instead of
389 allocating markers each time. Unchain them when done.
390
f4e25f94
RS
3912001-11-17 Richard M. Stallman <rms@gnu.org>
392
393 * doc.c (Fsnarf_documentation): Doc fix.
394
91c153e2
AS
3952001-11-17 Andreas Schwab <schwab@suse.de>
396
397 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
398
65b7d3e7
RS
3992001-11-17 Richard M. Stallman <rms@gnu.org>
400
401 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
402
6b5f6311
JR
4032001-11-17 Jason Rumney <jasonr@gnu.org>
404
405 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
406
be676094
GM
4072001-11-17 Gerd Moellmann <gerd@gnu.org>
408
409 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
410 with invalid position.
411
032a857d
RS
4122001-11-16 Richard M. Stallman <rms@gnu.org>
413
414 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
415
416 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
417 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
418 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
419
420 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
421
b6270150
SM
4222001-11-16 Stefan Monnier <monnier@cs.yale.edu>
423
424 * fileio.c (build_annotations): Split off the tail.
425 (build_annotations_2): New fun. Extracted from build_annotations.
426 (Fwrite_region): Split the call to build_annotations into two
427 calls to build_annotations and build_annotations_2.
428
792e5cbd
PJ
4292001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
430
98cbb9fa
PJ
431 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
432 clear_waiting_for_input with argument.
433
434 * xterm.h (x_update_cursor): Remove duplicated prototype.
435
b6270150 436 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 437
ea904403 438 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 439
ea904403 440 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 441
fa336b91
SM
4422001-11-16 Stefan Monnier <monnier@cs.yale.edu>
443
444 * fileio.c (choose_write_coding_system): New fun, extracted
445 from Fwrite_region.
446 (Fwrite_region): Use it.
447
448 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
449 (funcall_lambda, run_hook_with_args): Make static and add prototype.
450 (ml_apply, find_handler_clause): Add prototype.
451
077907d4
EZ
4522001-11-16 Eli Zaretskii <eliz@gnu.org>
453
aa2af83a
EZ
454 * config.in: Add #undef HAVE_COFF_H.
455
077907d4
EZ
456 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
457 Required for ISC 4.1.
458
1756e2fb
EZ
4592001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
460
461 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
462 Andrew Wiseman <a.wiseman@btclick.com>.
463
06e8f738
KS
4642001-11-16 Kim F. Storm <storm@cua.dk>
465
466 The following changes are made to clean up the various internal
467 references to the fringes to actually use the term `fringe' for
468 them. Previously, they were called `flags areas', `bitmap areas',
469 `left/right side of windows', or implicitly as `flags' or
470 `bitmaps':
471
472 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
473 Comments fixed. Use renamed symbols.
fa336b91 474
06e8f738 475 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 476
06e8f738
KS
477 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
478 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
479 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 480
06e8f738 481 * msdos.c: Comment fix.
fa336b91 482
06e8f738 483 * w32fns.c: Use renamed symbols.
fa336b91 484
06e8f738
KS
485 * w32term.c: Comment fixes. Use renamed symbols.
486 (fringe_bitmap_type): Renamed from bitmap_type.
487 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
488 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
489 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 490
06e8f738
KS
491 * w32term.h: Comment fixes. Use renamed symbols.
492 (fringes_extra): Renamed from flags_areas_extra.
493 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
494 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
495 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
496 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
497 (FRAME_X_LEFT_FRINGE_WIDTH):
498 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
499 (FRAME_X_RIGHT_FRINGE_WIDTH):
500 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
501
06e8f738 502 * widget.c: Use renamed symbols.
fa336b91 503
06e8f738
KS
504 * window.c: Comment fixes. Use renamed symbols.
505 (coordinates-in-window-p): Doc fix.
fa336b91 506
06e8f738 507 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 508
06e8f738 509 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 510
06e8f738 511 * xfns.c: Use renamed symbols.
fa336b91 512
06e8f738
KS
513 * xterm.c: Comment fixes. Use renamed symbols.
514 (fringe_bitmap_type): Renamed from bitmap_type.
515 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
516 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
517 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
518
519 * xterm.h: Comment fixes. Use renamed symbols.
520 (fringes_extra): Renamed from flags_areas_extra.
521 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
522 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
523 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
524 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
525 (FRAME_X_LEFT_FRINGE_WIDTH):
526 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
527 (FRAME_X_RIGHT_FRINGE_WIDTH):
528 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 529
9ce647f4
JR
5302001-11-15 Jason Rumney <jasonr@gnu.org>
531
532 * w32menu.c (add-menu-item): Make help_echo and radio buttons
533 work for most menu items. From David Ponce
534 <david.ponce@wanadoo.fr>.
535
9b784ab8
GM
5362001-11-15 Gerd Moellmann <gerd@gnu.org>
537
9f7e52b4
GM
538 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
539 Some x_set_* function expect to be called even if old and new
540 value are equal.
541
542 * xdisp.c (build_desired_tool_bar_string): Accept zero
543 tool_bar_button_relief.
544
545 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
546
547 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 548
34e5d0af
GM
549 * xterm.c (x_draw_bar_cursor): If the background color of the
550 glyph under the cursor equals the frame's cursor color, use
551 the glyph's foreground color for drawing the bar cursor.
552
9b784ab8
GM
553 * dispnew.c (direct_output_forward_char): Fix character/byte
554 position comparison.
555
89512fcd
MB
5562001-11-15 Miles Bader <miles@gnu.org>
557
558 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
559 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
560 Update arguments to find_field.
561 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
562 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
563 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
564 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
565
7d18891d
RS
5662001-11-14 Richard M. Stallman <rms@gnu.org>
567
d2936d21
RS
568 * editfns.c (Fpropertize): Allow call with 1 arg.
569
7d18891d
RS
570 * dispextern.h (image_background, image_background_transparent):
571 Conditionalize on HAVE_X_WINDOWS.
572
5732001-11-13 Richard M. Stallman <rms@gnu.org>
574
575 * print.c (Fprin1_to_string): Doc fix.
576
577 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
578
579 * floatfns.c (Fceiling, Ffloor): Doc fixes.
580
581 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
582
583 * fileio.c (Ffile_accessible_directory_p): Doc fix.
584
585 * eval.c (syms_of_eval): Doc fix.
586
587 * coding.c (syms_of_coding): Doc fix.
588
589 * doc.c (Fsnarf_documentation): Doc fix.
590
591 * dispnew.c (syms_of_display): Doc fix.
592
593 * category.c (Fget_unused_category): Doc fix.
594
595 * buffer.c (syms_of_buffer): Doc fixes.
596
9474c847
EZ
5972001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
598
599 * print.c (prin1, print): Doc fix.
600
e3059a5d
PJ
6012001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
602
2b6f3c2b 603 * fontset.h: Remove declarations of variables
e3059a5d
PJ
604 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
605
606 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
607 `Vclip_large_size_font'.
608
b3700ae7
JR
6092001-11-13 Jason Rumney <jasonr@gnu.org>
610
611 * w32fns.c: Doc fix.
612
eae936e2
PJ
6132001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
614
4bb962be
PJ
615 * xfaces.c (Fface_attributes_as_vector): Doc fix.
616
0a332240
PJ
617 * w32fns.c (Fx_synchronize): Reindent.
618
ddb67bdc
PJ
619 * fns.c: Doc fix.
620
3467c402
PJ
621 * emacs.c: Doc fix.
622
623 * coding.c: Doc fix.
624
6e1b91d7
PJ
625 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
626 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
627 `new style' [w/`doc:' keyword].
628
f6e34773
PJ
629 * xmenu.c (x-popup-menu): Reindent.
630 (x-popup-dialog): Likewise.
631
fa336b91 632 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 633
c2552f79
PJ
634 * xdisp.c (Fdump_tool_bar_row): Reindent.
635
94c7167b
PJ
636 * minibuf.c (Fminibuffer_complete_word): Reindent.
637 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 638 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
639 (Fminibuffer_message): Likewise.
640
462a5e3a
PJ
641 * fns.c (Freverse): Reindent.
642
b8de5714
PJ
643 * eval.c (Fif): Reindent.
644 (Fand): Likewise.
645
deb8e082
PJ
646 * editfns.c (Fuser_real_login_name): Reindent.
647 (Finsert_buffer_substring): Likewise.
648 (Fcompare_buffer_substrings): Likewise.
649 (Fsubst_char_in_region): Likewise.
650
bacf09b4
PJ
651 * dispnew.c (Fsit_for): Reindent.
652 (Fframe_or_buffer_changed_p): Likewise.
653 (Finternal_show_cursor_p): Likewise.
654 (syms_of_display): Likewise.
655
eae936e2
PJ
656 * alloc.c (Flist): Reindent.
657 (Fvector): Likewise.
658
1c1d3d69
RS
6592001-11-12 Richard M. Stallman <rms@gnu.org>
660
661 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
662 LeaveNotify events. Only FocusIn and FocusOut do that now.
663 (x_display_and_set_cursor): Do display hollow cursors in active
664 minibuffer windows when they are not selected.
665
b6f4c7ba
JR
6662001-11-12 Jason Rumney <jasonr@gnu.org>
667
668 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
669 * w32term.c: Change doc-string comments to `new style'.
670 [w/`doc:' keyword]. Doc fixes.
671
672 * w32fns.c: Don't define max.
673 (Fx_open_connection): Only execute once.
674
a89f435d
PJ
6752001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
676
677 * ccl.c: Change macros to use do-while block instead of if-else.
678 Use braces to follow GNU Coding Standards.
679
a4cd0cd7
RS
6802001-11-11 Richard M. Stallman <rms@gnu.org>
681
eafb659a
RS
682 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
683
684 * lread.c (read_escape): Use end_of_file_error for reporting eof.
685
a4cd0cd7
RS
686 * insdel.c (replace_range): Use adjust_markers_for_replace
687 instead of adjust_markers_for_delete and adjust_markers_for_insert.
688
689 * intervals.h: Declare set_text_properties and set_text_properties_1.
690
691 * textprop.c (set_text_properties_1): New subroutine
692 broken out of set_text_properties.
693 (set_text_properties): Use set_text_properties_1.
694
695 * intervals.c (graft_intervals_into_buffer):
696 Use set_text_properties_1 to clear out properties.
697
698 * search.c (Freplace_match): Use replace_range to insert
699 and delete. Don't request property inheritance from
700 surrounding text.
701
91823618
JR
7022001-11-10 Jason Rumney <jasonr@gnu.org>
703
704 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
705 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 706 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 707
86928dfb
GM
7082001-11-10 Gerd Moellmann <gerd@gnu.org>
709
fa336b91 710 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
711 instead of malloc/free.
712
40ef1eda
PJ
7132001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
714
ab8469eb
PJ
715 * xfaces.c (merge_face_vectors): Use braces to follow GNU
716 Coding Standards.
717 (Finternal_set_lisp_face_attribute): Likewise.
718
a78e0303
PJ
719 * buffer.c (Fbury_buffer): Likewise.
720
40ef1eda
PJ
721 * indent.c (current_column_1): Remove unused variable `prev_col'.
722
fabf4a91
PJ
723 * coding.c (encode_coding): Use precomputed value of `src'.
724 (encode_coding): Remove unused variable `src_end'.
725 (code_convert_region): Remove unused variables `count'.
726
0c99b139
JR
7272001-11-07 Jason Rumney <jasonr@gnu.org>
728
729 * w32term.c (x_display_and_set_cursor): Do not move system caret
730 if cursor_glyph is NULL.
731
830ddd77
PJ
7322001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
733
734 * keymap.c (access_keymap): Fix compilation error.
735
55c6d645
MB
7362001-11-07 Miles Bader <miles@gnu.org>
737
738 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
739
5de38842
PJ
7402001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
741
7a4564a4
PJ
742 * intervals.c (graft_intervals_into_buffer):
743 Remove #ifdef'd-out code.
744 (graft_intervals_into_buffer): Remove unused variable `middle'.
745
5de38842
PJ
746 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
747 code (eval-current-buffer).
748 Change doc-string comments to `new style' [w/`doc:' keyword].
749
4fa23df5
RS
7502001-11-06 Richard M. Stallman <rms@gnu.org>
751
752 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
753
7a6a97d7
SM
7542001-11-06 Stefan Monnier <monnier@cs.yale.edu>
755
c191d13c
SM
756 * lread.c (read1): Fix behavior with nested backquoting.
757
7a6a97d7
SM
758 * keyboard.c (make_lispy_event): Check integerness and fix
759 Lisp_Object/int mixup.
760
44dc78e0
PJ
7612001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
762
763 * fns.c (copy_hash_table): Remove unused variable `v'.
764
17893c65
PJ
765 * fontset.c (fontset_font_pattern): Remove unused variable
766 `family_registry'.
767
4d994a79
PJ
768 * indent.c (current_column_1): Remove unused variable `prev_col'.
769
d5360cc7
RS
7702001-11-05 Richard M. Stallman <rms@gnu.org>
771
772 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
773
774 * buffer.c (Fkill_buffer): Don't delete auto save file
775 if buffer is modified.
776
96238a5a
AI
7772001-11-05 Andrew Innes <andrewi@gnu.org>
778
779 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
780 CHECK_NUMBER_CDR.
781
d9d54213
RS
7822001-11-05 Richard M. Stallman <rms@gnu.org>
783
784 * unexelf.c (unexec): Minor changes; clean up comments.
785
b116830b
SS
7862001-11-05 Sam Steingold <sds@gnu.org>
787
788 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
789
3297e2a1
AS
7902001-11-05 Andreas Schwab <schwab@suse.de>
791
792 * sound.c (sound_perror): Save errno from being clobbered.
793
9212319f 7942001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
795
796 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
797 the program image directly.
798
7dd73b78
PJ
7992001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
800
801 * buffer.h (Fbuffer_local_value): Add prototype.
802
982f6c7e
RS
8032001-11-04 Richard M. Stallman <rms@gnu.org>
804
d31053f9
RS
805 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
806 and CHECK_BUFFER.
807
808 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
809 (record_char): Likewise.
810
811 * keyboard.c (make_lispy_event): Don't insist a drag event must
812 move to a different buffer position. Instead, check for moving at
813 least double_click_fuzz.
814
815 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
816
817 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
818
982f6c7e
RS
819 * indent.c (current_column_1, Fmove_to_column): Separate the code
820 for display-table glyphs from the code buffer text, to fix
821 bugs in the former.
822
830047fd
RS
8232001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
824
825 * buffer.c (Fbuffer_local_value): New function.
c191d13c 826 (syms_of_buffer): Defsubr it.
b116830b 827
830047fd
RS
828 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
829 value of `cursor-in-non-selected-windows'.
830
831 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
832 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
833 (syms_of_xdisp): Initialize it.
b116830b 834
2df5238c
PJ
8352001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
836
4e397688
PJ
837 * xfns.c (Fx_create_frame): Doc fix.
838
48b0f3ae
PJ
839 * coding.c: Change doc-string comments to `new style' [w/`doc:'
840 keyword].
841
2df5238c
PJ
842 * eval.c (top_level_value, top_level_set): Remove commented and
843 #ifdef'd-out code.
844 (Fdefvar): Fix usage in doc-string.
845
3ecaf7e5
RS
8462001-11-03 Richard M. Stallman <rms@gnu.org>
847
848 * xfns.c: Include unistd.h, if it exists.
849
850 * editfns.c: Move the include of ctype.h after unistd.h.
851
852 * gmalloc.c: Test BROKEN_PROTOTYPES.
853
8db2e33b
KR
8542001-11-03 Ken Raeburn <raeburn@gnu.org>
855
856 * lisp.h (CHECK_STRING_CAR): New macro.
857 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
858 treating XCAR and XCDR as lvalues.
859 (openp): Use CHECK_STRING_CAR.
860 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
861
aed29b97
EZ
8622001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
863
864 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 865 (SIGMASKTYPE): Define.
aed29b97
EZ
866
867 * syssignal.h (sigunblock): Don't define if already defined.
868
6cb16f95
PJ
8692001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
870
16b45be4
EZ
871 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
872 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
873 Fix typos in comments.
874
020f9b38
PJ
875 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
876 and #ifdef'd-out code.
877 Fix and reindent comments.
878
c191d13c 879 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 880
6cb16f95
PJ
881 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
882 argument `i' in macros.
883
884 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
885 `i' in macros.
886
16b45be4
EZ
887 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
888 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
889 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
890 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
891 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
892 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
893 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
894 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
895 in macros.
896
897 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
898 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
899 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
900 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
901 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
902 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
903 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
904 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
905 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
906 (remove unused second argument).
907
7e9d3c2f
SM
9082001-11-02 Stefan Monnier <monnier@cs.yale.edu>
909
910 * syntax.c (describe_syntax): New wrapper.
911 (Finternal_describe_syntax_value): Rename from describe_syntax.
912 Don't insert space at front and \n at the end.
913 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
914
915 * regex.c (re_wctype): Try to fix some warnings.
916 (regcomp, regexec): Don't forget the __restrict.
917
e6bff182
RS
9182001-11-02 Richard M. Stallman <rms@gnu.org>
919
920 * textprop.c (Fget_char_property): Doc fix.
921
9ba48103
PJ
9222001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
923
924 * process.c (Fstart_process): Add usage to doc-string.
925
926 * data.c (Fsetq_default): Ditto.
927
928 * callint.c (Finteractive): Ditto.
929
c22e59e1
SM
9302001-11-01 Stefan Monnier <monnier@cs.yale.edu>
931
932 * macros.c: Don't include keymap.h any more.
933
9271ed2c
RS
9342001-11-01 Richard M. Stallman <rms@gnu.org>
935
e6bff182
RS
936 * data.c (Fmake_local_variable): Doc fix.
937
938 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
939 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
940
9271ed2c
RS
941 * keymap.c (Fdescribe_buffer_bindings): Print character property
942 bindings along with or instead of the buffer local map.
943 Make the overriding maps override what they should.
944
8b8bd9c6
PJ
9452001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
946
947 * window.c (grow_mini_window): Fix typo in comment.
948
27188d11
GM
9492001-11-01 Gerd Moellmann <gerd@gnu.org>
950
7b49b9d2
GM
951 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
952 (XTset_vertical_scroll_bar): Likewise.
953
43f7c3ea
GM
954 * xfns.c (x_build_heuristic_mask): Use four_corners_best
955 instead of IMAGE_BACKGROUND.
c22e59e1 956
b350c2e5
GM
957 * xfns.c (four_corners_best): Reindent.
958
c22e59e1 959 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
960 Handle :box so that it is possible to specify sexprs.
961
d576358b
PJ
9622001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
963
964 * xfaces.c (Finternal_merge_in_global_face): Reindent.
965 (Fface_font): Ditto.
966 (Finternal_set_alternative_font_registry_alist): Ditto.
967 (Ftty_suppress_bold_inverse_default_colors): Ditto.
968
969 * xfns.c (x-get-resource): Reindent.
970
bf00d461
EZ
9712001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
972
973 * s/hpux11.h: New file.
974
4e10df59
PJ
9752001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
976
2b209b97
PJ
977 * emacs.c (USAGE1): Show command line option --no-window-system
978 instead of --no-windows in usage.
979 (standard_args): Rename --no-windows to --no-window-system.
980 (bug_reporting_address): Follow Emacs coding conventions.
981
9dbc9081
PJ
982 * eval.c (Fcommandp): Doc fix.
983 Change doc-string comments to `new style' [w/`doc:' keyword].
984
4e10df59
PJ
985 * frame.c (Fframe_live_p): Doc fix.
986
987 * buffer.c (selective-display-ellipses): Doc fix.
988
dd387b25
GM
9892001-10-31 Gerd Moellmann <gerd@gnu.org>
990
fe957e65
GM
991 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
992
dd387b25
GM
993 * xfaces.c (realize_x_face): If C is not a single-byte character,
994 set the face's colors_copied_bitwise_p instead of the defaulted_p
995 members which have a different meaning.
996 (free_face_colors): Do nothing for a face whose colors have been
997 copied bitwise.
998
c22e59e1 999 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1000
2e1280f8
PJ
10012001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1002
687784e8
PJ
1003 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1004 [w/`doc:' keyword].
2e1280f8 1005
b9d9a9b9
GM
10062001-10-31 Gerd Moellmann <gerd@gnu.org>
1007
1008 * fns.c (require_unwind): Return Lisp_Object.
1009
48400103
PJ
10102001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1011
fa1361cb
PJ
1012 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1013 (last-input-char): Revert doc-string to be the same as the
1014 doc-string of `last-input-event'.
1015
48400103
PJ
1016 * xdisp.c: Fix typos in comments.
1017
eafa3196
GM
10182001-10-31 Gerd Moellmann <gerd@gnu.org>
1019
1020 * window.c (grow_mini_window): Handle case that the root
1021 window is already smaller than the nominal mininum height.
1022
747d3f2a
SM
10232001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1024
bf9bb76f
SM
1025 * emacs.c (main): Don't call keys_of_macros any more.
1026
1027 * lisp.h (keys_of_macros): Remove.
1028
1029 * macros.c (keys_of_macros): Remove.
1030
747d3f2a
SM
1031 * xfaces.c (Fface_attribute_relative_p): Declare args.
1032
5e905a57
JR
10332001-10-30 Jason Rumney <jasonr@gnu.org>
1034
1035 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1036 (enum_font_cb2): Ignore fonts with vertical orientation.
1037
3a426197
RS
10382001-10-30 Richard M. Stallman <rms@gnu.org>
1039
1040 * keyboard.c (Finput_pending_p): Doc fix.
1041
a742d646
GM
10422001-10-30 Gerd Moellmann <gerd@gnu.org>
1043
259cf6bc
GM
1044 * xterm.c (x_after_update_window_line): Don't run the code
1045 clearing in borders for rows whose visible height is 0.
1046
3f99f948
GM
1047 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1048 resized_p flag is set. If not set, use the much less flickering
1049 method previously used.
1050
1051 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1052
1053 * frame.h (struct frame) <resized_p>: New member.
1054
b4a3be43
GM
1055 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1056 as large as the number of bytes to convert.
747d3f2a 1057
a742d646
GM
1058 * lread.c (to_multibyte): New function.
1059 (read1): Use it.
1060
cacbb9e9
EZ
10612001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1062
1063 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1064
99cb6b2f
GM
10652001-10-30 Gerd Moellmann <gerd@gnu.org>
1066
327f42ee 1067 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1068 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1069 if the row's fill_line_p is set and drawing the last glyph with
1070 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1071
99cb6b2f
GM
1072 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1073
8e8223e2
SM
10742001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1075
1076 * xmenu.c: Include coding.h and charset.h.
1077 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1078 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1079 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1080 Explicitly set wv->help. Use `TRUE' rather than `True'.
1081 (menu_help_callback): Use empty_string.
1082
1083 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1084 (Fx_popup_dialog): Explicitly init f.
1085 (w32_menu_display_help): Use empty_string.
1086
4d083a8f
RS
10872001-10-29 Richard M. Stallman <rms@gnu.org>
1088
b2304472
RS
1089 * fns.c (Frequire): Detect recursive try to require the same
1090 feature 3 or more levels deep, and get error.
1091 (require_unwind): New subroutine.
1092 (require_nesting_list): New variable.
1093 (syms_of_fns): Init and staticpro it.
1094
4d083a8f
RS
1095 * print.c (print_object): Clarify indication of insertion type.
1096
2fe41216
EZ
10972001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1098
90480000
EZ
1099 * coding.c (syms_of_coding): Document that locale-coding-system is
1100 used for decoding input on X.
1101
2fe41216
EZ
1102 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1103
74e79967
PJ
11042001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1105
1106 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1107 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1108
60ebcfe8
GM
11092001-10-29 Gerd Moellmann <gerd@gnu.org>
1110
9a7bdceb
GM
1111 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1112 use NO_CURSOR if cursor_in_non_selected_windows is false.
1113
3f08fcd2
GM
1114 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1115 the slant attribute if FRAME is t.
1116
0ccfdad2
GM
1117 * xfns.c (x_set_internal_border_width): Set frame garbaged
1118 when X window doesn't exist yet.
1119
ef253080
GM
1120 * xterm.c (x_after_update_window_line): Clear internal border
1121 in different circumstances.
b116830b 1122
60ebcfe8
GM
1123 * xterm.c (XTread_socket) <KeyPress>: Don't use
1124 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1125 <handa@etl.go.jp>.
1126
73d25f9c
EZ
11272001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1128
1129 * m/ibms390.h: New file. From Adam Thornton
1130 <athornton@sinenomine.net>.
1131
cac1daf0
GM
11322001-10-28 Gerd Moellmann <gerd@gnu.org>
1133
053b3256 1134 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1135
cac1daf0
GM
1136 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1137 a loop counter.
1138
13b1a09c
PJ
11392001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1140
186486eb
PJ
1141 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1142
4707d2d0
PJ
1143 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1144 keyword].
1145 Fix typos in comments.
b116830b 1146
d883731c
PJ
1147 * emacs.c (bug_reporting_address): New function.
1148 Use it when displaying usage message.
1149
04012254
PJ
1150 * minibuf.c (read_minibuf): Remove unused external declaration of
1151 variable `Qread_only'.
1152
13b1a09c
PJ
1153 * keymap.c (access_keymap): Remove unused variable `charset'.
1154
5bbf4378
MB
11552001-10-28 Miles Bader <miles@gnu.org>
1156
1157 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1158 Remove #ifdef'd-out code.
1159 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1160 (syms_of_xfaces): Initialize them.
1161
1ce1e4ee
JR
11622001-10-27 Jason Rumney <jasonr@gnu.org>
1163
1164 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1165 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1166 position using the system caret.
1167
1168 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1169 (w32_system_caret_height, w32_system_caret_x)
1170 (w32_system_caret_y): New variables for tracking system caret.
1171 (w32_initialize): Initialize them.
c2d53558 1172 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1173
c2d53558
SM
1174 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1175 New messages types.
1ce1e4ee
JR
1176
1177 * w32term.c (note_mouse_highlight): Clear old help_echo.
1178
4e30ce42
PJ
11792001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1180
bb4600a4
PJ
1181 * xterm.c: Fix typo in a comment.
1182
7db35a48
PJ
1183 * emacs.c: Fix typos in comments.
1184 Remove unnecessary spaces.
1185 Change doc-string comments to `new style' [w/`doc:' keyword].
1186 (USAGE2): Fix typos in usage string.
1187
a7248e4f
PJ
1188 * xterm.c: Fix typo in a comment.
1189
4e30ce42
PJ
1190 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1191 emacs.c.
1192
62725a92
GM
11932001-10-27 Gerd Moellmann <gerd@gnu.org>
1194
798dbe1f 1195 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1196 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1197 farther backward when target_y was not reached.
1198
62725a92
GM
1199 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1200 Display errno only if non-zero.
1201 (sound_warning): New function.
1202 (vox_configure): Don't treat failing to set sample rate as error.
1203 (various places): Improve error messages.
1204
d4e34d24
EZ
12052001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1206
944e6f60
EZ
1207 * fileio.c (Faccess_file): Run the argument filename through
1208 Fexpand_file_name, before using it.
1209
d4e34d24
EZ
1210 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1211 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1212
38d2af0c
GM
12132001-10-26 Gerd Moellmann <gerd@gnu.org>
1214
da80a8d5
GM
1215 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1216
38d2af0c
GM
1217 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1218 Fix clearing in the case of scroll bars on the right.
c2d53558 1219
56f508dd
EZ
12202001-10-26 Juanma Barranquero <lektu@terra.es>
1221
1222 * w32gui.h (XImage): Add a dummy typedef.
1223
fbd5ceb2
GM
12242001-10-26 Gerd Moellmann <gerd@gnu.org>
1225
c2d53558 1226 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1227
b23236fb
EZ
12282001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1229
1230 * frame.c (Fframe_parameter): Fix last change.
1231
5d991fc4
EZ
1232 * fileio.c: Revert last change (which removed old commented-out
1233 version of expand-file-name). Add a comment that explains why
1234 this old version should not be removed.
1235
879eadc3
GM
12362001-10-25 Gerd Moellmann <gerd@gnu.org>
1237
75700ff2
GM
1238 * frame.c (Fframe_parameter): Fix a bug whereby some
1239 ``artificial'' frame parameters, like `minibuffer' were not
1240 obtained by calling Fframe_parameters.
1241
dfe92a6a
GM
1242 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1243 cursor differently.
1244
879eadc3
GM
1245 * xdisp.c (move_it_vertically_backward): Compute line height
1246 differently. Add heuristic to try to be more compatible to 20.x.
1247
e1010ebe
SM
12482001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1249
d73a471b
SM
1250 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1251
d6da5a06
GM
1252 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1253 boolean.
e1010ebe 1254
f66bd220
MB
12552001-10-25 Miles Bader <miles@gnu.org>
1256
1257 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1258 BG is a pointer to a structure, not a structure.
1259 (gif_format, png_format): Add missing commas.
1260
d436d538
RS
12612001-10-24 Richard M. Stallman <rms@gnu.org>
1262
1263 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1264 (syms_of_xfaces): Defsubr it.
d436d538 1265
075c507b
PJ
12662001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1267
1268 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1269 variable `area'.
1270
d492b584
PJ
12712001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1272
c2d53558 1273 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1274
e2a57b34
MB
12752001-10-25 Miles Bader <miles@gnu.org>
1276
1277 * dispextern.h (struct image): Add `background',
1278 `background_valid', and `background_transparent' fields.
1279 (image_background, image_background_transparent): New declarations.
1280 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1281 * xfns.c (image_background, image_background_transparent)
1282 (four_corners_best): New functions.
c2d53558 1283 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1284 (gs_format): Add `:background' entry.
1285 (lookup_image): Set IMG's background color if specified.
1286 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1287 when appropriate.
1288 (x_clear_image_1): Reset `background_valid' and
1289 `background_transparent_valid' fields.
1290 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1291 calculating it here. Set IMG's background_transparent field.
1292 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1293 (enum png_keyword_index): Add PNG_BACKGROUND.
1294 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1295 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1296 (enum gif_keyword_index): Add GIF_BACKGROUND.
1297 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1298 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1299 Pre-calculate image background color where necessary.
1300 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1301 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1302 color to use for image glyph reliefs.
1303
b547b6e8
GM
13042001-10-24 Gerd Moellmann <gerd@gnu.org>
1305
d9e3b8c6
GM
1306 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1307 in full-width rows.
c2d53558 1308
b547b6e8
GM
1309 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1310 Fix clearing of area not covered by scroll bar.
1311
2beb36f9
PJ
13122001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1313
1314 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1315 and `real_start'.
c2d53558 1316 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1317 (glyph_rect): Remove unused variable `area'.
1318
76cb5e06
GM
13192001-10-24 Gerd Moellmann <gerd@gnu.org>
1320
bdbdebff 1321 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1322
1323 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1324 (row_containing_pos): Take additional argument DY.
1325 Treat rows ending in middle of char differently.
62e33982
GM
1326 (display_line): Handle tabs on window systems differently.
1327
1328 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1329 with additional argument.
1330
1331 * dispextern.h (row_containing_pos): Adjust prototype.
1332
76cb5e06
GM
1333 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1334 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1335 (try_window_id, try_window_reusing_current_matrix)
1336 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1337 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1338
996fee11
PJ
13392001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1340
c9e60620
PJ
1341 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1342 gnuemacs).
1343 (HAVE_BOXES): Fix typo in comment.
1344 (push_menu_pane): Fix typo in comment.
1345
3b552d56
PJ
1346 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1347 of `Qwhen'.
1348 (single_display_prop_string_p): Remove unused local declarations
1349 of `Qwhen' and `Qmargin'.
1350 (string_buffer_position): Remove unused variable `around'.
1351 (store_frame_title): Remove unused variable `width'.
1352
15c565ac
PJ
1353 * window.c: Don't define max.
1354 (coordinates_in_window): Remove unused variable `uy'.
1355
a8818eb9
PJ
1356 * widget.c: Don't define max.
1357
996fee11
PJ
1358 * process.c: Don't define max.
1359 (create_process): Remove unused variable `buffer'.
1360
496e1a5b
GM
13612001-10-23 Gerd Moellmann <gerd@gnu.org>
1362
c2d53558 1363 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1364
5905ae8b
EZ
13652001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1366
1367 * xfaces.c (Finternal_set_lisp_face_attribute)
1368 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1369 frame is on a windowed display.
1370
24db49fb
GM
13712001-10-23 Gerd Moellmann <gerd@gnu.org>
1372
c2d53558
SM
1373 * dispnew.c (sync_window_with_frame_matrix_rows):
1374 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1375 of marginal areas.
1376
c2d53558 1377 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1378
f0487f05
EZ
13792001-10-23 Andreas Schwab <schwab@suse.de>
1380
1381 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1382 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1383
f0a48a01
GM
13842001-10-23 Gerd Moellmann <gerd@gnu.org>
1385
c2d53558 1386 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1387 REAL_END. Notice if cursor gets overwritten.
1388 (notice_overwritten_cursor): Take X positions as parameters.
1389 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1390 around call to x_draw_glyphs.
1391
a50a10a0
PJ
13922001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1393
fc11dff0
PJ
1394 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1395 instead of C) and usage.
a50a10a0 1396
fc11dff0
PJ
1397 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1398 of C) and usage.
a50a10a0
PJ
1399
1400 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1401 `left', `max_width' and `max_height'.
1402
8738febd
GM
14032001-10-23 Gerd Moellmann <gerd@gnu.org>
1404
1405 * xdisp.c (display_line): For a tab continued to the next line,
1406 set row's ends_in_middle_of_char_p.
1407
653c329b
GM
14082001-10-22 Gerd Moellmann <gerd@gnu.org>
1409
1410 * xdisp.c (display_line): Fix computation of continuation lines
1411 width for TABs.
1412
f958c5ac
PJ
14132001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1414
7ba51063
PJ
1415 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1416 `Qlaplace'.
1417
f958c5ac
PJ
1418 * fileio.c: Remove unused code.
1419
eb360291
MB
14202001-10-22 Miles Bader <miles@gnu.org>
1421
1422 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1423 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1424 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1425
98515cf0
JR
14262001-10-21 Jason Rumney <jasonr@gnu.org>
1427
1428 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1429
93026d88
EZ
14302001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1431
1432 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1433 (Finsert_string): Avoid the multi-line string literals warning.
1434
c9a95b79
MB
14352001-10-22 Miles Bader <miles@gnu.org>
1436
1437 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1438 (Fdocumentation): Don't use it.
1439 (syms_of_doc): Don't initialize it.
1440
1441 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1442 * print.c (Fwith_output_to_temp_buffer): Likewise.
1443 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1444 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1445 (Fsave_restriction): Likewise.
c2d53558
SM
1446 * eval.c (Frun_hooks, Frun_hook_with_args)
1447 (Frun_hook_with_args_until_failure)
1448 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1449 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1450 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1451 (Funwind_protect, Fcondition_case): Likewise.
1452 * coding.c (Ffind_operation_coding_system): Likewise.
1453 * keyboard.c (Ftrack_mouse): Likewise.
1454
a3b10252
MB
14552001-10-21 Miles Bader <miles@gnu.org>
1456
c2d53558 1457 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1458 (Fmake_hash_table): Add usage: string to doc string.
1459 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1460 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1461 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1462 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1463 (Fml_prefix_argument_loop): Likewise.
1464
c6f73eec
PJ
14652001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1466
c2d53558 1467 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1468
c6f73eec
PJ
1469 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1470 style' [w/`doc:' keyword].
1471
1472 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1473 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1474 comments to `new style' [w/`doc:' keyword].
1475
3cf3436e
JR
14762001-10-21 Jason Rumney <jasonr@gnu.org>
1477
1478 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1479
c169b8f1
JR
1480 * w32term.c (remember_mouse_glyph): New function.
1481 (w32_mouse_position): Use it.
1482 (note_mouse_movement): If the mouse moved off the glyph, remember
1483 its new position.
c2d53558 1484
4fdd691b
JR
1485 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1486 (w32_display_info): Add mouse_face_overlay.
1487
c169b8f1
JR
1488 * w32term.c (notice_overwritten_cursor): Renamed from
1489 note_overwritten_text_cursor. Rewritten to take glyph widths into
1490 account.
1491 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1492 (fast_find_string_pos): New function.
1493 (fast_find_position): Return the correct vpos. Add parameter
1494 STOP. In the final row, stop before glyphs having STOP as object.
1495 Don't consider glyphs that are not from a buffer.
1496 (fast_find_position) [0]: Add a presumably more correct version
1497 for after 21.1.
1498 (expose_window_tree, expose_frame): Don't compute intersections here.
1499 (expose_window): Do it here instead.
1500 (expose_window_tree, expose_window, expose_line): Return 1 when
1501 overwriting mouse-face.
1502 (expose_window): If W is the window currently being updated, mark
1503 the frame garbaged.
1504 (expose_frame): If mouse-face was overwritten, redo it.
1505 (x_use_underline_position_properties): New variable.
1506 (syms_of_xterm): DEFVAR_BOOL it.
1507 (x_draw_glyph_string): Add comment to use it in future.
1508 (x_draw_glyph_string): Restore clipping after drawing box.
1509 Fix a computation of the underline position.
1510 (w32_get_glyph_string_clip_rect): Minor cleanup.
1511 (x_fill_stretch_glyph_string): Remove an assertion.
1512 (x_produce_glyphs): Don't convert multibyte characters
1513 to unibyte characters in unibyte buffers.
1514 (cursor_in_mouse_face_p): New function.
1515 (x_draw_stretch_glyph_string): Use it to choose a different GC
1516 when drawing a cursor within highlighted text. Don't draw
1517 background again if it has already been drawn.
1518 (x_draw_glyph_string_box): Don't draw a full-width
1519 box just because the glyph row's full_width_p flag is set.
1520 (x_draw_glyphs): Fix computation of rightmost x for
1521 full-width rows.
1522 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1523 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1524 change bottom shadow accordingly. Some cleanup.
1525 (x_update_window_end): Handle overwritten mouse face
1526 also for tool bar windows.
1527 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1528 DRAW is DRAW_IMAGE_RAISED.
1529 (clear_mouse_face): Return 1 if text with mouse face was
1530 actually redrawn. Make the function static. Reset
1531 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1532 optimize away highlighting if we pass over that same overlay again.
1533 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1534 to detect a case where we have to highlight a different region
1535 despite not having left the currently highlighted region.
1536 Set mouse_face_overlay in the x_display_info. Avoid changing the
1537 mouse pointer shape when show_mouse_face has already done it, or
1538 there is no need. Handle mouse-face and help-echo in strings.
1539 (glyph_rect): New function.
1540 (w32_mouse_position): Use it to raise the threshold for mouse
1541 movement event generation.
1542 (w32_initialize_display_info): Initialize the x_display_info's
1543 mouse_face_overlay.
1544 (w32_set_vertical_scroll_bar): Don't clear a zero height
1545 or width area.
1546 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1547 a widget to zero height.
1548
3cf3436e 1549 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1550 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1551 equivalents in menu_items.
1552 (w32_menu_show): Don't overwrite an item's name with its key
1553 description in case the description is a multibyte string.
1554 (single_submenu): Some cleanup.
1555
1556 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1557 (postprocess_image): New function.
1558 (lookup_image): Call it for all image types except PostScript.
1559 (x_kill_gs_process): Call postprocess_image.
1560 (tiff_error_handler, tiff_warning_handler): New functions.
1561 (tiff_load): Install them as handlers.
1562 (x_kill_gs_process): Recognize if someone has cleared the image
1563 cache under us.
1564 (valid_image_p): Protect better against invalid image
1565 specifications. Previous code could signal an error.
1566 (Fx_hide_tip, Fshow_tip): Doc fix.
1567 (Fv_max_tooltip_size): New variable.
1568 (syns_of_xfns): DEFVAR_LISP it.
1569 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1570 window buffer to *tip* right after creating the frame. Set frame's
1571 window_width. Use a maximum tooltip size specified by
1572 Vx_max_tooltip_size, if that has valid contents.
1573 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1574 Make sure the tooltip is completely visible.
1575 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1576 (Fx_create_frame): Adjust the frame's height for presence
1577 of the tool bar before calling x_figure_window_size.
1578 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1579 when the window gets smaller.
1580 (x_set_foreground_color): Set frame's cursor_pixel.
1581 (x_set_foreground_color, x_set_background_color): Cleaned up.
1582 (x_set_font): Handle case of x_new_fontset returning the same name
1583 as before, although there was a change in fontsets.
1584
386ca361
MB
15852001-10-21 Miles Bader <miles@gnu.org>
1586
c2d53558 1587 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1588 (Flogxor): Add usage: string to doc string.
1589 * charset.c (Fstring): Likewise.
1590 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1591 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1592
14ff1ee0
PJ
15932001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1594
03be2694
PJ
1595 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1596
1597 * alloc.c: Reindent DEFUNs with doc: keywords.
1598
1599 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1600
14ff1ee0
PJ
1601 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1602 keyword].
1603
71431a0e
GM
16042001-10-20 Gerd Moellmann <gerd@gnu.org>
1605
6aa97356 1606 * (Version 21.1 released.)
71431a0e 1607
39f624fa
PJ
16082001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1609
c2d53558 1610 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1611
1612 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1613 0 because unused.
1614
1615 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1616 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1617 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1618
abcce93a
MB
16192001-10-20 Miles Bader <miles@gnu.org>
1620
1621 The following changes remove the glyph_row `inverse_p' field,
1622 which is never set anymore, due to other changes:
1623
1624 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1625 (reassert_line_highlight, change_line_highlight): Declarations removed.
1626 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1627 (line_hash_code, row_equal_p, fake_current_matrices)
1628 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1629 (update_frame_line, update_frame_line, update_frame_line):
1630 Don't use `inverse_p' field.
1631 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1632 change_line_highlight_hook.
1633 (XTreassert_line_highlight, x_change_line_highlight):
1634 Functions removed.
c2d53558 1635 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1636 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1637 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1638 `inverse_p' field.
c2d53558 1639 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1640 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1641 (w32_reassert_line_highlight, x_change_line_highlight):
1642 Functions removed.
1643 * w32console.c (reassert_line_highlight, change_line_highlight):
1644 Functions removed.
1645 (initialize_w32_display): Don't set reassert_line_highlight_hook
1646 or change_line_highlight_hook.
1647 (hl_mode): Function removed.
c2d53558
SM
1648 (reset_terminal_modes, set_terminal_modes, update_begin)
1649 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1650 (clear_frame, ins_del_lines): Don't call it.
1651 * termhooks.h (reassert_line_highlight_hook)
1652 (change_line_highlight_hook): Declarations removed.
1653 * term.c (reassert_line_highlight_hook)
1654 (change_line_highlight_hook): Variables removed.
1655 (reassert_line_highlight, change_line_highlight): Functions removed.
1656 * msdos.c (IT_reassert_line_highlight)
1657 (IT_change_line_highlight): Functions removed.
1658 (internal_terminal_init): Don't set reassert_line_highlight_hook
1659 or change_line_highlight_hook.
1660 (highlight): Variable removed.
c2d53558 1661 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1662 (IT_set_terminal_modes): Don't set or use it.
1663
1664 The following changes remove inverse-video support for terminals
1665 that use a `magic cookie' standout mode. Due to changes in the
1666 way mode-lines are displayed, such support no longer works
1667 anyway, and it's probable that almost no one uses such terminals
1668 anymore:
1669
1670 * term.c (standout_requested): Variable removed.
1671 (update_end, highlight_if_desired): Don't use it.
1672 (chars_wasted, copybuf): Variables removed.
1673 (write_standout_marker): Function removed.
c2d53558 1674 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1675 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1676 Don't use `chars_wasted' or `copybuf'.
1677 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1678 Set `costs_set' to true.
1679 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1680 `chars_wasted'.
1681 (clear_end_of_line): Function removed.
1682 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1683 (clear_to_end): Call `clear_end_of_line' instead of
1684 `clear_end_of_line_raw'.
54800acb
MB
1685 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1686 (term_init): Don't set them.
1687 Turn off any standout/underline modes that require magic cookies.
c2d53558 1688 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1689 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1690 Remove special processing for magic-cookie standout modes.
1691 (turn_off_face, turn_on_face): Remove special processing for
1692 underline magic-cookie glitch.
abcce93a 1693
0b5f679f
RS
16942001-10-19 Richard M. Stallman <rms@gnu.org>
1695
1696 * eval.c (syms_of_eval): Doc fixes.
1697
5a4a5bd4
GM
16982001-10-19 Gerd Moellmann <gerd@gnu.org>
1699
1700 * xdisp.c (redisplay_internal): Don't clear echo area if the
1701 mini-window is selected.
1702
79f1f96c
MB
17032001-10-19 Miles Bader <miles@gnu.org>
1704
b57c2708
MB
1705 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1706 doesn't take precedence if the affected property's value is nil.
1707
1708 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1709
79f1f96c
MB
1710 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1711 with fields and suggest using `forward-line' to avoid them.
1712 * editfns.c (Fline_beginning_position, Fline_end_position):
1713 Clarify documentation.
1714
ef879104
SM
17152001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1716
1717 * keymap.c (current_minor_maps): `override' only shadows its
1718 correspondent in minor-mode-map-alist, not the whole tail.
1719
97f4db8c
AI
17202001-10-18 Andrew Innes <andrewi@gnu.org>
1721
1722 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1723 optimization. The fontp->encoding array was not being initialized
1724 correctly when compiled with optimizations by MSVC.
1725
e6b70fd8
GM
17262001-10-18 Gerd Moellmann <gerd@gnu.org>
1727
30903479 1728 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1729
0e804d38
AI
17302001-10-17 Andrew Innes <andrewi@gnu.org>
1731
1732 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1733
1734 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1735 font_info.charset field.
1736
1737 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1738 rather than working it out by calling w32_codepage_for_font for
1739 every glyph.
1740
66e5868a
AI
17412001-10-17 Andrew Innes <andrewi@gnu.org>
1742
1743 * w32term.c (w32_read_socket): Determine clipping rectangle for
1744 the entire frame, including areas covered by scrollbars and the
1745 menubar. This avoids internal arguments about whether a frame is
1746 fully obscured or not.
1747
15b00083
GM
17482001-10-17 Gerd Moellmann <gerd@gnu.org>
1749
23e8bd86
GM
1750 * xdisp.c (try_window_id): Undo last change. Give up if
1751 window ends in strings.
30903479 1752
9c6ba6d1 1753 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1754 end if the rest of the window after the window end was already blank.
23e8bd86 1755
30903479 1756 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1757 for the release of 21.1.
1758
30903479 1759 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1760
945220bd
MB
17612001-10-17 Miles Bader <miles@gnu.org>
1762
1763 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1764 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1765 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1766 Change doc-string comments to `new style' [w/`doc:' keyword].
1767 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1768 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1769 out make-docfile.
1770
14242528
MB
17712001-10-16 Miles Bader <miles@gnu.org>
1772
1773 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1774
3ddf952f
GM
17752001-10-16 Gerd Moellmann <gerd@gnu.org>
1776
1777 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1778 *scratch*.
1779
f3fbd155
KR
17802001-10-16 Ken Raeburn <raeburn@gnu.org>
1781
1782 Avoid the assumption that car and cdr slots of cons cells are
1783 addressable lvalues; this allows for easier experimentation with
1784 other lisp implementations that may not permit such accesses for
1785 various reasons. Not quite complete -- buffer.c still needs some
1786 work, and w32/mac files need rechecking -- so compile-time
1787 enforcement is left disabled for now.
1788
1789 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1790 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1791 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1792 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1793 (XSETCAR, XSETCDR): New macros.
1794 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1795 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1796 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1797 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1798 XSETCDR.
1799 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1800 * buffer.c (record_buffer, Fbury_buffer)
1801 (swap_out_buffer_local_variables, recenter_overlay_lists)
1802 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1803 fields of a cons cell respectively.
1804 * callint.c (quotify_args, Fcall_interactively): Likewise.
1805 * ccl.c (Fregister_code_conversion_map): Likewise.
1806 * coding.c (detect_coding_system): Likewise.
1807 * composite.c (get_composition_id, make_composition_value_copy):
1808 Likewise.
30903479
SM
1809 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1810 (swap_in_symval_forwarding, set_internal, Fset_default)
1811 (Fmake_variable_buffer_local, Fmake_local_variable)
1812 (Fmake_variable_frame_local): Likewise.
f3fbd155 1813 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1814 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1815 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1816 * minibuf.c (get_minibuffer): Likewise.
1817 * search.c (Fmatch_data): Likewise.
1818 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1819 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1820 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1821 Likewise.
1822 * w32term.c (x_delete_display): Likewise.
1823 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1824 Likewise.
c2d53558 1825 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1826 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1827 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1828 (Fread_file_name): Use XSETCAR.
1829 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1830 CHECK_NUMBER_CDR.
1831 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1832 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1833 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1834 CHECK_NUMBER_CDR.
1835 * keyboard.c (read_char): Alter list traversal to avoid taking the
1836 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1837 (parse_menu_item): Use XSETCAR and XSETCDR.
1838 (reach_char_x_menu_prompt): Use XSETCAR.
1839 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1840 (Fcommand_execute): Use XSETCDR.
1841 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1842 (openp): Change list traversal to avoid using XCAR as lvalue.
1843 (read_list): Use XSETCDR.
1844 * process.c (wait_reading_process_input): Change wait_for_cell
1845 handling to avoid taking addresses of cons cell slots.
30903479
SM
1846 * xselect.c (x_own_selection, x_handle_selection_clear)
1847 (x_clear_frame_selections): Use XSETCDR.
1848 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1849 (x_handle_property_notify, x_get_foreign_selection)
1850 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1851
502150e5
PJ
18522001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1853
018ba359
PJ
1854 * buffer.c: Put doc strings in comments.
1855
30903479 1856 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1857
b56ba8de
SS
18582001-10-15 Sam Steingold <sds@gnu.org>
1859
1860 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1861
6a0b793a
PJ
18622001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1863
30903479
SM
1864 * process.c (process-inherit-coding-system-flag)
1865 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1866 in comment.
1867
a1f17501 1868 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1869 arguments. Put doc strings in comments.
a65da641
PJ
1870
1871 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1872
aa601ad0
GM
18732001-10-15 Gerd Moellmann <gerd@gnu.org>
1874
30903479 1875 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1876
aa601ad0
GM
1877 * window.c (select_window_1): Unfreeze window start. Remove a
1878 doubled test for WINDOW being live.
1879
288148a1
PJ
18802001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1881
dd8d1e71
PJ
1882 * fns.c (Fmapconcat): Fix typo in a doc string.
1883
288148a1
PJ
1884 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1885
9f5eb4a3
GM
18862001-10-15 Gerd Moellmann <gerd@gnu.org>
1887
1888 * xterm.c (x_draw_glyph_string): Restore clipping after
1889 drawing box.
1890
dbae44c8
PJ
18912001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1892
30903479 1893 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1894
0c88c937
SM
18952001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1896
56378db4
GM
1897 * indent.c (skip_invisible): Use new retval of
1898 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1899
845e4cf4
SM
1900 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1901 If a parent is reached and noinherit is set, exit immediately.
1902 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1903
0c88c937
SM
1904 * s/ms-w32.h (EXEC_SUFFIXES):
1905 * s/msdos.h (EXEC_SUFFIXES):
1906 * process.h (EXEC_SUFFIXES): Remove.
1907
1908 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1909 (decode_suffixes): Remove.
1910
1911 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1912 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1913 (invisible_ellipsis_p): Remove.
0c88c937
SM
1914
1915 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1916 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1917 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1918 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1919 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1920
d19be8a9
PJ
19212001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1922
04d7d066
PJ
1923 * lisp.h (Ftop_level): Add prototype.
1924
d624284c
PJ
1925 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1926 (XTread_socket): Improve style of comments to follow other
1927 comments.
1928
a87414f9
PJ
1929 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1930 is already prototyped in included lisp.h).
1931
d19be8a9
PJ
1932 * frame.c (Fset_mouse_position): Improve style of comment to
1933 follow other comments.
1934 (Fset_mouse_pixel_position): Improve style of comment to follow
1935 other comments.
1936 (Fmake_frame_visible): Doc fix and typo in comment.
1937 (Fmake_frame_invisible): Doc fix and typo in comment.
1938 (Ficonify_frame): Fix typo in comment.
1939
c061c855
GM
19402001-10-14 Gerd Moellmann <gerd@gnu.org>
1941
37f6b5b6 1942 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1943 * term.c, alloc.c: Put doc strings in comments.
c061c855 1944
e641b454
GM
19452001-10-13 Gerd Moellmann <gerd@gnu.org>
1946
1947 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1948 Provide definitions for doc strings in comments.
1949
1950 * fns.c: Put doc strings in comments.
1951
51724e26
EZ
19522001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1953
1954 * dired.c (file_name_completion): Ignore a candidate directory if
1955 it matches an element in completion-ignored-extensions that ends
1956 in a slash.
1957 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1958 feature in the doc string.
1959 (Ffile_name_completion): Ditto.
1960
be5fc59b
SM
19612001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1962
5a1373f3
SM
1963 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1964
1965 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1966
1967 * lisp.h (Fprovide): Update prototype.
1968 (Ffeaturep, invisible_p): Remove.
1969
bbc4a3d3 1970 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1971 (DOLIST, LOOP_PROPVAL): New macros.
1972 (invisible_p, invisible_ellipsis_p): Use them.
1973 (invisible_noellipsis_p): New function.
1974 (syms_of_xdisp): Use empty_string.
1975
1976 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1977
1978 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1979 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1980
1981 * print.c (Fwith_output_to_temp_buffer): Align with
1982 internal_with_output_to_temp_buffer.
1983 (print_preprocess): Use traverse_intervals_noorder.
1984 (print_object): Update call to traverse_intervals.
1985
1986 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1987 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1988
1989 * intervals.c (traverse_intervals_noorder): New function.
1990 (search_for_interval, count_intervals): Use it.
1991 (traverse_intervals): Use less stack space and drop `depth' arg.
1992
1993 * fns.c (Ffeaturep): Add new `subfeature' arg.
1994 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1995 (Qsubfeatures): New var.
1996 (syms_of_fns): Initialize it.
1997
026f408d
SM
1998 * keymap.c (Fkey_description): Use empty_string.
1999 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2000 (syms_of_keymap): Setup inheritance between maps.
2001 Don't export Sdescribe_bindings_internal any more.
2002
be5fc59b
SM
2003 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2004
3365175e
GM
20052001-10-12 Gerd Moellmann <gerd@gnu.org>
2006
2007 * xterm.c (notice_overwritten_cursor): Renamed from
2008 note_overwritten_text_cursor. Rewritten to take glyph widths into
2009 account.
2010
2ab7765c
EZ
20112001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2012
2013 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2014 multi-line strings without a trailing "\n\".
2015
311346bb
PJ
20162001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2017
2018 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2019 defined.
2020
2168e04d
SM
20212001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2022
026f408d
SM
2023 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2024
c0ec53ad
SM
2025 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2026 * w32proc.c (sys_spawnve):
2027 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2028 * w32.c (check_windows_init_file):
2029 * sound.c (Fplay_sound):
026f408d 2030 * emacs.c (init_cmdargs):
c0ec53ad
SM
2031 * process.c (Fstart_process): Update calls to openp.
2032
2033 * callproc.c (Vexec_suffixes): New var.
2034 (Fcall_process): Update call to openp.
2035 (decode_suffixes): New function.
2036 (syms_of_callproc): Init exec-suffixes.
2037
2038 * lread.c (Vload_suffixes, default_suffixes): New vars.
2039 (openp): Take a lisp list of suffixes.
2040 Check for file-name-handlers even if the file was absolute already.
2041 (syms_of_lread): Declare load-suffixes.
2042 (Fload): Fix up call to openp.
2043 Don't bother checking for file-name-handler at the very beginning.
2044
f6333468
SM
2045 * keymap.h (Fcopy_keymap): Don't export.
2046
2047 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2048 (Vload_suffixes, Vexec_suffixes): Declare.
2049 (openp): Update prototype.
f6333468
SM
2050
2051 * emacs.c (empty_string): New var.
2052 (syms_of_emacs): Initialize it.
2053
2054 * search.c (wordify): Use it.
2055
2056 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2057 selected window if it's not displayed there. Handle the case
2058 when the window is dedicated.
2059 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2060
2061 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2062
2168e04d
SM
2063 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2064 Remove left_ok and right_ok.
2065 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2066 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2067 new meaning of b_property.
2068
2069 * syntax.c (update_syntax_table): Simplify.
2070 (Fforward_comment): Don't skip quoted chars when going backward.
2071
13d95cc0
GM
20722001-10-11 Gerd Moellmann <gerd@gnu.org>
2073
beb0990f
GM
2074 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2075 in case I is of some unsigned type, in which case
2076 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2077 comparison becomes bogus.
2078
cb938d46
GM
2079 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2080 (Fuser_full_name): Fix bug treating a float as a fixnum.
2081
2082 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2083
2084 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2085
13d95cc0
GM
2086 * lisp.h (circular_list_error): Add prototype.
2087
2088 * data.c (Qcircular_list): New variable.
2089 (circular_list_error): New function.
2090 (syms_of_data): Initialize it Qcircular_list.
2091
e35f6ff7
SM
20922001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2093
2094 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2095 casefiddle.c, buffer.c: Include keymap.h.
2096
619632ac
GM
20972001-10-10 Gerd Moellmann <gerd@gnu.org>
2098
2099 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2100 options. From Dave Love <d.love@dl.ac.uk>.
2101
5e5388f6
GM
21022001-10-09 Gerd Moellmann <gerd@gnu.org>
2103
2104 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2105 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2106
14a3dff7
GM
2107 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2108 unsigned char.
2109 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2110
76ba8daf
AI
21112001-10-08 Andrew Innes <andrewi@gnu.org>
2112
2113 * lisp.h [max]: Undef min and max before redefining them.
2114
2115 * w32gui.h: Do not undef min and max.
2116
2117 * w32heap.h: Do not undef min and max.
2118
2119 * s/ms-w32.h: Do not undef min and max.
2120
166253cb
SM
21212001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2122
2123 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2124
0c4d9527
SS
21252001-10-08 Sam Steingold <sds@gnu.org>
2126
2127 * keymap.c (current-active-maps): Quote newlines (compilation error).
2128
14bfa771
EZ
21292001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2130
2131 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2132 bindings.elc, since otherwise doc strings in bindings.el get wrong
2133 offsets in etc/DOC.
2134
bdb7aa47
SM
21352001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2136
9985827f
SM
2137 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2138
2139 * keyboard.h (map_prompt): Remove.
2140
2141 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2142 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2143
bdb7aa47
SM
2144 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2145
2146 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2147
2148 * keyboard.c (map_prompt): Remove.
2149 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2150 Use Fkeymap_prompt.
2151
2152 * keymap.h: New file. Extracted from lisp.h.
2153
9985827f
SM
2154 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2155 (accessible_keymaps_1): New function.
2156 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2157 (Fwhere_is_internal): Use Fcurrent_active_maps.
2158 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2159 Insert in current buffer rather than standard-output.
2160 Don't call `help-mode'. Export to elisp.
2161 (describe_buffer_bindings): New wrapper.
2162 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2163 and Sdescribe_buffer_bindings.
2164
402c9a51
GM
21652001-10-08 Gerd Moellmann <gerd@gnu.org>
2166
9985827f 2167 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2168 Remove code setting signal handler.
2169
9985827f 2170 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2171 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2172
3fe81fdf
PJ
21732001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2174
2175 * keyboard.c: Don't define min/max.
2176
55fa7820
GM
21772001-10-08 Gerd Moellmann <gerd@gnu.org>
2178
9985827f 2179 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2180 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2181 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2182 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2183 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2184 Don't define min/max.
2185
2186 * lisp.h (min, max): New macros.
2187
55fa7820
GM
2188 * puresize.h (BASE_PURESIZE): Increase to 725000.
2189
1aad31e4
PJ
21902001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2191
9180dc8c
PJ
2192 * xfaces.c (free_frame_menubar): Add prototype.
2193
01f67d2c
PJ
2194 * lisp.h (init_window): Add prototype.
2195
2196 * editfns.c: Include ctype.h.
2197
2198 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2199 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2200 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2201 variable `sb'.
2202
5f351ff1
PJ
2203 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2204 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2205 `popup_activated_flag' and `title'.
2206
479dfe87
PJ
2207 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2208
dff49fc8
PJ
2209 * emacs.c (main): Remove extra `;'.
2210
248ac615
PJ
2211 * atimer.h (struct atimer): Fix typos in a comment.
2212
2213 * atimer.c: Fix typo.
2214
af232c7d
PJ
2215 * Makefile.in: Fix typo.
2216
2217 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2218
d876f455
MB
22192001-10-07 Miles Bader <miles@gnu.org>
2220
2221 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2222
0037e2f2
KR
22232001-10-07 Ken Raeburn <raeburn@gnu.org>
2224
b056f36d
KR
2225 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2226 Lisp_Object.
2227
0037e2f2
KR
2228 * lisp.h (Ffield_end): Declare.
2229
1a4372ef
GM
22302001-10-07 Gerd Moellmann <gerd@gnu.org>
2231
a4a74e8c
GM
2232 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2233
2234 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2235
2236 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2237
2238 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2239
1a4372ef
GM
2240 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2241 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2242
2243 * alloc.c (inhibit_garbage_collection): Simplify.
2244 (Fmemory_use_counts): Ditto.
2245
9985827f 2246 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2247 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2248 most-negative-fixnum.
2249
9985827f 2250 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2251 (FIXNUM_OVERFLOW_P): New macros.
2252
4650e362
MB
22532001-10-06 Miles Bader <miles@gnu.org>
2254
2255 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2256 scroll_bar_bottom_shadow_pixel fields.
2257 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2258 for the shadows, and tell the toolkit about them if we succeed.
2259 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2260 Free scroll-bar shadow colors.
2261 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2262 Free scroll-bar shadow colors when the background color changes.
2263 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2264 Initialize scroll-bar shadow-color fields.
2265
ace64e0a
GM
22662001-10-05 Gerd Moellmann <gerd@gnu.org>
2267
2268 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2269
ec66bdc7
MB
22702001-10-05 Miles Bader <miles@gnu.org>
2271
9985827f
SM
2272 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2273 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2274 New functions (were in simple.el).
9985827f 2275 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2276 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2277 (syms_of_minibuf): Initialize them.
2278
a0fb4492
GM
22792001-10-05 Gerd Moellmann <gerd@gnu.org>
2280
2281 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2282 (tiff_load): Install them as error and warning handler.
2283
0bcf87c1
AI
22842001-10-04 Andrew Innes <andrewi@gnu.org>
2285
2286 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2287 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2288 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2289 (x_to_w32_charset): Handle private format for unknown charsets.
2290 Handle wildcards in charset spec, by ignoring them.
2291 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2292 "*-" prefix from charset.
2293 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2294 handle the truncated font spec form constructed by font_list_1, so
2295 that we correctly identify the charset fields. Don't remove "*-"
2296 prefix from charset.
2297 (w32_list_synthesized_fonts): Fix argument to alloca.
2298
c89e4bc5
GM
22992001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2300
2301 * window.h (MINI_WINDOW_P): Use NILP.
2302
2303 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2304
2305 * termhooks.h (struct input_event): Use proper type for `kind'.
2306
23072001-10-04 Gerd Moellmann <gerd@gnu.org>
2308
2309 This handles unknown keysyms better than before. For example,
2310 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2311 Emacs formerly completely ignored F5. With the change, it derives
2312 a key symbol from the name of the X keysym, `ccaron' in this case.
2313 Reported by Martin Buchholz.
2314
2315 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2316 unknown keysyms.
2317
2318 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2319 that EVENT->code isn't a function key, use the keysym's name.
2320
23212001-10-04 Gerd Moellmann <gerd@gnu.org>
2322
2323 FOREACH is a macro that should make it easier to loop over Lisp
2324 lists with checks for cycles and proper lists.
2325
2326 * lisp.h (LIST_END_P, FOREACH): New macros.
2327
23282001-10-04 Gerd Moellmann <gerd@gnu.org>
2329
2330 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2331 called for a lost connection. Prevent dumping core in this case.
2332 Instead print the X error, and exit. On user request.
2333
2334 * xterm.c (error_msg): New variable.
2335 (x_fatal_error_signal): New function.
2336 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2337 as fatal_error_signal_hook around the call to XtCloseDisplay.
2338
2339 * emacs.c (fatal_error_signal_hook): New variable.
2340 (fatal_error_signal): Call that function.
2341
23422001-10-04 Gerd Moellmann <gerd@gnu.org>
2343
2344 With this, Emacs prints how much pure storage it will
2345 approximately need in case pure storage overflows while dumping.
2346
2347 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2348 New variables.
2349 (init_alloc_once): Initialize new variables.
2350 (PURE_POINTER_P): Use new variables.
2351 (pure_alloc): If pure storage overflows, allocate from the heap.
2352 (check_pure_size): New function.
2353 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2354
2355 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2356 (check_pure_size): Add prototype.
2357
2358 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2359
23602001-10-04 Gerd Moellmann <gerd@gnu.org>
2361
2362 This adds a post-gc-hook that's run with GC inhibited.
2363 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2364
2365 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2366 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2367 (Fgarbage_collect): Run post-gc-hook.
2368
23692001-10-04 Gerd Moellmann <gerd@gnu.org>
2370
2371 This adds `defvaralias' and `indirect-variable'. Changes not
2372 directly related to this feature are there to gain the same
2373 performance again as before variable aliases.
2374
2375 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2376 code to get and set symbol values, to take defvaralias into account.
2377
2378 (Note: the new `constant' bit-flag in symbols would make it
2379 possible to define arbitrary read-only variables, e.g. with
2380 `defconst'.)
2381
2382 Documentation is in lispref/variables.texi. Added to NEWS.
2383
2384 * lisp.h (enum symbol_interned): New enumeration.
2385 (struct Lisp_Symbol): Remove member `obarray', add
2386 `indirect_variable', `constant', and `interned'.
2387 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2388 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2389 (indirect_variable): Add prototype.
2390
2391 * print.c (print_preprocess, print_object): Test internedness of
2392 symbols differently.
2393
2394 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2395 bit-fields.
2396 (init_obarray): Likewise for t and nil.
2397
2398 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2399 (Fdefvaralias): New function.
2400 (specbind): Simplify the test if symbol is a constant.
2401 (syms_of_eval): Defsubr Fdefvaralias.
2402
2403 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2404 (Qcyclic_variable_indirection): New variable.
2405 (Fkeywordp): Check for internedness differently.
2406 (Fmakunbound): Simplify the test if symbol is a constant.
2407 (indirect_variable, Findirect_variable): New functions.
2408 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2409 aliased symbol.
2410 (let_shadows_buffer_binding_p): Check for variable aliases.
2411 (set_internal): Simplify the test if SYMBOL is a constant.
2412 If SYMBOL has a buffer-local value and is an alias, use the aliased
2413 symbol instead.
2414 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2415 Sindirect_variable.
2416
2417 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2418 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2419 set directly.
2420
2421 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2422
2423 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2424 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2425 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2426
ab952a4f
GM
24272001-10-04 Gerd Moellmann <gerd@gnu.org>
2428
2429 * Branch for 21.1.
b56ba8de 2430
ba88ff28
MB
24312001-10-03 Miles Bader <miles@gnu.org>
2432
2433 * callproc.c (syms_of_callproc): Explicitly state in the
2434 documentation for `process-environment' that earlier entries take
2435 precedence over later ones.
2436
ae1a9581
MB
24372001-10-02 Miles Bader <miles@gnu.org>
2438
2439 * textprop.c (Fnext_char_property_change)
2440 (Fprevious_char_property_change): Remove reference to non-existant
2441 argument OBJECT from doc-string.
2442
257e3f57
GM
24432001-10-01 Gerd Moellmann <gerd@gnu.org>
2444
2445 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2446 (try_window_id): Skip back over lines ending in a newline from a
2447 string.
2448
2449 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2450 New bit flag
2451
c1f29759
RS
24522001-10-01 Richard M. Stallman <rms@gnu.org>
2453
2454 * search.c (Freplace_match): Doc fix.
2455
c30dce3d
AI
24562001-09-28 Andrew Innes <andrewi@gnu.org>
2457
2458 * w32menu.c (set_frame_menubar): Take into account that
2459 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2460 <raeburn@gnu.org>.
2461
03be5931
EZ
24622001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2463
2464 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2465
75bec752
PJ
24662001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2467
2468 * s/gnu-linux.h: Fix a typo in comment.
2469
83100e0a
AS
24702001-09-28 Andreas Schwab <schwab@suse.de>
2471
2472 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2473 nocombreloc, in case -z combreloc is the default.
2474
a74b48cf
GM
24752001-09-28 Gerd Moellmann <gerd@gnu.org>
2476
2477 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2478 really going on here.
2479
09c4719e
SM
24802001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2481
2482 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2483
f7d5d963
EZ
24842001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2485
2486 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2487 utf-8, menu-bar, and latin-N.
2488 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2489 unconditionally now.
2490 (lisp): Add latin-N, since they are preloaded.
2491
9240e746
GM
24922001-09-27 Gerd Moellmann <gerd@gnu.org>
2493
14531065
GM
2494 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2495 to the left. Some cleanup.
2496
9240e746
GM
2497 * xdisp.c (display_mode_element): One more case where a string's
2498 multibyteness should be used for display.
2499
edd1e654
GM
25002001-09-26 Gerd Moellmann <gerd@gnu.org>
2501
b02439c8
GM
2502 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2503 reading at EOF.
2504
032906b1 2505 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2506 of the only temporarily set echoing flag for deciding when
032906b1
GM
2507 the cancel echoing.
2508
2509 * keyboard.c (echo_kboard): Make externally visible.
2510
2511 * lisp.h (echo_kboard): Declare extern.
2512
cb617e7c 2513 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2514 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2515 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2516 this round of redisplay if make_cursor_line_fully_visible fails.
2517 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2518 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2519
2520 * dispextern.h (required_matrix_width, required_matrix_height):
2521 Add prototypes.
2522
09c4719e
SM
2523 * dispnew.c (required_matrix_width, required_matrix_height):
2524 New functions.
cb617e7c 2525 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2526 (allocate_matrices_for_frame_redisplay: Use them.
2527 Remove parameters CH_DIM.
cb617e7c 2528
edd1e654
GM
2529 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2530 and selected_window to the frame of the window whose mode-lines
2531 are displayed, and to the window itself.
2532 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2533 here.
edd1e654 2534
924b604c
GM
25352001-09-25 Gerd Moellmann <gerd@gnu.org>
2536
daba7643
GM
2537 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2538 the image cache under us.
2539
b7a22712 2540 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2541 with a string value, use that string's multibyteness for displaying.
b7a22712 2542
ad648212
GM
2543 * keyboard.c (read_char): Don't clear a message for a switch-frame
2544 event. From Stefan Monnier <monnier@cs.yale.edu>.
2545
9f8531e5
GM
2546 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2547 version for after 21.1.
2548
2549 * xdisp.c (row_containing_pos): Make externally visible.
2550
2551 * dispextern.h (row_containing_pos): Add prototype.
2552
924b604c
GM
2553 * process.c (send_process): Disable composition if from_byte < 0.
2554 From Kenichi Handa <handa@etl.go.jp>.
2555
6f3f0db4
GM
25562001-09-24 Gerd Moellmann <gerd@gnu.org>
2557
c69c0ebc
GM
2558 * xterm.c (refreshicon): Function removed.
2559
d1182bc4
GM
2560 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2561
2562 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2563
2564 * xterm.c (toplevel): Remove includes in #if 0.
2565
6f3f0db4
GM
2566 * process.c (sigchld_handler) [LINUX]: Don't return from
2567 the signal handler at the end of the loop.
2568
59957f85
GM
25692001-09-21 Gerd Moellmann <gerd@gnu.org>
2570
09c4719e
SM
2571 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2572 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2573
a0528984
EZ
25742001-09-21 Markus Rost <rost@math.ohio-state.edu>
2575
2576 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2577
db92b288
GM
25782001-09-20 Gerd Moellmann <gerd@gnu.org>
2579
3fed8ad5
GM
2580 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2581 since this function can be called during GC.
2582
db92b288
GM
2583 * callproc.c (Fcall_process): Handle errors from pipe(2).
2584 (child_setup): Delete code in #ifdef vipc.
2585
7121b85a
GM
25862001-09-19 Gerd Moellmann <gerd@gnu.org>
2587
72f62cb5
GM
2588 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2589 (display_mode_element): Display the string from decode_mode_spec
2590 depending on its multibyteness.
2591
a2697022
GM
2592 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2593
7121b85a
GM
2594 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2595
bfc97351
GM
25962001-09-18 Gerd Moellmann <gerd@gnu.org>
2597
c9063433
GM
2598 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2599 recursive_edit_unwind.
2600 (recursive_edit_unwind): Set kboard state according to
2601 SINGLE-KBOARD.
2602
3fbdba3e
GM
2603 * buffer.c (modify_overlay): Don't do nothing if START == END;
2604 This can still be a modification, for example when an overlay has
2605 a before-string or after-string.
2606 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2607 an overlay with before-string or after-string.
2608
1270031d
GM
2609 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2610 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2611
bfc97351
GM
2612 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2613 first_unchanged_at_end_row is in front of
2614 last_unchanged_at_beg_row. This code should be removed after the
2615 release of 21.1.
2616
d8a973aa
GM
26172001-09-17 Gerd Moellmann <gerd@gnu.org>
2618
e18c8b8d
GM
2619 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2620 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2621
d8a973aa
GM
2622 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2623 versions >= 2.95.
2624
ed7d6ba4
EZ
26252001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2626
2627 * dired.c (Ffile_attributes): Doc fix.
2628
551629f9
GM
26292001-09-14 Gerd Moellmann <gerd@gnu.org>
2630
2631 * fileio.c (Ffile_symlink_p): Fix last change.
2632
2633 * filelock.c (current_lock_owner): Fix last change.
2634
4c8c7926
GM
26352001-09-13 Gerd Moellmann <gerd@gnu.org>
2636
620c4704
GM
2637 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2638 take that to mean that the buffer is too small.
2639
81c3310d
GM
2640 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2641 that to mean that the buffer is too small.
2642
06fd3792
GM
2643 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2644 current buffer's multibyteness when discarding the iterator's
2645 stack.
2646
4c8c7926
GM
2647 * xfns.c (Fx_window_property): Handle case that property gets
2648 deleted between the two calls to XGetWindowProperty.
2649
9a72e4c1
GM
26502001-09-11 Gerd Moellmann <gerd@gnu.org>
2651
bd819d14 2652 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2653
a41edd99
GM
2654 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2655 in addition to read-only.
2656
2657 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2658 to t in addition to read-only.
2659
2660 * lisp.h (Qinhibit_modification_hooks): Declare.
2661
2662 * insdel.c (Qinhibit_modification_hooks): New variable.
2663 (syms_of_insdel): Initialize and staticpro it.
2664
d4881c6a
GM
2665 * textprop.c (verify_interval_modification): Don't run
2666 modification-hooks if inhibit_modification_hooks.
2667
2668 * dispnew.c (set_window_cursor_after_update): Fix code
2669 finding glyph row containing cursor when cursor_in_echo_area
2670 is >= 0.
2671
9a72e4c1
GM
2672 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2673 (add_to_log): Use bcopy instead of strcpy.
2674 (init_from_display_pos): Use an explicit loop over bytes in
2675 overlay strings instead of calling index.
2676
f4a374a1
GM
26772001-09-10 Gerd Moellmann <gerd@gnu.org>
2678
300e57bd
GM
2679 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2680
2681 * dispnew.c (direct_output_for_insert): Don't change IT's
2682 stop_charpos to something in front of its current position.
2683
f4a374a1
GM
2684 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2685 `format'.
2686
7e4cbc91
RS
26872001-09-10 Richard M. Stallman <rms@gnu.org>
2688
2689 * frame.c (Fmouse_position): Doc fix.
2690
6afad91e
GM
26912001-09-07 Gerd Moellmann <gerd@gnu.org>
2692
2693 * xdisp.c (init_from_display_pos): Don't compare the result
2694 of calling index with NULL.
2695
f76e0368
GM
26962001-09-06 Gerd Moellmann <gerd@gnu.org>
2697
2698 * xfns.c (x_set_background_color): Don't change the colors
2699 of the X window of scroll bar widgets.
2700
9ead1b60
AI
27012001-09-05 Andrew Innes <andrewi@gnu.org>
2702
2703 * w32fns.c (w32_createwindow): Undo last change.
2704
c3b497b3
GM
27052001-09-05 Gerd Moellmann <gerd@gnu.org>
2706
08e1d6df
GM
2707 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2708
c3b497b3
GM
2709 * xdisp.c (string_buffer_position): Use *single_char_property*
2710 functions instead of the *single_property* functions.
b56ba8de 2711
8f860180
AI
27122001-09-04 Andrew Innes <andrewi@gnu.org>
2713
9a72e4c1
GM
2714 * w32term.c (w32_read_socket): Add more information to debugging
2715 output.
8f860180
AI
2716
2717 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2718 from Emacs frames, so that calls to GetClipBox in w32term.c
2719 correctly report when part of a frame is visible (including
2720 scrollbars, etc). This prevents repeated redrawing of frames when
2721 only a scrollbar is visible.
2722 (w32_wnd_proc): Add more frame information to debugging output.
2723
2ee1aa00
SM
27242001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2725
2726 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2727
e3b22517
GM
27282001-09-03 Gerd Moellmann <gerd@gnu.org>
2729
7e376260
GM
2730 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2731 help-echo for a string which doesn't have help-echo itself, use
2732 get-char-property to obtain the help-echo from the string's buffer
2733 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2734 have mouse-face, look ``under'' the string for mouse-face from an
2735 overlay.
2736 (fast_find_position): Add parameter STOP. In the final row, stop
2737 before glyphs having STOP as object. Don't consider glyphs that
2738 are not from a buffer.
2739
e3b22517
GM
2740 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2741
9a249bba
EZ
27422001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2743
2744 * fns.c (Fmd5): Doc fix.
2745
c9979669
GM
27462001-08-31 Gerd Moellmann <gerd@gnu.org>
2747
2748 * composite.c (update_compositions): Do nothing if
2749 inhibit-modification-hooks is set.
2750
9584e63a
GM
27512001-08-30 Gerd Moellmann <gerd@gnu.org>
2752
986ec8f2 2753 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2754 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2755 glyph matrices etc. in a core dump.
2756
92a25631
GM
2757 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2758 (syms_of_xdisp): Initialize them.
2759 (handle_single_display_prop): Don't change point, bind `object',
2760 `position', and `buffer-position' instead to the object having the
2ee1aa00 2761 `display' property, position in the object and position in the buffer.
92a25631 2762
9584e63a
GM
2763 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2764 of the buffer if REPLACE is non-nil.
2765
d38633a3
GM
27662001-08-29 Gerd Moellmann <gerd@gnu.org>
2767
2768 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2769
f4fccc1e
EZ
27702001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2771
2772 * w32term.c (x_set_glyph_string_background_width)
2773 (show_mouse_face): Track the last changes in xterm.c.
2774
eaaa65b0
GM
27752001-08-28 Gerd Moellmann <gerd@gnu.org>
2776
7b0870b2
GM
2777 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2778 string's background width so that multi-line mouse-face is drawn
2779 to the right edge of the window.
2780 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2781 glyphs.
2782
6b6e2422 2783 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2784 before inserting/writing glyphs.
6b6e2422 2785
eaaa65b0
GM
2786 * xdisp.c (display_mode_element): Use string_byte_to_char to
2787 determine character positions in strings, use chars_in_text
2788 instead of strwidth.
2789 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2790 a matrix as parameter; this is easier to use from GDB.
2791
9ad62cf8
MB
27922001-08-28 Miles Bader <miles@gnu.org>
2793
2ee1aa00
SM
2794 * textprop.c (Fprevious_single_char_property_change)
2795 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2796
32171635
GM
27972001-08-27 Gerd Moellmann <gerd@gnu.org>
2798
47d57b22
GM
2799 * fileio.c (Finsert_file_contents): Allocate, restore, and
2800 free composition data in the case of REPLACE not being nil.
2801
2802 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2803 there exist overlay strings with newlines at POS.
2804 (text_outside_line_unchanged_p): Return 0 if changes start at
2805 START and overlays exist at START. Likewise for END.
2806 (try_window_id): Give up if init_to_row_end returns 0.
2807
32171635
GM
2808 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2809 unconditionally.
2810
e1249666
GM
28112001-08-24 Gerd Moellmann <gerd@gnu.org>
2812
33954c45
GM
2813 * keymap.c (access_keymap): Return the cdr of the binding of
2814 a generic character instead of its definition (KEY . BINDING).
2815
e1249666
GM
2816 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2817 to 0 also in the REPLACE case.
2818
fb4c6c96
AC
28192001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2820
2821 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2822 open to determine whether file is readable (as for DOS_NT).
2823
59ecf80b
GM
28242001-08-23 Gerd Moellmann <gerd@gnu.org>
2825
2826 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2827 coding.type is coding_type_no_conversion or coding_type_raw_text,
2828 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2829 non-nil instead of just setting enable_multibyte_characters in the
2830 buffer to nil.
2831
40e33037
GM
28322001-08-22 Gerd Moellmann <gerd@gnu.org>
2833
374388c3
GM
2834 * dispextern.h (struct face_cache): Add member
2835 menu_face_changed_p.
2836
2837 * xfaces.c (menu_face_changed_default): New variable.
2838 (menu_face_changed_count): Variable removed.
2839 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2840 the menu_face_changed_default flag, otherwise set the FRAME's
2841 menu_face_changed_p flag if the `menu' face has been changed.
2842 Prevent calling set_font_frame_param if FRAME is t.
2843 (make_face_cache): Initialize cache's menu_face_changed_p
2844 from menu_face_changed_default.
2845 (realize_basic_faces): Look into the frame's face cache to
2846 determine if the menu appearance needs updating.
2847
40e33037
GM
2848 * keymap.c (access_keymap): Fix last change to not consider
2849 IDX when it has modifiers.
2850
859ea4b8
GM
28512001-08-21 Gerd Moellmann <gerd@gnu.org>
2852
2853 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2854 . BINDING) exists, where GENERIC-CHAR is the generic character of
2855 the charset of IDX, return BINDING unless there exists a binding
2856 for IDX itself.
2857
e8660d73
GM
28582001-08-16 Gerd Moellmann <gerd@gnu.org>
2859
cca1b1d7
GM
2860 * xrdb.c (SYSV): Don't define on Solaris 2.
2861 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2862
e8660d73 2863 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2864 of the screen line, not text line, containing IT's current position.
e8660d73 2865
93aba6fc
GM
28662001-08-15 Gerd Moellmann <gerd@gnu.org>
2867
288d4e06
GM
2868 * window.c (window_scroll_pixel_based): Don't recenter if
2869 PT is partially visible in the window.
2870
3452efc2
SM
2871 * xterm.c (expose_window_tree, expose_window, expose_line):
2872 Return 1 when overwriting mouse-face.
82f053ab
GM
2873 (expose_frame): If mouse-face was overwritten, redo it.
2874
93aba6fc
GM
2875 * xfaces.c (x_update_menu_appearance): Don't call
2876 set_frame_menubar, let the next redisplay do it.
2877
858a55c1
AI
28782001-08-14 Andrew Innes <andrewi@gnu.org>
2879
2880 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2881 drawing glyph string.
2882
3a990b67
EZ
28832001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2884
2885 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2886 running HI-UX/MPP.
2887
04386463
GM
28882001-08-14 Gerd Moellmann <gerd@gnu.org>
2889
2890 * xfaces.c (x_update_menu_appearance): Save and restore value of
2891 interrupt_input_blocked.
2892
3e6385a4
GM
28932001-08-13 Gerd Moellmann <gerd@gnu.org>
2894
b0e619b4
GM
2895 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2896 a line start, move back to the line start.
3452efc2 2897
0de73d5a
GM
2898 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2899 exactly when a mini-buffer is active.
2900
3e6385a4
GM
2901 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2902 in units of 1/8 character on non window-system frames.
2903 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2904
d1b5f629
EZ
29052001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2906
2907 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2908 a doc string.
2909
eaa2319f
GM
29102001-08-09 Gerd Moellmann <gerd@gnu.org>
2911
8e3189f0
GM
2912 * keyboard.c (Vpre_help_message): New variable.
2913 (syms_of_keyboard): Initialize and staticpro it.
2914 (show_help_echo): Record current message before displaying a
2915 help-echo, and restore that message when clearing the help.
2916
eaa2319f
GM
2917 * xfns.c (x_create_im): Remove prototype.
2918
2919 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2920
2921 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2922
eaa2319f
GM
29232001-08-08 Gerd Moellmann <gerd@gnu.org>
2924
2925 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2926 windows whose height has changed, disable partially visible lines.
eaa2319f 2927
17fdcfc8
GM
29282001-08-07 Gerd Moellmann <gerd@gnu.org>
2929
22d01aed 2930 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2931 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2932
17fdcfc8
GM
2933 * xdisp.c (start_display): Don't try to determine the continuation
2934 lines width if lines are truncated. It's superfluous and leads to
2935 incorrect results if POS is not visible in the window after
2936 reseating the iterator at the previous line start.
2937
8e3fe78e
GM
29382001-08-06 Gerd Moellmann <gerd@gnu.org>
2939
2940 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2941
98a8938c
GM
29422001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2943
2944 * alloc.c (init_stack): Remove declaration.
2945
18f9986a
GM
29462001-08-03 Gerd Moellmann <gerd@gnu.org>
2947
5e1f85e0
GM
2948 * keyboard.c (read_key_sequence): Check that key is an integer
2949 before comparing it with quit_char.
2950 (add_command_key): Use larger_vector.
2951 (read_char_x_menu_prompt): Instead of converting symbol and
2952 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2953 which cannot be confused with valid events.
5e1f85e0
GM
2954 (read_char): When reading from Vunread_command_events, check for
2955 events of the form (EVENT . disabled) instead of
2956 (EVENT . nil).
2957
18f9986a
GM
2958 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2959 a float, determine the max height from the frame's height.
2960
fbc7f2a6
GM
29612001-08-02 Gerd Moellmann <gerd@gnu.org>
2962
2963 * xdisp.c (redisplay_internal): Take message_cleared_p into
2964 account only if minibuf_level == 0.
2965
81b1a79d
GM
29662001-08-01 Gerd Moellmann <gerd@gnu.org>
2967
e5c60873
GM
2968 * xdisp.c (redisplay_internal): Add a check for the last
2969 displayed message.
3452efc2 2970
6e019995
GM
2971 * xdisp.c (message_cleared_p): New variable.
2972 (clear_message): Set message_cleared_p when clearing the current
2973 message.
2974 (redisplay_internal): Look at message_cleared_p to capture
2975 the case that the echo area should be cleared.
2976
308a74d8
GM
2977 * keyboard.c (command_loop_1): Fix spelling of
2978 resize_echo_area_exactly.
2979
3452efc2 2980 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2981
2982 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2983
81b1a79d
GM
2984 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2985 current matrix when the window gets smaller.
2986
ada329e6
EZ
29872001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2988
2989 * print.c (strout): Cast the character passed to insert_char to
2990 unsigned char, to avoid sign extension when it is promoted to int.
2991
ed86208c
GM
29922001-07-31 Gerd Moellmann <gerd@gnu.org>
2993
2994 * fileio.c (Finsert_file_contents): Don't treat a return value
2995 of 0 from emacs_read as an IO error.
2996
6594ac22
GM
29972001-07-30 Gerd Moellmann <gerd@gnu.org>
2998
cef68af5
GM
2999 * keyboard.c (abs): New macro.
3000 (double_click_fuzz): New variable.
3001 (make_lispy_event): Use it to determine what makes a double-click.
3002 (syms_of_keyboard): DEFVAR_INT it.
3003
6594ac22
GM
3004 * xmenu.c (set_frame_menubar): Take into account that
3005 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3006 <raeburn@gnu.org>.
3007
75c5350a
GM
30082001-07-27 Gerd Moellmann <gerd@gnu.org>
3009
3010 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3011
3012 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3013 of row's visible height.
3014
3015 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3016 deal with the first overlay string having an image `display' property.
3017 (try_window_reusing_current_matrix, compute_line_metrics):
3018 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3019 row is invisible above and part of the row is at the same time
3020 invisible below the window.
3021
ac49effe
GM
30222001-07-26 Gerd Moellmann <gerd@gnu.org>
3023
3024 * xfns.c (x-show-tip): Doc fix.
3452efc2 3025
ac49effe
GM
3026 * xfns.c (Vx_max_tooltip_size): New variable.
3027 (syms_of_xfns): DEFVAR_LISP it.
3028 (Fx_show_tip): Set frame's window_width to the width of the
3029 window. Use a maximum tooltip size specified by
3030 Vx_max_tooltip_size, if that has valid contents.
3031 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3032
8c3b00cb
AI
30332001-07-26 Andrew Innes <andrewi@gnu.org>
3034
3035 * w32term.c (x_display_list): New variable.
3036 (w32_term_init): Set it.
3037
3038 * w32term.h (x_display_list): New extern.
3039
16098288
GM
30402001-07-26 Gerd Moellmann <gerd@gnu.org>
3041
3042 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3043 is non-nil, instead of when redisplaying_p is non-zero.
3044 See comment there.
16098288
GM
3045 (mark_window_display_accurate_1): Add an assertion.
3046
64c5be50
GM
30472001-07-25 Gerd Moellmann <gerd@gnu.org>
3048
e743f599
GM
3049 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3050
563b384d
GM
3051 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3052 events so that we get a chance of processing expose events.
3053
64c5be50
GM
3054 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3055
296808a5
GM
30562001-07-24 Gerd Moellmann <gerd@gnu.org>
3057
3058 * xfns.c (valid_image_p): Protect better against invalid image
3059 specifications. Previous code could signal an error.
3060
5247262a
GM
30612001-07-23 Gerd Moellmann <gerd@gnu.org>
3062
3452efc2 3063 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3064 presence of display table entries.
3065 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3066
dd42b31a
GM
3067 * dispnew.c (adjust_glyph_matrix): In the optimization for
3068 windows whose height has changed, use the new window height
3069 to compute which rows to invalidate.
3070
9e5a7f2a
GM
3071 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3072 (MAX_10_EXP): New macro.
3073 (Fformat): Use it.
3074
5247262a
GM
3075 * coding.c (code_convert_region): Handle the multibyte case if
3076 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3077
177ab8ce
GM
30782001-07-20 Gerd Moellmann <gerd@gnu.org>
3079
6e07c0a5
GM
3080 * dispextern.h (struct face): Change type of `stipple' to
3081 int; it's an ID.
3082
177ab8ce
GM
3083 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3084
b5b80599
GM
30852001-07-19 Gerd Moellmann <gerd@gnu.org>
3086
4e2a256b
GM
3087 * dispnew.c (update_window): Don't set the cursor at the end
3088 of the update if display update has been paused.
3089
3452efc2 3090 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3091
c1fd9232
KR
30922001-07-18 Ken Raeburn <raeburn@gnu.org>
3093
3094 * fns.c (Fset_char_table_default): Check that a charset is defined
3095 before checking its dimension.
3096
928a85c1
KR
30972001-07-17 Ken Raeburn <raeburn@gnu.org>
3098
3099 * coding.c (setup_coding_system): Don't do any designation based
3100 on reg_bits if charset is not yet defined.
3101
fb4c6c96 3102 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3103 pointer, using eassert.
3104
de11c1ea
GM
31052001-07-17 Gerd Moellmann <gerd@gnu.org>
3106
3452efc2
SM
3107 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3108 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3109
467f1209
GM
31102001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3111
3112 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3113
c3d6be34
GM
31142001-07-16 Gerd Moellmann <gerd@gnu.org>
3115
c1d61a7d
GM
3116 * fileio.c (unwind_read): Function removed.
3117 (read_non_regular, read_non_regular_quit): New functions.
3118 (Finsert_file_contents): When reading from non-regular files,
3119 arrange to catch a `quit' and terminate the loop. Rearrange
3120 code so that a `quit' when reading from a regular file doesn't
3121 insert text in the buffer.
3122
c3d6be34
GM
3123 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3124 Clear faces afterwards.
3125 (clear_font_table): Take a x_display_info parameter. Don't free
3126 fonts being the default font of any frame on the given display.
3127
e06aa1f9
GM
31282001-07-13 Gerd Moellmann <gerd@gnu.org>
3129
3130 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3131 instead of CHAR_STRING which can signal an error.
3132
3133 * charset.c (char_to_string_1): Extracted from char_to_string.
3134 Return -1 instead of signaling an error.
3135 (char_to_string): Use it.
3136
3137 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3138
176c92e6
SM
31392001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3140
3141 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3142 is t, don't try to append anything to it.
3143
1c56232f
EZ
31442001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3145
3146 * dired.c (file_name_completion): Pass dp->d_name to
3147 Fstring_match, not elt, which is always nil here.
3148
1d2b2268
GM
31492001-07-12 Gerd Moellmann <gerd@gnu.org>
3150
3151 * xselect.c (x_decline_selection_request): Handle errors
3152 caused by receivers that have vanished.
3153
3154 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3155 ignoring events on foreign windows in #if 0. Always dispatch
3156 the event after checking it with x_handle_property_notify.
3157
3158 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3159 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3160 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3161 (toplevel): Add prototypes for file-local functions.
3162 (x_atom_to_symbol): Remove DPYINFO parameter.
3163
fe5a0162
SM
31642001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3165
3166 * w32menu.c (menubar_selection_callback, w32_menu_show):
3167 Initialize `entry' to nil.
3168 (w32_dialog_show): Remove unused `save_wv' variable.
3169 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3170
a777242c
GM
31712001-07-11 Gerd Moellmann <gerd@gnu.org>
3172
8ee5b6a3
GM
3173 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3174
d0e2444e
GM
3175 * fileio.c (unwind_read): Print a message when discarding inserted
3176 text or switching the buffer to unibyte. Change parameter.
3177 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3178
a777242c
GM
3179 * fileio.c (unwind_read): New function.
3180 (Finsert_file_contents): Record it as unwind-function for
3181 the case that reading is interrupted by C-g.
3182
ae794295
GM
31832001-07-10 Gerd Moellmann <gerd@gnu.org>
3184
fe5a0162 3185 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3186 update when scrolling_window returns 0.
3187
6b05fae3
GM
3188 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3189
3190 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3191 for the case that x_decode_color signals an error.
6b05fae3 3192
ae794295
GM
3193 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3194
bb6e8cee
GM
31952001-07-09 Gerd Moellmann <gerd@gnu.org>
3196
3197 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3198 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3199 around ioctls.
3200
36b40a8a
EZ
32012001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3202
24b97d4b
EZ
3203 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3204 doc string line for dos-timezone-offset.
3205
36b40a8a
EZ
3206 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3207 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3208 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3209 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3210
3211 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3212
0967b4b0
GM
32132001-07-05 Gerd Moellmann <gerd@gnu.org>
3214
f25cfe53
GM
3215 * sound.c: Include Emacs' header files with #include "...".
3216
0967b4b0
GM
3217 * eval.c (specbind): Additionally record the buffer that was
3218 current when a buffer-local or frame-local variable was bound.
3219
c347a1c3
GM
32202001-07-04 Gerd Moellmann <gerd@gnu.org>
3221
3222 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3223 to unibyte characters in unibyte buffers.
3224
6332ca8a
GM
32252001-07-03 Gerd Moellmann <gerd@gnu.org>
3226
38472d44
GM
3227 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3228 the frame on the binding stack. Change format of entries for
3229 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3230 (unbind_to): Handle unbinding a frame-local variable.
3231
6332ca8a 3232 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3233 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3234 (dump_glyph_row): Print row's continuation_lines_width.
3235 (try_window_id): Take the shortcut if ZV is visible in the
3236 window, but there are actually no changes at ZV.
3237
63d1b174
GM
32382001-07-02 Gerd Moellmann <gerd@gnu.org>
3239
4c175203
GM
3240 * xterm.h (x_free_dpy_colors): Add prototype.
3241
3242 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3243 right number of arguments.
3244
0b54ce28
GM
3245 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3246 ($(lwlibdir)TAGS): New target.
4c175203 3247 (TAGS): Fix dependency list.
0b54ce28 3248
63d1b174
GM
3249 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3250 with input blocked.
3251
d827466c
GM
32522001-06-30 Gerd Moellmann <gerd@gnu.org>
3253
3254 * emacs.c (main): Remove extern declaration for sys_nerr, which
3255 isn't used and causes a compilation error with GCC 3.0 on
3256 FreeBSD 4.3.
3257
b5cb1ada
GM
32582001-06-27 Gerd Moellmann <gerd@gnu.org>
3259
a5d3ec3f 3260 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3261 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3262 (toplevel): Include <signal.h> and syssignal.h.
3263
b5cb1ada
GM
3264 * sound.c (vox_configure, vox_close): Turn off atimers
3265 around ioctls.
3266
d9bad487
GM
32672001-06-26 Gerd Moellmann <gerd@gnu.org>
3268
fdbb67fe
GM
3269 * keyboard.c (read_char) <non_reread>: Record the previous idle
3270 start time before calling timer_stop_idle.
3271 (read_char) <reread_first>: After processing a help-echo event,
3272 restore the previous idle start time.
3273
d9bad487
GM
3274 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3275 the start of invisible text.
3276 (setup_for_ellipsis): New function.
3277 (next_overlay_string): After all overlay strings have been
3278 processed, display an ellipsis if necessary.
3279 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3280 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3281
3282 * dispextern.h (struct iterator_stack_entry): Add member
3283 display_ellipsis_p.
3284
2b9c25e0
GM
32852001-06-25 Gerd Moellmann <gerd@gnu.org>
3286
80de57df
GM
3287 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3288 on the value of the wait-for-wm frame parameter.
3289
3290 * xterm.h (struct x_output): Add member wait_for_wm.
3291
3292 * xfns.c (Qwait_for_wm): New variable.
3293 (x_frame_parms): Add entry for `wait-for-wm".
3294 (x_set_wait_for_wm): New function.
3295 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3296 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3297
2b9c25e0
GM
3298 * xdisp.c (try_window_id) <all changes below window end>: Don't
3299 take this shortcut if ZV is visible in the window.
3300 (try_window_id): When checking for window start being in changed
3301 text, don't check that the buffer's size has changed.
3302
f772775c
RS
33032001-06-23 Richard M. Stallman <rms@gnu.org>
3304
3305 * minibuf.c (Fcompleting_read): Doc fix.
3306
fa9090b8
GM
33072001-06-19 Gerd Moellmann <gerd@gnu.org>
3308
3309 * composite.c (Ffind_composition_internal): Accept ZV
3310 and a string's end position as POS.
3311
f6f1beba
GM
33122001-06-18 Gerd Moellmann <gerd@gnu.org>
3313
3314 * composite.c (Ffind_composition_internal): Check POS
3315 for validity.
3316
0ae83348
EZ
33172001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3318
3319 * editfns.c (Fmessage_box): If the frame is not under a window
3320 system, output the message in the echo area.
3321
e4cdc335
RS
33222001-06-14 Richard M. Stallman <rms@gnu.org>
3323
3324 * xdisp.c (try_window_id): When EOB is visible, don't treat
3325 insertion at EOB as if it were "off the bottom of the screen."
3326
a55a5f3c
AI
33272001-06-11 Andrew Innes <andrewi@gnu.org>
3328
3329 * w32proc.c (create_child): Add new parameter is_gui_app.
3330 (w32_executable_type): Add new parameter is_gui_app.
3331 (sys_spawnve): Use it.
3332 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3333 SIGQUIT. This matches better how the signals are interpreted by
3334 MSVC compiled programs.
3335 (syms_of_ntproc): Update docstring.
3336
1b85dc1c
SM
33372001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3338
3339 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3340 well otherwise note_mouse_highlight might optimize away highlighting
3341 if we pass over that same overlay again.
3342
b75f8eab
EZ
33432001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3344
3345 * lread.c (Fload): Document that the argument is run via
3346 substitute-in-file-name.
3347
94843cc1
GM
33482001-05-31 Gerd Moellmann <gerd@gnu.org>
3349
b14659e6
GM
3350 * Makefile.in (bootstrap-doc): New target.
3351 (bootstrap-emacs): Depend on it.
3352
0894672f
GM
3353 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3354 auto-save-list-file-name when shutting down Emacs, because
3355 creating the directory might signal an error, and leaves
3356 Emacs in a strange state.
3357
94843cc1
GM
3358 * term.c: (tty_cursor_hidden): New variable.
3359 (update_begin): Don't call tty_hide_cursor. Clean up.
3360 (update_end, set_terminal_window, set_scroll_region): Clean up.
3361 (ring_bell, reset_terminal_modes): Clean up.
3362 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3363 on tty_cursor_hidden.
3364 (write_glyphs): Call tty_hide_cursor.
3365
db3a49a6
SM
33662001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3367
3368 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3369
8bd189fb
GM
33702001-05-30 Gerd Moellmann <gerd@gnu.org>
3371
6f1be3b9
GM
3372 * xfns.c (enum image_value_type): New enumerator
3373 IMAGE_STRING_OR_NIL_VALUE.
3374 (parse_image_spec): Handle it.
3375 (xbm_format, pbm_format): Use it for :foreground and :background.
3376 (xbm_load, pbm_load): Check for nil color names.
3377
8bd189fb
GM
3378 * xterm.c (note_mouse_highlight): If an overlapping overlay
3379 exists, but we find that we highlight the same overlay as before,
3380 don't do the highlighting again.
3381
7bdba03c
GM
33822001-05-29 Gerd Moellmann <gerd@gnu.org>
3383
4c329aa8
GM
3384 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3385 Protect unibyte strings created by replacing their multibyte
3386 equivalents in menu_items.
3387
e15e2828
GM
3388 * keymap.c (Fsingle_key_description): NUL-terminate the string
3389 buffer before calling build_string.
3390
7bdba03c
GM
3391 * callproc.c (Fcall_process): Deal with decode_coding returning
3392 CODING_FINISH_INCONSISTENT_EOL.
3393
89c8dc6c
GM
33942001-05-28 Gerd Moellmann <gerd@gnu.org>
3395
db3a49a6 3396 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3397 an item's name with its key description in case the description
3398 is a multibyte string.
3399
3400 * keymap.c (Fsingle_key_description): Create a multibyte string
3401 only if necessary.
3402
eb04d6cd
GM
3403 * macros.c (Fstart_kbd_macro): Doc fix.
3404
8bd6307f
GM
3405 * xterm.c (cursor_in_mouse_face_p): New function.
3406 (x_draw_stretch_glyph_string): Use it to choose a different GC
3407 when drawing a cursor within highlighted text.
3408
e26c4089
GM
3409 * editfns.c (char_property_eq): Put in #if 0.
3410
3411 * indent.c (string_display_width): Put in #if 0.
3412
3413 * lread.c (Fload): Remove unused label.
3414
89c8dc6c
GM
3415 * termcap.c (speeds): Put in #if 0.
3416
9a1211f2
GM
34172001-05-18 Gerd Moellmann <gerd@gnu.org>
3418
29148a3f
GM
3419 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3420
9a1211f2
GM
3421 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3422 transformation matrix by 10.
3423
09393d07
GM
34242001-05-16 Gerd Moellmann <gerd@gnu.org>
3425
3426 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3427 only if it's equal to the former foreground pixel color.
db3a49a6 3428 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3429 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3430
460e6bae
GM
34312001-05-16 Dave Love <fx@gnu.org>
3432
3433 * insdel.c (signal_before_change, signal_after_change): Consider a
3434 local change hook which changes the buffer.
99c78ce8
GM
3435
3436 * process.c (read_process_output): Don't call signal_after_change
3437 and update_compositions after insert_from_string_before_markers.
3438
dbcf3c03
GM
34392001-05-16 Gerd Moellmann <gerd@gnu.org>
3440
a90b3d3c
GM
3441 * xfaces.c (split_font_name): Use the right field when
3442 checking for `[...]' syntax.
3443
1b7818b4
GM
3444 * buffer.c (copy_overlays): New function.
3445 (clone_per_buffer_values): Use it.
3446
3447 * buffer.h (OVERLAY_PLIST): New macro.
3448
9bae8781
GM
3449 * keymap.c (Fsingle_key_description): Replace a build_string with
3450 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3451
dbcf3c03
GM
3452 * fontset.c (Ffontset_info): Check that face is non-null
3453 before accessing its fields.
3454
8a1ae4dd
GM
34552001-05-15 Gerd Moellmann <gerd@gnu.org>
3456
18a0a39e
GM
3457 * keyboard.c (read_key_sequence): Prevent generating a fake
3458 prefix key twice.
3459
e335b66a
GM
3460 * xfaces.c (split_font_name): Handle `[...]' for the right
3461 font name fields.
3462
8a1ae4dd
GM
3463 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3464 of CCL_STAT_INVALID_CMD.
3465
3cf80731
SM
34662001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3467
33568849
SM
3468 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3469 in <var> has no default value yet.
3470
3cf80731
SM
3471 * xfaces.c (try_alternative_families): First try the FAMILY.
3472 And if nothing is found in the end, try again with scalable fonts.
3473 (try_font_list): Let try_alternative_families do a bit more of
3474 the work. Only use FAMILY if it is not nil.
3475 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3476
933b0249
GM
34772001-05-14 Gerd Moellmann <gerd@gnu.org>
3478
58e5af83
GM
3479 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3480 pointer shape when show_mouse_face has already done it.
33568849 3481
58e5af83 3482 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3483 full-width rows.
3484
7b16a6bf
GM
3485 * xfaces.c (split_font_name): Make sure to leave the loop
3486 with the right value of `i'.
3cf80731 3487
933b0249
GM
3488 * xfaces.c (split_font_name): Handle matrix transformations
3489 in the pixel and point size fields of XLFD font names.
3490 (xlfd_point_size): Likewise.
3491
dddcbf00
EZ
34922001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3493
3cf80731 3494 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3495 (x_to_w32_font): Add prototype.
3496
7689ef0b
EZ
3497 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3498 redefining, to avoid compiler warnings.
3499
e7c15bba
EZ
3500 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3501
dddcbf00
EZ
3502 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3503 (w32_get_bdf_glyph): Cast between unsigned char and char when
3504 passing arguments to subroutines, to shut up compiler warnings.
3505 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3506 GET_HEX_VAL.
3507
3508 * xfaces.c: Include keyboard.h before frame.h, not after it.
3509
3510 * widget.c: Include keyboard.h before frame.h.
3511
3512 * w32term.h (struct image, struct face): Forward declaration, to
3513 avoid compiler warnings.
3514
7bd2d083
GM
35152001-05-11 Gerd Moellmann <gerd@gnu.org>
3516
47e72862
GM
3517 * keyboard.c (read_key_sequence): Don't modify events when
3518 generating fake prefix keys (mode-line, scroll-bar, ...) since
3519 this prevents proper processing of such events when pushed back
3520 into unread-command-events.
3521
dd5f324b
GM
3522 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3523 actually redrawn. Make the function static.
3524 (note_mouse_highlight): Fix a case where the mouse cursor
3525 was changed back to the text cursor.
3526
3527 * xterm.h (clear_mouse_face): Remove prototype.
3528
d88a79d4
GM
3529 * xdisp.c (try_window_id): Fix the fix and set the right
3530 window_end_vpos.
3531
3532 * xdisp.c (try_window_id): Fix computation of window end in the
3533 case that lines were deleted at the end of the window. Add some
3534 more debug_method_adds.
0416532f 3535
7bd2d083
GM
3536 * xfaces.c (try_alternative_families): New function.
3537 (try_font_list): Use it. If ATTRS specifies a family, check
3538 fonts from that family first.
3539 (choose_face_font): Remove code setting the family part of
3540 the pattern to nil.
3541
23fca891
GM
35422001-05-10 Gerd Moellmann <gerd@gnu.org>
3543
ff9aa2ca
GM
3544 * xdisp.c (try_window_id): Fix case of all changes before
3545 the window start.
7b2654b5 3546
23fca891
GM
3547 * xdisp.c (try_window_id): Add some xasserts.
3548
e9726794
GM
35492001-05-09 Gerd Moellmann <gerd@gnu.org>
3550
3551 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3552
9e53a675
GM
35532001-05-09 Dave Love <fx@gnu.org>
3554
3555 * xdisp.c (GIVE_UP): Fix for K&R C.
3556
0d487c52
GM
35572001-05-09 Gerd Moellmann <gerd@gnu.org>
3558
fe88d421
GM
3559 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3560
0d487c52
GM
3561 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3562 back to the text cursor shape without need.
3563
1e9fc92e
GM
35642001-05-07 Gerd Moellmann <gerd@gnu.org>
3565
a2a6232e
GM
3566 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3567
3568 * dispextern.h (inverse_video): Declare extern.
3569
1e9fc92e
GM
3570 * keyboard.c (delete_kboard): Handle the case that selected_frame
3571 has been deleted in the course of x_connection_closed.
3572
12949a7f
EZ
35732001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3574
7b2654b5
SM
3575 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3576 Fix the change from 2001-04-30.
12949a7f 3577
2fa2f461
GM
35782001-05-03 Gerd Moellmann <gerd@gnu.org>
3579
a779d213
GM
3580 * xfns.c (file_dialog_unmap_cb): New function.
3581 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3582 where a dialog is closed via the window manager.
3583
7b2654b5 3584 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3585 the window start or all below the window end mostly rewritten.
3586 (redisplay_window): Move the tests if try_window_id is
3587 applicable to try_window_id.
3588 (GIVE_UP): New macro.
3589
3356df63
GM
35902001-05-02 Gerd Moellmann <gerd@gnu.org>
3591
a39202f6 3592 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3593 currently being updated, mark the frame garbaged.
3594 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3595 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3596
3356df63
GM
3597 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3598 again if it has already been drawn.
3599
a9d2fd1d
SM
36002001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3601
3602 * syntax.c (update_syntax_table): Check that oldi has the same
3603 properties as old_prop before deciding not to invalidate.
3604
c95fc5f1
GM
36052001-04-30 Gerd Moellmann <gerd@gnu.org>
3606
a9793e45
GM
3607 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3608 read-only text that is so because of text properties.
3609
c95fc5f1 3610 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3611 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3612 windows that are components of a Lucid menu bar.
3613
5a5d9185
GM
36142001-04-27 Gerd Moellmann <gerd@gnu.org>
3615
3616 * term.c (turn_on_face): Fix reverse video handling on terminals
3617 that don't support colors.
3618
ba973f7a
GM
36192001-04-26 Gerd Moellmann <gerd@gnu.org>
3620
3621 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3622 a non-buffer.
3623
8c56a983
GM
36242001-04-25 Gerd Moellmann <gerd@gnu.org>
3625
a728644c
GM
3626 * term.c (toggle_highlight): New function.
3627 (turn_on_face): Change handling of reverse video.
3628
7b2654b5
SM
3629 * process.c (wait_reading_process_input):
3630 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3631
bfd8410f
GM
3632 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3633 of the number of overlays to check.
3634
be2488ca
GM
3635 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3636
8c56a983
GM
3637 * xdisp.c (try_window_id): Fix a case where window_end_pos
3638 and window_end_bytepos were not adjusted.
3639
522d42f7
GM
36402001-04-23 Gerd Moellmann <gerd@gnu.org>
3641
3642 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3643 zero instead of -1.
3644
78c1afb6
EZ
36452001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3646
a9d2fd1d
SM
3647 * process.c (wait_reading_process_input) [!subprocesses]:
3648 Don't reference waiting_for_user_input_p, it's not defined in the
3649 branch without async subprocesses support.
78c1afb6 3650
a2fab450
GM
36512001-04-19 Gerd Moellmann <gerd@gnu.org>
3652
a122a38e
GM
3653 * keyboard.c (delete_kboard): Prevent a dangling reference
3654 from current_kboard to KB, which is freed.
3655
a9d2fd1d
SM
3656 * process.c (wait_reading_process_input):
3657 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3658 read_key_sequence aware of buffer changes from under it.
3659
0f8d6dc7
GM
36602001-04-18 Gerd Moellmann <gerd@gnu.org>
3661
eeffb293
GM
3662 * xfaces.c (Qscalable_fonts_allowed): New variable.
3663 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3664 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3665 removed.
eeffb293 3666 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3667 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3668 for scalable-fonts-allowed to t.
eeffb293 3669
0f8d6dc7
GM
3670 * fileio.c (Finsert_file_contents): If the file size returned from
3671 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3672 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3673
eec2d1de
EZ
36742001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3675
3676 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3677 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3678 (__memalign_hook): Make the two prototypes consistent.
3679
f4f480bd
GM
36802001-04-17 Gerd Moellmann <gerd@gnu.org>
3681
3682 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3683 matrix of mini-windows.
3684
52283633
SM
36852001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3686
3687 * intervals.c (find_interval): Don't rebalance during signal handling.
3688
ec2423c9
GM
36892001-04-11 Gerd Moellmann <gerd@gnu.org>
3690
30cb0001 3691 * fns.c: Include blockinput.h.
52283633 3692
ec2423c9
GM
3693 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3694
719d83ad
GM
36952001-04-10 Gerd Moellmann <gerd@gnu.org>
3696
60f8d735
GM
3697 * fns.c (Fcompare_strings): Fix return values.
3698
afffeb57
GM
3699 * window.c (window_scroll): Change the meaning of N to mean
3700 N screen-fulls or N lines.
3701 (window_scroll_pixel_based, window_scroll_line_based)
3702 (scroll_command, Fscroll_other_window): Change accordingly.
3703
52283633
SM
3704 * window.c (window_scroll_pixel_based, Frecenter):
3705 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3706 height of the window.
3707
3708 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3709 instead of using it.last_visible_y for the height of the window.
52283633 3710
719d83ad 3711 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3712 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3713
3714 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3715 able to write to hidden and system files. From Dan Holmsand
3716 <dan@eyebee.com>.
719d83ad 3717
8ddf3ee1
GM
3718 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3719 Holmsand <dan@eyebee.com>.
719d83ad 3720
522ed7fb
GM
37212001-04-09 Gerd Moellmann <gerd@gnu.org>
3722
9170e5d4
GM
3723 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3724
522ed7fb
GM
3725 * window.c (window_internal_height): Return 1 less if the
3726 window has a header line.
3727
3728 * xdisp.c (try_window_id): When scrolling on a terminal, take
3729 the change of window_internal_height into account.
3730
ceeb3d7d
EZ
37312001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3732
3733 * gmalloc.c (align): If the argument SIZE would overflow
3734 __malloc_ptrdiff_t, fail right away.
3735
63685b9d
GM
37362001-04-06 Gerd Moellmann <gerd@gnu.org>
3737
3738 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3739 Make sure the tooltip is completely visible.
3740 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3741
3742 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3743
3744 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3745
3ffb33bb
DL
37462001-04-06 Dave Love <fx@gnu.org>
3747
52283633
SM
3748 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3749 Fix test of `from'.
3ffb33bb 3750
869fb12c
GM
37512001-04-06 Gerd Moellmann <gerd@gnu.org>
3752
52283633 3753 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3754
869fb12c
GM
3755 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3756
441bf856
GM
37572001-04-05 Gerd Moellmann <gerd@gnu.org>
3758
4d664b04
GM
3759 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3760
52283633 3761 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3762
30ca89f5
GM
3763 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3764 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3765
3766 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3767 shell widget's position only if it is non-null.
3768
52283633
SM
3769 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3770 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3771
81a81c0f
GM
3772 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3773 FILENAME to bring it in synch with the documentation.
3774
441bf856
GM
3775 * xfaces.c (realizing_basic_faces_p): Renamed from
3776 realize_default_face_p.
3777 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3778 (realize_default_face): Don't set the flag.
3779
702a1e8e
GM
37802001-04-04 Gerd Moellmann <gerd@gnu.org>
3781
1013f4e3
GM
3782 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3783
52283633
SM
3784 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3785
1013f4e3
GM
3786 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3787 the buffer that was used for echoing.
3788
702a1e8e
GM
3789 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3790 (first_font_matching): Removed unused function.
3791 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3792 (may_use_scalable_font_p): Remove parameter FONT; rename
3793 parameter NAME to FONT.
3794 (x_face_list_fonts): Fix missing bounds check.
3795 (realizing_default_face_p): New variable.
3796 (realize_default_face): Set and clear that flag.
3797 (x_face_list_fonts): When called during the realization of the
3798 default face, and no matching fonts are found when ignoring
3799 scalable fonts and fonts matching a regexp from
3800 face-ignored-fonts, try without ignoring fonts.
3801
f9dbcda4
GM
38022001-04-03 Gerd Moellmann <gerd@gnu.org>
3803
ad18ffb1
GM
3804 * xfns.c (postprocess_image): New function.
3805 (lookup_image): Call it for all image types except PostScript.
3806 (x_kill_gs_process): Call postprocess_image.
3807
f9dbcda4
GM
3808 * xterm.c (x_use_underline_position_properties): New variable.
3809 (x_draw_glyph_string): Use it.
3810 (syms_of_xterm): DEFVAR_BOOL it.
3811
651f03b6
GM
38122001-04-02 Gerd Moellmann <gerd@gnu.org>
3813
3814 * xterm.c (x_alloc_nearest_color_1): New function.
3815 (x_alloc_nearest_color): Use it.
3816 (x_color_cells): Take a Display as argument, instead of a frame.
3817 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3818 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3819 (x_initialize): Register cvt_string_to_pixel as resource converter
3820 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3821
73d75a62
GM
38222001-03-30 Gerd Moellmann <gerd@gnu.org>
3823
b2046df8
GM
3824 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3825 (set_iterator_to_next): If a string from a display property ends,
3826 consider the case that this might also be the end of an
3827 overlay string having the display property.
3828
52283633 3829 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3830
87d8eba4
GM
3831 * xdisp.c (reseat_to_string): Undo last change.
3832
73d75a62
GM
3833 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3834 matrix of a window when the header line changes, when
3835 new rows are allocated, or when the width changes.
3836
911a2406
EZ
38372001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3838
52283633 3839 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3840
aea51abe
EZ
38412001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3842
3843 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3844 deprecated.
3845
176bc847
GM
38462001-03-29 Gerd Moellmann <gerd@gnu.org>
3847
ed31fabf
GM
3848 * data.c (Fsubr_interactive_form): New function.
3849 (syms_of_data): Defsubr it.
3850
176bc847
GM
3851 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3852 (live_float_p, live_misc_p): Return 1 only if the offset of the
3853 pointer in its block is >= 0.
3854
e59d0e9d
GM
38552001-03-28 Paul Eggert <eggert@twinsun.com>
3856
3857 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3858 microseconds calcuation. Avoid double-rounding problem.
3859 In doc string, warn that the result is approximate.
3860
f827b862
GM
38612001-03-28 Gerd Moellmann <gerd@gnu.org>
3862
30a3f61c
GM
3863 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3864 bind `inhibit-eval-during-redisplay' to t.
3865
3866 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3867
3868 * xdisp.c (inhibit_eval_during_redisplay)
3869 (Qinhibit_eval_during_redisplay): New variables.
3870 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3871 don't eval, return nil instead.
3872 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3873 Initialize Qinhibit_eval_during_redisplay.
3874
e719f5ae
GM
3875 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3876 the iterator's multibyte_p flag.
3877
deb2613a
GM
3878 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3879 instead of setting it to zero; it's incremented for each frame
3880 where the menu face is changed.
3881
52283633
SM
3882 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3883 change bottom shadow accordingly.
3884
3885 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3886 intersections here.
3887 (expose_window): Do it here instead.
52283633 3888 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3889
f827b862
GM
3890 * bytecode.c (BYTE_CODE_QUIT): New macro.
3891 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3892
4bde0ebb
GM
38932001-03-27 Gerd Moellmann <gerd@gnu.org>
3894
607ec83c
GM
3895 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3896 Give up if matrix starts in an ellipsis.
3897 (init_from_display_pos): Do nothing if POS doesn't specify
3898 a dpvec_index but the iterator has such a position.
3899
0245398f
GM
3900 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3901
aba25348
GM
3902 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3903 x/y position is (0, 0) after destroying the menu bar, restore
3904 its original position.
3905
4bde0ebb
GM
3906 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3907 (init_from_display_pos): Use it.
3908 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3909
8cdb267e
GM
39102001-03-26 Gerd Moellmann <gerd@gnu.org>
3911
3912 * xdisp.c (try_window_id): Undo last change.
3913
9948db79
EZ
39142001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3915
3916 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3917
3918 * buffer.c (syms_of_buffer): Doc fix.
3919
2eddf899
GM
39202001-03-26 Gerd Moellmann <gerd@gnu.org>
3921
3922 * xfaces.c (x_update_menu_appearance): Use local variable
3923 popup_path for setting font resources.
3924
6c145d35
EZ
39252001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3926
6a65b1b5
EZ
3927 * frame.c (Fframe_list): Don't reference tip_frame if
3928 HAVE_WINDOW_SYSTEM is not defined.
3929
6c145d35
EZ
3930 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3931 <wl@gnu.org>.
3932
d74c1900
GM
39332001-03-25 Gerd Moellmann <gerd@gnu.org>
3934
20fbd925
GM
3935 * xdisp.c (init_from_display_pos): Test invisible property
3936 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3937
927c5b3b
GM
3938 * xdisp.c (redisplay_internal) <update one window>: Make sure
3939 last_arrow_position and last_arrow_string are set.
3940
d74c1900
GM
3941 * frame.c (Fframe_list): Don't return a tooltip frame.
3942
091f8878
GM
39432001-03-23 Gerd Moellmann <gerd@gnu.org>
3944
52283633
SM
3945 * xdisp.c (mark_window_display_accurate_1): New function,
3946 extracted from mark_window_display_accurate.
3947 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3948 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3949 (mark_window_display_accurate): Use it.
3950 (redisplay_internal): Use it for the selected window.
3951 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3952 for the selected frame.
3953
ac90c44f
GM
3954 * xdisp.c Use make_number, for readability.
3955 (try_window_id): Disable rows below the window end.
3956 (try_window_reusing_current_matrix): Use cursor_row_p.
3957 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3958 of rows.
3959 (init_from_display_pos): If POS specifies a position in a display
3960 vector, maybe get the iterator set up for that ellipsis.
43c09969 3961
091f8878
GM
3962 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3963
991786dd
EZ
39642001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3965
3966 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3967
6c29b43c
GM
39682001-03-23 Gerd Moellmann <gerd@gnu.org>
3969
3970 * xfaces.c (x_update_menu_appearance): Use a different path
3971 for Lucid popup menus.
3972
d8731202
SM
39732001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3974
3975 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3976
3977 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3978 (string_buffer_position): Use `make_number'.
3979
f61a541b
GM
39802001-03-22 Gerd Moellmann <gerd@gnu.org>
3981
3c9e997b
GM
3982 * xfaces.c (x_update_menu_appearance): Renamed from
3983 x_set_menu_face_resources. Use different resources for popups.
3984
3985 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3986 (GC_CHECK_STRING_BYTES): Don't define.
3987
364cd450
GM
3988 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3989 Removed, together with subroutines.
3990 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3991 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3992
d8731202
SM
3993 * dispextern.h (x_set_menu_resources_from_menu_face):
3994 Remove prototype.
364cd450 3995
d8731202 3996 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3997 Remove calls to x_set_menu_resources_from_menu_face.
3998
d8731202
SM
3999 * xfaces.c (xm_set_menu_resources_from_menu_face):
4000 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4001
4002 * xmenu.c: Include widget.h.
4003 (single_submenu): Return int. Some cleanup.
4004 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4005
140330de
GM
40062001-03-21 Gerd Moellmann <gerd@gnu.org>
4007
4008 * xterm.c (x_update_window_end): Handle overwritten mouse face
4009 also for tool bar windows.
4010 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4011 DRAW is DRAW_IMAGE_RAISED.
4012
1741905c
GM
40132001-03-20 Gerd Moellmann <gerd@gnu.org>
4014
fa88947e
GM
4015 * print.c (syms_of_print): Doc fixes.
4016
1741905c
GM
4017 * fns.c (Fmd5): Doc fix.
4018
ade0bee1
GM
40192001-03-19 Gerd Moellmann <gerd@gnu.org>
4020
357e7376
GM
4021 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4022 Clear area of the frame not occupied by the scroll bar.
4023
c2c097cc
GM
4024 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4025 tip frame's root window buffer to *tip* right after creating
4026 the frame.
4027
ade0bee1
GM
4028 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4029 is an integer don't have to be for space characters.
4030
88c6e37e
GM
40312001-03-16 Gerd Moellmann <gerd@gnu.org>
4032
52283633
SM
4033 * indent.c (current_column, current_column_1, Fmove_to_column)
4034 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4035
c62eed76
KH
40362001-03-15 Kenichi Handa <handa@etl.go.jp>
4037
4038 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4039 drawing glyph string.
4040
c899e7e6
GM
40412001-03-15 Gerd Moellmann <gerd@gnu.org>
4042
d0bbfc99
GM
4043 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4044 (command_loop_1): Undo last change.
4045
03d1a189
GM
4046 * xterm.c (fast_find_position): Return the correct vpos.
4047
c899e7e6 4048 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4049 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4050 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4051 Call store_symval_forwarding with BUF null.
4052 (set_internal): Call store_symval_forwarding with the BUF
4053 parameter passed to set_internal. Formerly, the value was always
4054 set in the current buffer; the buffer recorded in specbind for
4055 this case wasn't used.
4056 (arith_driver): Reindent.
4057
52283633
SM
4058 * buffer.c (swap_out_buffer_local_variables):
4059 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4060
4061 * lisp.h (store_symval_forwarding): Change prototype.
4062
4063 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4064
57ac7c81
GM
40652001-03-14 Gerd Moellmann <gerd@gnu.org>
4066
697617d9
GM
4067 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4068 FOR_DELETION. Avoid resizing the mini-window of the selected
4069 frame if FOR_DELETION is set.
4070 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4071 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4072 signature.
4073
4074 * window.c (Fset_window_configuration): Change call to
4075 do_switch_frame to new format.
4076
4077 * keyboard.c (quit_throw_to_read_char): Change call to
4078 do_switch_frame to new format.
4079
4080 * lisp.h (do_switch_frame): Change prototype.
4081
819dce0f
GM
4082 * frame.c (Fframe_parameters): In the `buffer-list' frame
4083 parameter, store the buffer list of FRAME, not the list of the
4084 selected frame.
4085
57ac7c81
GM
4086 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4087 box just because the glyph row's full_width_p flag is set.
4088
65008712
GM
40892001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4090
4091 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4092 skip the padding blanks inserted in extend_face_to_end_of_line,
4093 before checking for trailing whitespace.
4094
159cf431
GM
40952001-03-13 Gerd Moellmann <gerd@gnu.org>
4096
52283633 4097 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4098 Remove special handling for LessTif/Motif.
4099 (toplevel): Don't include Xm/Xm.h.
4100
52283633
SM
4101 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4102 Remove workaround code for LessTif; it doesn't work anymore.
4103
2564ea1b 4104 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4105 Xm/ScrollBarP.h.
afcdc0a1 4106
52283633
SM
4107 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4108 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4109 contemporary LessTif.
4110
52283633
SM
4111 * xfaces.c (xm_set_menu_resources_from_menu_face):
4112 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4113
159cf431
GM
4114 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4115 removing button grabs.
4116
c6f7429a
KH
41172001-03-13 Kenichi Handa <handa@etl.go.jp>
4118
cb82d767
KH
4119 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4120 and clip-large-size-font as obsolete.
4121
c6f7429a
KH
4122 * lread.c (read_multibyte): Check the validity of multibyte
4123 sequence. If invalid, return the first byte.
4124
760cefb5
GM
41252001-03-12 Gerd Moellmann <gerd@gnu.org>
4126
4127 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4128 before running the command; timer functions or process
4129 filters may have set it.
4130
5141f9d0
EZ
41312001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4132
4133 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4134 Doc fix.
4135
b6a15240
GM
41362001-03-12 Gerd Moellmann <gerd@gnu.org>
4137
4138 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4139 to sprintf.
4140
95522746
GM
41412001-03-09 Gerd Moellmann <gerd@gnu.org>
4142
db14cfc5
GM
4143 * dispextern.h (string_buffer_position): Add prototype.
4144
52283633 4145 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4146 (single_display_prop_string_p): New functions.
4147
4148 * xterm.c (note_mouse_highlight): If there's no help-echo on
4149 a string, look at the buffer text ``under'' it.
4150
4151 * keyboard.c (make_lispy_event): Add string info to the event,
4152 analogous to what's done on mode lines.
4153 (read_key_sequence): For a click on a string, consider `local-map'
4154 and `keymap' of that string.
4155
52283633
SM
4156 * keyboard.c (make_lispy_event, make_lispy_movement):
4157 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4158
4159 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4160
4161 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4162 POS; return void.
4163
95522746
GM
4164 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4165 flags argument to emacs_open; it seems to conflict with O_EXCL.
4166
898a399d
KH
41672001-03-09 Kenichi Handa <handa@etl.go.jp>
4168
28cd4910
KH
4169 * composite.h (struct composition): Change types of members;
4170 glyph_len to unsigned, width to unsigned short.
898a399d 4171
4cdf6a6c
AI
41722001-03-08 Andrew Innes <andrewi@gnu.org>
4173
4174 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4175 menu titles.
4176
129004d3
GM
41772001-03-08 Gerd Moellmann <gerd@gnu.org>
4178
221dd3e7
GM
4179 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4180 instead of nil.
4181
52283633 4182 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4183 help-echo in strings.
4184 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4185 (fast_find_string_pos): New function.
4186
52283633
SM
4187 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4188 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4189
4190 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4191 Handle `mouse-face'.
4192
4193 * dispextern.h (face_at_string_position): Change prototype.
4194
52283633 4195 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4196
129004d3
GM
4197 * keyboard.c (make_lispy_event): Avoid generating drag events
4198 if the mouse hasn't actually moved to another buffer position.
52283633 4199
80c8ab8c
DL
42002001-03-08 Dave Love <fx@gnu.org>
4201
129004d3 4202 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4203
989521fd
GM
42042001-03-08 Gerd Moellmann <gerd@gnu.org>
4205
4206 * process.c (Fset_process_window_size): Fix a typo.
4207
bb5c338d
KH
42082001-03-08 Kenichi Handa <handa@etl.go.jp>
4209
4210 * coding.c (detect_coding_sjis): Do more rigid check.
4211 (detect_coding_big5): Likewise.
4212 (decode_coding_sjis_big5): Likewise.
4213 (Fdetect_coding_region): Call detect_coding_system with tailing
4214 anchor byte `\0' for more rigid detection.
52283633 4215 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4216 (Fdetect_coding_string): Likewise.
4217
8b8f9197
SM
42182001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4219
4220 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4221 a string before extracting its data.
4222
3bdf2660
GM
42232001-03-07 Gerd Moellmann <gerd@gnu.org>
4224
4225 * window.c (Frecenter): Rewrite code handling negative values
4226 of ARG on graphical frames.
4227
42282001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4229
4230 * window.c (displayed_window_lines): If W->start is outside the
4231 accessible portion of the buffer, call start_display with BEGV or
4232 ZV instead of W->start.
4233
471f86b9
GM
42342001-03-07 Gerd Moellmann <gerd@gnu.org>
4235
2ab62c6c
GM
4236 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4237
471f86b9
GM
4238 * process.c (Fset_process_filter): Don't crash if the input
4239 file descriptor of PROCESS is closed.
4240 (Fset_process_window_size): Likewise.
4241
101922c3
GM
42422001-03-06 Kenichi Handa <handa@etl.go.jp>
4243
4244 * xterm.c (XTflash): Make the timeout of select shorter, and call
4245 select repeatedly until the desired time expires.
4246
45d051a7
GM
42472001-03-06 Gerd Moellmann <gerd@gnu.org>
4248
4249 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4250
4251 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4252
4253 * lisp.h (Vwindow_list): Declare extern.
4254
8f372c46
EZ
42552001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4256
4257 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4258
f16a7aa5
GM
42592001-03-06 Gerd Moellmann <gerd@gnu.org>
4260
157ae273
GM
4261 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4262 to detect a case where we have to highlight a different region
4263 despite not having left the currently highlighted region.
4264 Set mouse_face_overlay in the x_display_info.
45d051a7 4265 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4266
4267 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4268
4269 * buffer.c (mouse_face_overlay_overlaps): New function.
4270
4271 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4272 (Qmouse_face): Declare extern.
4273
f16a7aa5
GM
4274 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4275 if face_change_count is non-zero.
4276
827afcac
KH
42772001-03-06 Kenichi Handa <handa@etl.go.jp>
4278
4279 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4280 that the source is unibyte.
4281
14c7242e
DL
42822001-03-05 Dave Love <fx@gnu.org>
4283
827afcac 4284 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4285
c28b847b
GM
42862001-03-05 Gerd Moellmann <gerd@gnu.org>
4287
4288 * minibuf.c (read_minibuf): Clean up the binding stack if
4289 called noninteractively.
4290
b86644f2
KH
42912001-03-05 Kenichi Handa <handa@etl.go.jp>
4292
4293 * coding.c (syms_of_coding): Docstring modified.
4294
203682cc 42952001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4296
4297 * charset.c (char_to_string): If a single byte char has modifier
4298 bits that can't be reflected to the character code, ignore them
45d051a7 4299 instead of signaling an error.
b86644f2 4300
e30bd7b7
EZ
43012001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4302
4303 * s/msdos.h: Update copyright notice.
4304
4305 * dosfns.h: Update copyright notice.
4306
4307 * dosfns.c: Update copyright notice.
4308
4309 * msdos.c: Update copyright notice.
4310
b52b65bd
GM
43112001-03-02 Gerd Moellmann <gerd@gnu.org>
4312
4313 * xterm.c (glyph_rect): New function.
4314 (XTmouse_position): Use it to raise the threshold for mouse
4315 movement event generation.
4316
53c4b1e6
EZ
43172001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4318
4319 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4320 specifies (reverse . t), reverse the initial screen colors.
4321 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4322 but we are reversing the colors, set bg_set, not fg_set.
4323 Likewise for setting background-color and reversing: set fg_set.
4324 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4325 in effect.
4326
4327 * xfaces.c (Finternal_set_lisp_face_attribute)
4328 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4329 parameters alist.
4330
f964b4d7
GM
43312001-03-02 Gerd Moellmann <gerd@gnu.org>
4332
ef53d75e
GM
4333 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4334 to a single slash in the middle of file names.
4335
52283633 4336 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4337 Accept only alphanumeric time zone names.
4338
f964b4d7
GM
4339 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4340 or width area.
4341 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4342 a widget to zero height.
52283633 4343
c3c45f65
GM
43442001-03-01 Gerd Moellmann <gerd@gnu.org>
4345
4346 * window.c (Fwindow_end): Call move_it_past_eol only if
4347 ending up on a partially visible line.
4348
028d739a
DL
43492001-03-01 Dave Love <fx@gnu.org>
4350
4351 * ccl.c (Fccl_execute): Doc fix.
4352
57c5889c
GM
43532001-03-01 Gerd Moellmann <gerd@gnu.org>
4354
35f59f6b
GM
4355 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4356 of the tool bar before calling x_figure_window_size.
4357
f84ff02c
GM
4358 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4359 NULL after destroying it, otherwise XTread_socket can access a
4360 destroyed widget when input is unblocked.
4361
8b8f9197 4362 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4363
57c5889c
GM
4364 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4365 same name as before, although there was a change in fontsets.
4366
224227d1
KR
43672001-02-28 Ken Raeburn <raeburn@gnu.org>
4368
4560730a
KR
4369 * lisp.h (Fframe_parameter): Declare.
4370
224227d1 4371 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4372 Lisp_Object.
224227d1 4373
ece93c02
GM
43742001-02-28 Gerd Moellmann <gerd@gnu.org>
4375
11ef99b9
GM
4376 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4377 NULL instead.
4378
4379 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4380 NULL instead.
4381
ece93c02
GM
4382 * alloc.c (toplevel): Include process.h.
4383 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4384 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4385 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4386 (allocate_vector, allocate_hash_table, allocate_window)
4387 (allocate_frame, allocate_process, allocate_other_vector):
4388 New functions.
ece93c02
GM
4389 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4390 (mark_maybe_pointer): New function.
52283633 4391 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4392 remain and not Lisp_Objects.
4393 (min_heap_address, max_heap_address): New variables.
4394 (mem_find): Return MEM_NIL if START is below min_heap_address or
4395 above max_heap_address.
4396 (mem_insert): Compute min_heap_address and max_heap_address.
4397
4398 * process.c (make_process): Use allocate_process.
4399
4400 * frame.c (make_frame): Use allocate_frame.
4401
4402 * window.c (make_window, make_dummy_parent): Use allocate_window.
4403 (Fcurrent_window_configuration): Use allocate_other_vector.
4404
4405 * lisp.h (allocate_vectorlike): Remove prototype.
4406 (allocate_vector, allocate_other_vector, allocate_frame)
4407 (allocate_window, allocate_process, allocate_hash_table):
4408 Add prototypes.
4409
4410 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4411 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4412
063af457
KH
44132001-02-27 Kenichi Handa <handa@etl.go.jp>
4414
4415 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4416 treat the produced bytes as a valid multibyte sequence.
4417
4418 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4419 (ccl_driver) <CCL_WriteMultibyteChar2>:
4420 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4421 <ccl_finish>: Set ccl->eight_bit_control properly.
4422
4423 * ccl.h (struct ccl_program): New member eight_bit_control.
4424
f58c6494
SM
44252001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4426
4427 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4428 accessible_keymaps_char_table.
4429 (accessible_keymaps_char_table): Obey `is_metized'.
4430 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4431 Lisp_Object.
4432
c596c392
GM
44332001-02-26 Gerd Moellmann <gerd@gnu.org>
4434
4435 * dispnew.c: Check HAVE_TERM_H before including term.h.
4436
425de386
AI
44372001-02-24 Andrew Innes <andrewi@gnu.org>
4438
4439 * makefile.w32-in: Update copyright notice.
4440
2ba11bbd
SM
44412001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4442
4443 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4444
66c56ed1
KH
44452001-02-24 Kenichi Handa <handa@etl.go.jp>
4446
4c1593ce
KH
4447 * Makefile.in (lisp): Add international/utf-8.elc.
4448
66c56ed1
KH
4449 * fontset.c (Fnew_fontset): Fix handling of the case that an
4450 element of FONTLIST is a cons of family and registry.
4451
796ead7e
JR
44522001-02-23 Jason Rumney <jasonr@gnu.org>
4453
4454 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4455 to height unconditionally.
4456
4457 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4458 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4459 (x_insert_glyphs): Call window_box_left to obtain the left
4460 x-coordinate of the area to shift.
4461
4462 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4463 safe_run_hooks.
4464
f6839838
AI
44652001-02-22 Andrew Innes <andrewi@gnu.org>
4466
52283633 4467 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4468 ($(BLD)\dispnew.obj):
4469 ($(BLD)\editfns.obj):
4470 ($(BLD)\fileio.obj):
4471 ($(BLD)\filelock.obj):
4472 ($(BLD)\keyboard.obj):
4473 ($(BLD)\w32proc.obj):
4474 ($(BLD)\process.obj):
4475 ($(BLD)\sysdep.obj): Ditto.
4476
4477 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4478 header files.
52283633
SM
4479 ($(BLD)/dispnew.$(O)):
4480 ($(BLD)/editfns.$(O)):
4481 ($(BLD)/fileio.$(O)):
4482 ($(BLD)/filelock.$(O)):
4483 ($(BLD)/keyboard.$(O)):
4484 ($(BLD)/w32proc.$(O)):
4485 ($(BLD)/process.$(O)):
f6839838
AI
4486 ($(BLD)/sysdep.$(O)): Ditto.
4487
c224f70b
GM
44882001-02-22 Gerd Moellmann <gerd@gnu.org>
4489
51695746
GM
4490 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4491 at the start of the function, check that the \n in it->c is
4492 from the iterator's current position.
52283633 4493
a61b7058
GM
4494 * xdisp.c (handle_single_display_prop): Add parameter
4495 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4496 properties which replace the display of text with something else.
4497 (handle_display_prop): Call handle_single_display_prop with
4498 additional argument saying if we already replaced text display
4499 with something else. Use AREF.
52283633 4500 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4501 (decode_mode_spec_coding): Use AREF and ASIZE.
4502
3473f362
GM
4503 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4504 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4505 * vmstime.h: Files removed.
52283633 4506
2bb58df3
GM
4507 * unexencap.c, unexfx2800.c: Files removed.
4508
c224f70b
GM
4509 * dispnew.c (direct_output_for_insert): Give up if we are showing
4510 a message or just cleared the message because we might need to
4511 resize the echo area window or display an empty echo area.
4512
ffc9ff0c
GM
45132001-02-21 Gerd Moellmann <gerd@gnu.org>
4514
0528abe1
GM
4515 * xdisp.c (redisplay_internal): Do the
4516 mark_window_display_accurate after all windows have been
4517 redisplayed because this call resets flags in buffers which are
4518 needed for proper redisplay.
4519
52283633
SM
4520 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4521 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4522 the old names.
4523
52283633
SM
4524 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4525 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4526
4527 * msdos.h (struct x_output): Rename busy_window to
4528 hourglass_window, busy_p to hourglass_p.
4529
52283633
SM
4530 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4531 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4532
4533 * xfns.c: Rename everything containing *busy_cursor* and similar
4534 to *hourglass*.
4535 (syms_of_w32fns): Rename x-busy-pointer-shape to
4536 x-hourglass-pointer-shape, display-busy-cursor to
4537 display-hourglass, busy-cursor-delay to hourglass-delay.
4538
4539 * w32fns.c: Rename everything containing *busy_cursor* and similar
4540 to *hourglass*.
4541 (syms_of_w32fns): Rename x-busy-pointer-shape to
4542 x-hourglass-pointer-shape, display-busy-cursor to
4543 display-hourglass, busy-cursor-delay to hourglass-delay.
4544
4545 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4546 of its busy_p flag.
4547
4548 * dispextern.h (start_hourglass, cancel_hourglass)
4549 (display_hourglass_p): Renamed from *busy_cursor*.
4550
ab2c5f0a
GM
45512001-02-20 Gerd Moellmann <gerd@gnu.org>
4552
d17e49a8
GM
4553 * keyboard.c (read_char): When an event from unread-command-events
4554 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4555
fa97adf6
GM
4556 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4557 equal to the current buffer.
4558
ab2c5f0a
GM
4559 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4560 nil, otherwise we're left with truncate_lines t when a message
4561 is printed with message-truncate-lines bound to t.
4562
aeac019e
GM
45632001-02-19 Gerd Moellmann <gerd@gnu.org>
4564
c8bc6f65
GM
4565 * window.c (Fmove_to_window_line): Undo last change.
4566 (displayed_window_lines): Call line_bottom_y to determine
4567 the line's bottom position.
4568
4569 * dispextern.h (line_bottom_y): Add prototype.
4570
52283633 4571 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4572 (pos_visible_p): Use it.
4573
980a2d69
GM
4574 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4575 set redisplaying_p to 0 here instead of in Frecursive_edit.
4576 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4577 set redisplaying_p.
4578
52283633 4579 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4580 New variables.
4581 (syms_of_xdisp): Initialize new variables.
4582 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4583 Specbind `inhibit-menubar-update' when updating the menu bar.
4584
65048e97
GM
4585 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4586 safe_run_hooks.
4587
4588 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4589 safe_run_hooks.
4590
a57c4026
GM
4591 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4592 is null.
4593
aeac019e
GM
4594 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4595 to the start of the file.
4596
76846b31
GM
45972001-02-16 Gerd Moellmann <gerd@gnu.org>
4598
f3f053f3 4599 * window.c (set_window_buffer): Fix last change.
52283633 4600
f3f053f3
GM
4601 * window.c (set_window_buffer): Set window's vscroll to 0.
4602
dad75588
GM
4603 * window.c (coordinates_in_window): Increase width of area
4604 where the vertical line can be dragged.
4605
c220b753
GM
4606 * xterm.c (x_set_glyph_string_background_width): Extend the
4607 background face to the end of the drawing area in the text
4608 area, only.
4609
c56b1c1b
GM
4610 * xdisp.c (handle_single_display_prop): Set iterator's position
4611 to where the `display' property starts, like for images.
4612 (dump_glyph): New function.
4613 (dump_glyph_row): Use it. Dump info about marginal areas.
4614
4615 * dispnew.c (direct_output_for_insert): Recognize more cases where
4616 glyphs can be written instead of being inserted.
4617
4618 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4619 the left x-coordinate of the area to shift.
4620
76846b31
GM
4621 * dired.c (directory_files_internal): Set result list to nil
4622 before retrying.
4623
0fc71a77
KH
46242001-02-15 Kenichi Handa <handa@etl.go.jp>
4625
4626 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4627 invalid multibyte sequence, treat *SRC as a character of
4628 eight-bit-graphic.
4629
25078b54
EZ
46302001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4631
4632 * textprop.c (Fset_text_properties): Doc fix.
4633
8399f8a0
GM
46342001-02-15 Gerd Moellmann <gerd@gnu.org>
4635
4636 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4637
9a2a6f73
DL
46382001-02-14 Dave Love <fx@gnu.org>
4639
4640 * coding.c: Doc and message fixes.
4641
bf853fee
AI
46422001-02-14 Andrew Innes <andrewi@gnu.org>
4643
4644 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4645 Emacs frame above the screen size.
4646
78c663d8
GM
46472001-02-14 Gerd Moellmann <gerd@gnu.org>
4648
4649 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4650
7cc9f69f
GM
46512001-02-13 Gerd Moellmann <gerd@gnu.org>
4652
0a411995
GM
4653 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4654 case that TO ends up beyond ZV after running before-change-functions.
4655
5ddc1b75
GM
4656 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4657 the selected window if it is showing the buffer in question.
4658
7cc9f69f
GM
4659 * dired.c (directory_files_internal): Initialize errno.
4660 (toplevel): Include errno.h.
4661
2e6621ca
GM
46622001-02-13 Kenichi Handa <handa@etl.go.jp>
4663
4664 * xfaces.c (best_matching_font): New parameter width_ratio.
4665 Multiply avgwidth by width_ratio.
4666 (choose_face_font): Call best_matching_font with width_ratio
4667 calculated from the column width of C.
4668
60222d69
AI
46692001-02-12 Andrew Innes <andrewi@gnu.org>
4670
4671 The following changes are to draw box lines inside characters area
4672 if line-width is negative.
52283633 4673
60222d69
AI
4674 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4675 face->box_line_width is negative.
4676 (x_produce_stretch_glyph): Likewise.
4677 (x_produce_glyphs): Likewise.
4678 (x_estimate_mode_line_height): Likewise.
4679 (x_draw_glyph_string_background): Likewise.
4680 (x_draw_glyph_string_foreground): Likewise.
4681 (x_draw_composite_glyph_string_foreground): Likewise.
4682 (x_draw_glyph_string_box): Likewise.
4683 (x_draw_image_foreground): Likewise.
4684 (x_draw_image_relief): Likewise.
4685 (x_draw_image_foreground_1): Likewise.
4686 (x_draw_image_glyph_string): Likewise.
4687
9804b846
KH
46882001-02-09 Kenichi Handa <handa@etl.go.jp>
4689
4690 The following changes are to draw box lines inside characters area
4691 if line-width is negative.
52283633 4692
9804b846
KH
4693 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4694 face->box_line_width is negative.
4695 (x_produce_stretch_glyph): Likewise.
4696 (x_produce_glyphs): Likewise.
4697 (x_estimate_mode_line_height): Likewise.
4698 (x_draw_glyph_string_background): Likewise.
4699 (x_draw_glyph_string_foreground): Likewise.
4700 (x_draw_composite_glyph_string_foreground): Likewise.
4701 (x_draw_glyph_string_box): Likewise.
4702 (x_draw_image_foreground): Likewise.
4703 (x_draw_image_relief): Likewise.
4704 (x_draw_image_foreground_1): Likewise.
4705 (x_draw_image_glyph_string): Likewise.
4706
4707 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4708 and :line-width can be negative.
52283633 4709 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4710
49be9f70
JR
47112001-02-09 Jason Rumney <jasonr@gnu.org>
4712
4713 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4714 characters the same as ASCII and latin-1.
4715 (x_display_and_set_cursor): Check for the focus frame's selected
4716 window instead of selected_window.
4717 (x_after_update_window_line): Don't clear if frame's internal
4718 border width is zero.
4719 (x_new_font): Don't change a tooltip's size.
4720 (w32_initialize): Set char_ins_del_ok to 1.
4721
4722 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4723 (x_set_font): If font hasn't changed, avoid recomputing
4724 faces and other things.
52283633
SM
4725 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4726 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4727 (x_create_tip_frame): Prevent changing the tooltip's
4728 background color by specifying a color for the default font
4729 in .Xdefaults.
4730 (Qcancel_timer): New variable.
4731 (syms_of_w32fns): Initialize and staticpro it.
4732 (Fx_hide_tip, Fx_show_tip): Use it.
4733 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4734 the timer.
4735 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4736
4737 * w32.c (init_environment): Duplicate local string before putenv.
4738
555e35d2
SZ
47392001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4740
4741 * charset.c (Fstring): A typo.
4742
19c92c94
KH
47432001-02-09 Kenichi Handa <handa@etl.go.jp>
4744
e47a1c33
KH
4745 * charset.c (Fstring): If all arguments are less than 256, return
4746 a unibyte string.
4747
4748 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4749 return a unibyte string.
4750
19c92c94
KH
4751 * coding.c (code_convert_region): After detecting a coding, if
4752 nothing found, set coding->composing to COMPOSITION_NO.
4753 (decode_coding_string): Likewise.
4754
d8e675f5
SM
47552001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4756
4757 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4758 to avoid overflow.
4759
bd503487
KH
47602001-02-07 Kenichi Handa <handa@etl.go.jp>
4761
4762 * charset.c (parse_str_to_multibyte): New function.
4763
4764 * charset.h (parse_str_to_multibyte): Extern it.
4765
4766 * print.c (print_string): If we are going to print a unibyte
4767 string into a multibyte buffer, convert the string to multibyte by
4768 str_to_multibyte.
4769
a8370d72
AI
47702001-02-06 Andrew Innes <andrewi@gnu.org>
4771
4772 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4773 been created. It seems we can get sent window messages such as
4774 WM_ERASEBKGND before we properly update a frame.
4775
c363a1d6
GM
47762001-02-06 Gerd Moellmann <gerd@gnu.org>
4777
4778 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4779 Avoid some unnecessary cursor positioning.
4780
a08332c0
GM
47812001-02-05 Gerd Moellmann <gerd@gnu.org>
4782
52283633 4783 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4784 (LFACE_AVGWIDTH): New macro.
4785 (LFACEP): Use AREF.
4786 (check_lface_attrs): Check LFACE_AVGWIDTH.
4787 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4788 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4789 (merge_face_vectors): Check LFACE_AVGWIDTH.
4790 (Finternal_make_lisp_face): Use AREF.
4791 (xm_set_menu_resources_from_menu_face)
4792 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4793 (Finternal_lisp_face_empty_p): Use AREF.
4794 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4795 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4796 Compare average widths..
4797 (best_matching_font): Arrange for comparing average widths.
4798
52283633
SM
4799 * dispextern.h (enum lface_attribute_index):
4800 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4801
5cb3c8d4
DL
48022001-02-05 Dave Love <fx@gnu.org>
4803
4804 * puresize.h: Revert last change following loadup.el change.
4805
193fba87
AI
48062001-02-05 Andrew Innes <andrewi@gnu.org>
4807
4808 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4809 invocation of temacs, to work with Windows 2000.
4810 (bootstrap-emacs): Ditto.
4811
e16f52ce
GM
48122001-02-05 Gerd Moellmann <gerd@gnu.org>
4813
7a58ab59
GM
4814 * xterm.c (x_display_and_set_cursor): Check for the focus
4815 frame's selected window instead of selected_window.
4816
e89aaabd
GM
4817 * xdisp.c (try_scrolling): If point is in the line below the
4818 window, make sure to move the iterator at least a canonical
4819 char height down.
4820
52283633 4821 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4822
789ce875
KH
48232001-02-05 Kenichi Handa <handa@etl.go.jp>
4824
52283633
SM
4825 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4826 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4827 (ccl_driver): If the CCL program is terminated because of
4828 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4829 destination instead of throwing them away.
4830
20b28f82
GM
48312001-02-02 Gerd Moellmann <gerd@gnu.org>
4832
79fb38c0
GM
4833 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4834 faces and other things.
4835
20b28f82
GM
4836 * xdisp.c (get_next_display_element): Fix case of empty
4837 display table entry.
4838
5a72551e
EZ
48392001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4840
eb24d0bf
EZ
4841 * editfns.c (Fconstrain_to_field): Doc fix.
4842
6a3f48c7
EZ
4843 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4844 into `thoroughly', to make it consistent with the doc string.
4845
5a72551e
EZ
4846 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4847
01acdb05
GM
48482001-02-01 Gerd Moellmann <gerd@gnu.org>
4849
0353b28f
GM
4850 * search.c (search_buffer): Call set_search_regs with a byte
4851 position, not a character position.
4852
01acdb05
GM
4853 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4854 minibuffer-only,
4855
e86b5133
EZ
48562001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4857
4858 * frame.c (Fmodify_frame_parameters): Doc fix.
4859
7442878f
GM
48602001-01-31 Gerd Moellmann <gerd@gnu.org>
4861
01acdb05
GM
4862 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4863 identifier which is not reserved by Standard C.
52283633 4864
7442878f
GM
4865 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4866
4867 * window.c (enum window_part): New enumeration.
4868 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4869 Qright_bitmap_area.
4870 (coordinates_in_window): Return an enumerator from enum
4871 window_part. Fix handling of right scroll bar.
4872 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4873 `right-fringe' instead of `left-bitmap-area' and
4874 `right-bitmap-area'. Use enumerators from enum window_part
4875 instead of hard-coded integers.
52283633
SM
4876 (check_window_containing, window_from_coordinates):
4877 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4878 (syms_of_window): Replace Qleft_bitmap_area and
4879 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4880
7c132cba
EZ
48812001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4882
4883 * editfns.c (Fformat_time_string): Doc fix.
4884
c359dd9e
SM
48852001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4886
4887 * keymap.c (Fwhere_is_internal): Use the first valid binding
4888 if no ascii binding is found (when firstonly is t).
4889
ce070307
GM
48902001-01-31 Gerd Moellmann <gerd@gnu.org>
4891
b4f30ec5
GM
4892 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4893 instead of Finteractive_p.
4894
4895 * lisp.h (interactive_p): Add prototype.
4896
4897 * eval.c (interactive_p): New function.
4898 (Finteractive_p): Use it.
4899
ce070307
GM
4900 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4901
f57b6e64
DL
49022001-01-31 Dave Love <fx@gnu.org>
4903
d61c7afe
DL
4904 * .gdbinit (hook-run): Define to run xreload.
4905
f57b6e64
DL
4906 * textprop.c (Fset_text_properties): Fix newline in doc string.
4907
eef93f99
GM
49082001-01-30 Gerd Moellmann <gerd@gnu.org>
4909
52283633
SM
4910 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4911 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4912
4913 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4914 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4915 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4916
4917 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4918 height.
4919
d9c1f6f9
DL
49202001-01-30 Dave Love <fx@gnu.org>
4921
4922 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4923 AFTER_POTENTIAL_GC.
4924
e8f044a0
GM
49252001-01-29 Gerd Moellmann <gerd@gnu.org>
4926
52283633
SM
4927 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4928 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4929
8e1db7b3
EZ
49302001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4931
4932 * textprop.c (Fset_text_properties): Doc fix.
4933
4eefd9d2
GM
49342001-01-29 Gerd Moellmann <gerd@gnu.org>
4935
4936 * xdisp.c (forward_to_next_line_start): Remove xassert.
4937
fccb8288
EZ
49382001-01-29 Jason Rumney <jasonr@gnu.org>
4939
4eefd9d2 4940 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4941 returning without releasing it.
4942
76581eab
KH
49432001-01-29 Kenichi Handa <handa@etl.go.jp>
4944
4945 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4946 for '^', '$', and '\0'.
4947
83a96b4d
AC
49482001-01-28 Andrew Choi <akochoi@i-cable.com>
4949
5604ec34
AC
4950 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4951 regex for '^', '$', and '\0'.
4952
83a96b4d
AC
4953 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4954 only if current_sblock has been initialized.
4955
4956 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4957 terminal frame even if it is the only visible frame.
4958
c09a6440
KH
49592001-01-28 Kenichi Handa <handa@etl.go.jp>
4960
4961 * fontset.c (font_family_registry): Even if FONTNAME conform to
4962 XLFD, if it specifies other fields than family and registry,
52283633 4963 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4964 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4965 a signle byte character. Don't set FAMILY part to nil here.
4966 It is handled by the caller choose_face_font.
c09a6440
KH
4967 (Fnew_fontset): Call font_family_registry with FORCE 0.
4968 (Fset_fontset_font): Likewise.
4969
4dcd74e6
GM
49702001-01-27 Gerd Moellmann <gerd@gnu.org>
4971
4972 * xdisp.c (display_line): Don't treat a newline as fitting
4973 on the line.
4974
d2906bf8
GM
49752001-01-26 Gerd Moellmann <gerd@gnu.org>
4976
0130fe1a
GM
4977 * window.c (size_window): Set the window's orig_top to nil when
4978 changing heights, so that a future shrink_mini_window won't
4979 restore a bogus height.
4980
550f0e6a
GM
4981 * frame.c (do_switch_frame): If selected frame has a mini-window,
4982 resize that to exact size.
4983
b7b20fbd
GM
4984 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4985
a47b7816
GM
4986 * xdisp.c (display_line): Simplify check for glyphs fitting
4987 entirely in the line.
4988
d2906bf8
GM
4989 * xfns.c (xic_style): New variable.
4990 (create_frame_xic): Move static variable to global scope for
550f0e6a 4991 the case that `static' gets defined away.
d2906bf8 4992
73df2b1e
KH
49932001-01-26 Kenichi Handa <handa@etl.go.jp>
4994
4995 * coding.c (decode_coding): Set a flag for inhibiting
4996 inconsistent eol.
4997 (code_convert_region): Always set saved_coding_symbol.
4998 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4999 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5000
6613cfc4
GM
50012001-01-25 Gerd Moellmann <gerd@gnu.org>
5002
c5e6e06b
GM
5003 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5004 XClearArea.
5005
5006 * xterm.c (x_after_update_window_line): Don't clear if frame's
5007 internal border width is zero.
5008 (x_clear_area): New function.
5009 (x_after_update_window_line, x_clear_end_of_line)
5010 (x_scroll_bar_create, x_scroll_bar_set_handle)
5011 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5012 instead of XClearArea.
5013
5014 * xterm.h (x_clear_area): Add prototype.
5015
6613cfc4
GM
5016 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5017 which doesn't seem necessary anymore with Lesstif 0.92.
5018
650cc6cc
DL
50192001-01-25 Dave Love <fx@gnu.org>
5020
34ac3367
DL
5021 * puresize.h (BASE_PURESIZE): Up to 720000.
5022
650cc6cc
DL
5023 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5024
5e37dc22
GM
50252001-01-25 Gerd Moellmann <gerd@gnu.org>
5026
e1e441f9
GM
5027 * xdisp.c (echo_area_display): Don't call redisplay_internal
5028 when Emacs is shutting down. We can't run hooks etc. that
5029 would be necessary to do a redisplay.
5030
5e37dc22
GM
5031 * lread.c (read_integer): Use type EMACS_INT instead of int.
5032
0fb94c7f
EZ
50332001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5034
5035 * ccl.c (ccl_driver): Fix last change.
5036
e3778624
KH
50372001-01-25 Kenichi Handa <handa@etl.go.jp>
5038
5039 * ccl.h (sturct ccl_program): New member suppress_error.
5040
bb264518 5041 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5042 insert error message to the output.
5043 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5044
5045 * coding.h (struct coding_system): New member suppress_error.
5046
5047 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5048 (Fset_terminal_coding_system_internal): Set the member
5049 suppress_error to 1.
5050 (Fset_safe_terminal_coding_system_internal): Likewise.
5051
245ed2b1
SM
50522001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5053
5054 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5055 as if it was a `charset'.
5056
f9aaedb6
GM
50572001-01-24 Gerd Moellmann <gerd@gnu.org>
5058
5059 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5060 value in where_is_cache; the next lookup in the cache returns
5061 something bogus if we do.
5062
c3902c3e
EZ
50632001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5064
5065 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5066 if HAVE_WINDOW_SYSTEM isn't defined.
5067
3497f73e
GM
50682001-01-24 Gerd Moellmann <gerd@gnu.org>
5069
e7e41584
GM
5070 * fns.c (sweep_weak_table): Fix code taking items out of
5071 the hash collision chain. Some cleanup.
5072
3497f73e
GM
5073 * xterm.c (x_new_font): Don't change a tooltip's size.
5074
5075 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5076 background color by specifying a color for the default font
5077 in .Xdefaults.
5078
3d48e687
KH
50792001-01-24 Kenichi Handa <handa@etl.go.jp>
5080
96531b20
KH
5081 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5082 a workaround for SunOS 4's cc.
5083 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5084 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5085 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5086 statement.
3d48e687 5087
a30629d2
GM
50882001-01-23 Gerd Moellmann <gerd@gnu.org>
5089
5090 * xterm.c (x_set_window_size_1): New function extracted from
5091 x_set_window_size.
5092 (x_set_window_size): Use it.
5093 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5094 doesn't have a widget, like tooltips.
5095
5a43decf
EZ
50962001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5097
52283633 5098 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5099
b0e98867
KH
51002001-01-23 Kenichi Handa <handa@etl.go.jp>
5101
5102 * fns.c (Fset_char_table_default): Fix to make sub char-table
5103 correctly.
5104
50606b4c
GM
51052001-01-22 Gerd Moellmann <gerd@gnu.org>
5106
cb2ddc53 5107 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5108 a desired tool bar string, even if there are no tool bar items.
5109
57c28064
GM
5110 * xdisp.c (Ftool_bar_lines_needed): New function.
5111 (syms_of_xdisp): Defsubr it.
5112
50606b4c
GM
5113 * editfns.c (Fformat): Don't extend text properties from arguments
5114 to padding chars in the result.
5115
2f169c38
EZ
51162001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5117
5118 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5119
0f32f023
AI
51202001-01-20 Andrew Innes <andrewi@gnu.org>
5121
52283633 5122 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5123 (w32_initialize): Don't set term hooks that aren't actually needed
5124 in windowed mode.
5125
5126 * xfaces.c (realize_default_face):
5127 (realize_face):
5128 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5129
5130 * xdisp.c (handle_single_display_prop): Remove references to
5131 FRAME_W32_CONSOLE_P.
5132
52283633 5133 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5134
5135 * frame.h (output_method): Remove output_w32_console method.
5136 (FRAME_W32_CONSOLE_P): Remove macro.
5137
5138 * frame.c (Qw32_console): Remove variable.
5139 (Fframep): Remove references to it.
5140 (syms_of_frame): Ditto.
5141 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5142
5143 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5144 redefinition.
5145
7173eada
KH
51462001-01-20 Kenichi Handa <handa@etl.go.jp>
5147
5148 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5149
755b45ce
AI
51502001-01-19 Andrew Innes <andrewi@gnu.org>
5151
5152 * w32.c (init_environment): Add a version-independent site-lisp
5153 directory to EMACSLOADPATH, after the version dependent one.
5154
0a949811
GM
51552001-01-19 Gerd Moellmann <gerd@gnu.org>
5156
8501998a
GM
5157 * editfns.c (Fbuffer_substring): Doc fix.
5158
52283633
SM
5159 * xdisp.c (message_dolog, message2, message2_nolog):
5160 Rename parameter LEN to NBYTES.
0a949811 5161
e6ebcbbe
KH
51622001-01-19 Kenichi Handa <handa@etl.go.jp>
5163
200ecca2
KH
5164 * charset.c (strwidth): Use c_string_width.
5165 (c_string_width): New function.
5166 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5167 Caller changed.
5168
5169 * charset.h (c_string_width, lisp_string_width): Extern them.
5170
52283633 5171 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5172
e6ebcbbe
KH
5173 * indent.c (check_composition): Check validity of composition.
5174
200ecca2
KH
5175 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5176 characters by calling c_string_width.
5177 (x_consider_frame_title): Get byte length of frame tile string
5178 correctly.
5179 (display_mode_element): Pay attention to width of non-ASCII
5180 characters by calling strwidth.
5181
8692ca92
GM
51822001-01-18 Gerd Moellmann <gerd@gnu.org>
5183
8962e303
GM
5184 * xfns.c (Qcancel_timer): New variable.
5185 (syms_of_xfns): Initialize and staticpro it.
5186 (Fx_hide_tip, Fx_show_tip): Use it.
5187 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5188 the timer.
5189 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5190
91523be9
GM
5191 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5192
5193 * window.h (WINDOW_LIVE_P): New macro.
5194
b0b7ed0e
GM
5195 * window.c (window_size_fixed): New variable.
5196 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5197 the doc string.
5198
06bccf8e
GM
5199 * eval.c (specbind): If binding a per-buffer variable which
5200 doesn't have a buffer-local value in the current buffer, change
5201 the global value by changing the value of the symbol bound in all
5202 buffers not having their own value, to make it consistent with
5203 what happens with other buffer-local variables.
5204
8692ca92
GM
5205 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5206
5207 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5208 when searching for a newline.
5209
bb3a3b50
KH
52102001-01-18 Kenichi Handa <handa@etl.go.jp>
5211
5212 * xdisp.c (display_string): Fix previous change.
5213
c2cc16fa
JR
52142001-01-18 Jason Rumney <jasonr@gnu.org>
5215
5216 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5217 GLYPH_DEBUG is defined.
5218 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5219 true for images with `:ascent 100'.
5220 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5221 meantime, use face MOUSE_FACE_ID.
5222 If first glyph isn't a character glyph, use the ASCII NUL
5223 character to determine the face.
5224 (expose_area): Do not treat left margin specially.
5225 (note_mode_line_highlight): If no local_map, check global keymap.
5226 (note_mouse_highlight): Initialize overlay.
52283633 5227 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5228 (show_scroll_bars): Remove unused function.
5229 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5230 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5231 Clip to row.
52283633 5232 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5233 (x_free_frame_resources): Unload relief colors.
5234
9c11f79e
GM
52352001-01-17 Gerd Moellmann <gerd@gnu.org>
5236
3aec8722 5237 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5238 get_next_display_element when the newline is already found.
5239 This may change the iterator's position, when its current position is
3aec8722
GM
5240 equal to the iterator's stop_charpos.
5241
f3ffc2c3
GM
5242 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5243 zero, use this method only at the end of a line.
5244
52283633 5245 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5246 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5247 if SCALABLE_FONTS_P is set.
52283633 5248
d26d6fd9
GM
5249 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5250 so that scalable fonts are included.
5251
9c11f79e
GM
5252 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5253 In the cache, use a key containing the information if scalable
5254 fonts are included.
5255 (x_load_font): Adapt to change of keys in the font cache.
5256
52572001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5258
d26d6fd9
GM
5259 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5260 XListFonts to take advantage of font caching.
5261
9c11f79e
GM
5262 * xterm.c (x_list_fonts): Ensure caching font information when
5263 called for a null frame, which is the case frequently when Emacs
5264 starts.
5265
51446987
GM
52662001-01-17 Gerd Moellmann <gerd@gnu.org>
5267
f864120f
GM
5268 * xfns.c (QCconversion): Replaces QCalgorithm.
5269
5270 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5271
5272 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5273 of :algorithm.
52283633 5274
e37d1417
GM
5275 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5276 not everything could be displayed.
5277
51446987
GM
5278 * line.h, x-list-font.c: Files removed because unused.
5279
9ad4f3e5
AI
52802001-01-17 Andrew Innes <andrewi@gnu.org>
5281
5282 * dired.c (directory_files_internal): Convert result from readdir
5283 to a unibyte string initially, to avoid possible misinterpretation
5284 of some bytes as the internal form of Emacs characters.
5285
2eda09b5
KH
52862001-01-17 Kenichi Handa <handa@etl.go.jp>
5287
5288 * fns.c (concat): Be sure to avoid putting the same `composition'
5289 property on the adjacent regions.
5290
826f3788
GM
52912001-01-16 Gerd Moellmann <gerd@gnu.org>
5292
52283633 5293 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5294 (Fscroll_right, Fscroll_left): Set it here instead, if called
5295 interactively.
5296
d57b83b3
GM
5297 * buffer.c (Fset_buffer_modified_p): Set buffer's
5298 prevent_redisplay_optimizations_p flag.
5299
826f3788 5300 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5301 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5302 with additional arg.
5303
5304 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5305 Change prototype.
826f3788 5306
826f3788
GM
5307 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5308 FROM_WHERE, for debugging.
5309
261d788b
KH
53102001-01-16 Kenichi Handa <handa@etl.go.jp>
5311
5312 * ccl.c (Fregister_ccl_program): Handle the return value of
5313 resolve_symbol_ccl_program correctly.
52283633 5314 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5315
bccee4f2
GM
53162001-01-15 Gerd Moellmann <gerd@gnu.org>
5317
e4ded23c
GM
5318 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5319 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5320
5321 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5322 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5323 the display; we didn't open it.
5324
bccee4f2
GM
5325 * dispnew.c (save_or_restore_current_matrices): Function removed.
5326 (save_current_matrix, restore_current_matrix): New functions.
5327 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5328 restore the frame's current matrix. Due to the glyph pointer
5329 setup done in adjust_glyph_matrix, there is no easy way to make
5330 saving the current matrix in the desired matrix generally correct,
5331 so don't try it.
5332
ebeccffa
KH
53332001-01-15 Kenichi Handa <handa@etl.go.jp>
5334
5335 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5336 truncation glyphs.
5337 (display_line): Optimize for wide characters.
e4ded23c 5338 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5339 partially. On ttys, produce more than one truncation glyph for
5340 multi-column characters that don't fit on the line.
5341
64388126
KH
53422001-01-13 Kenichi Handa <handa@etl.go.jp>
5343
52283633
SM
5344 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5345 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5346
8edb0a6f
JR
53472001-01-13 Jason Rumney <jasonr@gnu.org>
5348
5349 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5350 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5351 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5352 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5353
52283633
SM
5354 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5355 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5356 (x_draw_image_glyph_string): Adapt to change of image margins.
5357
5358 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5359 variables.
5360
5361 * w32bdf.c (search_file_line, get_cached_font_char)
5362 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5363
5364 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5365
5366 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5367 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5368 (Fw32_send_sys_command): Remove unused variables.
5369 (w32_msg_pump): Add parentheses.
5370
5371 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5372 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5373 Add parentheses.
5374
4956d1ef
GM
53752001-01-12 Gerd Moellmann <gerd@gnu.org>
5376
b30623be
GM
5377 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5378 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5379 being a pair of margins.
5380 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5381 to DEFVAR_LISP. Extend doc.
5382
5383 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5384 margins.
5385 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5386 pair of integers `(X . Y)', use X for the horizontal and Y for the
5387 vertical margin.
5388 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5389 (parse_image_spec): Check it.
52283633
SM
5390 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5391 (tiff_format, gif_format, gs_format):
5392 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5393
52283633
SM
5394 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5395 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5396 (x_draw_image_glyph_string): Adapt to the change of image margins.
5397
5398 * dispextern.h (struct image): Replace member `margin' with
5399 `hmargin' and `vmargin'.
5400
4554cc79
GM
5401 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5402 and GLYPHS.
5403
5404 * dispnew.c (update_text_area): Put code which decrements the
5405 stop position when the row's face extends to the end of the
3bffc665 5406 line in #if 0.
4554cc79 5407
3cccce8d
GM
5408 * xfns.c (x_set_mouse_color): Fix color allocation.
5409
4956d1ef
GM
5410 * keyboard.c: Call get_local_map with new argument list.
5411
5412 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5413
5414 * intervals.h (enum map_property): Removed.
5415 (get_local_map): Change prototype.
5416
5417 * keymap.c: Call get_local_map with new argument list.
5418 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5419
2c2ff7f2
GM
54202001-01-11 Gerd Moellmann <gerd@gnu.org>
5421
a23887b9
GM
5422 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5423 of the size needed for the tool bar string. For the last image,
5424 use a `display' property that reaches to the end of the string.
5425
a7ee2d2e
GM
5426 * xselect.c (selection_request_dpyinfo): New variable.
5427 (x_handle_selection_request): Set it.
5428 (x_selection_request_lisp_error): Don't call
5429 x_decline_selection_request if selection request's display has
5430 been closed.
5431
52283633
SM
5432 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5433 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5434
457b792c
GM
54352001-01-10 Dave Love <fx@gnu.org>
5436
5437 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5438 ${SOME_MACHINE_LISP}, not ${lisp}.
5439
c1efd260
GM
54402001-01-10 Gerd Moellmann <gerd@gnu.org>
5441
52283633
SM
5442 * xdisp.c (display_line): On ttys, produce more than one truncation
5443 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5444
ac95a621
GM
5445 * xselect.c (x_reply_selection_request): Add a comment.
5446
c1efd260
GM
5447 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5448 XkbGetNames instead of XkbGetKeyboard.
5449
1bfb1345
DL
54502001-01-10 Dave Love <fx@gnu.org>
5451
5452 * sysdep.c (random): Revert the declaration.
5453
38119822
GM
54542001-01-09 Gerd Moellmann <gerd@gnu.org>
5455
52283633
SM
5456 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5457 Call function string_bytes.
35f464a7
GM
5458 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5459
5460 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5461 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5462 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5463 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5464 the current sblock.
5465 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5466 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5467 after sweeping strings, and at the end.
5468 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5469
38119822
GM
5470 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5471 ensure that pop_message is called.
5472
5473 * keyboard.c (Fexecute_extended_command): Use a
5474 record_unwind_protect to ensure that pop_message is called.
5475
5476 * lisp.h (push_message_unwind): Add prototype.
5477
5478 * xdisp.c (push_message_unwind): New function.
5479
5480 * fileio.c (do_auto_save_unwind): Do the pop_message here
5481 instead of in Fdo_auto_save.
5482 (Fdo_auto_save): Don't call pop_message.
5483
f47a9ec4
KR
54842001-01-08 Ken Raeburn <raeburn@gnu.org>
5485
5486 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5487 in inner block.
5488
a758f97d
GM
54892001-01-08 Gerd Moellmann <gerd@gnu.org>
5490
6d0afc03
GM
5491 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5492 when increasing window's vscroll.
5493
a758f97d
GM
5494 * macros.c (Qkbd_macro_termination_hook): New variable.
5495 (syms_of_macros): Initialize and staticpro it.
5496 (pop_kbd_macro): Run kbd-macro-termination-hook.
5497
5498 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5499
1bfb1345 55002001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5501
5502 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5503 arglist, for documentation's sake.
5504
0dac6924
AI
55052001-01-06 Andrew Innes <andrewi@gnu.org>
5506
5507 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5508 of *.pdb.
5509
8182406a
AI
55102001-01-05 Andrew Innes <andrewi@gnu.org>
5511
5512 * term.c (update_end): Don't check updating_frame; for some reason
5513 this can be 0 sometimes, such as after dismissing a popup menu,
5514 and isn't necessary given the explicit frame argument.
5515
3828218c
GM
55162001-01-05 Gerd Moellmann <gerd@gnu.org>
5517
5518 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5519 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5520
2f5ded21
GM
55212001-01-04 Gerd Moellmann <gerd@gnu.org>
5522
52283633 5523 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5524
5525 * xfns.c (x_create_tip_frame): Preserve the value of
5526 face_change_count around the creation of the tip frame.
52283633 5527
2f5ded21
GM
5528 * xfns.c (last_show_tip_args): New variable.
5529 (compute_tip_xy): New function.
5530 (Fx_show_tip): Reuse an existing tip frame, if possible.
5531 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5532
dfad65fa
DL
55332001-01-04 Dave Love <fx@gnu.org>
5534
64d4ec0f
DL
5535 * editfns.c (Fformat): Doc fix.
5536
dfad65fa
DL
5537 * systime.h (set_file_times): Prototype.
5538
5539 * widget.h (EmacsFrameSetCharSize_): Prototype.
5540
5541 * sysdep.c (random, srandom): Declare explicitly.
5542
5543 * dispextern.h (move_it_vertically_backward): Declare.
5544
85fe3b5e
GM
55452001-01-04 Gerd Moellmann <gerd@gnu.org>
5546
0f2ac578
GM
5547 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5548 like in Fx_create_frame.
5549
482cca61
GM
5550 * xfaces.c (set_font_frame_param): Don't do anything for
5551 non-graphical frames.
5552
85fe3b5e
GM
5553 * window.c (Fdelete_other_windows): Set window's window_end_valid
5554 to nil when changing the window's start. Don't change the
5555 window's start when its top position hasn't changed. If we do,
5556 this will set the window's optional_new_start, which act's like a
5557 force_start during redisplay with C-x 1 M-> under particular
5558 circumstances (see report from Per Starback to emacs-pretest-bug
5559 from 2000-12-13.).
5560
3e99d3b4
GM
55612001-01-03 Gerd Moellmann <gerd@gnu.org>
5562
a77dc1ec
GM
5563 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5564 short cut at the start of the function. Add an assertion.
5565 (reseat_at_next_visible_line_start): Add an assertion.
5566
2f3cad6c
GM
5567 * window.c (Frecenter): When changing the window start, set the
5568 window's window_end_valid to nil.
5569 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5570
5571 * dispextern.h (move_it_past_eol): Add prototype.
5572
5573 * xdisp.c (move_it_past_eol): New function.
5574
3e99d3b4
GM
5575 * window.c (Fwindow_end): Doc fix.
5576
55772001-01-03 Dave Love <fx@gnu.org>
5578
52283633 5579 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5580
bafb434c
GM
55812001-01-03 Gerd Moellmann <gerd@gnu.org>
5582
5583 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5584 the enabled_p flag of the glyph row at window_end_vpos to 0.
5585 (handle_single_display_prop): Fix last change.
5586
5297fb00
RS
55872001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5588
5589 * window.c (Frecenter): Doc fix.
5590
13d6a61c
AI
55912001-01-02 Andrew Innes <andrewi@gnu.org>
5592
5593 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5594
5595 * frame.h (output_method): Add output_w32_console method.
5596 (FRAME_W32_CONSOLE_P): New macro.
5597
5598 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5599 use output_w32_console method.
5600 (Qw32_console): New Lisp_Object.
5601 (Fframep): Return it.
5602 (syms_of_frame): Init it.
52283633 5603 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5604
5605 * xfaces.c (realize_default_face): Set face foreground and
5606 background to unspecified for w32_console frames.
5607 (realize_face): Realize face cache for w32_console frames.
5608 (realize_tty_face): Accept w32_console frames.
5609
52283633 5610 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5611 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5612 necessary, even if running interactively.
5613
5614 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5615 w32_console frames.
5616
52283633
SM
5617 * w32term.c (x_update_begin):
5618 (x_update_end):
5619 (x_clear_frame):
5620 (x_ins_del_lines):
5621 (x_change_line_highlight):
5622 (x_delete_glyphs):
5623 (w32_ring_bell):
5624 (x_update_begin):
5625 (x_update_end):
5626 (w32_reassert_line_highlight):
5627 (w32_frame_rehighlight):
13d6a61c
AI
5628 (w32_frame_raise_lower): Do nothing if not w32 frame.
5629
5630 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5631
5632 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5633 system doesn't tell us directly.
5634 (Fx_display_visual_class): Implement properly.
5635
d6bb0c0d
GM
56362001-01-02 Gerd Moellmann <gerd@gnu.org>
5637
5638 * window.c (Frecenter): Handle centering in graphical frames
5639 specially. Centering on the basis of line counts doesn't work
5640 reliably with variable-height lines.
52283633 5641
315f5865
EZ
56422001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5643
5644 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5645 and al[].
5646
52283633 5647 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5648 (update_compositions): Remove unused variable `hook'.
5649
5650 * intervals.c (get_local_map): Remove unused variable `tem'.
5651
5652 * doprnt.c (doprnt1): Remove unused variable `size'.
5653
5654 * fns.c (Flength): Remove unused variable `tail'.
5655 (Fdelete): Remove unused variable `size'.
5656
5657 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5658 and `gcpro2'.
5659
52283633 5660 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5661
5662 * data.c (find_symbol_value): Remove extra 3rd argument in the
5663 call to swap_in_symval_forwarding.
5664
52283633 5665 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5666
5667 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5668 (trivial_regexp_p): Remove unused variable `c'.
5669 (boyer_moore): Remove unused variable `k'.
5670
5671 * indent.c (current_column): Remove unused variable `stopchar'.
5672 (Fcompute_motion): Remove unused variable `contin'.
5673
5674 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5675
5676 * dired.c (directory_files_internal): Fix a typo in a comment.
5677 Remove an unused variable `handler'.
52283633 5678 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5679 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5680 on BSD4_2.
5681
52283633 5682 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5683
5684 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5685 and `buf'.
5686 (Fmarker_insertion_type): Remove unused variable `buf'.
5687
5688 * insdel.c (make_gap): Remove unused variable `result'.
5689
52283633 5690 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5691 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5692 (menu_bar_items): Remove unused function-scope variable `tem'.
5693
5694 * fontset.c (fontset_ref): Remove unused variable `i'.
5695 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5696 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5697 (make_fontset_for_ascii_face): Remove unused variable `name'.
5698 (fs_load_font): Remove unused variable `font_idx'.
52283633 5699 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5700 (list_fontsets): Remove unused variable `tail'.
5701 (Fnew_fontset): Remove unused variables `family' and `registry'.
5702 (accumulate_font_info): Remove unused variable `tmp'.
5703 (Ffontset_font): Remove unused variable `id'.
5704 (syms_of_fontset): Remove unused variable `i'.
5705
5706 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5707 to x_term_init.
5708 (lookup_image): Remove unused variable `file'.
5709 (xbm_load): Remove unused variables `bitmap_data', `height', and
5710 `width'. Remove function-local variable `i', leave the
5711 block-local one.
5712 (gif_load): Remove unused variable `inc'.
5713
52283633 5714 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5715 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5716 leave only the one in the inner block.
5717
5718 * xfaces.c (face_fontset, realize_default_face): Remove unused
5719 variable `fontset'.
5720 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5721
5722 * term.c (encode_terminal_code): Remove unused variable `c'.
5723
5724 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5725 char *' instead of `char *'.
5726
5727 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5728 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5729 (Fchar_category_set): Remove unused variables `val', `charset',
5730 `c1' and `c2'.
5731
52283633
SM
5732 * coding.c (detect_coding_iso2022, setup_coding_system):
5733 Remove unused variable `i'.
315f5865
EZ
5734 (detect_coding_mask): Remove unused variable `idx'.
5735 (detect_coding): Remove unused variable `i'.
5736 (ccl_coding_driver): Remove unused variable `result'.
5737 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5738 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5739 (encode_coding_string): Remove unused variables `gcpro1' and
5740 `saved_coding_symbol'.
5741 (Ffind_coding_systems_region_internal): Remove function-local
5742 variable args[], leave only the block-local one.
5743 (code_convert_region1): Remove unused variable `len'.
5744
5745 * charset.c (char_printable_p): Remove unused variable `chars'.
5746 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5747 (str_to_multibyte): Remove unused variable `c'.
5748
5749 * window.c (size_window): Remove block-local variable `min_size'.
5750
5751 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5752 `header_line_height'.
5753 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5754 enum display_element_type.
5755
1a8a9daf
GM
57562001-01-02 Gerd Moellmann <gerd@gnu.org>
5757
6dde6abc 5758 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5759 statements that call X. Save away the error message in a local copy.
5760
1883b2c6
GM
5761 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5762 the start.
5763
a13be207
GM
5764 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5765 in or at the start of invisible text.
5766
1a8a9daf
GM
5767 * dispnew.c (update_window): Don't check_current_matrix_flags.
5768
3608c0f9
JR
57692001-01-01 Jason Rumney <jasonr@gnu.org>
5770
5771 * w32fns.c (x_figure_window_size): Do not allow new_height and
5772 new_width of frame to override specified values.
5773
abb1acc4
KH
57742000-12-30 Kenichi Handa <handa@etl.go.jp>
5775
52283633 5776 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5777
762a68ec
GM
57782000-12-29 Gerd Moellmann <gerd@gnu.org>
5779
52283633 5780 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5781 (update_window) [GLYPH_DEBUG]: Call it.
5782 (scrolling_window): Prevent including current rows which are below
5783 what's displayed in the window.
5784
5785 * xdisp.c (try_window_reusing_current_matrix)
5786 <new start <= old start>: Disable rows in the current matrix
5787 which are below the window after scrolling.
52283633 5788
762a68ec
GM
5789 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5790 is zero. It's not worth the complexity.
5791 (invisible_text_between_p): Put in #if 0 because unused.
5792
2d5912c1
GM
57932000-12-28 Gerd Moellmann <gerd@gnu.org>
5794
46f6a258
GM
5795 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5796 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5797
89f93679
GM
5798 * keyboard.c (echo_char): If C is an integer, always call
5799 push_key_description. Former code could signal an invalid
5800 character error.
5801
5802 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5803 If set, print multibyte text.
5804 (Fsingle_key_description): Call push_key_description with
5805 FORCE_MULTIBYTE set.
5806 (describe_buffer_bindings): Likewise.
5807
5808 * lisp.h (push_key_description): Add prototype.
5809
c06017fb
GM
5810 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5811 around the call to redisplay_internal.
5812
f1d2ce7f
GM
5813 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5814
2d5912c1
GM
5815 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5816
9371f831
KH
58172000-12-28 Kenichi Handa <handa@etl.go.jp>
5818
5819 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5820 (ccl_driver): New local variable `extra_bytes'.
5821
5822 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5823
52283633
SM
5824 * coding.c (setup_coding_system):
5825 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5826 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5827
0c80628a
KH
58282000-12-28 Kenichi Handa <handa@etl.go.jp>
5829
5830 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5831 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5832 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5833 (decode_composition_emacs_mule): New function.
5834 (decode_coding_emacs_mule): Decode composition sequence by calling
5835 decode_composition_emacs_mule.
5836 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5837 (encode_coding_emacs_mule): Changed from macro to function.
5838 If a text contains compositions, encode them correctly.
0c80628a
KH
5839 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5840 that decoding and encoding are required.
5841
3e32cc27
GM
58422000-12-27 Gerd Moellmann <gerd@gnu.org>
5843
5e25feee
GM
5844 * xfaces.c (PT_PER_INCH): New macro.
5845 (xlfd_point_size): Compute real point size from font's pixel size.
5846 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5847 instead of 72.
5848
892d8fcd
GM
5849 * .gdbinit: Comment out the line pointing to the Lesstif source
5850 directory.
5851
12c8b416
GM
5852 * window.c (Frecenter): Use displayed_window_lines instead
5853 of window_internal_height.
5854
6061fbf0
GM
5855 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5856 instead of x-toolkit-scroll-bars-p.
5857 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5858
5859 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5860 instead of x-toolkit-scroll-bars-p.
5861 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5862
3e32cc27
GM
5863 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5864 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5865 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5866 New variables.
5867 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5868 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5869 (build_frame_matrix_from_leaf_window): Remove unused code.
5870 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5871 redisplay history.
5872 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5873 (update_window) [GLYPH_DEBUG]: Likewise.
5874 (syms_of_display): Defsubr dump-redisplay-history.
5875
31798cfe
GM
58762000-12-23 Gerd Moellmann <gerd@gnu.org>
5877
f717c2ba
GM
5878 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5879 the end of the prompt. Set echo_after_prompt to the offset
5880 of echoptr in echobuf.
5881
aeb2b8fc
GM
5882 * xdisp.c (init_from_display_pos): Pop until the iterator's
5883 stack is empty; there may be frames for stretch or images
5884 on the stack.
5885
31798cfe
GM
5886 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5887 (save_or_restore_current_matrix): New function for the same
5888 purpose, but more efficient.
5889 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5890
f8156156
EZ
58912000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5892
5893 * xdisp.c (syms_of_xdisp): Fix last change.
5894
bdd6d4e8
GM
58952000-12-23 Gerd Moellmann <gerd@gnu.org>
5896
5897 * xdisp.c (syms_of_xdisp): Doc fix.
5898
5899 * xdisp.c (redisplay_window): Remove label restore_buffers;
5900 use finish_scroll_bars instead to make sure that scroll bars
5901 are redeemed. If we don't do this, flickering can result from
5902 scroll bars being destroyed and recreated.
5903
9436cdf9
JR
59042000-12-22 Jason Rumney <jasonr@gnu.org>
5905
5906 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5907 in the wrong colors when the foreground is not black.
5908 (expose_window): Don't redraw the window that's currently being
5909 updated.
5910
951f9df5
GM
59112000-12-22 Gerd Moellmann <gerd@gnu.org>
5912
856ff7a7
GM
5913 * window.c (size_window): When setting the window's too_small_ok
5914 flag, compare old size with minimum size depending on WIDTH_P,
5915 don't compare with window_min_width.
52283633 5916
951f9df5
GM
5917 * window.c (delete_window): Simplify somewhat.
5918 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5919 freeing window matrices. The flag windows_or_buffers_changed is
5920 set, so the next redisplay will consider all windows; this should
5921 suffice.
5922
886bc933
KH
59232000-12-22 Kenichi Handa <handa@etl.go.jp>
5924
5925 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5926
5927 * ccl.h (struct ccl_program): New member cr_consumed.
5928
5929 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5930 (CCL_READ_CHAR): Handle EOL conversion here.
5931 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5932
177f4e88
GM
59332000-12-21 Gerd Moellmann <gerd@gnu.org>
5934
52283633 5935 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5936
5937 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5938 otherwise tabs of different size compare equal.
5939
5940 * callint.c (Fcall_interactively): Prevent a compiler warning.
5941
5942 * print.c (print_unwind): Return nil.
5943 (PRINTDECLARE): Initialize all local variables.
5944 (print_preprocess): Add a default case.
5945
8e15274f
GM
5946 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5947
5948 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5949
52283633 5950 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5951 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5952
5953 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5954
5955 * dispnew.c (ensure_frame_matrix): Removed.
5956 (save_frame_matrix, restore_frame_matrix): New functions.
5957 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5958
5959 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5960 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5961
99012074
AI
59622000-12-21 Andrew Innes <andrewi@gnu.org>
5963
5964 * w32term.c (x_update_begin): Regenerate the palette here, rather
5965 than for each window.
5966
5967 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5968 palette is NULL, since this corrupts memory! Also get
5969 display_info reference from frame.
5970
29ef7d2d
JR
59712000-12-21 Jason Rumney <jasonr@gnu.org>
5972
5973 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5974
5975 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5976 to avoid returning without releasing it.
3e27fa1f 5977
3f9d67a6
KH
59782000-12-21 Kenichi Handa <handa@etl.go.jp>
5979
587fc3f9
KH
5980 * keymap.c (push_key_description): Don't convert eight-bit-control
5981 and eight-bit-graphic to multibyte character.
5982
3f9d67a6
KH
5983 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5984 generic character and CODE1 is nil, return the smallest character
5985 in CHARSET.
5986
774ba8c9
DL
59872000-12-20 Dave Love <fx@gnu.org>
5988
5989 * s/osf5-0.h (NSIG): Don't redefine.
5990
88416888
SM
59912000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5992
5993 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5994 excluding menu-bar and tool-bar.
5995 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5996 (menu_item_p): Remove.
5997 (where_is_internal_1): Don't ignore menu-items.
5998
a6426c6f
GM
59992000-12-20 Gerd Moellmann <gerd@gnu.org>
6000
03ff8aab
GM
6001 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6002 into account.
6003
6004 * window.c (make_window): Initialize window's min_hscroll.
6005 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6006 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6007 to zero.
6008 (struct saved_window): New member min_hscroll.
6009 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6010 (Fset_window_configuration): Set window's min_hscroll.
6011 (save_window_save): Save window's min_hscroll.
6012 (compare_window_configurations): Compare min_hscroll values.
6013
6014 * window.h (struct window): New member min_hscroll.
6015
6016 * keyboard.c (echo_prompt): Prevent a compiler warning.
6017
8de4aaf8
GM
6018 * xdisp.c (try_cursor_movement): Fix last change. The real
6019 condition is that PT is at the end of the row, and should
6020 be displayed at the start of the next row.
52283633 6021
3f7e3031
GM
6022 * xdisp.c (try_cursor_movement): If we end on a partially
6023 visible line, end we already decided to scroll, return -1.
6024
a6426c6f
GM
6025 * dispextern.h (ensure_frame_matrix): Add prototype.
6026
6027 * window.c (delete_window, Fsplit_window)
6028 (Fset_window_configuration): Call ensure_frame_matrix.
6029
52283633
SM
6030 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6031 New functions.
a6426c6f
GM
6032 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6033 completed, call fake_current_matrices instead of marking frame
6034 garbaged.
6035
57fa2774
JR
60362000-12-20 Jason Rumney <jasonr@gnu.org>
6037
6038 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6039
d925df90
EZ
60402000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6041
6042 * fns.c (Frequire): Doc fix.
6043
7b93a85b
GM
60442000-12-19 Gerd Moellmann <gerd@gnu.org>
6045
52283633 6046 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6047
c74e645b
GM
6048 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6049 currently displaying a message.
6050
7b93a85b
GM
6051 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6052 xterm.h.
6053 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6054
90d97e64
AI
60552000-12-18 Andrew Innes <andrewi@gnu.org>
6056
6057 * w32.c (w32_strerror): New function.
6058
6059 * w32.h (w32_strerror): New extern.
6060
6061 * w32fns.c (Fw32_shell_execute): Use it.
6062
91c9e6ce
GM
60632000-12-18 Gerd Moellmann <gerd@gnu.org>
6064
6065 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6066
6f4745e2
EZ
60672000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6068
6069 * msdos.c (IT_set_face): Obey inverse_video.
6070
c9e088ce
KH
60712000-12-18 Kenichi Handa <handa@etl.go.jp>
6072
6073 * dired.c (directory_files_internal): Always return decoded filenames.
6074
c3695f5f
GM
60752000-12-18 Gerd Moellmann <gerd@gnu.org>
6076
52d8e4ff
GM
6077 * xterm.c (x_connection_closed): Prevent being called recursively
6078 because of an error condition in XtCloseDisplay.
52283633 6079
62be9979
GM
6080 * xdisp.c (init_iterator): If noninteractive, and the frame's
6081 face cache is null, make one.
6082
52283633 6083 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6084
c3695f5f
GM
6085 * process.c (wait_reading_process_input): Check for pending
6086 input when running timers.
6087
78555fbe
EZ
60882000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6089
52283633 6090 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6091
b2b36264
KH
60922000-12-18 Kenichi Handa <handa@etl.go.jp>
6093
6094 * process.c (read_process_output): Don't run a filter if the code
6095 decoder produces nothing but carryover.
6096
9c543fbf
AI
60972000-12-17 Andrew Innes <andrewi@gnu.org>
6098
6099 * w32.c (sys_rename): Only check errno against EEXIST, and not
6100 EACCES, when determining whether rename failed because the target
6101 exists. This was resulting in indefinite looping on Windows 9x if
6102 the source file was locked by another process.
6103
6104 * w32fns.c (Ffile_system_info): New function.
6105 (syms_of_w32fns): Defsubr it.
6106
10c2b5a8
GM
61072000-12-17 Gerd Moellmann <gerd@gnu.org>
6108
b0228ace
GM
6109 * window.c (coordinates_in_window): Fix computation for
6110 position on vertical line between mode lines.
6111
10c2b5a8
GM
6112 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6113 Don't alter tip_frame or tip_window.
6114 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6115 was deleted.
6116
c844a81a
GM
6117 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6118 Don't alter tip_frame or tip_window.
6119 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6120 was deleted.
6121
6c825f8e
EZ
61222000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6123
6124 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6125 be consistent with the doc string. Reported by NAKAJIMA Mikio
6126 <minakaji@osaka.email.ne.jp>.
6127
af4bb4c8
KH
61282000-12-16 Kenichi Handa <handa@etl.go.jp>
6129
6130 * xfaces.c (Vface_ignored_fonts): New variable.
6131 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6132 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6133
8062e53a
GM
61342000-12-15 Gerd Moellmann <gerd@gnu.org>
6135
e87b8809
GM
6136 * dispnew.c (update_window): Detect pending input every nth line
6137 updated, i.e. do it depending on real work done, and not on the
6138 vpos of the line.
6139
6140 * xterm.c (expose_window): Don't redraw the window that's
6141 currently being updated.
6142
a6768cc5
GM
6143 * window.c (Fset_window_point): Remove test for
6144 cursor_in_non_selected_windows.
6145
4ea7fdca
GM
6146 * lread.c (read1): Recognize end of file after `\\'.
6147
8062e53a
GM
6148 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6149 not unwind_create_frame.
6150
bb7959c1
GM
61512000-12-15 Dave Love <fx@gnu.org>
6152
6153 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6154 bcopy & al.
6155
6156 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6157
ced04c42
KH
61582000-12-15 Kenichi Handa <handa@etl.go.jp>
6159
c5443913
KH
6160 * coding.c (setup_coding_system): Clear all members of the struct
6161 coding_system at first.
bc137305
KH
6162 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6163 argument.
6164 (code_convert_region): Don't override coding->src_multibyte and
6165 coding->dst_multibyte.
c5443913 6166
ced04c42
KH
6167 * fns.c (Fmd5): Docstring improved.
6168
c2d7f289
MB
61692000-12-15 Miles Bader <miles@gnu.org>
6170
6171 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6172 are actually marked as mode-lines; otherwise use
6173 estimate_mode_line_height.
6174
9d7d9263
GM
61752000-12-14 Gerd Moellmann <gerd@gnu.org>
6176
6177 * editfns.c (Fformat): Prevent a buffer overrun when the format
6178 specifies a precision.
6179
7cf0153a
EZ
61802000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6181
6182 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6183 argument is outside the range [2..3].
6184
1de0f662
AI
61852000-12-14 Andrew Innes <andrewi@gnu.org>
6186
6187 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6188 nothing to do. Bind inhibit-quit.
6189 (tip_frame): Make it a Lisp_Object.
6190 (x_create_tip_frame): Set tip_frame after it has been added to
6191 Vframe_list.
6192 (Fx_show_tip): Don't set tip_frame here.
52283633 6193 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6194 (unwind_create_frame, unwind_create_tip_frame): New functions.
6195 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6196 while a frame is only partially constructed.
6197
6198 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6199 (x_free_frame_resources): New function.
6200 (x_destroy_window): Use it.
6201
02387dcc
GM
62022000-12-14 Gerd Moellmann <gerd@gnu.org>
6203
6204 * xfns.c (Fx_backspace_delete_keys_p): New function.
6205 (syms_of_xfns): Defsubr it.
6206
6207 * config.in (HAVE_XKBGETKEYBOARD): Add.
6208
0544ef49
KH
62092000-12-14 Kenichi Handa <handa@etl.go.jp>
6210
98d62747
KH
6211 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6212 Always store string in multibyte representation in echobuf.
6213 (echo_char): Always store string in multibyte representation in
6214 echobuf.
6215 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6216 (read_key_sequence): Adjusted for the change of echo_prompt.
6217
a20193cd
KH
6218 * fns.c (Fmd5): Docstring improved.
6219
191b83b6
KH
6220 * lisp.h (detect_coding_system): Prototype adjusted.
6221
0544ef49
KH
6222 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6223 (detect_coding_emacs_mule, detect_coding_iso2022,)
6224 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6225 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6226 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6227 (detect_coding_mask, detect_coding_system): New argument
6228 MULTIBYTEP. Callers changed.
1da1bb05
KH
6229 (decode_coding_string): Set coding->src_multibyte and
6230 coding->dst_multibyte before calling detect_coding and detect_eol.
6231 Update them after some coding system is detected.
52283633 6232
d5b3eb1b
SM
62332000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6234
6235 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6236
6237 * keyboard.c (menu_bar_items, tool_bar_items):
6238 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6239
f7f8bb69
GM
62402000-12-13 Gerd Moellmann <gerd@gnu.org>
6241
52283633 6242 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6243 New variables.
6244 (unwind_create_frame, unwind_create_tip_frame): New functions.
6245 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6246 while a frame is only partially constructed.
6247
6248 * xterm.h (x_free_frame_resources): Declare.
6249
6250 * xterm.c (x_free_frame_resources): New function.
6251 (x_destroy_window): Use it.
6252
e10da507
GM
6253 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6254 don't interrupt the update for pending input initially, i.e.
6255 update at least some lines.
6256
6257 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6258
d5b3eb1b 6259 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6260
6261 * xfns.c (gray_bitmap_bits): Declare `char *'.
6262
90aa2856
GM
62632000-12-12 Gerd Moellmann <gerd@gnu.org>
6264
6265 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6266 lines start with a relief line.
6267
a308c9cd
DL
62682000-12-12 Dave Love <fx@gnu.org>
6269
6270 * window.c (Fdisplay_buffer): Doc fix.
6271 (Fwindow_list): Remove unused var.
6272
6273 * buffer.h (mmap_set_vars): Declare.
6274
6275 * window.h (Fset_window_point): Declare.
6276
d575011f
EZ
62772000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6278
bf6282d2 6279 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6280 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6281 variable `area'. When looking for a row under (X,Y), give up if some
6282 of the previous rows is not enabled.
d575011f 6283
ecf4d726
GM
62842000-12-12 Gerd Moellmann <gerd@gnu.org>
6285
2ebf6139
GM
6286 * window.c (Fset_window_point): If displaying cursors in windows
6287 other than the selected window, make sure redisplay updates
6288 other windows to show the new value of point in the window.
6289
6290 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6291
bfdb75ee
GM
6292 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6293 the buffer is the sole visible buffer when in the mini-buffer.
6294
52283633 6295 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6296 Bind `inhibit-read-only' to t.
6297 (unwind_with_echo_area_buffer): Use AREF.
6298
c0006262
GM
6299 * xfns.c (Fx_hide_tip): Simplified.
6300
52283633
SM
6301 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6302 instead of `1'.
e9a59cad 6303
ecf4d726
GM
6304 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6305
e5959a9a
GM
63062000-12-11 Gerd Moellmann <gerd@gnu.org>
6307
a3642e49 6308 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6309
44b5a125
GM
6310 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6311 nothing to do. Bind inhibit-quit.
6312 (tip_frame): Make it a Lisp_Object.
6313 (x_create_tip_frame): Set tip_frame after it has been added to
6314 Vframe_list.
6315 (Fx_show_tip): Don't set tip_frame here.
6316
6317 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6318
6319 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6320 Lisp_Object.
6321
6322 * dispextern.h: Change external declaration of tip_frame.
6323
d990421f
GM
6324 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6325 return an empty string.
6326
4db87380
GM
6327 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6328 of the window's update_mode_line flag, since the former is set by
6329 force-mode-line-update, not the latter. This makes
6330 column-number-mode slightly faster.
52283633 6331
e5959a9a
GM
6332 * xdisp.c (try_window_id) <all changes above window start>:
6333 Set the cursor.
6334
169fe44e
GM
63352000-12-11 Paul Eggert <eggert@twinsun.com>
6336
6337 * config.in (HAVE_FTELLO): Remove.
6338 (HAVE_FSEEKO): Add.
6339 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6340 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6341 HAVE_FTELLO.
6342 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6343 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6344
59ec59ae
MB
63452000-12-11 Miles Bader <miles@gnu.org>
6346
6347 * window.c (displayed_window_lines): Don't round up when
6348 converting empty space at bottom to lines.
ff904dd6
MB
6349 Handle non-newline-terminated final lines properly.
6350 (Fwindow_text_height): New function (used to be in lisp).
6351 (syms_of_window): Initialize it.
59ec59ae 6352
42ebfa31
SM
63532000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6354
6355 * syntax.c (scan_lists): Check that the right quote char has the
6356 right Sstring syntax when jumping over strings.
6357 (init_syntax_once): Use Smax rather than 13.
6358
5cdb3cf3
MB
63592000-12-09 Miles Bader <miles@gnu.org>
6360
6361 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6362 with PARTIALLY, inverting the sense.
6363 (window_scroll_pixel_based): Scroll partially visible lines into
6364 place if we hit the beginning or end of the buffer.
a12167c5
MB
6365 (displayed_window_lines): Don't include partially visible lines.
6366 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6367
842b2a94
GM
63682000-12-08 Gerd Moellmann <gerd@gnu.org>
6369
6370 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6371
6372 * tparam.c (tparam1): Change the way buffers are reallocated to be
6373 portable and less obfuscated.
6374
6375 * termcap.c (tgetent): Change the way buffers are reallocated to
6376 be portable and less obfuscated.
6377
6378 * macros.c (store_kbd_macro_char): Change the way buffers are
6379 reallocated to be portable and less obfuscated.
6380
6381 * lread.c (read1): Change the way buffers are reallocated to be
6382 portable and less obfuscated.
6383
6384 * doc.c (Fsubstitute_command_keys): Change the way buffers
6385 are reallocated so that it is portable.
6386
137cad7c
EZ
63872000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6388
6389 * dosfns.c (Ffile_system_info): New function.
6390 (syms_of_dosfns): Defsubr it.
6391
5c7f629c
SM
63922000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6393
6394 * alloc.c (gc_sweep): Add comment.
6395
959e647d
GM
63962000-12-07 Gerd Moellmann <gerd@gnu.org>
6397
52283633
SM
6398 * sound.c (vox_configure): Change order of ioctls.
6399 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6400 Ignore errors when changing volume.
6401 (vox_close): Don't reset the device.
6402
926b7e5e
GM
6403 * process.c (read_process_output): Make sure the process marker's
6404 position is valid when the process buffer is changed in
6405 after-change functions. W3 does that.
52283633 6406
959e647d
GM
6407 * xfns.c (x_free_gcs): New function.
6408
6409 * xterm.h (x_free_gcs): Add prototype.
6410
6411 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6412 freeing GCs here.
6413
6414 * xterm.c (x_destroy_window): Call x_free_gcs so that
6415 resources of non-toolkit X windows will be freed.
6416
478ea067
AI
64172000-12-07 Andrew Innes <andrewi@gnu.org>
6418
6419 * w32fns.c (xlfd_charset_of_font): Fix last change.
6420
fbee3231
DL
64212000-12-06 Dave Love <fx@gnu.org>
6422
67292061
DL
6423 * md5.h (__P): Don't define -- it comes from config.h.
6424
fbee3231
DL
6425 * strftime.c: Change some #if foo to #ifdef foo.
6426
4ee87dbb
AI
64272000-12-06 Andrew Innes <andrewi@gnu.org>
6428
6429 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6430
52283633 6431 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6432 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6433 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6434
9765b4a4
GM
64352000-12-06 Gerd Moellmann <gerd@gnu.org>
6436
d285b373
GM
6437 * alloc.c (gc_sweep): Prevent symbols read during loadup
6438 from being freed.
6439
384333ee
GM
6440 * xdisp.c (underlying_face_id): New function.
6441 (handle_face_prop, face_before_or_after_it_pos): Use it
6442 to determine the face ``under'' a string. Let strings inherit
6443 the face of the buffer under them.
6444
6445 * xfaces.c (face_at_string_position): Update function comment.
52283633 6446
d4b72d58
GM
6447 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6448 matrix if the window's left position has changed; we need to
6449 redraw it in this case.
6450
6451 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6452
e1d05387
GM
6453 * window.c (coordinates_in_window): Check mouse on mode-line or
6454 header-line first.
6455
eb1b0c74
GM
6456 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6457 advertized by the function documentation.
6458
d94d636f
GM
6459 * window.c (syms_of_window): Doc fix.
6460
3887b449
GM
6461 * sound.c (vox_configure): Set volume for left and right channel.
6462 (sound_cleanup): Return nil.
6463
efc8f57a
GM
6464 * xdisp.c (move_it_by_lines): Fix paren typo.
6465
9765b4a4
GM
6466 * xterm.c (x_load_font): Don't use the font's max_bounds for
6467 computing the height of the font. If max_bounds' ascent or
6468 descent are greater than the font's ascent or descent, this means
6469 glyphs overlap, which should be handled now by redisplay.
6470
6529ed87
GM
6471 * window.c (Veven_window_heights): New variable.
6472 (syms_of_window): DEFVAR_LISP it.
6473 (Fdisplay_buffer): Check Veven_window_heights before evening the
6474 window heights.
52283633 6475
0eb2ecde
MB
64762000-12-06 Miles Bader <miles@gnu.org>
6477
6478 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6479 update `default-frame-alist' instead of setting no frame parameters.
6480
03d7a167
KH
64812000-12-06 Kenichi Handa <handa@etl.go.jp>
6482
6483 * composite.c (update_compositions): Fix typo (use the correct
6484 variable).
6485
5f8803c2
JR
64862000-12-05 Jason Rumney <jasonr@gnu.org>
6487
6488 * md5.h: Remove underscores from function declarations.
6489 (__attribute__, __alignof__) [!__GNUC__]: Define.
6490
6491 * md5.c: Delay include of md5.h until after namespace cleaning.
6492
c28a075b
JR
6493 * makefile.w32-in (fns.o): Depend on md5.h
6494 (md5.o): New target.
6495 (sunfns.o): Remove.
6496
6497 * makefile.nt: Likewise.
6498
ff3c7056
JR
64992000-12-05 Jason Rumney <jasonr@altavista.net>
6500
6501 * w32term.c (expose_area): Complete last change.
6502
0c21eeeb
KR
65032000-12-05 Ken Raeburn <raeburn@gnu.org>
6504
6505 * minibuf.c: Include intervals.h.
6506
f201d732
JR
65072000-12-05 Jason Rumney <jasonr@gnu.org>
6508
6509 * w32term.c (x_produce_glyphs): If a font for a component of
6510 a composition is not found, use 1 pixel dot ascent and 0 dot
6511 descent value to avoid displaying terribly tall empty boxes.
6512 (expose_area): Pass x-coordinate relative to the exposed
6513 area to x_draw_glyphs instead of a window-relative coordinate.
6514
21999ab9
GM
65152000-12-05 Gerd Moellmann <gerd@gnu.org>
6516
4d2036e4
GM
6517 * xdisp.c (next_element_from_ellipsis): Save face before selective
6518 display in saved_face_id, and set face_before_selective_p.
6519 (reseat_1): Reset face_before_selective_p.
6520 (append_space, extend_face_to_end_of_line): If iterator's
6521 face_before_selective_p is set, use the face from saved_face_id.
6522 (extend_face_to_end_of_line): For tty frames, make sure to
6523 use the right face id when producing spaces at the end of
6524 the line.
6525
6526 * dispextern.h (struct it): Add face_before_selective_p.
6527
52be17cc
GM
6528 * keyboard.c (record_char): Don't record identical help-echo
6529 events in recent_keys.
6530
8a4f36cc
GM
6531 * xterm.c [USE_X_TOOLKIT]: Close the display.
6532 (xim_close_dpy): Handle case that the display has been closed.
6533
57d6e381
GM
6534 * xterm.c (x_destroy_window): Reset the frame's X window after
6535 destroying it.
6536
21999ab9
GM
6537 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6538 variable window_width.
6539 (line_draw_cost): Fix code skipping over spaces at the end of the
6540 line when must_write_spaces is not set.
6541 (scrolling_window): Fix code inserting runs in list of all runs.
6542
91372bb7
KH
65432000-12-05 Kenichi Handa <handa@etl.go.jp>
6544
6545 * coding.c (setup_coding_system): Be sure to initialize
6546 coding->category_idx.
6547
6c083b4c
GM
65482000-12-04 Gerd Moellmann <gerd@gnu.org>
6549
0c68ce6f 6550 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6551
6452929e
GM
6552 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6553 area to x_draw_glyphs instead of a window-relative coordinate.
6554
d7f31e22
GM
6555 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6556 error in the message.
6557
ae18aa3b
GM
6558 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6559 timer after having read a key. It's not good for code reading
6560 several keys in a loop, like an input method.
6561
caa15ef7
GM
6562 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6563 record undo information for format-decode.
6564
6565 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6566 current buffer is read-only, not if it isn't.
6567
6c083b4c
GM
6568 * keyboard.c (record_char): Record `help-echo' input events
6569 in recent_keys only if they display some help. Don't record
6570 `help-echo' events as macro char.
6571
caa15ef7
GM
65722000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6573
6574 * editfns.c (save_excursion_restore): Don't move point
6575 in another window if it is showing the wrong buffer.
6576 Avoid the call to Fwindow_live_p, for speed.
6577
5a13529b
KH
65782000-12-04 Kenichi Handa <handa@etl.go.jp>
6579
e225faa7
KH
6580 * xfaces.c (struct font_name): New member registry_priority.
6581 (split_font_name): Initialize the above member to zero.
6582 (concat_font_list): New function.
6583 (font_list): Include fonts of all alternative registries.
6584 (FONT_POINT_SIZE_QUANTUM): New macro.
6585 (better_font_p): Ignore point size difference less than
6586 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6587
e89648b4
KH
6588 * xterm.c (x_produce_glyphs): If a font for a component of
6589 a composition is not found, use 1 pixel dot ascent and 0 dot
6590 descent value to avoid displaying terribly tall empty boxes.
6591
5a13529b
KH
6592 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6593
d7935eb6
KR
65942000-12-03 Ken Raeburn <raeburn@gnu.org>
6595
6596 * coding.h (code_convert_string1): Declare.
6597
6598 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6599
52283633 6600 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6601
0dd5e255
JR
66022000-12-02 Jason Rumney <jasonr@gnu.org>
6603
6604 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6605 correctly for single byte character case.
6606 (w32_per_char_metric): Do not try to make any assumptions about
6607 the metrics of BDF fonts.
250cfece 6608 (x_estimate_mode_line_height): If `mode-line' face
52283633 6609 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6610 (note_mouse_highlight): Change the cursor shape on the vertical
6611 border between windows [not enabled].
6612
6613 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6614
6615 * w32fns.c (Fx_create_frame): Reintroduce the call to
6616 face-set-after-frame-defaults.
6617 (Vx_window_horizontal_drag_shape): New variable.
6618 (syms_of_xfns): DEFVAR_LISP it.
6619 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6620 enabled].
0dd5e255 6621
b5d8d2ca
GM
66222000-12-02 Simon Josefsson <simon@josefsson.org>
6623
6624 * fns.c (Fmd5): Use a different logic to decide the coding system
6625 to use.
6626
6627 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6628
fbb87147
EZ
66292000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6630
52283633 6631 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6632
447e9da0
GM
66332000-12-01 Gerd Moellmann <gerd@gnu.org>
6634
7708ced0
GM
6635 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6636 height for YNegative.
6637 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6638 height; also see comment there.
6639
447e9da0
GM
6640 * window.c (coordinates_in_window): Handle computations for
6641 positions on the vertical bar and fringes differently for
6642 window-system frames. Consider some pixels near the vertical bar
6643 as on the bar if the frame doesn't have vertical scroll bars.
6644 Associate positions between mode or header lines with the
6645 right window, the left one.
6646
86d1db20
JR
66472000-12-01 Jason Rumney <jasonr@gnu.org>
6648
6649 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6650
6651 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6652 invalid frame.
6653
a1d58e5b
GM
66542000-12-01 Gerd Moellmann <gerd@gnu.org>
6655
52283633 6656 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6657 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6658 (save_window_save, Fset_window_configuration): Save/restore
6659 window's orig_top and orig_height.
6660
89c609af
JR
66612000-12-01 Jason Rumney <jasonr@gnu.org>
6662
4d177746 6663 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6664
89c609af
JR
6665 * w32fns.c (x_set_cursor_color): Fix last change.
6666
eccc05db
GM
66672000-11-30 Gerd Moellmann <gerd@gnu.org>
6668
31b6671b
GM
6669 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6670 sure that the next redisplay displays the minibuffer, so that
6671 the cursor will be replaced with what the minibuffer wants.
6672
eccc05db
GM
6673 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6674 #ifndef instead of using #if.
6675 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6676 USE_TOOLKIT_SCROLL_BARS is defined.
6677
162de750
JR
66782000-11-30 Jason Rumney <jasonr@gnu.org>
6679
6680 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6681 x_display_cursor.
6682
693c4692
GM
66832000-11-30 Gerd Moellmann <gerd@gnu.org>
6684
6685 * fns.c (Fmd5): Doc fix.
6686
b5d8d2ca 66872000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6688
6689 * fns.c (Fmd5): New function.
6690 (syms_of_fns): Defsubr md5.
6691
6692 * Makefile.in (obj): Add md5.o
6693
b02cd40b
GM
66942000-11-30 Gerd Moellmann <gerd@gnu.org>
6695
edfb795e
GM
6696 * md5.h, md5.c: New files, taken from glibc.
6697
df3aedcf
GM
6698 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6699
b02cd40b 6700 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6701 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6702
8b5176cd
SM
67032000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6704
6705 * eval.c (Frun_hooks): Allow 0 arguments.
6706
346598f1
GM
67072000-11-29 Gerd Moellmann <gerd@gnu.org>
6708
f9396e03
GM
6709 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6710 is over the menu bar widget, say it's not on the frame.
6711
4a967a9b
GM
6712 * xfns.c (Fx_create_frame): Reintroduce the call to
6713 face-set-after-frame-defaults.
6714
346598f1
GM
6715 * eval.c (Fsignal): Reset handling_signal.
6716
222456a1
JR
67172000-11-28 Jason Rumney <jasonr@gnu.org>
6718
6719 * w32menu.c (add_menu_item): Reset menu item text when changing
6720 type to radio button.
6721
8049ddc0
GM
67222000-11-28 Gerd Moellmann <gerd@gnu.org>
6723
346598f1 6724 * xselect.c: Update copyright.
f4f4ee4d 6725
bebe4a2c
GM
6726 * window.c (coordinates_in_window): If on a mode or header line,
6727 but sufficiently close to its start, return ``on vertical
6728 border''. This gives us a way to drag windows horizontally when
6729 using toolkit scroll bars.
6730
6731 * xterm.c (note_mouse_highlight): Change the cursor shape
6732 on the vertical border between windows.
6733
6734 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6735
6736 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6737 (syms_of_xfns): DEFVAR_LISP it.
6738 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6739
8d2c2642
GM
6740 * textprop.c (text_read_only): New function.
6741 (verify_interval_modification): Use it instead of signaling
6742 `text-read-only'. This makes it easier to catch this error
52283633 6743 with a breakpoint.:
8d2c2642 6744
52283633 6745 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6746 not end of line, which includes CR.
6747
5a2bae6c
KH
67482000-11-28 Kenichi Handa <handa@etl.go.jp>
6749
6750 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6751 include no-conversion.
6752
ae31f84d
JR
67532000-11-27 Jason Rumney <jasonr@gnu.org>
6754
6755 * w32fns.c (w32_load_system_font): Always mark font as double byte
6756 if codepage is unicode.
6757
67f1cf4c
GM
67582000-11-27 Gerd Moellmann <gerd@gnu.org>
6759
4a74d071 6760 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6761 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6762
902ae620
GM
6763 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6764 `vertical-line', `mode-line' and `header-line' events.
6765
6766 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6767 of a character, a TAB for instance. This is easier than to set
6768 up the iterator exactly, and it's not a frequent case, so the
6769 additional effort wouldn't really pay off.
6770
c1e279c2
AC
67712000-11-26 Andrew Choi <akochoi@i-cable.com>
6772
67f1cf4c 6773 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6774 init_window_once.
6775
a609568a
JR
67762000-11-25 Jason Rumney <jasonr@gnu.org>
6777
52283633
SM
6778 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6779 Args to window_from_coordinates should be pixel coordinates.
48b21762 6780
a609568a
JR
6781 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6782 redisplay handles them properly.
6783
a658d039
MB
67842000-11-25 Miles Bader <miles@gnu.org>
6785
6786 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6787
d3416cca
JR
67882000-11-24 Jason Rumney <jasonr@gnu.org>
6789
6790 * w32.c (init_environment): Set LANG environment variable based on
6791 locale settings, if not set.
6792
6793 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6794 making tool bar smaller. When clearing the frame, also
6795 clear current matrices. Clear frame when tool bar disappears.
6796 Don't use more lines for the tool-bar than is available.
6797 (x_change_window_heights): New function.
6798
ba193890
GM
67992000-11-24 Gerd Moellmann <gerd@gnu.org>
6800
2be8f184
GM
6801 * xdisp.c (init_from_display_pos): If POS says we're already after
6802 an overlay string ending at POS, make sure to pop the iterator
6803 because it will be in front of that overlay string. When POS is
6804 ZV, we've thereby also ``processed'' overlay strings at ZV.
6805
ba193890
GM
6806 * xfaces.c (lface_from_face_name): Function comment fix.
6807
1862a24e
MB
68082000-11-24 Miles Bader <miles@gnu.org>
6809
6810 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6811 apply `mode-line-inverse-video' -- zero means force display using
6812 the default face, non-zero means display using the specialized face.
6813 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6814
f07fa1b8
KH
68152000-11-23 Kenichi Handa <handa@etl.go.jp>
6816
6817 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6818 hard coded `4'.
6819
2bcdf662
EZ
68202000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6821
6822 * coding.c (decode_coding_emacs_mule): Fix the case of
6823 CODING_EOL_LF, which used uninitialized value of c.
6824
ba8299ff
SM
68252000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6826
6827 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6828
f4117c4d
GM
68292000-11-22 Gerd Moellmann <gerd@gnu.org>
6830
03e757c1
GM
6831 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6832 buffer object.
6833
f4117c4d
GM
6834 * frame.h (struct frame): Replace desired_tool_bar_items,
6835 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6836 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6837
6838 * frame.c (make_frame): Change initialization of tool bar
6839 items accordingly.
6840
6841 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6842 Change references to members deleted from struct frame to use the
f4117c4d
GM
6843 new ones.
6844
6845 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6846 references to members deleted from struct frame to use the new ones.
f4117c4d 6847
52283633 6848 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6849
6850 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6851
6852 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6853 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6854 from struct frame to use the new ones.
6855
f8e2f3f2
MB
68562000-11-23 Miles Bader <miles@gnu.org>
6857
6858 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6859 the face's inverse-video attribute, rather than overriding it.
6860
60e8e0a5
GM
68612000-11-22 Gerd Moellmann <gerd@gnu.org>
6862
6863 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6864 making tool bar smaller.
6865
92dd1b29
DL
68662000-11-22 Dave Love <fx@gnu.org>
6867
6868 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6869
e672fdce
MB
68702000-11-22 Miles Bader <miles@gnu.org>
6871
3a17d6cc
MB
6872 * keyboard.c (Vminibuffer_message_timeout): New variable.
6873 (command_loop_1): Use it to determine message timeout.
6874 (syms_of_keyboard): Initialize it.
6875
60e8e0a5 6876 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6877
e9655d81
KH
68782000-11-22 Kenichi Handa <handa@etl.go.jp>
6879
6880 * sysdep.c: Move the code for declaring h_errno after #include
6881 <netdb.h>.
6882
77270fac
GM
68832000-11-21 Gerd Moellmann <gerd@gnu.org>
6884
cd913aae
GM
6885 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6886 the menu bar when the tooltip is unmapped.
6887
77270fac
GM
6888 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6889 sole visible buffer when we're currently in the mini-buffer, and
6890 give up if so.
52283633 6891
556635d6
JR
68922000-11-21 Jason Rumney <jasonr@gnu.org>
6893
6894 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6895 put on the clipboard.
6896 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6897 copy of what Emacs last put there. If they are the same, do not
52283633 6898 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6899
5b7bde64
MB
69002000-11-22 Miles Bader <miles@gnu.org>
6901
6902 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6903 (syms_of_minibuf): Initialize it.
6904 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6905 to prompt, don't make read-only.
6906
ff23e1dd
GM
69072000-11-21 Gerd Moellmann <gerd@gnu.org>
6908
52283633
SM
6909 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6910 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6911
7aaf4388
GM
6912 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6913
f5f47add 6914 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6915
ff23e1dd
GM
6916 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6917
37c35586
KH
69182000-11-21 Kenichi Handa <handa@etl.go.jp>
6919
6920 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6921 ... #endif scope.
6922
ff9ab414
GM
69232000-11-20 Gerd Moellmann <gerd@gnu.org>
6924
52283633 6925 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6926 screen supports it.
6927
29a01b72
GM
6928 * s/gnu-linux.h: Don't use `#cpu'.
6929
09dfdf85
GM
6930 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6931 not defined in mman.h.
6932
52283633 6933 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6934 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6935 and store an index in the XClientMessageEvent. Storing a
6936 Lisp_Object or pointer can fail on a 64 bit system, since X only
6937 transfers 32 bits.
52283633
SM
6938 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6939
81459ac9
DL
69402000-11-20 Dave Love <fx@gnu.org>
6941
6942 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6943
56c13ae6
GM
69442000-11-20 Gerd Moellmann <gerd@gnu.org>
6945
6946 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6947
495a6df3
KH
69482000-11-20 Kenichi Handa <handa@etl.go.jp>
6949
2bcf3714
KH
6950 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6951 by WIDTH.
6952
495a6df3
KH
6953 * alloc.c (make_string): Fix previous change. Be sure to make
6954 unibyte string correctly.
6955
6d950f4c
GM
69562000-11-19 Gerd Moellmann <gerd@gnu.org>
6957
39b39373
GM
6958 * window.c (Fwindow_list): Change parameter list to be XEmacs
6959 compatible.
6960 (window_list_1): New function.
6961 (window_loop): Use it instead of Fwindow_list.
6962
b95b34e5
GM
6963 * sysdep.c (emacs_ospeed): New variable.
6964 (toplevel): Don't declare ospeed extern.
6965 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6966
6967 * termcap.c (ospeed): Remove.
6968 (tputs) [!emacs]: Remove unused code.
6969 (tgetent): Avoid a compiler warning.
6970
e83dc917
GM
6971 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6972 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6973 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6974
6975 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6976 removed.
6977 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6978 Take the X display as additional argument.
6979 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6980 `Widget' is a pointer type that's not easily stored in Lisp_Object
6981 form in a portable way.
52283633 6982
6d950f4c
GM
6983 * dispnew.c (update_text_area): Fix last change.
6984
e47306e6
GM
69852000-11-18 Gerd Moellmann <gerd@gnu.org>
6986
fb3cd89b
GM
6987 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6988
6989 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6990 clear current matrices.
6991
edaa9aed
GM
6992 * buffer.c (mmap_enlarge): Don't print a message on stderr
6993 if mapping new memory at the end of the existing region fails.
6994
e47306e6
GM
6995 * dispnew.c (update_text_area): Don't skip over equal glyphs
6996 when the last current glyph overlaps the glyph to its right.
6997
509633e3
MB
69982000-11-18 Miles Bader <miles@gnu.org>
6999
7000 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7001 lines that *end* with "..." too (that's the most common case!).
7002
d392e9c5
GM
70032000-11-18 Gerd Moellmann <gerd@gnu.org>
7004
67988445
GM
7005 * xdisp.c (resize_mini_window): Temporarily change to the
7006 mini-window's buffer if necessary.
1bfdbe43 7007
d392e9c5
GM
7008 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7009 the tooltip obscures less text under it.
7010
70112000-11-17 Gerd Moellmann <gerd@gnu.org>
7012
7013 * puresize.h (BASE_PURESIZE): Increase to 700000.
7014
92bb977f
JR
70152000-11-18 Jason Rumney <jasonr@gnu.org>
7016
7017 * w32term.c (w32_draw_bitmap): Use face to set colors.
7018
26fbf20b
DL
70192000-11-17 Dave Love <fx@gnu.org>
7020
7021 * lread.c (Fload): Fix #ifdef for pcc.
7022
100b593b
GM
70232000-11-17 Gerd Moellmann <gerd@gnu.org>
7024
7025 * xdisp.c (pos_visible_p): Compute the default character height
7026 differently.
7027
a288d0d1
GM
70282000-11-16 Gerd Moellmann <gerd@gnu.org>
7029
cac94de6 7030 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7031 knowing the line's height; use the default font's height in that case.
cac94de6 7032
a288d0d1
GM
7033 * xfaces.c (weight_table): Add `demi' with the same meaning as
7034 `demibold'.
7035
981fb6f6
KH
70362000-11-16 Kenichi Handa <handa@etl.go.jp>
7037
2cca872d 7038 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7039 (clear_glyph_row): Delete local static variable null_row.
7040
e5fa381b
JR
70412000-11-15 Jason Rumney <jasonr@gnu.org>
7042
7043 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7044 (w32_alloc_lighter_color): Use new brightness calculations from
7045 xterm.c. Scale delta to be in the range expected by W32.
7046 (w32_draw_relief_rect): Use frame relief colors.
7047
8e42f043
GM
70482000-11-15 Gerd Moellmann <gerd@gnu.org>
7049
6d133d1f
GM
7050 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7051 (Qinhibit_default_face_x_resources): New variable.
7052 (syms_of_frame): Initialize it.
7053 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7054
7055 * xdisp.c (pos_visible_p): Improve function comment.
7056
7057 * lisp.h (BINDING_STACK_SIZE): New macro.
7058
8e42f043
GM
7059 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7060 reading the directory if readdir returns null and errno is EAGAIN
7061 or EINTR.
7062
e8c87124
SM
70632000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7064
7065 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7066 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7067 Set amount_to_scroll to max of dx and scroll_step so that
7068 scroll-conservatively doesn't defeat scroll-step>1.
7069 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7070 scroll-conservatively for line-at-a-time scrolling.
7071
5f0c971d
GM
70722000-11-14 Gerd Moellmann <gerd@gnu.org>
7073
7074 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7075 extra argument.
7076
7077 * xdisp.c (current_mode_line_height, current_header_line_height):
7078 New variables.
7079 (init_xdisp): Initialize them.
7080 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7081 and use exact mode line heights if it is set.
7082
7083 * lisp.h (pos_visible_p): Change prototype.
7084
7085 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7086 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7087 and current_header_line_height first.
52283633
SM
7088 (current_mode_line_height, current_header_line_height):
7089 Declare extern.
5f0c971d 7090
d7361edf
MB
70912000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7092
7093 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7094 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7095 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7096
ee5e440a
MB
70972000-11-14 Miles Bader <miles@gnu.org>
7098
7099 * xterm.c (x_alloc_lighter_color): Include an additive component
7100 too for dark colors, because FACTOR isn't enough.
7101 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7102 New macros.
7103
5ca020fc
GM
71042000-11-13 Gerd Moellmann <gerd@gnu.org>
7105
7106 * keyboard.c (show_help_echo): Call message3_nolog with number of
7107 bytes in the help string as 2nd parameter, instead of the number
7108 of characters.
7109
9d348294
MB
71102000-11-13 Miles Bader <miles@gnu.org>
7111
7112 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7113 (Fload): Use new openp return protocol.
7114 Don't try to use Vload_source_file_function to load .elc files.
7115 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7116 openp return protocol.
7117 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7118
1729bb9a
KH
71192000-11-11 Kenichi Handa <handa@etl.go.jp>
7120
4e677396
KH
7121 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7122
7123 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7124 Defined these macros.
7125 (NLIST_STRUCT): Avoid re-defining it.
7126
1729bb9a
KH
7127 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7128 -I/usr/contrib/X11R6/include.
7129 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7130
a82fe213
JR
71312000-11-10 Jason Rumney <jasonr@gnu.org>
7132
7133 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7134
7135 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7136 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7137
7138 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7139 (Qw32_charset_vietnamese): New symbol.
7140 (xlfd_charset_of_font): New function.
7141 (w32_load_system_font): Use it.
7142 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7143 when Vw32_charset_info_alist is nil to ensure default face always
7144 has font. Use Fcar and Fcdr for safety.
7145 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7146 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7147 pseudo-codepages for special cases.
7148 (w32_to_x_font): New parameter to allow charset portion to be
7149 specified where there is many to one mapping. Callers changed.
7150 (w32_list_fonts): Avoid listing fonts that won't display.
7151
52d89894
GM
71522000-11-10 Gerd Moellmann <gerd@gnu.org>
7153
7154 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7155 (font_list_1): Renamed from font_list.
7156 (font_list): New function, trying alternative registries from
7157 Vface_alternative_font_registry_alist.
7158 (Finternal_set_alternative_font_registry_alist): New function.
7159 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7160 Vface_alternative_font_registry_alist.
7161 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7162
651cd3da
KR
71632000-11-09 Ken Raeburn <raeburn@gnu.org>
7164
7165 * lisp.h (Flooking_at): Declare.
7166
388ac098
GM
71672000-11-09 Gerd Moellmann <gerd@gnu.org>
7168
778fbc46 7169 * dired.c (directory_files_internal): Fix a braino.
52283633 7170
388ac098
GM
7171 * dired.c (directory_files_internal): Add missing GCPRO's.
7172 Some cleanup.
7173
ecaedde1
GM
71742000-11-08 Gerd Moellmann <gerd@gnu.org>
7175
f7eb32aa
GM
7176 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7177 (resize_mini_window): Return quickly if Vresize_mini_window is
7178 nil. Don't return if Vmax_mini_window_height is nil.
7179
7180 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7181 (syms_of_xdisp): Initialize them.
7182 (resize_mini_window): Act according to the setting of
7183 Vresize_mini_window.
7184 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7185
ecaedde1
GM
7186 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7187 scroll bar widget after configuring it, so that it will appear at
7188 the right position from the start.
7189 (XTredeem_scroll_bar): Cleaned up.
7190
3747ef2c
KH
71912000-11-08 Kenichi Handa <handa@etl.go.jp>
7192
7193 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7194 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7195 division by two.
7196
7197 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7198
03391420
DL
71992000-11-07 Dave Love <fx@gnu.org>
7200
7758f1c1 7201 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7202
7203 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7204
b5de343d
GM
72052000-11-07 Gerd Moellmann <gerd@gnu.org>
7206
acad3c0b
GM
7207 * window.c (Fset_window_configuration): Don't try to preserve
7208 point in the current buffer, if that buffer is displayed in more
7209 than one window.
7210
b5de343d
GM
7211 * xfaces.c (lookup_named_face): If default face isn't realized,
7212 try to realize it. Return -1 if not successful.
7213 (Fx_list_fonts): Handle case that face cannot be determined.
7214 (Fface_font): Likewise.
7215
cdb1fe49
GM
72162000-11-06 Gerd Moellmann <gerd@gnu.org>
7217
7218 * window.c (displayed_window_lines): Detect partially
7219 visible lines at the bottom correctly.
7220
d3a67486
SM
72212000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7222
7223 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7224 when ensuring we don't do visit in indirect buffer.
7225
ff8dd5d5
KH
72262000-11-06 Kenichi Handa <handa@etl.go.jp>
7227
7228 * composite.h (compose_chars_in_text): Add prototype.
7229
7230 * composite.c (Vcomposition_function_table): New variable.
7231 (Qcomposition_function_table): New variable.
7232 (run_composition_function): Call
7233 Vcompose_chars_after_function with three arguments.
7234 (compose_chars_in_text): New function.
7235 (syms_of_composite): Modified the doc-string of
7236 Vcompose_chars_after_function. Declare composition-function-table
7237 as a lisp variable, and initialize it.
7238
7239 * xfns.c (x_encode_text): Suppress producing escape sequences for
7240 composition.
7241
7242 * xselect.c: Include composite.h.
7243 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7244
d1145f85
AI
72452000-11-05 Andrew Innes <andrewi@gnu.org>
7246
7247 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7248
7249 * sysdep.c (read_input_waiting): Remove extraneous argument to
7250 read_socket_hook.
7251
7252 * w32fns.c (Fx_server_version): Include w32_build_number in the
7253 return list.
7254
7255 * w32heap.c (w32_build_number): New variable.
7256 (cache_system_info): Set it.
7257
7258 * w32heap.h (w32_build_number): Add extern.
7259
7260 * emacs.c (syms_of_emacs): Update docstring for
7261 system-configuration, to reflect the actual usage on MS-Windows.
7262
e85ee976
GM
72632000-10-31 Gerd Moellmann <gerd@gnu.org>
7264
26dcb81b
GM
7265 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7266 process idle timers while waiting for another event.
7267
52283633 7268 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7269 the default face are colored.
7270
e85ee976
GM
7271 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7272 window height hasn't changed.
7273
01b220b6
JR
72742000-10-31 Jason Rumney <jasonr@gnu.org>
7275
7276 * w32term.c (x_produce_glyphs): Handle composite characters.
7277 (x_draw_glyph_string_foreground)
7278 (x_draw_composite_glyph_string_foreground): Restore old font.
7279
4e6b7204
MB
72802000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7281
7282 * minibuf.c (read_minibuf): Reset the undo history just before
7283 starting the recursive-edit.
7284
d4358b37
GM
72852000-10-30 Gerd Moellmann <gerd@gnu.org>
7286
563f68f1
GM
7287 * xfaces.c (menu_face_change_count): New variable.
7288 (Finternal_set_lisp_face_attribute): Increment it for changes
7289 of the `menu' face.
7290 (realize_basic_faces): Reflect changes in the `menu' faces
7291 in menu bars.
7292
82e274d1
GM
7293 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7294 dy obtained from the iterator's y-position after moving from
7295 scroll_margin_pos to PT; see comment there.
52283633 7296
0dbf9fd2
GM
7297 * xdisp.c (safe_eval_handler): Call add_to_log.
7298
906b3b14
GM
7299 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7300 is not a symbol or string.
7301
d4358b37
GM
7302 * xdisp.c (echo_area_display): Don't perform a display update from
7303 inside redisplay. The update will happen anyway at the end of
7304 redisplay, and it can confuse redisplay (GC messages while
7305 redisplaying, for instance.)
7306
70c825df
SM
73072000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7308
cf9b4b0b
SM
7309 * xrdb.c (x_load_resources): Use the class name in the defaults.
7310
70c825df
SM
7311 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7312 (regex_compile): Catch bogus \(\1\).
7313
a1d34b1e
GM
73142000-10-30 Gerd Moellmann <gerd@gnu.org>
7315
cae71efe
GM
7316 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7317 RGB values.
52283633 7318
35efe0a1
GM
7319 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7320 we have a color cache, check that the cached color equals the
7321 allocated color. If not, clear the color cache.
7322
1d3baf74
GM
7323 * window.c (displayed_window_lines): Change buffers if necessary.
7324 Fix computation of displayed lines.
7325
a1d34b1e
GM
7326 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7327 update_menu_bindings to DEFVAR_BOOL.
7328
70737ea9
KH
73292000-10-30 Kenichi Handa <handa@etl.go.jp>
7330
70c825df 7331 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7332
fa0cb51d
KH
7333 * puresize.h (BASE_PURESIZE): Increase to 680000.
7334
70737ea9
KH
7335 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7336
0e4c08e8
JR
73372000-10-29 Jason Rumney <jasonr@gnu.org>
7338
7339 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7340
7341 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7342 (w32_cache_char_metrics): Handle possibility that 'x' does not
7343 exist in a BDF font.
7344 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7345
7346 * w32bdf.h (bdffont): Add nchars.
7347
7348 * w32bdf.c (set_bdf_font_info): Set it.
7349 (w32_BDF_TextOut): Swap byte order of double byte characters.
7350 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7351
45b84006
EZ
73522000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7353
7354 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7355 don't override the colors in frame's param_alist, unless they are
7356 unspecified.
7357
7358 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7359 reverse the effect of the highlight flag.
7360
caf9deee
KR
73612000-10-27 Ken Raeburn <raeburn@gnu.org>
7362
7363 * window.h (Fwindow_live_p): Declare.
7364
ae0b9b46
KR
7365 * undo.c (record_delete): Check that last_undo_buffer is really a
7366 buffer before applying XBUFFER to it.
7367
7368 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7369 Faref.
7370
02067692
SM
73712000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7372
7373 * lisp.h (KEYMAPP): New macro.
7374 (get_keymap): Remove.
7375 (get_keymap_1): Rename get_keymap.
7376
7377 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7378
7379 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7380
7381 * xmenu.c (single_submenu): Use KEYMAPP.
7382 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7383 Use KEYMAPP rather than Fkeymapp.
7384
7385 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7386
7387 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7388 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7389 Use KEYMAPP rather than Fkeymapp.
7390 (single_submenu): Use KEYMAPP.
7391 (w32_menu_show, w32_dialog_show): Use TRUE.
7392
7393 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7394
7395 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7396 (Fkeymapp): Use KEYMAPP.
7397 (get_keymap): Rename from get_keymap_1. Remove old def.
7398 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7399 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7400 (Fminor_mode_key_binding): Don't raise an error if the binding
7401 is not a keymap.
7402 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7403 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7404
7405 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7406 Allow Vspecial_event_map to be autoloaded.
7407 (menu_bar_items): Fetch the keymap rather than using keymapp.
7408 (menu_bar_one_keymap): No need to follow func-indirect any more.
7409 (parse_menu_item): get_keymap_1 -> get_keymap.
7410 (tool_bar_items): Fetch the keymap rather than using keymapp.
7411 (read_key_sequence): Use KEYMAPP.
7412
7413 * intervals.c (get_local_map): Use get_keymap rather than following
7414 function-indirections explicitly.
7415
7416 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7417
f9d80af3
JR
74182000-10-27 Jason Rumney <jasonr@gnu.org>
7419
7420 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7421 point, as Windows has oversized fonts.
7422
7423 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7424
a3ba27da
GM
74252000-10-27 Gerd Moellmann <gerd@gnu.org>
7426
7427 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7428 (freehook, reallochook): Handle null pointer arguments.
7429 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7430
aa3b80cc
SM
74312000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7432
7433 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7434 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7435 Giving in to popular pressure to shut up the compiler with casts.
7436
e24e84cc
GM
74372000-10-27 Gerd Moellmann <gerd@gnu.org>
7438
7439 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7440 signed value, and use a default value computed from the font's
7441 maximum descent.
7442
05ea7ef2
MB
74432000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7444
7445 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7446 that specify a negative underline position can still use underlines.
7447
7448 * window.c (Fpos_visible_in_window_p): Make POS default to
7449 WINDOW's point, not the current buffer's point.
7450
0b95284b
DL
74512000-10-26 Dave Love <fx@gnu.org>
7452
7453 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7454 when it's necessary.
7455
6c5b90af
GM
74562000-10-26 Gerd Moellmann <gerd@gnu.org>
7457
8b6d9dc9
GM
7458 * window.c (size_window): Compute size difference from sum of old
7459 child window sizes instead of from parent's size.
7460
6bc92b2e
GM
7461 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7462 Handle obscured lines at the top of the window.
7463
7464 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7465 down after the last error condition check.
7466
6c5b90af
GM
7467 * frame.c (Fdelete_frame): Run delete-frame-hook.
7468
42f92d4d
KH
74692000-10-26 Kenichi Handa <handa@etl.go.jp>
7470
7471 * coding.c (decode_coding): Fix previous change (check also
7472 CODING_MODE_LAST_BLOCK).
7473
d97151cb
SM
74742000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7475
e7efc503
SM
7476 * regex.c: More `unsigned char' -> `re_char' changes.
7477 Also change several `int' into `re_wchar_t'.
7478 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7479 (PUSH_FAILURE_POINTER): Don't cast any more.
7480 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7481 We want GCC to complain, since this piece of code makes
7482 re_match non-reentrant, which *should* be fixed.
7483 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7484 (EXTEND_BUFFER): Use RETALLOC.
7485 (SET_LIST_BIT): Don't cast.
7486 (re_wchar_t): New type.
7487 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7488 that those two functions will always properly return.
7489 (IMMEDIATE_QUIT_CHECK): Cast to void.
7490 (analyse_first): Use recursion rather than an explicit stack.
7491 (re_compile_fastmap): Can't fail anymore.
7492 (re_search_2): Don't check re_compile_fastmap for failure.
7493 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7494 Now also sets the new value (passed in a new argument).
7495 (re_match_2_internal): Use it.
7496 Also, use a new var `reg' of type size_t when looping through regs
7497 rather than reuse the inappropriate `mcnt'.
7498
d97151cb
SM
7499 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7500 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7501 (where_is_internal): Renamed from Fwhere_is_internal.
7502 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7503 (Fwhere_is_internal): New function wrapping where_is_internal.
7504 (where_is_internal_1): Handle the case where we're filling the cache.
7505 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7506
d5789b65
MB
75072000-10-25 Miles Bader <miles@gnu.org>
7508
7509 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7510
4ecda532
GM
75112000-10-25 Gerd Moellmann <gerd@gnu.org>
7512
7513 * window.c (pos_fully_visible_p): Removed.
7514 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7515 if position is visible and/or fully visible.
7516
7517 * lisp.h (pos_visible_p): Add prototype.
7518
7519 * xdisp.c (pos_visible_p): New function.
7520
68c3a137
KH
75212000-10-25 Kenichi Handa <handa@etl.go.jp>
7522
7523 * process.c (send_process): If OBJECT is t, it means that the data
7524 is from C string, but we should encode it. Before calling
7525 setup_raw_text_coding_system, be sure to flush out data by the
7526 previous coding system.
7527
7ae1c032
MB
75282000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7529
ff4dcd4b
MB
7530 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7531 assignment of startpos to prev when startpos == pos.
7532
7ae1c032
MB
7533 * editfns.c (find_field): Set the field stickiness correctly from
7534 overlay fields. Use renamed `text_property_stickiness'.
7535 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7536 Only check text properties, not overlays.
7ae1c032
MB
7537 * textprop.c (get_char_property_and_overlay): New function.
7538 (Fget_char_property): Use it.
7539 * intervals.h (get_char_property_and_overlay): Add declaration.
7540
49801145
SM
75412000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7542
7543 * keymap.c: Use AREF, ASET and ASIZE macros.
7544 (Fmake_sparse_keymap): Docstring fix.
7545 (synkey): Remove.
7546 (shadow_lookup): Move up.
7547 Handle the case where lookup-key returns an integer.
7548 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7549 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7550 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7551 Simplify/rewrite the keymap-finding code.
7552 Add check for command shadowing, using shadow_lookup.
7553
39e776cd
SM
75542000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7555
7556 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7557 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7558 a symbol.
7559
2488aba5
AI
75602000-10-24 Andrew Innes <andrewi@gnu.org>
7561
7562 * dired.c (directory_files_internal_unwind): New function.
7563 (directory_files_internal): Use it to ensure closedir is called
7564 even if expand-file-name or file-attributes throw, eg. because of
7565 a user interrupt. Also enable immediate_quit while calling
7566 re_search, so that matching can be interrupted as well.
7567
b94fdf61
AI
75682000-10-24 Andrew Innes <andrewi@gnu.org>
7569
7570 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7571 NT-Emacs only.
7572 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7573 so that re_search functions only quit when callers expect them to.
7574
75752000-10-24 Kenichi Handa <handa@etl.go.jp>
7576
7577 * regex.c (regex_compile): Change the way of handling a range from
7578 a char less than 256 to a char not less than 256.
7579
1946f901
GM
75802000-10-24 Gerd Moellmann <gerd@gnu.org>
7581
7ae2f10f
GM
7582 * window.c (size_window): Prevent setting window's width or
7583 height to a negative value (esp. with XSETFASTINT).
7584
5dcab13e
GM
7585 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7586 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7587 (protect_malloc_state) [GC_MALLOC_CHECK &&
7588 GC_PROTECT_MALLOC_STATE]: New function.
7589 (PROTECT_MALLOC_STATE): New macro.
7590 (__malloc_initialize, morecore, _malloc_internal)
7591 (_free_internal) _realloc_internal): Use it to make _heapinfo
7592 read-only outside of gmalloc.
7593
63e1b552
GM
7594 * keymap.c: Update copyright.
7595
1946f901
GM
7596 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7597 a symbol.
7598
4fa09beb
GM
75992000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7600
7601 * filelock.c (unlock_all_files): Use unlock_file to expand each
7602 buffer's file_truename before trying remove its lock file.
7603
23afac01
EZ
76042000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7605
7606 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7607 or CRLF, decode EOLs.
7608
04448b95
KH
76092000-10-24 Kenichi Handa <handa@etl.go.jp>
7610
7611 * window.c (Fdisplay_buffer): Fix doc.
7612
3090a5a5
JR
76132000-10-23 Jason Rumney <jasonr@gnu.org>
7614
7615 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7616 ASCII font of default fontset on Windows.
7617
7618 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7619 xterm.c comment below).
7620
7621 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7622
a83fee2c
GM
76232000-10-23 Gerd Moellmann <gerd@gnu.org>
7624
7625 * xterm.c (x_connection_closed): Reset handling_signal.
7626
52283633 7627 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7628
6ffdb539
MB
76292000-10-23 Miles Bader <miles@gnu.org>
7630
7631 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7632 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7633 maintain old behavior.
7634 * minibuf.c (Fminibuffer_complete): Likewise.
7635
7f1c969b
MB
76362000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7637
7638 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7639 that when a font can't be exactly centered, it errs up rather than
7640 down.
7641
23afac01 76422000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7643
52283633 7644 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7645
1a578e9b
AC
76462000-10-23 Andrew Choi <akochoi@i-cable.com>
7647
7648 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7649
7650 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7651 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7652
7653 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7654 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7655 syms_of_search, x_term_init, and init_keyboard before calling
7656 init_window_once. Also, call syms_of_xmenu.
7657
7658 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7659 default fontset to Monaco.
7660
7661 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7662 NewMacWindow and DisposeMacWindow.
7663 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7664 instead of calling NewMacWindow and setting fields of
7665 f->output_data.mac directly. Call init_frame_faces.
7666 (Fdelete_frame) [macintosh]: Remove unused code.
7667 (Fmodify_frame_parameters) [macintosh]: Call
7668 x_set_frame_parameters instead of mac_set_frame_parameters.
7669
7670 * frame.h [macintosh]: Define menu_bar_lines field in struct
7671 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7672
7673 * keyboard.c [macintosh]: Include macterm.h.
7674 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7675 and menu_bar_activate_event type events as for X and NT.
7676 (make_lispy_event) [macintosh]: Construct lisp events of type
7677 MENU_BAR_EVENT as for X and NT.
7678
7679 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7680 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7681 (sys_subshell) [macintosh]: Remove definition entirely.
7682 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7683 Vwindow_system_version here. Remove initialization of
7684 Vx_bitmap_file_path.
7685 (read_input_waiting): Correct the number of parameters passed to
7686 read_socket_hook.
7687 Move all Macintosh functions to mac/mac.c.
7688
7689 * term.c [macintosh]: Include macterm.h.
7690
7691 * window.c [macintosh]: Include macterm.h.
7692
7693 * xdisp.c [macintosh]: Include macterm.h. Declare
7694 set_frame_menubar and pending_menu_activation.
7695 (echo_area_display) [macintosh]: Do not return if terminal frame
7696 is the selected frame.
7697 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7698 Allow only the selected frame to set menu bar.
7699 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7700 calling FRAME_EXTERNAL_MENU_BAR (f).
7701 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7702
7703 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7704 and check_x. Declare XCreateGC. Define x_create_gc and
7705 x_free_gc. Initialize font_sort_order.
7706 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7707 but call x_list_fonts instead of w32_list_fonts.
7708 (Finternal_face_x_get_resource) [macintosh]: Do not call
7709 display_x_get_resource.
7710 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7711 (realize_x_face) [macintosh]: Load the font if it is specified in
7712 ATTRS.
52283633 7713 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7714
1ffbabe3
SM
77152000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7716
7717 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7718 is nil: since we go to the end of submap anyway, we'd end up
7719 setting nil to nil.
7720 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7721 doesn't obey autoload.
7722
bed43f1d
EZ
77232000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7724
1ffbabe3 7725 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7726
ea4233a7
JR
77272000-10-21 Jason Rumney <jasonr@gnu.org>
7728
7729 * w32term.c (w32_cache_char_metrics): Double check that font is
7730 really fixed pitch before trusting tmPitchAndFamily.
7731
f3d3c491
AI
77322000-10-21 Andrew Innes <andrewi@gnu.org>
7733
7734 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7735
7736 * w32term.h: Extern decl for w32_cache_char_metrics.
7737
7738 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7739
7740 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7741 (w32_unload_font): Free per_char array if present.
7742
7743 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7744 cached information in emulated XFontStruct to handle common cases
7745 quickly. Do not allocate XCharStruct for return.
7746 (w32_native_per_char_metric): New function.
7747 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7748 allocating one.
7749 (x_produce_glyphs): Don't get an HDC. Change calls to
7750 w32_per_char_metric to match arg change above. Remove calls to
7751 free results.
7752 (w32_get_glyph_overhangs): Ditto.
7753 (w32_cache_char_metrics): New function.
7754
7755 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7756 ($(BLD)/casefiddle.$(O)): Remove compile command.
7757 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7758 ($(BLD)/dispnew.obj):
7759 ($(BLD)/keyboard.obj):
7760 ($(BLD)/w32inevt.obj):
7761 ($(BLD)/w32bdf.obj):
7762 ($(BLD)/alloc.obj):
7763 ($(BLD)/buffer.obj):
7764 ($(BLD)/editfns.obj):
7765 ($(BLD)/emacs.obj):
7766 ($(BLD)/fileio.obj):
7767 ($(BLD)/fns.obj):
7768 ($(BLD)/indent.obj):
7769 ($(BLD)/insdel.obj):
7770 ($(BLD)/intervals.obj):
7771 ($(BLD)/minibuf.obj):
7772 ($(BLD)/print.obj):
7773 ($(BLD)/scroll.obj):
7774 ($(BLD)/sysdep.obj):
7775 ($(BLD)/textprop.obj):
7776 ($(BLD)/widget.obj):
f3d3c491
AI
7777 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7778 ($(BLD)/term.obj): Add dependency on dispextern.h.
7779
52283633
SM
7780 * makefile.nt ($(BLD)\dispnew.obj):
7781 ($(BLD)\keyboard.obj):
7782 ($(BLD)\w32inevt.obj):
7783 ($(BLD)\w32bdf.obj):
7784 ($(BLD)\alloc.obj):
7785 ($(BLD)\buffer.obj):
7786 ($(BLD)\editfns.obj):
7787 ($(BLD)\emacs.obj):
7788 ($(BLD)\fileio.obj):
7789 ($(BLD)\fns.obj):
7790 ($(BLD)\indent.obj):
7791 ($(BLD)\insdel.obj):
7792 ($(BLD)\intervals.obj):
7793 ($(BLD)\minibuf.obj):
7794 ($(BLD)\print.obj):
7795 ($(BLD)\scroll.obj):
7796 ($(BLD)\sysdep.obj):
7797 ($(BLD)\textprop.obj):
7798 ($(BLD)\widget.obj):
f3d3c491
AI
7799 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7800 ($(BLD)\term.obj): Add dependency on dispextern.h
7801
18ad4821
EZ
78022000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7803
7804 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7805 with an additional argument of Qt.
7806
de54681a
MB
78072000-10-21 Miles Bader <miles@gnu.org>
7808
7809 * window.c (pos_fully_visible_in_window_p): New function.
7810 (Fpos_visible_in_window_p): Add FULLY argument.
7811 Use pos_fully_visible_in_window_p.
7812 (window_scroll_pixel_based, window_scroll_line_based): Update
7813 calls to Fpos_visible_in_window_p.
7814 * lisp.h (Fpos_visible_in_window_p): Update prototype
7815
13c844fb
GM
78162000-10-20 Gerd Moellmann <gerd@gnu.org>
7817
7818 * alloc.c (toplevel): Conditionalize compilation of mem_*
7819 functions differently.
52283633 7820
d9506268
JR
78212000-10-20 Jason Rumney <jasonr@gnu.org>
7822
7823 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7824 mem_init where it used to be. mem_z etc not defined otherwise.
7825
8094989b
GM
78262000-10-20 Gerd Moellmann <gerd@gnu.org>
7827
7828 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7829 GC_MALLOC_CHECK.
7830 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7831 structure definition and related variabled to the top of the file.
7832 Include this code when GC_MALLOC_CHECK is defined.
7833 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7834 register/unregister allocated region.
7835 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7836 which isn't allocated.
7837 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7838 something which is already in use.
7839 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7840 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7841 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7842 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7843
7844 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7845 _malloc_internal instead of malloc.
7846 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7847 of free.
7848
ea456eb4
AI
78492000-10-20 Andrew Innes <andrewi@gnu.org>
7850
7851 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7852 Windows.
7853 (my_strftime) <macro>: Don't use macro arg list when redefining as
7854 _strftime_copytm.
7855 (my_strftime) <function>: Supply 0 as ut argument.
7856
e64c3a75
JR
78572000-10-19 Jason Rumney <jasonr@altavista.net>
7858
7859 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7860 including dispextern.h, as it stops faces from working.
7861
7862 * w32fns.c (Fx_create_frame): Don't bother calling
7863 face-set-after-frame-default since the caller does it for us
7864 anyway. Clean up calls to x_get_arg to be consistent with X.
7865
7866 * w32term.c (x_produce_glyphs): Handle
7867 unibyte_display_via_language_environment correctly.
7868 (w32_draw_box_rect): Fix the calculation of width and height.
7869
7870 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7871 as it has stopped working.
7872 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7873 menu-bar.
7874
17401c97
GM
78752000-10-19 Gerd Moellmann <gerd@gnu.org>
7876
7877 * eval.c (skip_debugger): Prevent a compiler warning.
7878 (Fcondition_case): Likewise.
7879 (Fbacktrace_frame): Use a null interactive spec.
7880
773272d8
KH
78812000-10-19 Kenichi Handa <handa@etl.go.jp>
7882
7883 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7884
a42943e9
GM
78852000-10-18 Gerd Moellmann <gerd@gnu.org>
7886
e50517d9
GM
7887 * strftime.c: Sync with glibc, file version 1.78.
7888 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7889 should no longer be used according to ISO 8601.
7890
9035a35a
GM
7891 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7892 no map for meta_prefix_char, don't try to use it as a keymap.
7893 Instead, if T_OK is non-zero, look up a default binding, if any,
7894 otherwise, if T_OK is zero, return nil.
7895
a42943e9
GM
7896 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7897 (x_to_xcolors, png_load): Use x_query_color.
7898
52283633
SM
7899 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7900 New functions.
a42943e9
GM
7901 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7902 which can be slow.
7903 (x_copy_color, x_alloc_lighter_color): Likewise.
7904
7905 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7906 (x_query_color, x_query_colors): Add prototype.
7907
7908 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7909 check_string_bytes only if not noninteractive, increase count to 50.
7910
00de2987
MB
79112000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7912
7913 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7914 markers correctly.
7915
54918e2b
GM
79162000-10-17 Gerd Moellmann <gerd@gnu.org>
7917
1f0b3fd2
GM
7918 * alloc.c (pure_bytes_used): Renamed from pureptr.
7919 (ALIGN): New macro.
7920 (pure_alloc): New function.
7921 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7922 Use it.
7923 (Fpurecopy): Use PURE_POINTER_P.
7924
68c5d1db
GM
7925 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7926 PT has moved backward.
52283633 7927
9a038881
GM
7928 * xdisp.c (cursor_row_p): Take continued lines into account.
7929
361b097f
GM
7930 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7931 string's size_byte.
7932 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7933 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7934 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7935 string allocated.
7936
54918e2b
GM
7937 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7938 of selective display off while searching for the next line start.
7939
03ed0806
KH
79402000-10-17 Kenichi Handa <handa@etl.go.jp>
7941
7942 * Makefile.in (term.o): Depend on dispextern.h.
7943
7e05cdaf
SM
79442000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7945
7946 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7947
a6801fd1
GM
79482000-10-16 Gerd Moellmann <gerd@gnu.org>
7949
483de32b
GM
7950 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7951 the iterator at the beginning, so that they can be set later on,
7952 for instance in reseat_at_next_visible_line_start, without being
7953 overwritten.
7954
a6801fd1
GM
7955 * xfns.c (pbm_format): Add :foreground and :background keywords.
7956 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7957 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7958
dbf1fcc1
EZ
79592000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7960
7961 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7962
52283633 7963 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7964
7965 * msdos.c (IT_set_face): Compare highlighted face with the default
7966 face, and invert colors if these faces' colors are identical.
7967 (Fmsdos_remember_default_colors): Don't swap foreground and
7968 background colors in initial_colors[].
7969 (IT_set_frame_parameters): Don't swap frame's foreground and
7970 background pixels. If ALIST includes "(reverse . t)", swap
7971 foreground-color and background-color properties in frame's
7972 param_alist. If the original frame's param_alist doesn't specify
7973 the colors, store unspecified-fg and unspecified-bg, reversed if
7974 required.
7975
7976 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7977 the colors are unspecified and reversed, reverse fore- and back-
7978 ground in the returned value.
7979 (Fframe_parameter): Ditto.
7980
b41fe2c3 79812000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7982
3a6b59d9
GM
7983 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7984 get_last_unchanged_at_beg_row.
7985 (find_first_unchanged_at_end_row): Renamed from
7986 get_first_unchanged_at_end_row.
7987 (find_first_unchanged_at_end_row): Convert assertions to
7988 unconditional tests which abort. When looking for a row in
7989 unchanged text, don't go further back than first_text_row.
7990
b41fe2c3
GM
7991 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7992 Don't add in the last line's height when deciding if the new
7993 position is below the scroll margin.
9d1af64f 7994
b41fe2c3 79952000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7996
7997 * editfns.c (Fconstrain_to_field): Check carefully for field
7998 boundaries if either OLD_POS or NEW_POS has a non-nil field
7999 property, even if they're the same.
8000
c412cb7b
KH
80012000-10-16 Kenichi Handa <handa@etl.go.jp>
8002
8003 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8004 height for XFillRectangle.
8005
5586f3eb
SM
80062000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8007
8008 * syntax.c (Fstring_to_syntax): New function extracted from
8009 Fmodify_syntax_entry.
8010 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8011 (skip_chars, Fforward_comment): Remove unused variables.
8012 (syms_of_syntax): Add defsubr for string-to-syntax.
8013 (describe_syntax): Add code for comment and string fences.
8014
db785038
SM
80152000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8016
8017 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8018 Do the meta->esc mapping. Call get_keyelt before returning.
8019 Start scanning from the second element (the first is always `keymap')
8020 to make it easier to detect when we reach a parent map.
8021 Handle the case of inheriting from a symbol whose function is a map.
8022 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8023 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8024 (get_keyelt, Flookup_key): Update call to access_keymap.
8025 Remove the meta->esc mappings.
8026 (define_as_prefix): Delete old disabled code.
8027 (menu_item_p): New function.
8028 (where_is_internal_1): Skip over the few remaining menu items.
8029 * lisp.h (access_keymap): Update prototype.
8030 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8031 Update call to access_keymap.
8032 (follow_key, read_key_sequence): Update calls to access_keymap.
8033 Remove the meta->esc mappings.
8034
cafafe0b
GM
80352000-10-13 Gerd Moellmann <gerd@gnu.org>
8036
a2e2a7f6
GM
8037 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8038 with additional argument.
8039
cafafe0b
GM
8040 * xdisp.c (cursor_row_p): New function.
8041 (try_cursor_movement, display_line): Use it.
52283633 8042
cafafe0b
GM
8043 * xdisp.c (append_space): Also save/restore iterator's current
8044 character and its length.
8045
8046 * xdisp.c (init_from_display_pos): Add an assertion.
8047 (handle_stop): Don't set iterator's add_overlay_start.
8048 (handle_invisible_prop): Likewise.
8049 (load_overlay_strings): If text under an overlay is invisible,
8050 take both before- and after-strings into account when the iterator
8051 is positioned either at the start or at the end of the overlay.
8052 (forward_to_next_line_start): Rewritten.
8053 (reseat_at_next_visible_line_start): Rewritten.
8054 (set_iterator_to_next): Add parameter RESEAT_P.
8055
8056 * dispextern.h (struct it): Remove member add_overlay_start.
8057 (set_iterator_to_next): Change prototype.
8058
c744452b
KH
80592000-10-13 Kenichi Handa <handa@etl.go.jp>
8060
8061 * coding.c (code_convert_region): Be sure to initialize
8062 coding->category_idx.
e4a3f4e1
KH
8063 (decode_coding_string): Set coding->src_multibyte and
8064 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8065 (encode_coding_string): Set coding->src_multibyte and
8066 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8067
321fd26f
SM
80682000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8069
8070 * xfns.c (Fx_create_frame): Don't bother calling
8071 face-set-after-frame-default since the caller does it for us anyway.
8072
76832439
EZ
80732000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8074
8075 * window.c (coordinates_in_window): Fix detection of vertical line
8076 on character terminals.
8077
2483cf58
GM
80782000-10-12 Gerd Moellmann <gerd@gnu.org>
8079
8080 * editfns.c (save_excursion_save): Additionally record the
8081 selected window.
8082 (save_excursion_restore): If buffer was visible in a window, and a
8083 different window was selected, and the old selected window is
8084 still live, restore point in that window.
8085
eb991b25
KH
80862000-10-12 Kenichi Handa <handa@etl.go.jp>
8087
8a0eba09
KH
8088 * xterm.c (x_produce_glyphs): Handle
8089 unibyte_display_via_language_environment correctly.
8090
20401fcc
KH
8091 * regex.c (regex_compile): Change the way of handling a range from
8092 unibyte char to multibyte char.
8093
8094 * syntax.c (skip_chars): Change the way of handling a range from
8095 unibyte char to multibyte char.
8096
eb991b25
KH
8097 * process.c (read_process_output): Cancel previous change.
8098
365dd325
EZ
80992000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8100
c1b096cb
EZ
8101 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8102
365dd325
EZ
8103 * charset.c (Ffind_charset_string): Doc fix.
8104 (Ffind_charset_region): Doc fix.
8105
eb483c2b
KH
81062000-10-11 Kenichi Handa <handa@mule.m17n.org>
8107
8108 * process.c (read_process_output): Fix previous change. Adjust
8109 multibyteness of text to insert in a buffer by
52283633 8110 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8111
b40bfb99
AS
81122000-10-10 Andreas Schwab <schwab@suse.de>
8113
8114 * alloc.c (mark_object): Remove all workarounds installed on
8115 1993-08-08.
8116
caff31d4
KH
81172000-10-10 Kenichi Handa <handa@etl.go.jp>
8118
52283633 8119 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8120 (base64_encode_1): Make it work for a text of multibyte form.
8121 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8122 case. Don't call str_to_multibyte because base64_decode_1
8123 produces correct multibyte form for eight-bit codes.
52283633 8124 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8125 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8126 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8127 codes.
8128
8129 * charset.h (CHAR_STRING): Optimized for single byte characters.
8130
cba026ef
AS
81312000-10-09 Andreas Schwab <schwab@suse.de>
8132
8133 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8134 -1 after socket is closed, to fall through to error processing.
8135
1e21fe48
EZ
81362000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8137
8138 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8139 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8140 background-color, change also the colors of the default face for
8141 this frame.
8142
a640322e
EZ
81432000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8144
8145 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8146 them extern (they are defined on xfaces.c).
8147 (syms_of_msdos): Don't intern and don't staticpro
8148 Qbackground_color and Qforeground_color.
8149
a115794c
EZ
81502000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8151
8152 * frame.c (Fframe_parameter): For non-windowed frames, if
8153 f->param_alist says foreground or background color is unspecified,
8154 call tty_color_name to return the color name computed from the
8155 frame's current colors.
8156
f5533b63
DL
81572000-10-06 Dave Love <fx@gnu.org>
8158
8159 * terminfo.c (ospeed): Don't declare.
8160
8161 * sysdep.c: Don't include string.h.
8162 (h_errno): Declare conditional also on TRY_AGAIN.
8163
8164 * charset.c (Ffind_charset_string): Doc fix.
8165
52283633 8166 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8167 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8168 error messages.
8169
2b06561a
DL
81702000-10-05 Dave Love <fx@gnu.org>
8171
8172 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8173 position like menu-bar.
8174
ca839c85
GM
81752000-10-05 Gerd Moellmann <gerd@gnu.org>
8176
8177 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8178
8179 * xdisp.c (handle_single_display_prop): Use safe_call1.
8180 (safe_call): Renamed from call_function.
8181 (safe_call1): New function.
8182 (handle_fontified_prop): Use safe_call1 instead of call1.
8183 (safe_eval): Renamed from eval_form.
8184 (safe_eval_handler): Renamed from eval_handler.
8185 (handle_single_display_prop, display_mode_element): Use safe_eval
8186 instead of eval_form.
8187
8188 * xfaces.c (merge_face_heights): Use safe_call instead of
8189 call_function.
8190
8191 * keyboard.c (show_help_echo): Use safe_call instead of
8192 call_function; use safe_eval instead of eval_form.
8193
8194 * lisp.h (safe_call): Renamed from call_function.
8195 (safe_eval): Renamed from eval_form.
8196 (safe_call1): Add prototype.
8197
a3489ece
MB
81982000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8199
8200 * xfns.c (image_ascent): Rearrange ascent calculation for the
8201 has-a-font case.
8202
35810b6f
SM
82032000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8204
8205 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8206 (where_is_internal_1): Don't bother ignoring menu-items any more.
8207
3dc78168
GM
82082000-10-04 Gerd Moellmann <gerd@gnu.org>
8209
8210 * keyboard.c (update_menu_bindings): New variable.
8211 (parse_menu_item): Use AREF. If update_menu_bindings
8212 is 0, don't update menu bindings.
8213 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8214
1efc2bb9
EZ
82152000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8216
8217 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8218 to `mark_object'.
8219
3f679f55
SM
82202000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8221
8222 * syntax.c (forw_comment): Match nestedness of ender/starter.
8223 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8224 (prev_char_comstart_first): Remove.
8225 (back_comment): Check two-char comment markers more carefully
8226 to better handle overlapping cases like *//* or /* */* */ ...
8227 Match nestedness of ender/starter.
8228
2021ab61
DL
82292000-10-02 Dave Love <fx@gnu.org>
8230
8231 * config.in (HAVE_GAI_STRERROR): Add undef.
8232
8233 * process.c (Fopen_network_stream): Use it.
8234
8235 * m/alpha.h (NO_REMAP): Don't define.
8236
64e6cc18
GM
82372000-10-02 Gerd Moellmann <gerd@gnu.org>
8238
8239 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8240 return with a string converted to an integer or vice versa when
8241 Vmocklisp_arguments is t.
8242 (Fsignal): Likewise. The function can return for `quit'.
8243 (struct gcpro): Declare member `var' to point to a volatile
8244 Lisp_Object.
8245
8246 * eval.c (error): Prevent compiler warning.
8247
b1904cd9
SM
82482000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8249
8250 * keymap.c (keymap_memberp): New function.
8251 (Fset_keymap_parent): Use it.
8252 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8253 Use keymap_memberp to avoid creating cycles.
8254 (access_keymap): Use KEYMAPP.
8255
71c9ec51
GM
82562000-09-30 Gerd Moellmann <gerd@gnu.org>
8257
8258 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8259 gai_strerror. Make sure xerrno is set if connect fails. Improve
8260 error recovery.
71c9ec51 8261
c70c6b58
JR
82622000-09-29 Jason Rumney <jasonr@gnu.org>
8263
8264 * w32term.c (w32_char_font_type, w32_encode_char)
8265 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8266 (w32_bdf_per_char_metric): New function.
8267 (w32_per_char_metric): Use it.
8268 (x_draw_glyph_string_background): Always draw background for BDF
8269 glyphs.
8270
8271 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8272 GDI object which is a scarce resource.
8273
8274 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8275 (get_quoted_string): Fix limit on memchr search.
8276 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8277 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8278 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8279 (get_cached_font_char, cache_char_offset): Use macro
8280 BDF_CODEPOINT_RANGE_COVER_P.
8281 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8282 (clear_cached_bitmap_slots): New function.
8283 (GET_HEX_VALUE): G-Z, g-z are not hex.
8284 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8285 (get_bitmap_with_cache): Use new cache implementation.
8286 (create_offscreen_bitmap): New function.
8287 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8288
8289 * w32term.c (x_produce_glyphs): If the distance from the current
8290 position to the next tab stop is less than a canonical character
8291 width, use the tab stop after that.
8292 (x_draw_glyphs): Handle case START and END are out of bounds more
8293 carefully.
8294 (x_clear_mouse_face): Block/unblock input.
8295 (x_display_and_set_cursor): Don't show a hollow box cursor for
8296 buffers whose cursor_type is nil.
8297
fe01239f
GM
82982000-09-29 Gerd Moellmann <gerd@gnu.org>
8299
52283633 8300 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8301
8302 * dispextern.h (updating_frame): Declare extern.
8303
e7c52f1f
AS
83042000-09-29 Andreas Schwab <schwab@suse.de>
8305
8306 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8307
de6e1f7c
GM
83082000-09-29 Gerd Moellmann <gerd@gnu.org>
8309
25126faa
GM
8310 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8311 use its function definition.
8312 (tool_bar_items): Likewise.
8313
de6e1f7c 8314 * lisp.h (fatal): Declare NO_RETURN.
52283633 8315
454ee39b
KH
83162000-09-29 Kenichi Handa <handa@etl.go.jp>
8317
8318 * keymap.c: Remove the line "#undef NULL".
8319
96301c5f
GM
83202000-09-28 Gerd Moellmann <gerd@gnu.org>
8321
52283633 8322 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8323
efffeeb4
DL
83242000-09-28 Dave Love <fx@gnu.org>
8325
ecb8b666
DL
8326 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8327
dc3cd20f
DL
8328 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8329
8330 * .gdbinit (xreload): Note its need on GNU/Linux.
8331
efffeeb4
DL
8332 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8333 r_alloc, r_alloc_free.
8334
8610d903
KH
83352000-09-28 Kenichi Handa <handa@etl.go.jp>
8336
8337 * syntax.c (skip_chars): Handle negation correctly.
8338
8901d1ac
GM
83392000-09-27 Gerd Moellmann <gerd@gnu.org>
8340
6f22f1ad
GM
8341 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8342 with non-zero FORCE_P argument.
8343
52283633 8344 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8345 Add assertions.
8346
8347 * xdisp.c (window_box_height): Add an assertion.
8348
8349 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8350 tool-bar than is available.
8351 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8352
36f1966f
DL
83532000-09-27 Dave Love <fx@gnu.org>
8354
efffeeb4 8355 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8356
31d929e5
GM
83572000-09-26 Gerd Moellmann <gerd@gnu.org>
8358
c98863bf
GM
8359 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8360 instead of BITS_PER_INT.
8361 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8362 EMACS_UINT, respectively.
8363 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8364
8365 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8366
8367 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8368
77072ab1
GM
8369 * window.c (freeze_window_starts): Construct last argument for
8370 foreach_window differently.
8371
8372 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8373
8374 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8375 EMACS_UINT instead of `int' and `unsigned int'.
8376 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8377
8378 * frame.h (struct frame): Make the `nothing' member of union
8379 output_data an EMACS_INT.
8380
52283633 8381 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8382 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8383 size in the sdata structure.
8384 (SDATA_NBYTES, SDATA_DATA): New macros.
8385 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8386 differently for the different layout of the sdata structure.
8387 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8388 in sdata.
8389 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8390 Check that size recorded in the string size and size recorded in
8391 the sdata structure agree.
8392
3e60b029
DL
83932000-09-25 Dave Love <fx@gnu.org>
8394
8395 * buffer.c: Include stdio.h.
8396
8397 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8398
3e60b029
DL
8399 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8400
8401 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8402 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8403 (__malloc_extra_blocks): Declare as __malloc_size_t.
8404
8ff16b4e
GM
84052000-09-25 Gerd Moellmann <gerd@gnu.org>
8406
755a2ccd
GM
8407 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8408
d8b4516f
GM
8409 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8410 (read_char): If help-echo is showing, preserve the echo area
8411 when redisplaying.
8412
8413 * xdisp.c (help_echo_showing_p): New variable.
8414 (set_message): Reset it to 0.
8415 (init_xdisp): Initialize help_echo_showing_p.
8416
8417 * dispextern.h (help_echo_showing_p): Declare extern.
8418
8419 * config.in: Fix typo in __GNUC_MINOR__.
8420
8421 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8422
b11af2dd
GM
8423 * s/freebsd.h (POSIX_SIGNALS): Define.
8424
8ff16b4e
GM
8425 * xterm.c (x_clear_mouse_face): Block/unblock input.
8426
844eb643
DL
84272000-09-24 Dave Love <fx@gnu.org>
8428
8429 * fns.c (base64_encode_1): Fix last change.
8430
b30ab1b3
GM
84312000-09-22 Gerd Moellmann <gerd@gnu.org>
8432
8433 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8434
8435 * xdisp.c (try_window_reusing_current_matrix): More fixes
8436 for the case window has a header-line.
8437
c6cbe5f0
DL
84382000-09-22 Dave Love <fx@gnu.org>
8439
4c7c1f3f
DL
8440 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8441 a doc string.
8442
8443 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8444
c6cbe5f0
DL
8445 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8446
550a625e
GM
84472000-09-21 Gerd Moellmann <gerd@gnu.org>
8448
4c7c1f3f 8449 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8450 for GCC >= 2.5.
8451
52283633
SM
8452 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8453 Declare NO_RETURN.
fca99116 8454
80d26f99
GM
8455 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8456 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8457 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8458 warnings.
52283633 8459
80d26f99
GM
8460 * marker.c (byte_char_debug_check): Return void.
8461
623a0aae
GM
8462 * xfns.c (Fx_create_frame): Set default frame parameter value
8463 for tool-bar-lines to 1.
8464
8465 * dispnew.c (scrolling_window): Compare y-positions of rows
8466 equal at the start. Some simplification.
8467
8468 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8469 reused rows' y-position in the case window has a header-line, and
8470 new window start is greater than old window start.
8471
42ac0ae5
GM
8472 * process.c (process_sent_to): New variable.
8473 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8474 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8475 Declare more parameters volatile.
8476
550a625e
GM
8477 * lread.c (Vrecursive_load_depth_limit): New variable.
8478 (Fload): Check recursive loads whose recursion depth exceeds
8479 Vrecursive_load_depth_limit.
8480 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8481
8320414c
GM
84822000-09-20 Gerd Moellmann <gerd@gnu.org>
8483
f46c275e
GM
8484 * fileio.c (Fread_file_name): Doc fix.
8485
8486 * editfns.c (Fmessage_or_box): Doc fix.
8487
8488 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8489
b7e11c5b 8490 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8491
8320414c
GM
8492 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8493 symbols are specified, add color translations to the cache.
52283633 8494 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8495 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8496 xpm_cache_color.
8497 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8498 structures to xpm_init_color_cache.
8499
da1608d9
GM
85002000-09-19 Gerd Moellmann <gerd@gnu.org>
8501
52283633 8502 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8503
6badfa25
AI
85042000-09-19 Andrew Innes <andrewi@gnu.org>
8505
8506 * makefile.nt (bootstrap-emacs): Don't change directory.
8507
3a5f42bb
KH
85082000-09-19 Kenichi Handa <handa@etl.go.jp>
8509
1b7649bd
KH
8510 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8511
3a5f42bb
KH
8512 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8513 If output buffer is too small, signal an appropriated error.
8514
9f83cf0b
DL
85152000-09-18 Dave Love <fx@gnu.org>
8516
52283633 8517 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8518 (current_active_maps): Remove redundant get_local_map call.
8519
28c7826c
GM
85202000-09-18 Gerd Moellmann <gerd@gnu.org>
8521
5cefa566
GM
8522 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8523 cursor for buffers whose cursor_type is nil.
52283633 8524
6fed3546
GM
8525 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8526 a feature to implement that is already implemented.
8527 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8528 warnings.
8529
8530 * xfns.c (x_clear_image_1): New function.
8531 (x_clear_image): Use it.
52283633 8532 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8533
05b1f851
GM
8534 * dispnew.c (update_window): Move test for invisible lines
8535 at the top to update_window_line.
8536 (update_window_line): Handle invisible lines here.
8537
f4779de9
GM
8538 * xfns.c (clear_image_cache): Clear current matrices of all
8539 frames sharing an image cache. Block input while freeing
8540 images. Fix timestamp comparison.
8541 (x_clear_image): Also free the mask.
8542
28c7826c
GM
8543 * xfns.c (lookup_image): Block input while loading the image so
8544 that we won't get interrupted in a state where the image isn't yet
8545 set up completely.
8546 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8547 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8548 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8549 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8550
b7412313
GM
85512000-09-16 Gerd Moellmann <gerd@gnu.org>
8552
8553 * dispnew.c (update_window): Make sure to make desired rows
8554 current even if they are completely invisible at the top
8555 of a window.
8556
47e351a3
GM
85572000-09-15 Gerd Moellmann <gerd@gnu.org>
8558
7f8f1edc
GM
8559 * xfns.c (lookup_image): Build mask before applying an algorithm.
8560 Recognize algorithm `disabled'.
8561 (cross_disabled_images): New variable.
8562 (COLOR_INTENSITY): New macro.
8563 (x_detect_edges): Use COLOR_INTENSITY.
8564 (x_disable_image): New function.
8565 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8566
8567 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8568 disabled state, don't apply an image transformation algorithm if
8569 the user specified an image for the disabled state. Use
28c7826c 8570 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8571 user hasn't specified an image.
8572
ebb8f116
GM
8573 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8574 allocation functions with the XPM lib.
8575 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8576 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8577 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8578 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8579 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8580 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8581 functions, if possible, because these handle color allocation
8582 failure more gracefully.
8583 (Fimage_mask_p): New function.
8584
47e351a3
GM
8585 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8586 (Qedge_detection, Qheuristic): New symbols.
8587 (syms_of_xfns): Initialize new symbols.
8588 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8589 `algorithm (edge-detection ...)'.
8590 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8591 (tiff_format, gif_format, gs_format): Add `:mask'.
8592 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8593 (GIF_MASK, GS_MASK): New enumerators.
8594 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8595 (emboss_matrix, laplace_matrix): New variables.
8596 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8597 (x_edge_detection): New functions.
8598 (x_laplace): Rewritten in terms of x_detect_edges.
8599 (x_build_heuristic_mask): If image has a mask, free it.
8600
fe83b953
AI
86012000-09-14 Andrew Innes <andrewi@gnu.org>
8602
8603 * makefile.w32-in: Revert to Unix line endings.
8604
3021e816
AI
86052000-09-14 Andrew Innes <andrewi@gnu.org>
8606
8607 * makefile.w32-in: Standardize indentation somewhat.
8608 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8609 cater for differences between shells.
8610
8611 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8612
2a32b5ea
GM
86132000-09-14 Gerd Moellmann <gerd@gnu.org>
8614
8615 * xterm.c (x_produce_glyphs): If the distance from the current
8616 position to the next tab stop is less than a canonical character
8617 width, use the tab stop after that.
8618
b4331e96
DL
86192000-09-14 Dave Love <fx@gnu.org>
8620
8621 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8622
ef9e4345
GM
86232000-09-14 Gerd Moellmann <gerd@gnu.org>
8624
085536c2
GM
8625 * xdisp.c (handle_fontified_prop): While running fontification
8626 functions, bind `fontification-functions' and
8627 `after-change-functions' to nil.
8628
ef9e4345
GM
8629 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8630 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8631
8632 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8633
8634 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8635 USE_MMAP_FOR_BUFFERS.
8636
8637 * insdel.c (make_gap): Use enlarge_buffer_text.
8638
8639 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8640 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8641 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8642 from former r_alloc_* functions in ralloc.c.
52283633 8643 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8644 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8645 (mmap_init) [REL_ALLOC_MMAP]: New function.
8646 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8647 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8648 BUFFER_FREE.
8649
8650 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8651 (enlarge_buffer_text): Add prototype.
8652
8653 * ralloc.c: Remove everything having to do with the use of mmap.
8654
f8608968
GM
86552000-09-13 Gerd Moellmann <gerd@gnu.org>
8656
2a494b2d
GM
8657 * sound.c (Fplay_sound): Doc fix.
8658
8c907a56
GM
8659 * keyboard.c: Avoid some more compiler warnings.
8660 (parse_tool_bar_item): Ignore cached key bindings.
8661
f8608968
GM
8662 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8663 and allocation of Lisp data.
8664
6ab70e9a
GM
86652000-09-12 Gerd Moellmann <gerd@gnu.org>
8666
d12d0a9b
GM
8667 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8668 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8669 defaults first.
8670
6ab70e9a
GM
8671 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8672
63c36c3c
KH
86732000-09-12 Miyashita Hisashi <himi@meadowy.org>
8674
8675 * ccl.c: Comment fixed.
8676 (MAX_MAP_SET_LEVEL): Increased to 30.
8677 (PUSH_MAPPING_STACK): Enclose with do-while block.
8678 (POP_MAPPING_STACK): Likewise.
8679 (stack_idx_of_map_multiple): New variable.
8680 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8681 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8682 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8683 (ccl_driver) <CCL_MapSingle>: Likewise.
8684 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8685 with the case where looking up process reaches to the end of
8686 map-set, and call CCL programs as the above change.
8687
7ee3bd7b
GM
86882000-09-11 Gerd Moellmann <gerd@gnu.org>
8689
8ec8a5ec
GM
8690 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8691 that might be clobbered by longjmp.
8692 (check_x_display_info, x_decode_color, create_frame_xic)
8693 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8694 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8695
f74b0705
GM
8696 * lread.c (init_lread): Set Vloads_in_progress to nil.
8697 (Fload): Show list of recursively loaded files, when signaling an
8698 error.
8699
7ee3bd7b
GM
8700 * lread.c (Vloads_in_progress): New variable.
8701 (record_load_unwind): New function.
8702 (Fload): Check for recursive loads.
8703 (syms_of_lread): Initialize Vloads_in_progress.
8704 (read_integer, read1): Avoid some compiler warnings.
8705
8706 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8707 compiler warnings.
8708
974e1e5b
MB
87092000-09-11 Miles Bader <miles@gnu.org>
8710
8711 * editfns.c (Fbuffer_string): Doc fix.
8712
9824c4e3
GM
87132000-09-10 Gerd Moellmann <gerd@gnu.org>
8714
8715 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8716
6a72fdd1
KR
87172000-09-09 Ken Raeburn <raeburn@gnu.org>
8718
8719 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8720 whether to include other header files.
8721
28e6fb66
GM
87222000-09-09 Gerd Moellmann <gerd@gnu.org>
8723
52283633 8724 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8725 by Fmemq as a boolean.
28e6fb66 8726
7f8b6551
SM
87272000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8728
8729 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8730
a8710abf
GM
87312000-09-08 Gerd Moellmann <gerd@gnu.org>
8732
d1a02881
GM
8733 * ralloc.c (mmap_fd): Remove initializer which can make it
8734 read-only in a dumped Emacs.
8735 (mmap_fd_1): New variable.
8736 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8737 restore it from there.
8738 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8739 unconditionally so that mmap_fd can be initialized there.
8740 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8741 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8742 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8743
c454aac1
GM
8744 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8745
8746 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8747 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8748
fc653ef2
GM
8749 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8750
3015eec0
GM
8751 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8752 inheritance.
8753
bfe0ee88
GM
8754 * xdisp.c (try_window_id): When trying to locate cursor in
8755 unchanged rows at the top, handle the case that we can't find it.
8756
a8710abf
GM
8757 * xterm.c (x_draw_glyphs): Handle case START and END are out
8758 of bounds more carefully.
8759
6b7d4ae4
DL
87602000-09-08 Dave Love <fx@gnu.org>
8761
423193c5
DL
8762 * s/sol2.h (REL_ALLOC_MMAP): Define.
8763 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8764
8765 * ralloc.c: Don't include string.h (redundant).
8766 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8767 [!MAP_ANON]: Include fcntl.h.
8768 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8769 (r_alloc, r_re_alloc, r_alloc_free)
8770 (mmap_enlarge, mmap_set_vars): Use it.
8771 (r_alloc_init_fd): New function.
8772 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8773 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8774 malloc type.
8775
8776 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8777 Remove vm-limit.o.
8778
6b7d4ae4
DL
8779 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8780 change to __NetBSD__.
8781
44d31981
KH
87822000-09-08 Kenichi Handa <handa@etl.go.jp>
8783
8784 * search.c (compile_pattern): Check the multibyteness of cached
8785 string and PATTERN.
8786
aad40737
MB
87872000-09-08 Miles Bader <miles@gnu.org>
8788
8789 * xfaces.c (default_face_vector): Function removed.
8790 (Finternal_merge_in_global_face): Restore old global/local
8791 attribute override order. Use inline loop instead of calling
8792 default_face_vector.
8793
91a211b5
GM
87942000-09-07 Gerd Moellmann <gerd@gnu.org>
8795
8796 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8797 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8798 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8799 where necessary, in case POINTER_TYPE is `void'.
8800
03419440
EZ
88012000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8802
8803 * frame.c (make_terminal_frame): Initialize frame foreground and
8804 background colors to unspecified, for the initial instance of an
8805 MSDOS frame.
8806
f46f845b
GM
88072000-09-07 Gerd Moellmann <gerd@gnu.org>
8808
24f76fbf
GM
8809 * ralloc.c (mmap_find): Fix overlap computation.
8810 (mmap_enlarge): Compute nbytes before trying to find an
8811 overlapping region.
8812
f46f845b
GM
8813 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8814 instead of `!='.
8815
8816 * lread.c (syms_of_lread): Change value of regexp
8817 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8818
8819 * xmenu.c (xdialog_show): When looking up the selection in
8820 menu_items, take `quote' boundaries into account; this corresponds
8821 to a nil ITEM in x-popup-dialog.
8822
3c014385
KH
88232000-09-07 Kenichi Handa <handa@etl.go.jp>
8824
fd6f711b
KH
8825 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8826 not 0x81.
8827 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8828
3c014385 8829 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8830 encoding, not decoding. Fix the handling of latin-jisx0201.
8831 Check for the charset katakana-jisx0201 too.
3c014385 8832 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8833 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8834
0da3ecef
GM
88352000-09-07 Gerd Moellmann <gerd@gnu.org>
8836
ab0ee409
GM
8837 * xfaces.c (Vparam_value_alist): New variable.
8838 (syms_of_xfaces): Initialize it.
8839 (Finternal_set_lisp_face_attribute): Avoid more consing.
8840
8841 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8842 specially.
8843 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8844 (Qbackground_mode): New variable.
8845 (syms_of_frame_1): Initialize Qbackground_mode.
8846
8847 * lisp.h (Qdisplay): Declare extern.
1091dd67 8848
0da3ecef
GM
8849 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8850 change face on all frames, and change the default for new frames.
8851
b14654b9
DL
88522000-09-07 Dave Love <fx@gnu.org>
8853
8854 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8855
d24fd56f
KH
88562000-09-07 Kenichi Handa <handa@etl.go.jp>
8857
794f3670
KH
8858 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8859
0fddd0dc
KH
8860 * charset.c: Include composite.h
8861 (lisp_string_width): New function.
8862 (Fstring_width): Call lisp_string_width instead of strwidth.
8863
8864 * Makefile.in (charset.o): Depends on composite.h.
8865
d24fd56f
KH
8866 * process.c (read_process_output): Before inserting the decoded
8867 text in the buffer, adjust the multibyteness.
8868
fa0b693c
GM
88692000-09-06 Gerd Moellmann <gerd@gnu.org>
8870
52283633 8871 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8872 buffer's text buffer is null, map new memory.
8873
0a58f946
GM
8874 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8875 POINTER_TYPE and size_t.
8876 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8877 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8878 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8879 [REL_ALLOC_MMAP]: New macros.
8880 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8881 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8882 [REL_ALLOC_MMAP]: New functions.
8883
8884 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8885 before and after unexec.
8886
8887 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8888 text buffers if necessary.
8889
8890 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8891 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8892 in prototypes.
8893
fa0b693c
GM
8894 * config.in (HAVE_MMAP): Add #undef.
8895
877055f6
GM
88962000-09-05 Gerd Moellmann <gerd@gnu.org>
8897
08ba3862
GM
8898 * frame.c (Qdisplay_type): New variable.
8899 (syms_of_frame_1): Initialize it.
8900 (Fframe_parameter): New function that avoids consing.
8901 (syms_of_frame): Defsubr it.
8902
66ffe51c
GM
8903 * buffer.c (Fother_buffer): Consider buffers as invisible when
8904 they are displayed in a window on an invisible frame.
8905
877055f6
GM
8906 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8907 get-largest-window always return nil.
8908
bb970e67
GM
89092000-09-04 Gerd Moellmann <gerd@gnu.org>
8910
8911 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8912 variable; recognize Emacs 19 elc files.
8913
7a3d0e0e
MB
89142000-09-04 Miles Bader <miles@gnu.org>
8915
8916 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8917 before initially popping up the menu, so the menu doesn't flash
52283633 8918 when the face settings are significantly different from the defaults.
7a3d0e0e 8919
14473664
SM
89202000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8921
8922 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8923 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8924 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8925 (BIT_UNIBYTE): Remove.
8926 (re_match_2_internal): Delete corresponding code and streamline the
8927 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8928 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8929 (re_wctype_t): New type.
8930 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8931 (regex_compile): Use them and fix handling of overly long char classes.
8932
c1174479
AI
89332000-09-03 Andrew Innes <andrewi@gnu.org>
8934
f8803e97
AI
8935 * makefile.w32-in: Change to DOS line endings.
8936
c1174479
AI
8937 * s/ms-w32.h (ORDINARY_LINK): New define.
8938
8939 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8940 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8941
8942 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8943 (distclean): Delete them here instead.
8944
44ef7cf6
AI
8945 * w32proc.c (compare_env): Convert to uppercase for comparison,
8946 not lowercase, to match how the native Windows shell works.
8947
49b3bd82
JR
89482000-09-03 Jason Rumney <jasonr@gnu.org>
8949
8950 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8951 CVS changes the line-ends when checking in/out on DOS/Windows.
8952
8953 * makefile.nt (emacs): Do not change directory to run temacs, as
8954 the load-path is set relative to current directory.
8955
a3d35a39
MB
89562000-09-03 Miles Bader <miles@gnu.org>
8957
8958 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8959
d276b0cf
GM
89602000-09-02 Gerd Moellmann <gerd@gnu.org>
8961
715e84c9
GM
8962 * xdisp.c (redisplay_mode_lines): New function.
8963 (display_mode_lines): Return number of mode lines displayed.
8964 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8965 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8966
8892f40b
GM
8967 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8968 string.h and strings.h.
8969 (index) [HAVE_INDEX]: Add prototype.
8970
d276b0cf
GM
8971 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8972 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8973
8974 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8975 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8976
38404229
GM
89772000-09-01 Gerd Moellmann <gerd@gnu.org>
8978
8979 * lread.c (read1): Accept `?' as symbol constituent, for
8980 compatiblity with XEmacs.
8981
c0f9ea08
SM
89822000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8983
8984 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8985 (struct re_pattern_buffer): Remove newline_anchor.
8986 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8987 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8988 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8989 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8990 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8991 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8992 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8993 Get rid of references to newline_anchor.
8994 (regcomp): Allocate and precompute a fastmap.
8995
8c0f83fe
GM
89962000-08-31 Gerd Moellmann <gerd@gnu.org>
8997
8998 * lread.c (openp): GCPRO local variable `filename'.
8999
4bb91c68
SM
90002000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9001
9002 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9003
9004 * regex.c: Merge some changes from GNU libc. Add prototypes.
9005 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9006 Use memcmp and memcpy instead of bcopy and bcmp.
9007 (init_syntax_once): Use ISALNUM.
9008 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9009 (REG_UNSET_VALUE): Remove. Use NULL instead.
9010 (REG_UNSET, re_match_2_internal): Use NULL.
9011 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9012 New macros.
9013 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9014 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9015 (regex_compile): In handle_interval, return an error rather than try to
9016 unfetch the interval if we can't find the closing brace.
9017 Obey the RE_NO_GNU_OPS syntax bit.
9018 (TOLOWER): New macro.
9019 (regcomp): Use it.
9020 (regexec): Allocate regs.start and regs.end as one block.
9021
5226a931
GM
90222000-08-30 Gerd Moellmann <gerd@gnu.org>
9023
868dd24b
GM
9024 * xdisp.c (echo_area_display): Check display_completed instead
9025 of calling detect_input_pending.
9026
9027 * dispnew.c (update_frame): Only set display_completed here; move
9028 the update_begin and update_end calls here from update_frame_1.
9029 (update_frame_1): Don't set display_completed here, don't call
9030 update_begin/update_end.
9031
5226a931
GM
9032 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9033 instead of store_frame_param.
9034
2a8bd25f
GM
90352000-08-29 Gerd Moellmann <gerd@gnu.org>
9036
9037 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9038 desired window matrix hasn't been displayed, use the current row
9039 instead. Make sure that only those frame rows are updated for
9040 which there exists a corresponding enabled desired row.
52283633 9041
ba3478d9
MB
90422000-08-29 Miles Bader <miles@gnu.org>
9043
9044 * xfaces.c (default_face_vector): New function.
9045 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9046
87d0f685
GM
90472000-08-29 Gerd Moellmann <gerd@gnu.org>
9048
9049 * lread.c (openp): Prevent temporary string passed to
9050 Ffile_readable_p from being garbage collected.
9051
6fa86045
DL
90522000-08-28 Dave Love <fx@gnu.org>
9053
9054 * keymap.c (store_in_keymap): Add `static' to declaration.
9055
bb17930d
GM
90562000-08-28 Gerd Moellmann <gerd@gnu.org>
9057
9058 * emacs.c, callint.c, doc.c, editfns.c
9059 (toplevel) [HAVE_STRING_H]: Include string.h.
9060 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9061 (index): Remove prototypes which might conflict with non-standard
9062 definitions of index/strchr.
9063
9064 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9065 (rindex): Define only if !HAVE_RINDEX.
9066
9067 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9068
9069 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9070
87188200
MB
90712000-08-28 Miles Bader <miles@gnu.org>
9072
9073 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9074 made inconsistent by a font-related attribute in FROM.
9075 (merge_face_inheritance): Add function comment.
9076
41a68aef
KH
90772000-08-28 Kenichi Handa <handa@etl.go.jp>
9078
9079 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9080 the 4th arg (PREV_EVENT) Qt to suppress input method.
9081
f7c436c1
SM
90822000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9083
0b32bf0e
SM
9084 * regex.c: Indent cpp directives and remove parens after `defined'.
9085 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9086 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9087 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9088 (re_compile_pattern): Use size_t for length.
9089 (init_syntax_once): Move to a better place.
9090 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9091 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9092
f7c436c1
SM
9093 * syntax.c (back_comment): Detect cases where a comment-starter is
9094 actually inside another comment as in: /* a // b */ c // d \n.
9095 Make it clear that `comstart_pos' is unused for nested comments.
9096
9097 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9098 (KEYMAPP): New macro.
9099 (Fkeymap_parent, Fset_keymap_parent): Use it.
9100 (fix_submap_inheritance): Mark it static.
9101 (define_as_prefix, describe_buffer_bindings, describe_command)
9102 (describe_translation, describe_map): Complete prototypes.
9103
9104 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9105
9106 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9107 to better match the key-lookup behavior.
9108
6288c62f
GM
91092000-08-27 Gerd Moellmann <gerd@gnu.org>
9110
9111 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9112 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9113
e931344e
EZ
91142000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9115
9116 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9117 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9118 (xterm.o): Depend on coding.h
9119
d10dfeef
KH
91202000-08-26 Kenichi Handa <handa@etl.go.jp>
9121
9122 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9123 the corresponding '#endif'.
9124
2d73e8d3
MB
91252000-08-26 Miles Bader <miles@gnu.org>
9126
9127 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9128 * xfaces.c (QCinherit): New variable.
9129 (syms_of_xfaces): Initialize it.
9130 (LFACE_INHERIT): New macro.
9131 (Finternal_get_lisp_face_attribute)
52283633 9132 (merge_face_vector_with_property)
2d73e8d3
MB
9133 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9134 (check_lface_attrs): Allow new types of face height. Check
9135 inherit attribute.
9136 (CYCLE_CHECK): New macro.
9137 (merge_face_inheritance): New function.
9138 (merge_face_vectors): Merge inherited faces too. Add F and
9139 CYCLE_CHECK arguments.
9140 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9141 (lookup_named_face, lookup_derived_face, realize_named_face)
9142 (face_at_string_position, face_at_buffer_position): Supply
9143 new F and CYCLE_CHECK arguments to merge_face_vectors.
9144 (merge_face_heights): New function.
52283633 9145 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9146 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9147 handle relative face heights.
9148 (lface_same_font_attributes_p): Compare heights using EQ.
9149
6ce974d4
KH
91502000-08-26 Kenichi Handa <handa@etl.go.jp>
9151
9152 * charset.c (char_to_string): Check the character validity.
52283633 9153 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9154
dc1e502d
SM
91552000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9156
9157 * regex.c (PUSH_FAILURE_COUNT): New macro.
9158 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9159 Handle popping of a register's or a counter's data.
9160 (POP_FAILURE_POINT): Use the new name.
9161 (re_match_2_internal): Push counter data on the stack for succeed_n,
9162 jump_n and set_number_at and remove misleading dead code in succeed_n.
9163
bd9d0f3f
GM
91642000-08-25 Gerd Moellmann <gerd@gnu.org>
9165
9166 * xdisp.c (redisplay_internal): If considering all windows on all
9167 frames, update the display for each frame as soon as possible,
9168 instead of first building all desired matrices for all frames, and
9169 then updating them all.
9170 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9171
aa5b8e15
GM
91722000-08-24 Gerd Moellmann <gerd@gnu.org>
9173
17494071
GM
9174 * bytecode.c (mark_byte_stack): Add a comment.
9175
52283633
SM
9176 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9177 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9178 a graphical frame.
9179
c543db81
KH
91802000-08-24 Kenichi Handa <handa@etl.go.jp>
9181
d246d5f5
KH
9182 * minibuf.c (do_completion): Always use compare-string, not
9183 string-equal because the latter doesn't pay attention to
9184 multibyteness of strings.
9185
c543db81
KH
9186 * process.c (create_process): Don't setup raw-text coding here.
9187 (Fopen_network_stream): Don't set coding->src_multibyte and
9188 coding->dst_multibyte here.
9189 (read_process_output): For process filter, return unibyte string
9190 if default-enable-multibyte-characters is nil.
9191 (send_process): If OBJECT is multibyte text, be sure to encoded it
9192 by the specified coding system for the process. Otherwise, setup
9193 raw-text coding.
52283633 9194 (init_process): Don't initialize default-process-coding-system here.
c543db81 9195
9b47cfe0
EZ
91962000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9197
9198 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9199 <scroll-down-aggressively>: Likewise.
9200
f5a36960
KH
92012000-08-23 Kenichi Handa <handa@etl.go.jp>
9202
9203 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9204 zero. Set coding->produced_char correctly.
9205
69a7ffa7
AI
92062000-08-22 Andrew Innes <andrewi@gnu.org>
9207
9208 * makefile.w32-in: New file.
9209
9210 * unexw32.c (unexec): Ignore old_name, and use the actual location
9211 of the current executable instead. Base new_name on this.
9212
9213 * w32proc.c (create_child): Remove reference to security
9214 descriptor, which isn't needed and doesn't compile with mingw32.
9215
9216 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9217 up dllimport attributes.
9218 (x_update_window_end): Update prototype.
9219
9220 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9221 extern, which screws up dllimport attributes.
9222
9223 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9224 up dllimport attributes.
9225
9226 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9227 screws up dllimport attributes.
9228
9229 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9230 up dllimport attributes.
9231 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9232 screws up dllimport attributes.
9233
9234 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9235 up dllimport attributes.
9236
9237 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9238 screws up dllimport attributes.
9239
9240 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9241 screws up dllimport attributes.
9242
9243 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9244 up dllimport attributes.
9245
9246 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9247 unnecessary extern, which screws up dllimport attributes.
9248 (main): Ditto.
9249
9250 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9251 up dllimport attributes.
9252
9253 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9254 unnecessary extern, which screws up dllimport attributes.
9255
9256 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9257 screws up dllimport attributes.
9258
9259 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9260 up dllimport attributes.
9261
9262 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9263
52283633
SM
9264 * w32bdf.c (search_file_line):
9265 (set_bdf_font_info):
9266 (seek_char):
9267 (w32_get_bdf_glyph):
69a7ffa7
AI
9268 (w32_BDF_to_x_font): Fix compile warnings.
9269
52283633 9270 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9271
9272 * w32select.c: Include keyboard.h before frame.h.
9273
9274 * w32fns.c (max): Define macro.
9275 (JOHAB_CHARSET): Define if not known.
9276 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9277 (Fx_show_tip): Synch with X version.
9278
9279 * w32xfns.c: Include keyboard.h before frame.h.
9280
9281 * w32fns.c: Include keyboard.h before frame.h.
9282
9283 * w32term.c: Include keyboard.h before frame.h.
9284
9285 * fontset.c: Include keyboard.h before frame.h.
9286
9287 * w32inevt.c: Include keyboard.h before frame.h.
9288 (MOUSE_MOVED): Define if not known.
9289
9290 * minibuf.c: Include keyboard.h before frame.h.
9291
9292 * keyboard.c: Include keyboard.h before frame.h.
9293
9294 * indent.c: Include keyboard.h before frame.h.
9295
9296 * dispnew.c: Include keyboard.h before frame.h.
9297
9298 * buffer.c: Include keyboard.h before frame.h.
9299
9300 * alloc.c: Include keyboard.h before frame.h.
9301
9302 * print.c: Include keyboard.h before frame.h.
9303
9304 * process.c: Include keyboard.h before frame.h.
9305
9306 * scroll.c: Include keyboard.h before frame.h.
9307
9308 * sysdep.c: Include keyboard.h before frame.h.
9309
9310 * term.c: Include keyboard.h before frame.h.
9311
9312 * window.c: Include keyboard.h before frame.h.
9313
9314 * xdisp.c: Include keyboard.h before frame.h.
9315 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9316
9317 * frame.c: Include keyboard.h before frame.h.
9318
9319 * w32heap.h: Undefine min, max.
9320
9321 * w32gui.h: Undefine min, max.
9322
9323 * unexw32.c: Change PUCHAR to PCHAR.
9324 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9325 (relocate_offset):
9326 (get_section_info):
69a7ffa7
AI
9327 (copy_executable_and_dump_data): Remove unnecessary static defs.
9328 (copy_executable_and_dump_data): Fix compile warnings.
9329
9330 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9331
9332 * w32console.c (min): Define macro.
9333 (clear_frame, write_glyphs): Fix compile warning.
9334
52283633 9335 * w32proc.c (compare_env):
69a7ffa7
AI
9336 (find_child_console): Fix compile warning.
9337
9338 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9339 sys_errlist instead of _sys_errlist.
9340 (get_emacs_configuration_options): New function.
9341
9342 * s/ms-w32.h (sys_nerr): Provide default definition.
9343 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9344 name with _ prepended.
9345 (NSIG): Define if not known.
9346 (get_emacs_configuration): Provide extern declaration.
9347 (get_emacs_configuration_options): Provide extern declaration.
9348 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9349
9350 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9351 (map_w32_filename):
69a7ffa7
AI
9352 (read_unc_volume): Fix compile warning.
9353
9354 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9355 definitions from being used.
9356
9357 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9358
52283633 9359 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9360 (open_unc_volume): Make arg const.
9361
9362 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9363 (read_input_waiting): Remove excess parameter.
9364
9365 * w32.c (init_environment): Call _access.
9366 (check_windows_init_file): Call _close.
9367 (init_user_info): Call _putenv.
9368 (init_environment): Call _putenv and _strdup.
9369 (init_ntproc): Reset volume info cache on startup.
9370
9371 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9372 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9373 cannot override the CRT malloc.
9374
9375 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9376 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9377
9378 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9379 unless we are linking with a static CRT.
9380 (RVA_TO_PTR): Cast result to unsigned char*.
9381
9382 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9383 (add_volume_info): Use xstrdup.
9384
25060080
SM
93852000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9386
9387 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9388 (do_completion, Fminibuffer_complete_word): Use it.
9389 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9390 var so it can take non-boolean values.
9391
6917e6bb
GM
93922000-08-21 Gerd Moellmann <gerd@gnu.org>
9393
acb7cc89 9394 * editfns.c (find_field): Formatting changes.
52283633 9395 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9396 changed to prototypes, some new protypes added, some functions
9397 made static.
9398
9399 * lisp.h (set_time_zone_rule): Add prototype.
9400 (use_dialog_box): External declaration.
9401
0bbfdc25
GM
9402 * keyboard.c (gen_help_event): Add parameter SIZE.
9403 (kbd_buffer_events_waiting): Slightly rewritten.
9404 (clear_event): New function.
9405 (kbd_buffer_get_event): Use it, and clear the input_events of
9406 HELP_EVENTs.
9407 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9408 don't fill the newly created array with nils.
9409 (toplevel): Convert some old-style function forward declarations
9410 to prototypes.
9411
9412 * keyboard.h (gen_help_event): Change prototype.
9413
9414 * xterm.c (XTread_socket): Change calls to gen_help_event.
9415
9416 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9417
6917e6bb
GM
9418 * eval.c (Fmacroexpand): Doc fix.
9419
e5cd3d11
JR
94202000-08-20 Jason Rumney <jasonr@gnu.org>
9421
9422 * w32term.h (x_display_info_for_display): Remove as this function
9423 does not exist on W32.
9424
9425 * w32term.c (help_echo_window): New variable.
9426 (syms_of_w32term): staticpro it.
9427 (note_mode_line_highlight): Set it.
9428 (XTextExtents16): Removed as there is no equivalent on W32.
9429 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9430 the X way of doing this will not work for W32.
9431 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9432 (x_draw_image_foreground): Avoid drawing outside of the clip area
9433 when image doesn't have a mask.
9434 (note_mouse_highlight): Process overlays in the right order of
9435 priority. Set help_echo_window.
9436 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9437 because that's more visible for large images.
9438
9439 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9440 name to single_keymap_panes.
9441 (w32_menu_show): Set wv->title when dealing with titles.
9442 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9443
6e69ab8c
MB
94442000-08-21 Miles Bader <miles@gnu.org>
9445
9446 * minibuf.c (do_completion): Try again if we rewrite the input
9447 string, but no completion was done, so that any completion message
9448 will be correct.
9449
511bd4eb
GM
94502000-08-20 Gerd Moellmann <gerd@gnu.org>
9451
9452 * xfaces.c (lface_equal_p): Compare strings differently.
9453 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9454 (realize_tty_face): Use them.
9455 (syms_of_xfaces): Initialize new variables.
9456 (map_tty_color): New function, extracted from realize_tty_face.
9457 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9458 foreground or background color, store the new color name in the
9459 realized face; previous code trying to do this had no effect.
9460 (realize_tty_face): Use map_tty_color.
9461 (Fclear_face_cache): Set face_change_count and ensure thorough
9462 redisplay.
9463
1433385f
GM
94642000-08-19 Gerd Moellmann <gerd@gnu.org>
9465
511bd4eb
GM
9466 * undo.c (record_first_change, record_marker_adjustment): Don't
9467 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9468
419ac0a2
KH
94692000-08-18 Kenichi Handa <handa@etl.go.jp>
9470
9471 * coding.c (decode_coding_string): Set members consumed,
9472 consumed_char, produced, produced_char of *coding correctly. If
9473 decode_coding doesn't consume any byte, don't try anymore.
9474 (encode_coding_string): Likewise.
9475
7eb9e30d
GM
94762000-08-18 Gerd Moellmann <gerd@gnu.org>
9477
511bd4eb
GM
9478 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9479 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9480
9481 * xdisp.c (redisplay_internal): Compare windows for equality with
9482 EQ, instead of applying XWINDOW to something that might not
9483 be a window.
52283633 9484
dd34a735
KH
94852000-08-18 Kenichi Handa <handa@etl.go.jp>
9486
9487 * fontset.c (Finternal_char_font): Search only the selected frame
9488 for a window of the current buffer.
9489
385ff9e3
GM
94902000-08-18 Gerd Moellmann <gerd@gnu.org>
9491
511bd4eb 9492 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9493 Lisp_Objects.
9494
385ff9e3
GM
9495 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9496 second half of a HELP_EVENT is found at the start of kbd_buffer.
9497
d6abb4c7
MB
94982000-08-18 Miles Bader <miles@gnu.org>
9499
4618074a
MB
9500 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9501
d6abb4c7
MB
9502 * editfns.c (save_restriction_save): Rewrite to use markers.
9503 (save_restriction_restore): Rewrite to understand new form of data
9504 saved by save_restriction_save.
9505 (Fsave_restriction): Remove cautionary note in doc-string.
9506
a7b28523
GM
95072000-08-17 Gerd Moellmann <gerd@gnu.org>
9508
9509 * fileio.c (build_annotations): Add a comment explaining the
9510 return value of format-annotate-function. Replace a spurious call
9511 to Flength with a CONSP test. Call format-annotate-function with
9512 a fifth arg specifying how many times the function is been called
9513 in a row, to let it choose temporary buffers appropriately.
9514
03c9ed77
DL
95152000-08-17 Dave Love <fx@gnu.org>
9516
9517 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9518 declare make_temp_name twice.
9519
52283633 9520 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9521 (unreadpure): Give it an arg.
9522
9523 * unexalpha.c: Prototype fatal_unexec, mark_x,
9524 update_dynamic_symbols. Declare unexec as void.
9525
9526 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9527 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9528
9529 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9530 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9531
9532 * alloca.c: Use #error.
9533 [POINTER_TYPE]: Use it.
9534
9535 * eval.c (Fdefvar): Doc fix.
9536
9537 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9538 INITIALIZE_INTERVAL.
9539
9540 * buffer.h: Avoid DECLARE_INTERVALS.
9541
9542 * config.in: Add size_t.
9543
aae41d97
EZ
95442000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9545
9546 * w16select.c (set_clipboard_data): If there's not enough memory
9547 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9548 expects. In case of other failures, return 3.
9549 (system_error_msg): New error message.
9550 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9551 system_error_msg.
9552
65aa5e85
GM
95532000-08-16 Gerd Moellmann <gerd@gnu.org>
9554
9555 * term.c (write_glyphs): Also turn off inverse video after turning
9556 off other appearances in case TS_exit_attribute_mode is not equal
9557 to TS_end_standout_mode.
9558 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9559 with the same face.
9560 (turn_off_face): Reset standout_mode only if
9561 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9562 is equal to TS_end_standout_mode.
9563
ece23901
KH
95642000-08-16 Kenichi Handa <handa@etl.go.jp>
9565
9d7bcb2e
KH
9566 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9567 sequence at the end of the source block.
9568
ece23901
KH
9569 * ccl.c (Fccl_program_p): Docstring modified.
9570 (Fccl_execute): Likewise.
9571 (Fccl_execute_on_string): Likewise.
9572
5e30eaa2
EZ
95732000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9574
9575 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9576
290602fd
KH
95772000-08-16 Kenichi Handa <handa@etl.go.jp>
9578
9579 The following changes are mainly to fix bugs of
9580 encode/decode-coding-string failing if encoding/decoding return
9581 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9582 variable conversion_buffer.
9583
9584 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9585 decrement dst_end to avoid buffer overflow in the later call of
9586 string_as_multibyte
9587
9588 * coding.h (conversion_buffer_size, conversion_buffer)
9589 (get_conversion_buffer): Extern deleted.
9590
9591 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9592 (conversion_buffer, conversion_buffer_size): Variables deleted.
9593 (get_conversion_buffer): Function deleted.
9594 (struct conversion_buffer): New structure.
9595 (MAX_ALLOCA): New macro.
9596 (allocate_conversion_buffer): New macro.
9597 (extend_conversion_buffer, free_conversion_buffer): New functions.
9598 (ccl_coding_driver): Set coding->result.
9599 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9600 this is the last block of source.
9601 (encode_coding): Likewise. Handle the source block as the last
9602 one only when the whole source text is consumed.
9603 (decode_coding_string): Handle the case that the output buffer is
9604 too small to decode the whole source text. Use
9605 allocate_conversion_buffer, extend_conversion_buffer and
9606 free_conversion_buffer, not get_conversion_buffer.
9607 (encode_coding_string): Likewise.
9608 (init_coding): Function deleted.
52283633 9609 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9610
9611 * emacs.c (main): Don't call init_coding.
9612
52283633 9613 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9614
9615 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9616 (insert_glyphs): Likewise.
9617
9618 * w32console.c (write_glyphs): Use a locally declared
9619 conversion_buffer.
9620
b9f80d41
EZ
96212000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9622
9623 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9624 member of display_info is NULL.
9625
32dc52f7
GM
96262000-08-15 Gerd Moellmann <gerd@gnu.org>
9627
52283633 9628 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9629
32dc52f7 9630 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9631 appearances with capability `me'.
32dc52f7
GM
9632 (write_glyphs): Switch on inverse video before each face change.
9633
4eb22d33
DL
96342000-08-14 Dave Love <fx@gnu.org>
9635
9636 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9637 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9638 (lisp_free): Declare and make static.
9639
9640 * window.c: Fix embedded comment.
9641 (syms_of_window): Fix doc string.
9642
90cbf47e
GM
96432000-08-14 Gerd Moellmann <gerd@gnu.org>
9644
52283633 9645 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9646 make sure to print `C-' before `M-', like in the manual.
9647
440fc135
GM
96482000-08-11 Gerd Moellmann <gerd@gnu.org>
9649
9650 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9651 since they aren't relocated anymore.
52283633 9652 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9653
9654 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9655 partially visible line which is smaller than the window's height.
440fc135 9656
6e264fad
KH
96572000-08-11 Kenichi Handa <handa@etl.go.jp>
9658
9659 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9660 the multibyte form of eight-bit-control characters.
6e264fad
KH
9661 (Fccl_execute_on_string): Initialize ccl->multibyte.
9662
9663 * ccl.h (struct ccl_program): New member multibyte.
9664
9665 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9666
c371f69a
KH
96672000-08-11 Kenichi Handa <handa@etl.go.jp>
9668
9669 * regex.c (regex_compile) <normal_char>: Pay attention to
9670 multibyteness.
9671 (analyse_first) <exactn>: Setup fastmap correctly for
9672 eight-bit-control characters.
9673
96742000-08-11 Kenichi Handa <handa@etl.go.jp>
9675
52283633 9676 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9677
9678 * keyboard.c (make_lispy_event): Handle the new event type
9679 multibyte_char_keystroke.
9680
9681 * xterm.c: Include coding.h.
9682 (XTread_socket): Work around a bug of XmbLookupString. If the
9683 input is from XIM, decode it according to the current locale. In
9684 that case, generate multibyte_char_keystroke events.
9685
b8ddbe71
KH
96862000-08-11 Kenichi Handa <handa@etl.go.jp>
9687
9688 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9689 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9690
47589c8c
GM
96912000-08-10 Gerd Moellmann <gerd@gnu.org>
9692
9693 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9694 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9695 (move_it_in_display_line_to): Record iterator's ascent and descent
9696 before producing glyphs, and restore them when we know the glyph
9697 doesn't fit on the line.
9698 (move_it_to): Restructured so that it's easier to debug. If
9699 moving to a vpos, and not moving to an x or character position,
9700 stop as soon as the specified vpos is reached; don't move further
9701 into that line because that might change the computed line height.
9702 (try_cursor_movement): New function, extracted from the cursor
9703 movement branch of redisplay_window. If ending on a partially
9704 visible line, don't try to scroll if the cursor line is taller
9705 than the window.
9706 (redisplay_window): Use try_cursor_movement.
9707
9708 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9709 because that function doesn't cope with variable-height lines.
9710
9711 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9712 box cursor because that's better visible for large images.
52283633 9713
c51bacd6
MB
97142000-08-10 Miles Bader <miles@gnu.org>
9715
9716 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9717
bea56df7
GM
97182000-08-10 Gerd Moellmann <gerd@gnu.org>
9719
9720 * xdisp.c (Vmessages_buffer_name): New variable.
9721 (message_dolog): Use it.
9722 (syms_of_xdisp): Initialize it.
9723
99cd7364
EZ
97242000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9725
52283633 9726 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9727 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9728 redundant now that keyboard.h is included.
9729
7d093d56
EZ
97302000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9731
9732 * keyboard.c (kbd_buffer_events_waiting): New function.
9733
9734 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9735
9736 * msdos.c: Include keyboard.h.
9737 (XMenuActivate): Empty no_event events from the event buffer. If
9738 no events are left after that, call clear_input_pending.
9739 (mouse_clear_clicks): New function, code moved from mouse_init.
9740 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9741 mouse driver to ``forget'' any past clicks.
9742
9743 * Makefile.in (msdos.o): Depend on keyboard.h.
9744
41e757a6
GM
97452000-08-09 Gerd Moellmann <gerd@gnu.org>
9746
8e7bd231
GM
9747 * lisp.h (input_pending): External declaration.
9748
9749 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9750
8e7bd231
GM
9751 * xdisp.c (echo_area_display): Display thoroughly if input is
9752 pending. Bind redisplay-dont-pause to t during the redisplay.
9753 in case input is pending.
9754
9755 * dispnew.c (Qredisplay_dont_pause): New variable.
9756 (syms_of_display): Initialize and staticpro it.
9757 (update_frame_1): Don't interrupt the display for pending input if
9758 redisplay_dont_pause is set.
52283633 9759
43028b7e
GM
9760 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9761
41e757a6
GM
9762 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9763
2f2174fa
KH
97642000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9765
9766 * callproc.c (Fcall_process): Terminate the unwind-protect around
9767 the post-read-conversion of coding system.
9768
0a6fd67e
MB
9769 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9770 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9771 * buffer.h (overlays_at): Update prototype.
9772 * xdisp.c (next_overlay_change): Update call to overlays_at.
9773 * xfaces.c (face_at_buffer_position): Likewise.
9774 * textprop.c (Fget_char_property): Likewise.
9775 * xterm.c (note_mouse_highlight): Likewise.
9776
0c80756e
MB
9777 * minibuf.c (do_completion): Don't consider a simple change of
9778 case as `completion'.
9779
975f250a
KR
97802000-08-08 Ken Raeburn <raeburn@gnu.org>
9781
52283633 9782 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9783 * undo.c (record_delete): Make sure last_point_position_buffer is
9784 a buffer before comparing pointers.
9785
9786 * coding.h (decode_coding_string): Declare.
9787
9788 * intervals.h (Fprevious_single_char_property_change): Declare.
9789
9790 * textprop.c (Fprevious_single_char_property_change): Don't do
9791 arithmetic directly on lisp objects.
9792
52283633 9793 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9794
9795 * keyboard.h (menu_item_eval_property): Declare.
9796
9797 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9798 reuse as buffer name, instead of recreating (and discarding) every
9799 time a message is logged.
9800 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9801 (current_message_1, truncate_message_1, set_message_1)
9802 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9803 (current_message, truncate_echo_area, display_echo_area)
9804 (resize_echo_area_axactly): Changed calls.
b347b3fd 9805
975f250a 9806 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9807 Lisp object.
975f250a 9808 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9809 must be an integer, not a Lisp object.
975f250a 9810
46dc9912
KH
98112000-08-08 Kenichi Handa <handa@etl.go.jp>
9812
9813 * charset.c (Fchar_width): Doc fix.
9814
9f6d1a6c
GM
98152000-08-08 Gerd Moellmann <gerd@gnu.org>
9816
9817 * charset.c (Fstring_width): Doc fix.
9818
ff3d9573
GM
98192000-08-07 Gerd Moellmann <gerd@gnu.org>
9820
41e757a6 9821 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9822 line, clear ascent and descent members of the iterator structure;
9823 the height of the continued line does not affect the height of the
9824 continuation line.
9825 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9826 line taller than the window.
9827 (redisplay_window) <forced window start>: Handle case that the
9828 middle of the window is not found in any row.
9829 (dump_glyph_row): Show more information.
9830 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9831 first text line in a glyph matrix.
9832
9833 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9834 of the clip area when image doesn't have a mask.
9835
70fc58b3
GM
9836 * fns.c (sweep_weak_table): Fix survival conditions for
9837 key-or-value and key-and-value weakness.
9838
9839 * .gdbinit (xhashtable): New command.
9840
ac0e96ee
GM
9841 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9842 tables out of the list of all weak hash tables.
9843
ff3d9573
GM
9844 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9845 a new buffer is created, make sure echo_area_buffer[] references
9846 the new buffer.
9847
e0d8827b
EZ
98482000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9849
9850 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9851 the doc string.
9852
c6f35378
KH
98532000-08-07 Kenichi Handa <handa@etl.go.jp>
9854
9855 * syntax.c (skip_chars): Fix previous change. Make the handling
9856 of unibyte string consistent with that of regex search.
9857
1fd4c450
GM
98582000-08-05 Gerd Moellmann <gerd@gnu.org>
9859
e49aa397
GM
9860 * xmenu.c (popup_get_selection): Use xfree instead of free.
9861
9862 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9863
9864 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9865
9866 * callproc.c (child_setup): Use xfree instead of free.
9867
9868 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9869 instead of malloc.
9870 (run_mac_command, closedir): Use `xfree' instead of `free'.
9871
9872 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9873
9874 * eval.c (error): Use xfree instead of free.
9875
1fd4c450
GM
9876 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9877
9878 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9879 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9880
82d497fc
KH
98812000-08-05 Kenichi Handa <handa@etl.go.jp>
9882
9883 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9884 conversion.
9885
59f953a2
NF
98862000-08-04 Noah Friedman <friedman@splode.com>
9887
9888 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9889 docstring.
9890
688351f2
GM
98912000-08-04 Gerd Moellmann <gerd@gnu.org>
9892
9893 * syntax.c (skip_chars): Fix typo in error message.
9894
2dad51cc
AS
98952000-08-04 Andreas Schwab <schwab@suse.de>
9896
9897 * m/ia64.h: Moved from s/ia64.h.
9898
99bb2c60
KH
98992000-08-04 Kenichi Handa <handa@etl.go.jp>
9900
082a1df2
KH
9901 * process.c (read_process_output): Big simplification. Handle
9902 composition and post-read-conversion of coding system correctly.
9903 (send_process): Handle composition correctly.
9904
9905 * callproc.c (Fcall_process): Handle post-read-conversion of
9906 coding system if any.
9907
99bb2c60
KH
9908 * coding.c (decode_coding_iso2022): More strict check for handling
9909 single shifting.
082a1df2
KH
9910 (coding_restore_composition): Pay attention to the case that
9911 cmp_data is not set properly (because of invalid code in the
9912 source text).
9913 (run_pre_post_conversion_on_str): Include text properties in the
9914 resulting string.
9915 (decode_coding_string): Set members of coding correctly.
99bb2c60 9916
f4988be7
GM
99172000-08-03 Gerd Moellmann <gerd@gnu.org>
9918
9919 * s/ia64.h: New file.
9920
9921 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9922 Use NULL instead of 0 at the end of variable argument list of
9923 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9924 sizeof (int) < sizeof (void *).
9925
9926 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9927 of variable argument lists of XtVaGetValues and XtVaSetValues.
9928
9929 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9930 variable argument lists of XtVaGetValues and XtVaSetValues.
9931
ead53494
GM
99322000-08-02 Gerd Moellmann <gerd@gnu.org>
9933
9934 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9935 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9936
9937 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9938 prototype.
9939
9940 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9941 in call to Fsingle_key_description.
9942
9943 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9944 Callers changed.
9945
99462000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9947
9948 * window.c (display_buffer_reuse_frames): New variable.
9949 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9950 frames displaying BUFFER.
52283633 9951 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9952
10b0f752
MB
99532000-08-01 Miles Bader <miles@gnu.org>
9954
9955 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9956 when to constrain NEW_POS (they were pretty screwed up before).
9957
16425c4a
EZ
99582000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9959
9960 * msdos.c (run_msdos_command): Save and restore the master
9961 environment, for the case that child_setup signals an error.
9962 When mirroring slashes in DOS shell commands, don't fail when
9963 argv[2] has embedded blanks.
da288c14
EZ
9964 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9965 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9966 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9967
9968 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9969 using alloca; free it after run_msdos_command returns.
9970
27f73852
DL
99712000-07-27 Dave Love <fx@gnu.org>
9972
52283633
SM
9973 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9974 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9975
9976 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9977
c0261b5e
EZ
99782000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9979
9980 * editfns.c (lisp_time_argument): Fix last change.
9981
b548072f
GM
99822000-07-27 Gerd Moellmann <gerd@gnu.org>
9983
3ab82477
GM
9984 * fns.c (Fdelete): Make it work on vectors and strings in addition
9985 to lists.
9986
b548072f
GM
9987 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9988 (syms_of_fns): Initialize new variables.
52283633 9989 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9990 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9991 weakness, with t meaning the same as `key-and-value'.
9992
91ae8751
KH
99932000-07-27 Kenichi Handa <handa@etl.go.jp>
9994
9995 * coding.h (struct coding_system): Member safe_charset deleted.
9996
9997 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9998 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9999 New variables.
91ae8751
KH
10000 (coding_safe_chars): New function.
10001 (CODING_SAFE_CHAR_P): New macro.
10002 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10003 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10004 (detect_coding_iso2022): New local variable safe_chars.
10005 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10006 safe_charsets member of the coding system.
10007 (decode_coding_iso2022): New local variable safe_chars.
10008 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10009 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10010 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10011 (ENCODE_UNSAFE_CHARACTER): New macro.
10012 (encode_coding_iso2022): New local variable safe_chars. Check
10013 unsafe chars.
10014 (setup_coding_system): Delete the code to initialize
10015 coding->safe_charses
10016 (intersection, find_safe_codings): New functions.
10017 (Ffind_coding_systems_region_internal): New function.
10018 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10019 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10020 variable and initialize it.
10021
10022 * fns.c (char_table_ref_and_index): New function.
10023
10024 * lisp.h (char_table_ref_and_index): Add prototype.
10025
34a7a267
SS
100262000-07-26 Sam Steingold <sds@gnu.org>
10027
10028 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10029 (Ffloat_time): New built-in Lisp function.
34a7a267 10030
a95cb10a
GM
100312000-07-26 Gerd Moellmann <gerd@gnu.org>
10032
3353ef5a
GM
10033 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10034 for the character code.
10035
10036 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10037 GNU/Linux.
10038
a95cb10a
GM
10039 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10040 if called for a popup menu.
10041 (xmenu_show): Store help string in widget values.
10042
b4a12321
DL
100432000-07-26 Dave Love <fx@gnu.org>
10044
10045 * syswait.h: Move some definitions.
10046 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10047 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10048 perspicuous definitions.
10049 (WTERMSIG): Fix bit pattern used.
10050
13f5ad37
KH
100512000-07-26 Kenichi Handa <handa@etl.go.jp>
10052
10053 * print.c (print_object): If vector printing is truncated, print
10054 "..." to indicate it as well as the case of list printing.
10055
070fe99c
GM
100562000-07-25 Gerd Moellmann <gerd@gnu.org>
10057
969065c3
GM
10058 * xdisp.c (next_element_from_display_vector): Improve comments.
10059
10060 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10061 for the character code, and the rest for the face id as in 20.x.
10062 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10063
10064 * window.c (window_display_table): Cleaned up.
10065
070fe99c
GM
10066 * syntax.c (Fforward_word): Add last arg nil in call of
10067 Fconstrain_to_field.
10068
bad77ef7
EZ
100692000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10070
969065c3 10071 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10072 identical but for the letter-case, don't call
10073 barf_or_query_if_file_exists.
bad77ef7 10074
c28da489
MB
100752000-07-25 Miles Bader <miles@gnu.org>
10076
10077 * editfns.c (find_field): Honor special `boundary' fields.
10078 (Qboundary): New variables.
10079 (syms_of_editfns): Initialize Qboundary.
10080 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10081 Use scan_buffer instead of find_before_next_newline, because it
10082 allows us to detect the boundary case where there's a newline at
10083 the search limit.
10084 * lisp.h (Fconstrain_to_field): Update external declaration.
10085
e3c31fd5
GM
100862000-07-24 Gerd Moellmann <gerd@gnu.org>
10087
10088 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10089 if that is nil.
c28da489 10090
c66c29a2
DL
100912000-07-24 Dave Love <fx@gnu.org>
10092
10093 * s/sunos4-0.h, s/sol2.h:
10094 (LIBS_TERMCAP): Move from m/sparc.h.
10095
10096 * m/sparc.h (TERMINFO): Moved to system files (probably only
10097 relevant for sunos4 judging by its vintage).
10098 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10099 __arch64__.
10100
fbe0a958
EZ
101012000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10102
10103 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10104 name to single_keymap_panes.
10105
7d88e5c9
AS
101062000-07-24 Andreas Schwab <schwab@suse.de>
10107
10108 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10109
e024b101
GM
101102000-07-24 Gerd Moellmann <gerd@gnu.org>
10111
10112 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10113 parameters instead of using int parameters. Expect FN to accept
10114 EMACS_INT parameters.
10115 (display_echo_area, resize_echo_area_axactly, current_message)
10116 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10117 with new argument list.
10118 (resize_mini_window_1): New callback function.
10119 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10120 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10121
25c1a9ce
KH
101222000-07-24 Kenichi Handa <handa@etl.go.jp>
10123
10124 * fontset.c (fontset_ref): Remove INLINE declaration.
10125 (fontset_ref_via_base): Likewise.
10126 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10127 to downcase.
10128
7f987ac0
EZ
101292000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10130
10131 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10132 correct order of priority. If help echo was found in an overlay,
10133 use that overlay as the object in which the help echo was found.
10134
e2db3069
MB
101352000-07-22 Miles Bader <miles@gnu.org>
10136
10137 * textprop.c (Fprevious_single_char_property_change): The initial
10138 property value should be from the position preceding POSITION, not
10139 following it.
10140
5e3203e4
EZ
101412000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10142
10143 * coding.c (syms_of_coding): Doc fix for
10144 inhibit-iso-escape-detection.
10145
62145073
GM
101462000-07-21 Gerd Moellmann <gerd@gnu.org>
10147
c20aeb83
GM
10148 * xterm.c (note_mouse_highlight): Process overlays in the right
10149 order of priority.
34a7a267 10150
743934db
GM
10151 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10152
10153 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10154 overlay, use that overlay as the object in which the help was found.
743934db 10155
d1dc7e43 10156 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10157
62145073
GM
10158 * window.c (foreach_window): Instead of a fake variable argument
10159 list, take one USER_DATA argument.
10160 (foreach_window_1): Likewise, and call callback functions with two
10161 args, the window and USER_DATA.
10162 (struct check_window_data): New struct.
10163 (check_window_containing): Use it.
10164 (window_from_coordinates): Set up a struct check_window_data for
10165 foreach_window.
10166 (add_window_to_list, freeze_window_start): Change parameters
10167 according to new calling convention.
10168
10169 * window.h (foreach_window): Change prototype.
10170
10171 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10172
101732000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10174
10175 * xmenu.c (menu_help_callback): Call show_help_echo with
10176 additional arguments OBJECT and POS.
10177
11270583
KH
101782000-07-21 Kenichi Handa <handa@etl.go.jp>
10179
07b14857
KH
10180 * data.c (Faset): Allow storing any multibyte character in a
10181 string. Convert unibyte string to multibyte if necessary.
10182
11270583
KH
10183 * xfns.c (x_encode_text): New function.
10184 (x_set_name): Use x_encode_text.
10185 (x_set_title): Likewise.
10186
10187 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10188
10189 * xterm.h (x_encode_text): Add prototype.
10190
bc75b4fd
DL
101912000-07-20 Dave Love <fx@gnu.org>
10192
10193 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10194 xfree, not free.
10195
48c14970
EZ
101962000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10197
10198 * msdos.c (help_echo_window): New variable.
10199 (syms_of_msdos): Initialize and staticpro it.
10200 (IT_note_mode_line_highlight): Set help_echo_window.
10201 (IT_note_mouse_highlight): Ditto.
10202 (dos_rawgetc): Store help_echo_window in the second event produced
10203 for HELP_EVENTs.
10204
10205 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10206 Record the object that generated the help echo and the position of
10207 that object in help_echo_object and help_echo_pos. Record that
10208 some glyphs in a row are displayed in mouse-face.
10209 (IT_update_begin): Don't clear mouse highlight unless one of the
10210 enabled glyph rows is marked as being displayed in mouse-face.
10211 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10212 and position recorded in help_echo_object and help_echo_pos to the
10213 event queue.
10214 (IT_menu_display): Accept a new argument PN: the pane number of
10215 the current menu pane. Record the pane number and the item
10216 number of the item which has associated help string.
10217 (XMenuActivate): Update the prototype for help_callback in
10218 function declaration. Call IT_menu_display with the current menu
10219 pane number as an additional argument. Call help_callback with
10220 two additional arguments: the pane number and the item number of
10221 the menu item associated with the help text.
10222 (help_echo_object, help_echo_pos): New variables.
10223 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10224
10225 * msdos.h (XMenuActivate): Update prototype.
10226
4279296d
GM
102272000-07-19 Gerd Moellmann <gerd@gnu.org>
10228
47db06aa
GM
10229 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10230 Add some more prototypes.
10231
10232 * xterm.c, xterm.h: Add some more prototypes.
10233
10234 * lisp.h (Fnext_single_char_property_change): Add prototype.
10235
10236 * dispnew.c (direct_output_for_insert): Remove confusing
10237 outer local variable mouse_face_overwritten_p.
10238 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10239
4279296d
GM
10240 * alloc.c (allocate_string_data): Don't copy old string contents.
10241
670acd62
KH
102422000-07-19 Kenichi Handa <handa@etl.go.jp>
10243
10244 * coding.c (code_convert_region): Delete text properties before
10245 shrinking the conversion region.
10246
7cea38bc
GM
102472000-07-18 Gerd Moellmann <gerd@gnu.org>
10248
dc1cac59
GM
10249 * dispnew.c (update_text_area): Write the whole row if it
10250 has mouse-face in it.
10251
85a8aca9
GM
10252 * xfaces.c (face-alternative-font-family-alist): Remove
10253 DEFVAR_LISP; staticpro instead.
10254
34a7a267 10255 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10256 new arguments.
10257
10258 * keyboard.c (show_help_echo): Add parameter WINDOW.
10259 (read_char): Call show_help_echo with window extracted from Lisp
10260 help event.
10261 (gen_help_event): Add parameter WINDOW.
10262
10263 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10264
10265 * xterm.c (help_echo_window): New variable.
52283633 10266 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10267 (XTread_socket): Pass help_echo_window to gen_help_event.
10268 (syms_of_xterm): Initialize and staticpro help_echo_window.
10269
f8276b77
DL
102702000-07-18 Dave Love <fx@gnu.org>
10271
52283633 10272 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10273
088831a6
GM
102742000-07-18 Gerd Moellmann <gerd@gnu.org>
10275
3d6cd763
GM
10276 * alloc.c (allocate_string_data): If string had already data
10277 assigned, copy old contents to new string data.
10278
10279 * coding.c (syms_of_coding): Fix typo in spelling of variable
10280 `inhibit-iso-escape-detection'.
10281
088831a6
GM
10282 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10283
10284 * Makefile.in: Add dependencies on dispextern.h.
10285 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10286 `free'; both can conflict with system header files.
10287
bc8a8d55
KH
102882000-07-18 Kenichi Handa <handa@etl.go.jp>
10289
10290 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10291 undefined.
10292
069f5950
DL
102932000-07-18 Dave Love <fx@gnu.org>
10294
10295 * window.c (Fwindow_list): Declare arg `window'.
10296
aa96c820
KH
102972000-07-18 Kenichi Handa <handa@etl.go.jp>
10298
10299 * coding.c (setup_coding_system): Don't override the explicitly
10300 specified designations.
10301
06be8d32
MB
103022000-07-15 Miles Bader <miles@gnu.org>
10303
10304 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10305 from `text_property_eq' and `text_property_stickiness', respectively.
10306 (find_field, Fconstrain_to_field, char_property_eq)
10307 (char_property_stickiness): Changed to call char-property functions
10308 instead of text-property-only ones.
10309
10310 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10311 `next_single_char_property_change'). Do more error checking, and
10312 cleanup limit behavior.
10313 (Fprevious_single_char_property_change): New function.
10314 (syms_of_textprop): Initialize new subrs.
10315
10316 * xdisp.c (display_prop_end, invisible_text_between_p):
10317 Call Fnext_single_char_property_change instead of
10318 next_single_char_property_change.
10319
3fddcdc3
JR
103202000-07-15 Jason Rumney <jasonr@gnu.org>
10321
10322 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10323 after menu is finished with.
10324 (add_menu_item): Only consider wv->title as a menu title.
10325 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10326
10327 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10328 null title.
10329 (FONT_REGEXP): Remove unused macro, and its sub-components.
10330 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10331
10332 * w32term.c (help_echo_object, help_echo_pos): New variables.
10333 (note_mode_line_highlight): Store additional information about the
10334 help-echo in help_echo_object and help_echo_pos. Check both
10335 `local-map' and `keymap' properties for changing the cursor
10336 (note_mouse_highlight): Store additional information about the
10337 help-echo in help_echo_object and help_echo_pos.
10338 (note_tool_bar_highlight): Set help_echo_object to nil and
10339 help_echo_pos to -1.
10340 (w32_read_socket): Use gen_help_event instead of filling
10341 input_events manually.
10342 (syms_of_w32term): Staticpro help_echo_object.
10343 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10344 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10345 (x_clear_mouse_face): New function.
10346 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10347 (x_update_window_begin): No need to turn off the mouse
10348 highlight here.
10349 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10350 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10351 (x_fill_stretch_glyph_string): Consume runs of stretch
10352 glyphs instead of a single one.
10353 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10354 with new argument list.
10355 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10356 (x_append_glyph, x_append_composite_glyph)
10357 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10358 changes in struct glyph starting 1999-12-27. See comments for
10359 xterm.c on 2000-07-05.
10360
178c5d9c
SS
103612000-07-14 Sam Steingold <sds@gnu.org>
10362
10363 * xfaces.c (realize_x_face): Fix the last patch:
10364 check `default_face' before dereferencing.
10365
6fe533f6
DL
103662000-07-14 Dave Love <fx@gnu.org>
10367
069f5950 10368 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10369
dd7b81cf
KH
103702000-07-14 Kenichi Handa <handa@etl.go.jp>
10371
0693904a 10372 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10373 default_face's fontset, not using the default fontset.
0693904a 10374
dd7b81cf
KH
10375 * coding.c (inhibit_iso_escape_detection): New variable.
10376 (syms_of_coding): Make it a Lisp variable.
10377 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10378 nonzero, ignore ISO2022's escape sequence.
10379
d5aa31d8
GM
103802000-07-14 Gerd Moellmann <gerd@gnu.org>
10381
e5acf0ca
GM
10382 * alloca.c (malloc) [emacs]: Define as xmalloc.
10383
bd23a692
GM
10384 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10385 use that instead of the mouse position. Add parameters DX and DY.
10386
10387 * dispextern.h (Fx_show_tip): Adjust number of parameters
10388 in prototype.
10389
9662da0b
GM
10390 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10391 if HELP is a function, call it with OBJECT and POS as parameters
10392 to get the help to display.
10393 (gen_help_event, kbd_buffer_store_help_event): New functions.
10394 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10395 (read_char): Call show_help_echo with new parameters.
10396
178c5d9c 10397 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10398 Add prototypes.
10399
10400 * xterm.c (help_echo_object, help_echo_pos): New variables.
10401 (note_mode_line_highlight): Store additional information about the
10402 help-echo in help_echo_object and help_echo_pos. Check both
10403 `local-map' and `keymap' properties for changing the cursor
10404 (note_mouse_highlight): Store additional information about the
10405 help-echo in help_echo_object and help_echo_pos.
10406 (note_tool_bar_highlight): Set help_echo_object to nil and
10407 help_echo_pos to -1.
10408 (XTread_socket): Use gen_help_event instead of filling
10409 input_events manually.
10410 (syms_of_xterm): Staticpro help_echo_object.
10411
10412 * xmenu.c (menu_highlight_callback): Use
10413 kbd_buffer_store_help_event instead of setting up and input_event
10414 structure manually.
10415
10416 * xdisp.c (eval_form): GCPRO argument sexpr.
10417 (call_function): New function.
10418 (handle_single_display_prop): Use call_function and FUNCTIONP
10419 instead of checking whether if font_height is a symbol and
10420 using eval_form.
10421
10422 * eval.c (internal_condition_case_2): New function.
10423
10424 * lisp.h (FUNCTIONP): New macro.
10425 (internal_condition_case_2, call_function): Add prototypes.
10426
d5aa31d8
GM
10427 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10428 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10429 Always set `arg' member of input_events.
10430 (construct_menu_click): Unused function removed.
10431
10432 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10433
10434 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10435 (construct_drag_n_drop, x_scroll_bar_handle_click)
10436 (w32_read_socket): Always set `arg' member of input_events.
10437
10438 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10439
10440 * lisp.h (eval_form): Add prototype.
10441
10442 * xdisp.c (eval_form): Make it externally visible.
10443
0f1a9b23
GM
104442000-07-13 Gerd Moellmann <gerd@gnu.org>
10445
10446 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10447 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10448 consing. For prefix events, store the frame in the `arg' slot of
10449 the event, otherwise store the key there.
10450 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10451 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10452
10453 * xmenu.c (menu_highlight_callback): Store help string in the
10454 `arg' member of the input event; don't cons.
10455 (menubar_selection_callback): Use the `arg' slot of input events
10456 to queue additional information, instead of consing.
10457
10458 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10459
10460 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10461 TOOL_BAR_EVENTs.
10462 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10463
10464 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10465 input events to queue additional information, instead of consing.
10466
10467 * keyboard.c (kbd_buffer_gcpro): Renamed from
10468 kbd_buffer_frame_or_window. Now used for all Lisp objects
10469 referenced from the input queue.
10470 (kbd_buffer_store_event): Always use structure assignment for
10471 copying input events. Record all Lisp objects referenced from
10472 events in kbd_buffer_gcpro.
10473 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10474 differently from input events. Test for prefix menu_bar_events
10475 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10476 event in kbd_buffer_gcpro to nil.
10477 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10478 frame_or_window is equal to its arg member as prefix events.
10479 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10480 used by an input event to nil.
10481 (init_keyboard): Use two times the size of the input queue
10482 for kbd_buffer_gcpro.
10483 (syms_of_keyboard): Likewise.
10484
52283633
SM
10485 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10486 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10487
10488 * termhooks.h (struct input_event): Add member `arg'.
10489 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10490 (USER_SIGNAL_EVENT): Renamed from user_signal.
10491
10492 * xfaces.c (ASET): Remove definition.
10493
10494 * lisp.h (AREF, ASET, ASIZE): New macros.
10495
10496 * fontset.c (AREF, ASIZE): Remove definitions.
10497
10498 * fns.c (AREF): Remove definition.
178c5d9c 10499
0f1a9b23
GM
10500 * composite.c (AREF): Remove definition.
10501
712eaef2
GM
105022000-07-12 Gerd Moellmann <gerd@gnu.org>
10503
d8ee7803
GM
10504 * dispnew.c (redraw_overlapped_rows): Add missing local.
10505 (scrolling_window): Remove debug code.
10506
712eaef2
GM
10507 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10508 Before scrolling, turn off a mouse-highlight in the window
10509 being scrolled.
10510
10511 * xterm.c (x_update_window_end): Add parameter
10512 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10513 redisplay in XTframe_up_to_date.
10514 (x_clear_mouse_face): New function.
10515 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10516
10517 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10518 current glyph row.
10519 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10520 it when any row is written to that contains glyphs highlighted in
10521 mouse-face.
10522 (update_window): Call the window update end hook with new
10523 parameter MOUSE_FACE_OVERWRITTEN_P.
10524 (direct_output_for_insert): Give up if row contains mouse-face.
10525
10526 * dispextern.h (struct redisplay_interface): Add parameter
10527 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10528 (clear_mouse_face): New function pointer member.
10529
02010917
SM
105302000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10531
10532 * syntax.c (back_comment): Use one switch rather than a few `if's.
10533 Obey open_paren_in_column_0_is_defun_start.
10534 When reverting to the `slow' method, try to nicely handle the case
10535 of nested comments by checking that the comment-starter we found
10536 does indeed match the comment-ender.
10537 (scan_sexps_forward, scan_sexps_forward):
10538 Ignore excessive opening parenthesis rather than throwing an error.
10539
d76c03ea
GM
105402000-07-11 Gerd Moellmann <gerd@gnu.org>
10541
10542 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10543 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10544
10545 * dispnew.c (direct_output_forward_char): Give up if currently
10546 displaying a message instead of the minibuffer contents.
10547
10548 * xterm.c (x_update_window_begin): No need to turn off the mouse
10549 highlight here.
10550 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10551 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10552
10553 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10554 compare the mouse_face_p flags of both rows.
10555
10556 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10557
d55ead18
EZ
105582000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10559
10560 * keyboard.c (show_help_echo): Accept additional parameter
10561 ok_to_overwrite_keystroke_echo.
10562 (read_char): Call show_help_echo with a zero
10563 ok_to_overwrite_keystroke_echo argument.
52283633 10564 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10565 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10566 ok_to_overwrite_keystroke_echo argument.
10567 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10568 non-zero ok_to_overwrite_keystroke_echo argument.
10569
df75b1a3
GM
105702000-07-10 Gerd Moellmann <gerd@gnu.org>
10571
4b92c49a
GM
10572 * xdisp.c (try_window_id): If changes are all below what is
10573 displayed in the window, and point is in the window, we still
10574 might have to find point on the display.
10575
10576 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10577 glyphs instead of a single one.
10578 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10579 with new argument list.
10580 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10581
df75b1a3
GM
10582 * keymap.c (get_keymap_1): Add comment that this function can GC.
10583 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10584 comment that functions can GC.
10585 (Fset_keymap_parent): GCPRO arg KEYMAP.
10586
4314cf3e
EZ
105872000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10588
10589 * msdos.c (XMenuActivate): After exiting the menu, restore the
10590 echo area message and erase it.
10591
ab49ce15
KH
105922000-07-10 Kenichi Handa <handa@etl.go.jp>
10593
10594 * fontset.c (Ffontset_info): Make the return value more compatible
10595 with that of Emacs 20.
10596
090a072f
GM
105972000-07-07 Gerd Moellmann <gerd@gnu.org>
10598
10599 * eval.c (Fsignal): Handle case that backtrace_list is null.
10600
f92de4a6
KH
106012000-07-07 Kenichi Handa <handa@etl.go.jp>
10602
10603 * ccl.c (Fccl_execute): Typo fixed.
10604
dd8888a1
GM
106052000-07-06 Gerd Moellmann <gerd@gnu.org>
10606
e5c81191 10607 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10608
dd8888a1
GM
10609 * window.c (Fwindow_list): Reverse list at the end.
10610 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10611 means allow windows on OWINDOW's frame, only.
10612 (window_loop): Simplified; use Fwindow_list.
10613
10614 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10615
485266d0
GM
106162000-07-05 Gerd Moellmann <gerd@gnu.org>
10617
10618 * xterm.c (XTread_socket): Increment handling_signal at the start,
10619 decrement it at the end.
10620
10621 * eval.c (handling_signal): New variable.
10622 (Fsignal): Abort if handling_signal is non-zero.
10623
10624 * lisp.h (handling_signal): External declaration.
178c5d9c 10625
485266d0
GM
10626 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10627
80fcd514
KR
106282000-07-05 Ken Raeburn <raeburn@gnu.org>
10629
10630 Sound support for NetBSD through "Linux emulation" support:
10631 * config.in (HAVE_SOUNDCARD_H): Undef.
10632 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10633 * Makefile.in (LIBSOUND): New variable.
10634 (LIBES): Include it.
52283633
SM
10635 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10636 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10637 (vox_open): Use DEFAULT_SOUND_DEVICE.
10638 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10639
d5c5cddd
GM
106402000-07-05 Gerd Moellmann <gerd@gnu.org>
10641
10642 * print.c (print_error_message): If Vsignaling_function is set,
10643 show it in *Messages*.
10644
10645 * lisp.h (Vsignaling_function): External declaration.
10646
10647 * eval.c (Vsignaling_function): New variable.
10648 (Fsignal): Compute it.
10649 (syms_of_eval): Staticpro it.
10650
65171e3a
DL
106512000-07-05 Dave Love <fx@gnu.org>
10652
10653 * syswait.h: Use the autoconf recommended approach. Old code
10654 #if'd out in case we need to revert.
10655
178c5d9c 10656 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10657
e2c46326
AI
106582000-07-05 Andrew Innes <andrewi@gnu.org>
10659
10660 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10661 when non-NULL instead of __morecore, to take account of buffer
10662 memory. This also solves a problem with spurious memory warnings
10663 on Windows.
10664
10665 * ralloc.c: Make real_morecore non-static.
10666
10667 * eval.c (internal_condition_case): Comment out abort if
10668 interrupt_input_blocked is not zero.
10669
10670 * makefile.nt: Add support for `bootstrap' and related targets.
10671 Include minimal debug info in emacs.exe in release build.
10672 Remove all dependencies on lisp.h, and fixup some others.
10673
10674 * w32.c (init_environment): Install code from 20.7 for providing
10675 default values for environment variables, based on the
10676 executable's own location.
52283633 10677 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10678 (sys_socket): Install socket inheritance bug fix from 20.7.
10679
10680 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10681 here via blockinput.h).
10682
a027a91b
SM
106832000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10684
e4b31601
SM
10685 * w32menu.c (w32_menu_display_help):
10686 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10687
10688 * keyboard.h (show_help_echo): Declare.
10689
10690 * keyboard.c (show_help_echo): New function, extracted from read_char.
10691 Feval its `msg' argument if it's a cons cell.
10692 (read_char): Use it.
4cf8d9d5 10693 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10694
178c5d9c 10695 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10696 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10697 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10698 (dos_rawgetc):
10699 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10700 (note_tool_bar_highlight, w32_read_socket):
10701 Do not gratuitously ignore non-string `help-echo' properties.
10702
88d75730
GM
107032000-07-05 Gerd Moellmann <gerd@gnu.org>
10704
969f7e79
GM
10705 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10706
71201b00
GM
10707 * window.c (delete_all_subwindows): Reset Vwindow_list.
10708
88d75730
GM
10709 * xterm.c (x_append_glyph, x_append_composite_glyph)
10710 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10711 changes in struct glyph starting 1999-12-27. Some bit-fields of
10712 struct glyph were not set, which made glyphs unequal when compared
10713 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10714 effects were the result. This also depended on the contents of
10715 memory returned by xmalloc. If flickering happens again, activate
10716 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10717 gone with that, chances are that it is caused by something similar.
88d75730
GM
10718
10719 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10720
88d75730
GM
10721 * dispextern.h: Add some comments.
10722
10723 * window.c (add_window_to_list): Add parameter LIST.
10724 (window_list): Order list so that, for each frame, windows are
10725 in canonical order, and so that frames appear in the list in
10726 the order given by Vframe_list.
10727 (next_window): Reverse the handling of NEXT_P.
10728
53654733
GM
107292000-07-04 Gerd Moellmann <gerd@gnu.org>
10730
87efd256
GM
10731 * window.c (Vwindow_list): New variable.
10732 (make_window, delete_window): Set Vwindow_list to nil.
10733 (check_window_containing): New function.
10734 (window_from_coordinates): Rewritten.
10735 (add_window_to_list, window_list, candidate_window_p)
10736 (decode_next_window_args, next_window): New functions.
52283633 10737 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10738 (Fwindow_list): New function.
10739 (Fother_window): Cleaned up.
10740 (foreach_window): Add a longer "variable argument list". Let
10741 callback function return 0 to indicate that cycling over windows
10742 should stop.
10743 (foreach_window_1): Likewise.
10744 (freeze_window_start): Return int.
10745 (init_window): New function.
10746 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10747
10748 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10749 input_event with bzero.
10750 (main): Call init_window.
10751
53654733
GM
10752 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10753 a menu filter.
10754
4a8c194f
KH
107552000-07-04 Kenichi Handa <handa@etl.go.jp>
10756
10757 * composite.h (make_composition_value_copy): Extern it.
10758
10759 * composite.c (make_composition_value_copy): New function.
10760
10761 * editfns.c (Fformat): While copying text properties, make each
10762 composition property value a copy.
10763
10764 * fns.c (concat): While copying text properties, make each
10765 composition property value a copy.
10766
831a6cb0
GM
107672000-07-03 Gerd Moellmann <gerd@gnu.org>
10768
2f516940
GM
10769 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10770
178c5d9c 10771 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10772 marked already.
10773
831a6cb0
GM
10774 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10775 include those frames as candidates which have their focus
10776 redirected to the minibuffer frame.
10777
d9c4f922
SM
107782000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10779
10780 * fns.c (Fputhash): Return `value' rather than nil.
10781
3780bc22
GM
107822000-06-30 Gerd Moellmann <gerd@gnu.org>
10783
97d176db
GM
10784 * frame.c (next_frame): Don't check focus redirection in case
10785 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10786 unless their focus is redirected, which contradicts the
10787 specification of next-frame, and leads to infinite loops in
10788 certain situations when cycling through windows with next-window.
10789
dca9961d
KH
107902000-06-30 Kenichi Handa <handa@etl.go.jp>
10791
10792 * coding.c (code_convert_region): Even if the length of text is
10793 zero, try to convert it if coding->type is coding_type_ccl.
10794 (decode_coding_string, encode_coding_string): Likewise.
10795
d5483ab1
GM
107962000-06-28 Gerd Moellmann <gerd@gnu.org>
10797
af5c25e1 10798 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10799 the display if windows_or_buffers_changed.
af5c25e1
GM
10800
10801 * dispnew.c (struct row_entry): New structure.
10802 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10803 (row_table_size, old_lines, new_lines, old_lines_size)
10804 (new_lines_size, run_pool, runs_size, runs): New variables.
10805 (add_row_entry): New function.
10806 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10807 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10808 holding them in local variables. Use a larger hash table whose
10809 size depends on glyph matrix sizes. Don't use bzero to clear the
10810 hash table; instead, clear used slots only.
10811
10812 * fns.c (next_almost_prime): Make it externally visible.
10813
10814 * lisp.h (next_almost_prime): Add prototype.
10815
d5483ab1
GM
10816 * s/isc4-0.h (sigunblock): Define.
10817
10818 * s/sco5.h (sigunblock): Define.
10819
93e40f40
DL
108202000-06-27 Dave Love <fx@gnu.org>
10821
10822 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10823 (moved to osf5-0.h).
10824 [!NOT_C_CODE]: Protect string.h stuff.
10825
10826 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10827 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10828
3c4b7685
GM
108292000-06-27 Gerd Moellmann <gerd@gnu.org>
10830
97d176db 10831 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10832 below the last line from the needed window height.
10833
32cad0aa
SM
108342000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10835
10836 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10837 (Fwidget_get): Use it.
10838 (syms_of_fns): Defsubr it.
10839
2c69ced2
GM
108402000-06-26 Gerd Moellmann <gerd@gnu.org>
10841
178c5d9c 10842 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10843 display info for XIM.
10844 (xim_open_dpy): Likewise.
10845 (xim_close_dpy): Don't free the display info's XIM.
10846
10847 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10848
10849 * config.in (USE_XIM): New define.
10850
3fc720e4
GM
10851 * keymap.c (get_keyelt): For menu-items containing a `:filter
10852 FILTER', apply FILTER to the menu-item's definition to get the
10853 real definition to use.
10854
10855 * lisp.h (QCfilter): External declaration.
10856
2c69ced2
GM
10857 * xfns.c (Fimage_size): New function.
10858 (syms_of_xfns): Defsubr it.
10859
f978b2a2
AS
108602000-06-26 Andreas Schwab <schwab@suse.de>
10861
10862 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10863 Fstring_as_unibyte.
10864
94cc7892
DL
108652000-06-25 Dave Love <fx@gnu.org>
10866
52283633 10867 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10868
10869 * Makefile.in (blockinput.h): Depend on atimer.h.
10870 (atimer.h): Depend on systime.h.
10871
52283633 10872 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10873
52283633 10874 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10875
10876 * lisp.h (swap_in_global_binding): Declare.
10877
b8c24556
KR
108782000-06-24 Ken Raeburn <raeburn@gnu.org>
10879
10880 * process.c (Fopen_network_stream): Turn off atimers for duration
10881 of call to connect. (Patch from Gerd.)
10882
8cf8560b
DL
108832000-06-23 Dave Love <fx@gnu.org>
10884
511c7541
DL
10885 * ralloc.c: Maybe include unistd.h
10886
8cf8560b
DL
10887 * emacs.c (setgrp): Undefine before defining.
10888 (malloc_warning, set_time_zone_rule, index): Prototype.
10889
10890 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10891 HAVE_STRUCT_TIMEZONE.
10892
10893 * s/osf1.h: Move string.h hack here from alpha.h and make it
10894 conditional.
10895 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10896 _XOPEN_SOURCE.
10897 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10898 (SOCKLEN_TYPE): Don't define.
10899
10900 * m/alpha.h: Remove string.h hack.
10901
10902 * s/osf5-0.h: New file.
10903
10904 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10905 include time.h, done by systime.h.
10906 [__FreeBSD__]: Remove redundant includes.
10907
3fc720e4 10908 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10909 (delete_temp_file): Return Qnil to avoid warning.
10910
10911 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10912
10913 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10914 HAVE_X_WINDOWS.
10915
10916 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10917
10918 * composite.h (compose_text): Declare.
10919
10920 * xterm.c: Don't include sys/types.h unconditionally. Don't
10921 protect its inclusion with !USG (following xmenu.c).
10922
ea055732
GM
109232000-06-23 Gerd Moellmann <gerd@gnu.org>
10924
10925 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10926 in x_create_frame.
10927
74b01b80
EZ
109282000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10929
10930 * coding.c (decode_eol_post_ccl): Special handling for undecided
10931 and inconsistent EOL types.
10932
64f3a166
GM
109332000-06-22 Gerd Moellmann <gerd@gnu.org>
10934
16cf31f7
GM
10935 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10936 trough color and main window's background color.
10937
52283633 10938 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10939
10940 * xterm.h (Xt_app_con): External declaration.
10941
10942 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10943
486a103d
GM
10944 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10945
64f3a166
GM
10946 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10947 (handle_invisible_prop): Record the start of invisible text in
10948 it->add_overlay_start.
10949 (struct overlay_entry): Add member `overlay'.
10950 (handle_overlay_change): Simplify.
10951 (next_overlay_string): After having processed overlay strings at the
10952 end of the buffer, record that fact in
10953 it->overlay_strings_at_end_processed_p.
10954 (compare_overlay_entries): If before- and after-strings come
10955 from the same overlay, let before-strings come first.
10956 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10957 (load_overlay_strings): Take it->add_overlay_start into account
10958 when adding overlay strings.
10959
10960 * dispextern.h (struct it): Add member add_overlay_start.
10961
bb746ea6
DL
109622000-06-22 Dave Love <fx@gnu.org>
10963
10964 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10965
10966 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10967
a8f573f3
KH
109682000-06-22 Kenichi Handa <handa@etl.go.jp>
10969
10970 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10971 is greater than 0.
10972
9f2bbc92
DL
109732000-06-21 Dave Love <fx@gnu.org>
10974
178c5d9c 10975 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10976
3ee5041c
SM
109772000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10978
10979 * syntax.c (back_comment): Simplify string-parity counting (with
10980 the added benefit of handling multiple string-styles as long as
10981 they are not intertwined).
10982 Jump to the slow code as soon as a comment starter is found in
10983 a "string_lossage" position. Fixes the case: " /* " /* " */.
10984
4c343001
DL
109852000-06-21 Dave Love <fx@gnu.org>
10986
10987 * Makefile.in: Use GETLOADAVG_LIBS.
10988
10989 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10990 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10991
e6365855
SM
109922000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10993
10994 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10995 (Fforward_comment, scan_lists):
10996 Check the comstyle of single-char comment-starters.
10997 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10998 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10999 Check the comstyle of single-char comment-starters.
11000 Clarify control-flow around the Scomment case.
e6365855 11001
5700d2cc
DL
110022000-06-20 Dave Love <fx@gnu.org>
11003
d355bd8a
SM
11004 * fns.c (make_hash_table, maybe_resize_hash_table):
11005 Cast arg of next_almost_prime.
5700d2cc 11006
178c5d9c 11007 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11008
11009 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11010 and unistd.h.
11011
4a27bdfb
GM
110122000-06-20 Gerd Moellmann <gerd@gnu.org>
11013
a61d762c 11014 * keyboard.c (adjust_point_for_property): Check if display
52283633 11015 property should be treated as intangible by looking at its value.
a61d762c 11016
178c5d9c 11017 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11018 (display_prop_intangible_p): New functions.
11019
11020 * dispextern.h (display_prop_intangible_p): Add prototype.
11021
11022 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11023
4a27bdfb
GM
11024 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11025 argument to sigprocmask.
11026
11027 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11028 argument to sigprocmask.
11029
11030 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11031 sigprocmask_set, and pass a pointer to it to sigprocmask.
11032
11033 * sysdep.c (sigprocmask_set): New variable.
11034
11035 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11036 report_file_error.
11037
427ec082
SS
110382000-06-20 Sam Steingold <sds@gnu.org>
11039
11040 * xrdb.c: Don't declare xmalloc, xrealloc.
11041
8972fe79 110422000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11043
11044 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11045 (re_comp): Cast gettext return value to avoid complaints when
11046 !HAVE_LIBINTL.
11047
074b6efe
DL
110482000-06-20 Dave Love <fx@gnu.org>
11049
52283633 11050 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11051
5700d2cc 11052 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11053
d355bd8a 11054 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11055
11056 * m/alpha.h: Don't declare xmalloc, xrealloc.
11057
0af4f205
DL
11058 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11059
11060 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11061
11062 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11063
11064 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11065 HAVE_GETWD.
11066
074b6efe
DL
11067 * keyboard.h (poll_for_input_1): Declare.
11068
11069 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11070
11071 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11072
11073 * doprnt.c: Don't declare xmalloc, xrealloc.
11074
11075 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11076 (getenv, ctime, getwd): Removed.
11077 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11078
11079 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11080 x_set_tool_bar_lines.
11081
11082 * config.in: Add HAVE_GETWD. Move some definitions above
11083 machine/system includes.
11084
68a5e97b
KH
110852000-06-20 Kenichi Handa <handa@etl.go.jp>
11086
95417e1e
KH
11087 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11088
68a5e97b
KH
11089 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11090 contain information about ENCODING.
11091
11092 * fontset.c (FONTSET_ASCII): Use the first element of char table
11093 for an ASCII font, not defalt slot.
11094 (fontset_ref_via_base): If FONTSET doesn't contain information for
11095 C, try the default fontset.
11096 (make_fontset): Don't copy the default fontset.
11097 (fontset_font_pattern): Likewise.
11098 (accumulate_font_info): If ELT is nil, use the corresponding
11099 element in the default fontset.
11100
3b4fa1b2
DL
111012000-06-19 Dave Love <fx@gnu.org>
11102
943e731c
DL
11103 * syntax.c (Fparse_partial_sexp): Doc fix.
11104
11105 * regex.h: Test PROTOTYPES as well as __STDC__.
11106
3b4fa1b2
DL
11107 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11108 errno, strerror. Put text after #endif in comment.
11109
52283633 11110 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11111
11112 * xterm.c (x_frame_of_widget): Likewise.
11113
cdf0357b
GM
111142000-06-19 Gerd Moellmann <gerd@gnu.org>
11115
11116 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11117 to Vfundamental_mode_abbrev_table.
11118
11119 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11120 bogus objects are marked. This slows down GC by ~80 percent, but
11121 it might be worth trying when debugging GC-related problems.
11122 This feature requires conservative stack marking to be enabled.
11123
11124 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11125 returns XLookupChars, reset `modifiers' to zero.
11126
998e9f8c
DL
111272000-06-19 Dave Love <fx@gnu.org>
11128
11129 * mktime.c: Unprotoized.
11130
18e21ce8 111312000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11132
11133 * data.c (set_internal): If variable is frame-local,
11134 store the new value immediately into the frame parameter alist.
11135
140c4ac6
KR
111362000-06-19 Ken Raeburn <raeburn@gnu.org>
11137
14358466
KR
11138 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11139 in the custom handler pointer.
11140
140c4ac6
KR
11141 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11142 value, or checks for CHAR_META can fail when Lisp_Object is a
11143 union type.
11144 * keymap.c (get_keyelt): Likewise.
11145
10d7bf84
KH
111462000-06-19 Kenichi Handa <handa@etl.go.jp>
11147
11148 * ccl.h (struct ccl_program): New member eol_type.
11149 (struct ccl_spec): New member cr_carryover.
11150
11151 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11152 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11153
11154 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11155 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11156 (decode_eol_post_ccl): New function.
11157 (decode_coding): Don't detect EOL format here for CCL based coding
11158 systems.
11159 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11160 decode_eol_post_ccl after running the CCL program.
11161 (code_convert_region): Don't detect EOL format here for CCL based
11162 coding systems.
11163 (decode_coding_string): Likewise.
11164
52e386c2
KR
111652000-06-18 Ken Raeburn <raeburn@gnu.org>
11166
11167 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11168 when treating it as an integer.
11169
11170 * coding.h (encode_coding_string): Declare.
11171
11172 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11173 it as an integer.
11174
11175 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11176 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11177 to be passed to get_local_map.
11178
11179 * sound.c (Fplay_sound): Don't call make_number on
11180 Frun_hook_with_args count argument.
11181
11182 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11183 for lisp objects in X event structure data field, when lisp
11184 objects are represented with unions.
11185 (x_scroll_bar_to_input_event): Ditto.
11186
b357b9d4
KR
111872000-06-16 Ken Raeburn <raeburn@gnu.org>
11188
11189 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11190 termination of string. Fix sense of test whether
11191 Vline_number_display_limit is an integer.
b357b9d4 11192
a871441d
GM
111932000-06-16 Gerd Moellmann <gerd@gnu.org>
11194
a9021acd
GM
11195 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11196 only if HAVE_X_WINDOWS.
11197
6344985d
GM
11198 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11199 of titles.
11200
427ec082 11201 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11202 out of bounds.
11203
228b083e
EZ
112042000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11205
11206 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11207 of its headers.
11208
c25b53a2
KH
112092000-06-15 Kenichi Handa <handa@etl.go.jp>
11210
11211 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11212 start of the while loop.
11213
a6981b11
GM
112142000-06-15 Gerd Moellmann <gerd@gnu.org>
11215
e9924e52
GM
11216 * atimer.c (alarm_signal_handler): Add forward declaration.
11217
a6981b11
GM
11218 * data.c (set_internal): Remove debug code.
11219
25fa6deb
GM
112202000-06-14 Gerd Moellmann <gerd@gnu.org>
11221
dce6b995
GM
11222 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11223
9f817ea4
GM
11224 * unexec.c (toplevel) [COFF]: Include coff.h.
11225
11226 * s/lynxos.h: New file.
11227
11228 * keymap.c (Fsingle_key_description): Enclose function key and
11229 event symbol names in angle brackets.
11230
8a4e3c0c
GM
11231 * xdisp.c (setup_echo_area_for_printing): Call
11232 message_log_maybe_newline if message_buf_print is not set.
11233
11234 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11235 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11236 function does something useful even when message_buf_print is
11237 already set.
11238
52283633
SM
11239 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11240 New variables.
25fa6deb
GM
11241 (ensure_echo_area_buffers): Initialize echo buffer's
11242 truncate lines setting to nil.
11243 (with_echo_area_buffer): Don't set the echo buffer's truncate
11244 lines setting here.
8a4e3c0c 11245 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11246 of message_truncate_lines.
11247 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11248 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11249 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11250
11251 * keyboard.c (read_char): Bind message-truncate-lines to t
11252 while displaying a help-echo.
11253
11254 * lisp.h (Qmessage_truncate_lines): External declaration.
11255
163dcff3
GM
112562000-06-13 Gerd Moellmann <gerd@gnu.org>
11257
1681ead6
GM
11258 * xdisp.c (Vline_number_display_limit): Renamed from
11259 line_number_display_limit.
11260 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11261 Extend documentation string. Initialize
11262 Vline_number_display_limit to nil meaning no limit.
11263 (decode_mode_spec): Use Vline_number_display_limit with its new
11264 meaning.
11265
163dcff3
GM
11266 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11267
18e21ce8 112682000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11269
11270 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11271
163dcff3
GM
11272 * xfns.c (x_set_frame_parameters): Comment fix.
11273
11274 * frame.c (store_frame_param): Call swap_in_global_binding if the
11275 variable's current binding was chosen based on this frame.
11276
11277 * data.c (swap_in_global_binding): New function.
11278
a704139d
EZ
112792000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11280
11281 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11282 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11283
9b6610db
EZ
112842000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11285
11286 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11287
c68833d2
JR
112882000-06-12 Jason Rumney <jasonr@gnu.org>
11289
11290 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11291
11292 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11293
11294 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11295
11296 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11297
ed1056b3
GM
112982000-06-12 Gerd Moellmann <gerd@gnu.org>
11299
11300 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11301 (syms_of_xfaces): Defsubr Sdump_colors.
11302 (x_free_colors): Don't treat b&w specially on default visual.
11303 (x_free_dpy_colors): New function.
11304 (free_face_colors): Don't check visual class; it's done
11305 in x_free_colors.
11306
11307 * xterm.c (x_frame_of_widget): New function.
11308 (x_alloc_nearest_color_for_widget): Use it.
11309 (x_copy_dpy_color): New function.
11310 (x_destroy_window): Free various colors.
11311
5050a2ef
KH
113122000-06-12 Kenichi Handa <handa@etl.go.jp>
11313
11314 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11315
11316 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11317
11318 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11319
11320 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11321
11322 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11323
fb1b041d
DL
113242000-06-11 Dave Love <fx@gnu.org>
11325
11326 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11327
ff96b5f4
EZ
113282000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11329
11330 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11331
db8eeecd
GM
113322000-06-11 Gerd Moellmann <gerd@gnu.org>
11333
ed1056b3 11334 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11335 to `XEvent *'.
11336
49b71c5f
KH
113372000-06-10 Kenichi Handa <handa@etl.go.jp>
11338
c479bd55
KH
11339 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11340 (regex_compile): Fix the code for handling the case of single byte
11341 char and multibyte char being mixed in a range within [...].
11342
ff6a65c2
KH
11343 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11344 and dst_multibyte members of coding.
11345
49b71c5f
KH
11346 * charset.c (update_charset_table): Update the table
11347 bytes_by_char_head.
11348 (init_charset_once): Initialize elements of bytes_by_char_head to
11349 1 except for leading codes for private charases.
11350
11351 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11352 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11353
9e80b57d
KR
113542000-06-09 Ken Raeburn <raeburn@gnu.org>
11355
11356 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11357 access the data it doesn't point to.
11358
f83fe4b4
GM
113592000-06-08 Gerd Moellmann <gerd@gnu.org>
11360
11361 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11362 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11363 event queue. This is necessary because Emacs otherwise won't
11364 perform a switch-frame to a new frame until some other event, for
11365 example a keystroke event, forces it to do so. This has various
11366 effects, one visible being that the cursor of a frame created with
11367 C-x 5 2 or switched to with a window manager key binding like
11368 A-TAB stays hollow because selected_window isn't on the newly
11369 focused frame until the switch-frame is performed.
11370
11371 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11372 generating a switch-frame event if necessary.
11373
11374 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11375
11376 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11377 it's an integer.
11378
0890801b
KH
113792000-06-08 Kenichi Handa <handa@etl.go.jp>
11380
52283633 11381 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11382
173cbca8
GM
113832000-06-07 Gerd Moellmann <gerd@gnu.org>
11384
3091c2a6
GM
11385 * window.c (displayed_window_lines): Take empty lines at
11386 the bottom of a window into account.
427ec082 11387
f38952fe
GM
11388 * window.c (displayed_window_lines): New function.
11389 (Fmove_to_window_line): Use displayed_window_lines to determine
11390 the number of lines to move, instead of using the window's height.
11391
11392 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11393 to stop reading, even if the form read sets point to a different
11394 value when evaluated.
11395
427ec082 11396 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11397 put the cursor.
11398
6ba6c818
KH
113992000-06-07 Kenichi Handa <handa@etl.go.jp>
11400
11401 * fileio.c (e_write): Free composition data if stored in
11402 coding->cmp_data.
11403
5f1aea9a
GM
114042000-06-06 Gerd Moellmann <gerd@gnu.org>
11405
666852af
GM
11406 * xdisp.c (display_line): Set row's and iterator's
11407 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11408 Set cursor even if row ends in the middle of a character.
11409 (dump_glyph_row): Print values of new flags.
11410 (redisplay_window) <cursor movement in unchanged window>: When
11411 point has been moved forward, and PT is at the end of the cursor
11412 row, don't place the cursor in the next row if the cursor row ends
11413 in the middle of a character or at ZV.
11414
11415 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11416 (struct glyph_row): Add starts_in_middle_of_char_p and
11417 ends_in_middle_of_char_p.
11418 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11419 ends_in_middle_of_char_p flag.
11420 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11421
d13f3e2e
GM
11422 * term.c (append_glyph): Revert change of 2000-06-06.
11423
11424 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11425 padding glyph not fitting on line as whole character not
11426 fitting on line.
11427
5f1aea9a
GM
11428 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11429 this isn't true for images with `:ascent 100'.
11430
10cda9b0
KH
114312000-06-06 Kenichi Handa <handa@etl.go.jp>
11432
ed00559d
KH
11433 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11434 as modified if it is originally unmodified.
11435
10cda9b0
KH
11436 * term.c (encode_terminal_code): Change the way to check if
11437 terminal coding does any conversion.
11438 (append_glyph): Set glyph->pixel_width correctly.
11439
11440 * xdisp.c (display_line): While checking line continuation, pay
11441 attention to a padding glyph.
11442
1969fae2
GM
114432000-06-05 Gerd Moellmann <gerd@gnu.org>
11444
11445 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11446
162ccef4
DL
114472000-06-05 Dave Love <fx@gnu.org>
11448
f19f32dd
DL
11449 * xdisp.c: Include fontset.h.
11450
11451 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11452
11453 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11454
11455 * dispnew.c: Conditionally include term.h.
11456
11457 * coding.h: Declare code_convert_string_norecord.
11458
11459 * frame.h (struct frame): Use volatile unconditionally.
11460
11461 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11462
11463 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11464
11465 * systime.h: Protect against multiple inclusion.
11466 (timezone) [USG5_4]: Define as time_t.
11467
11468 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11469 (Foptimize_char_table, make_temp_name): Declare.
11470
11471 * Makefile.in (xdisp.o): Depend on fontset.h.
11472
11473 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11474
11475 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11476 (Foptimize_char_table, make_temp_name): Declare.
11477
427ec082 11478 * s/irix4-0.h:
162ccef4
DL
11479 * s/irix5-0.h:
11480 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11481
2082fe81
DL
114822000-06-02 Dave Love <fx@gnu.org>
11483
11484 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11485
dcf671d2
GM
114862000-06-02 Gerd Moellmann <gerd@gnu.org>
11487
11488 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11489 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11490 be freed.
11491
11492 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11493 glyph, use the ASCII NUL character to determine the face.
11494
d42122a3
DL
114952000-06-02 Dave Love <fx@gnu.org>
11496
11497 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11498 (VFORK_RETURN_TYPE): Remove.
427ec082 11499
d42122a3
DL
11500 * config.in: Add NO_MATHERR.
11501
dd432f16
DL
115022000-06-01 Dave Love <fx@gnu.org>
11503
90aa4ea8
DL
11504 * cmds.c (internal_self_insert): Don't check
11505 Vbefore_change_function, Vafter_change_function.
11506
11507 * insdel.c (signal_before_change, signal_after_change): Likewise.
11508
11509 * buffer.c (Vbefore_change_function, Vafter_change_function):
11510 Variables and their initializations deleted.
11511
2330c9d4
DL
11512 * callint.c (Fcall_interactively): Doc fix.
11513
dd432f16
DL
11514 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11515
bf9e8804
DL
115162000-05-31 Dave Love <fx@gnu.org>
11517
11518 * textprop.c: Revert last change -- duplicated.
11519
3694b4ab
GM
115202000-05-31 Gerd Moellmann <gerd@gnu.org>
11521
11522 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11523 in #if 0.
11524
11525 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11526
f14156cd
JR
115272000-05-31 Jason Rumney <jasonr@gnu.org>
11528
8119aab8
JR
11529 * search.c (Fre_search_forward, Fre_search_backward)
11530 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11531
f14156cd
JR
11532 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11533
4aab9be3
JR
115342000-05-30 Jason Rumney <jasonr@gnu.org>
11535
11536 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11537 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11538
52283633 11539 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11540
11541 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11542 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11543 expand a nil default_filename.
11544
11545 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11546 pointer to glyph_to_pixel_coords, not a frame.
11547
11548 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11549 coding.h to dependencies.
11550
11551 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11552
11553 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11554 window pointer to be consistent with w32term.c and xterm.c.
11555
11556 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11557 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11558 (Qline_spacing, Qcenter): New variables.
11559 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11560 (x_set_line_spacing): New function.
52283633 11561 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11562 (x_specified_cursor_type): New function.
11563 (x_set_cursor_type): Use it.
11564 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11565 and icon strings.
11566 (validate_x_resource_name, x_get_resource_string): Measure lengths
11567 of external strings in bytes.
11568 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11569 GetTextExtentPoint32 with NULL title.
11570 (Fx_create_frame): Initialize Qline_spacing.
11571 (w32_load_system_font): Initialize font->double_byte_p.
11572 (x_to_w32_charset): Use Vw32_charset_info_alist.
11573 (Image, busy cursor, tooltip functions): Merged changes from
11574 xfns.c. Not yet functional on Windows.
11575
11576 * w32gui.h (W32FontStruct): Add double_byte_p member.
11577
11578 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11579 (emacs_button_translation): Use it.
11580 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11581 in `mask' to be set.
11582
11583 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11584 menu strings.
11585
11586 * w32term.c: Format and doc changes to bring closer to xterm.c.
11587 (w32_char_font_type): New enum.
11588 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11589 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11590 (w32_encode_char): New function.
11591 (x_encode_char): Removed.
11592 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11593 x_encode_char and w32_font_is_double_byte.
11594 (x_produce_image_glyph): Use image_ascent.
11595 (x_produce_glyphs): Use new version of w32_per_char_metric and
11596 handle NULL return value. Allow extra line spacing.
11597 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11598 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11599 w32_font_type member of glyph instead.
11600 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11601 (fast_find_position): Make sure not to consider rows not visible
11602 in the window.
11603 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11604 w32_menu_display_help with input blocked, as it can abort.
11605 (x_display_and_set_cursor): Choose cursor depending
11606 on buffer-local value of cursor_type.
11607 (x_draw_bar_cursor): Add parameter WIDTH.
11608
11609 * w32term.h (CP_DEFAULT): Define.
11610 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11611
10fc3187
GM
116122000-05-30 Gerd Moellmann <gerd@gnu.org>
11613
11614 * search.c (Fre_search_forward, Fre_search_backward)
11615 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11616
d0555360
KH
116172000-05-30 Kenichi Handa <handa@etl.go.jp>
11618
11619 * coding.c (detect_coding_iso2022): Fix code for checking
11620 CODING_CATEGORY_MASK_ISO_8_2.
11621
f1ad044f
SM
116222000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11623
11624 * regex.c (PREFETCH_NOLIMIT): New function.
11625 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11626
84ec3b4b
GM
116272000-05-29 Gerd Moellmann <gerd@gnu.org>
11628
66254a13
GM
11629 * syntax.c (find_defun_start): Move test for
11630 open_paren_in_column_0_is_defun_start outside of the loop.
11631
49e70dec
GM
11632 * xdisp.c (redisplay_window): Really switch buffers when
11633 displaying mode lines, and temporarily set selected_frame to the
11634 frame of the window that's redisplayed.
11635
84ec3b4b
GM
11636 * xfaces.c (free_realized_faces): Block/unblock input.
11637 (free_realized_multibyte_face): Ditto.
11638
869a3a14
DL
116392000-05-29 Dave Love <fx@gnu.org>
11640
11641 * textprop.c (Qkeymap): New variable.
11642 (syms_of_textprop): Intern it.
11643
11644 * keymap.c: Include intervals.h.
11645 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11646
11647 * Makefile.in (keymap.o): Depend on intervals.h.
11648
11649 * keyboard.c (menu_bar_items, tool_bar_items)
11650 (Fexecute_extended_command): Deal with `keymap' property.
11651 (read_key_sequence): Track map from `keymap' property as well as
11652 `local_map'.
11653
11654 * intervals.c (get_local_map): Extra arg to allow looking for
11655 `keymap' too.
11656
11657 * intervals.h (map_property): New enum.
11658 (get_local_map): Extra arg using it.
11659 (Qkeymap): Declare.
11660
84ec3b4b 11661 * lisp.h (get_local_map): Don't declare here.
869a3a14 11662
89d0c844
KH
116632000-05-29 Kenichi Handa <handa@etl.go.jp>
11664
11665 * Makefile.in (callproc.o): Depend on composite.h.
11666
11667 * callproc.c: Include composite.h.
11668 (Fcall_process): Handle composition correctly.
11669
11670 * coding.h (coding_allocate_composition_data): Extern it.
11671 (coding_restore_composition): Likewise.
11672
11673 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11674 yet allocated, finish decoding with result
11675 CODING_FINISH_INSUFFICIENT_CMP.
11676 (coding_allocate_composition_data): Make it non-static.
11677 (coding_restore_composition): Likewise.
11678
797a084a
EZ
116792000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11680
11681 * charset.c (syms_of_charset): Revert last change.
11682
cf872af5
EZ
116832000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11684
11685 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11686 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11687 Handa.
cf872af5 11688
5b1ae051
EZ
116892000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11690
11691 * charset.c (syms_of_charset): Set width of character sets
11692 eight-bit-control and eight-bit-graphic to 1 column.
11693
34ec9ebe
GM
116942000-05-26 Gerd Moellmann <gerd@gnu.org>
11695
11696 * config.in (HAVE_SPEED_T): New define.
11697
11698 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11699 `extern speed_t'.
11700
dd854dc2
DL
117012000-05-26 Dave Love <fx@gnu.org>
11702
11703 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11704
11705 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11706 (Fsubr_arity): New function.
11707 (syms_of_data): Install them.
11708
ba9f8f95
KH
117092000-05-26 Kenichi Handa <handa@etl.go.jp>
11710
0f3e0672
KH
11711 * charset.c (init_charset_once): Set the table bytes_by_char_head
11712 correctly.
11713
cebefb44
KH
11714 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11715 the default fontset to what Emacs uses by default.
0f3e0672
KH
11716 (check_registry_encoding): This function deleted.
11717 (Fset_fontset_font): Remove the adhoc condition for the default
11718 fontset. Allow cons in FONTNAME.
cebefb44 11719
0f3e0672
KH
11720 * fns.c (map_char_table): Ignore char-table entries for
11721 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11722
7a18af49
KR
117232000-05-25 Ken Raeburn <raeburn@gnu.org>
11724
11725 * emacs.c (main): Initialize keyboard syms before initializing
11726 window code, so face names are available.
11727
d2af47df
SM
117282000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11729
11730 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11731 of an anchor at the beginning of a shy-group.
11732
fc6a6a4e
GM
117332000-05-25 Gerd Moellmann <gerd@gnu.org>
11734
11735 * xdisp.c (handle_invisible_prop): Don't try to skip over
11736 invisible text if end of text is already reached.
11737
005f0d35
DL
117382000-05-25 Dave Love <fx@gnu.org>
11739
02513cdd
DL
11740 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11741
005f0d35
DL
11742 * coding.c (encode_eol): Add null statement after label.
11743
89f6ca4e
EZ
117442000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11745
11746 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11747 2000-05-20.
11748
a4e1759e
KH
117492000-05-25 Kenichi Handa <handa@etl.go.jp>
11750
11751 * ccl.c (ccl_driver): Fix previous change.
11752
eacfd7fe
KH
117532000-05-25 Kenichi Handa <handa@etl.go.jp>
11754
46ab33a9
KH
11755 * coding.c (run_pre_post_conversion_on_str): Set point to the
11756 beginning of buffer before calling coding->post_read_conversion.
11757 (decode_coding_string): Give correct args to
11758 run_pre_post_conversion_on_str.
11759 (encode_coding_string): Likewise.
11760
eacfd7fe
KH
11761 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11762 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11763 eight-bit-graphic correctly.
11764
f8569325
DL
117652000-05-24 Kenichi HANDA <handa@etl.go.jp>
11766
11767 * fileio.c (Finsert_file_contents): Even if a file is not found,
11768 execute codes for setting up coding system. Call
11769 after-insert-file-functions unconditionally.
11770
04545643
GM
117712000-05-24 Gerd Moellmann <gerd@gnu.org>
11772
11773 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11774 BSD_PGRPS are not defined.
11775
747d90ea
KH
117762000-05-24 Kenichi Handa <handa@etl.go.jp>
11777
11778 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11779 DESCRIPTION.
11780 (syms_of_charset): Avoid building same strings.
11781
716e3b88
GM
117822000-05-23 Gerd Moellmann <gerd@gnu.org>
11783
11784 * lread.c (Fload): Add a comment about the meaning of
11785 Vuser_init_file being t.
11786
11787 * puresize.h (BASE_PURESIZE): Increase to 675000.
11788
11789 * s/gnu-linux.h (setpgrp): Don't define it here because this
11790 prevents compilation on GNU/Linux systems with glib 2.2.
11791
11792 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11793 as setpgid.
427ec082 11794
9aeb39fa
EZ
117952000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11796
11797 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11798 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11799 version.
11800 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11801
29ced61b
KH
118022000-05-23 Kenichi Handa <handa@etl.go.jp>
11803
52283633 11804 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11805
3d80f24d
KH
11806 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11807
52283633 11808 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11809
29ced61b
KH
11810 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11811
d7e00792
KH
118122000-05-22 Kenichi Handa <handa@etl.go.jp>
11813
c9d80d38
KH
11814 * keyboard.c (read_char): Allow character codes 128..255 to be
11815 handled by input-method-function.
11816
d7e00792
KH
11817 * insdel.c (adjust_markers_for_replace): Fix previous change.
11818 (adjust_after_replace): If PREV_TEXT is nil, call
11819 adjust_markers_for_insert, not adjust_markers_for_replace.
11820
087121cc 118212000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11822
087121cc
GM
11823 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11824 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11825 [HAVE_GRANDPT]: Define.
11826 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11827
11828 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11829 like SYSV_PTYS.
11830
11831 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11832
11833 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11834
c9671f81
KH
118352000-05-20 Kenichi Handa <handa@etl.go.jp>
11836
11837 The following changes are to handle 8-bit characters in a
11838 multibyte buffer/string without facing with byte combining
11839 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11840 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11841
11842 * Makefile.in (fns.o): Depend on charset.h.
11843
11844 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11845 convert it to unibyte.
11846 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11847
11848 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11849 apparent char boundary.
11850 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11851 0x80..0x9F to/from multibyte form.
11852
11853 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11854 to unibyte.
11855
11856 * callproc.c (Fcall_process): Always encode an argument string if
11857 it is multibyte. Setup src_multibyte and dst_multibyte members of
11858 process_coding properly.
ce75fd23 11859
c9671f81
KH
11860 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11861 SPLIT_NON_ASCII_CHAR.
11862
11863 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11864 as is.
11865 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11866
52283633 11867 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11868 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11869 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11870 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11871 and eight-bit-graphic.
11872 (char_to_string): Likewise. Signal an error for too large
11873 character code.
11874 (char_printable_p): Return 0 for 8-bit characters.
11875 (update_charset_table): Update iso_charset_table only when a final
11876 character is non-negative.
11877 (find_charset_in_text): Renamed from find_charset_in_str.
11878 Arguments and return value changed. Callers changed.
11879 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11880 be -1 if CHARSET is used only internally.
11881 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11882 eight-bit-graphic.
11883 (Fcharset_after): Simplified.
11884 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11885 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11886 (multibyte_chars_in_text): Simplified by assuming there's no
11887 invalid multibyte sequence.
52283633
SM
11888 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11889 (str_as_unibyte): New functions.
11890 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11891 (init_charset_once): Initialization for
11892 LEADING_CODE_8_BIT_CONTROL.
11893 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11894 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11895 eight-bit-control and eight-bit-graphic.
11896
52283633
SM
11897 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11898 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11899 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11900 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11901 (CHARSET_REVERSE_CHARSET): Likewise.
11902 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11903 eight-bit-graphic.
11904 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11905 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11906 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11907 encounter an invalid multibyte sequence.
11908 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11909 sequence is always valid.
11910 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11911 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11912 (CHAR_STRING): For 8-bit characters, call char_to_string.
11913 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11914 multibyte sequence is always valid.
11915 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11916 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11917 (str_as_unibyte): Extern them.
c9671f81 11918 (BCOPY_SHORT): Fix a bug.
52283633 11919 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11920 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11921 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11922 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11923
bd4bde7f 11924 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11925 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11926 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11927 (EMIT_BYTES): New macros.
11928 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11929 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11930 macros deleted.
11931 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11932 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11933 check the validity of multibyte sequence.
11934 (decode_coding_emacs_mule): New function.
11935 (encode_coding_emacs_mule): New macro.
11936 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11937 the source.
11938 (DECODE_ISO_CHARACTER): Just return a character code.
11939 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11940 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11941 EMIT_CHAR to produced decoded characters. Exit the loop only by
11942 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11943 block here.
11944 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11945 only position codes for an invalid character.
11946 (encode_designation_at_bol): Return new destination pointer. 5th
11947 arg DSTP is changed to DST.
11948 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11949 from the source by ONE_MORE_CHAR. Don't handle the case of last
11950 block here.
11951 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11952 macros deleted.
52283633
SM
11953 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11954 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11955 TWO_MORE_BYTES to fetch a byte from the source.
11956 (encode_eol): Pay attention to coding->src_multibyte.
11957 (detect_coding, detect_eol): Preserve members src_multibyte and
11958 dst_multibyte.
11959 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11960 (encoding_buffer_size): Set magnification to 3 for all coding
11961 systems that require encoding.
11962 (ccl_coding_driver): For decoding, be sure that the result is
11963 valid multibyte sequence.
11964 (decode_coding): Initialize coding->errors and coding->result.
11965 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11966 and raw-text, always call decode_eol. Handle the case of last
11967 block here. If not coding->dst_multibyte, convert the resulting
11968 sequence to unibyte.
11969 (encode_coding): Initialize coding->errors and coding->result.
11970 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11971 and raw-text, always call encode_eol. Handle the case of last
11972 block here.
11973 (shrink_decoding_region, shrink_encoding_region): Detect cases
11974 that we can't skip data more rigidly.
11975 (code_convert_region): Setup src_multibyte and dst_multibyte
11976 members of coding. For decoding, if the buffer is multibyte,
11977 convert the source sequence to unibyte in advance. For encoding,
11978 if the buffer is multibyte, convert the resulting sequence to
11979 multibyte afterward.
11980 (run_pre_post_conversion_on_str): New function.
11981 (code_convert_string): Deleted and divided into the following two.
11982 (decode_coding_string, encode_coding_string): New functions.
11983 (code_convert_string1, code_convert_string_norecord): Call one of
11984 above.
11985 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11986 MAKE_NON_ASCII_CHAR.
52283633
SM
11987 (Fset_terminal_coding_system_internal)
11988 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11989 and dst_multibyte members.
11990 (init_coding_once): Initialize iso_code_class with new enum
11991 ISO_control_0 and ISO_control_1.
11992
11993 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11994 devided into ISO_control_0 and ISO_control_1.
11995 (struct coding_system): New members src_multibyte, dst_multibyte,
11996 errors, and result. Delete member fake_multibyte.
11997 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11998 nonzero.
11999 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12000 nonzero.
12001
12002 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12003 (Faset): Likewise.
12004
12005 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12006 multibyte form.
12007 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12008 combining occurs.
12009 (Ftranspose_region): Delete codes for handling byte combining.
12010
12011 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12012 dst_multibyte members of coding. On handling REPLACE on unibyte
12013 buffer, convert the result of decode_coding to unibyte. On
12014 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12015 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12016 multibyteness of the source (buffer or string).
12017
12018 * fns.c (concat): Handle 8-bit characters correctly.
12019 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12020 unibyte in the result.
12021 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12022 valid multibyte form in the result.
12023 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12024 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12025 return -1, signal an error.
12026 (base64_encode_1): New arg MULTIBYTE. Get each character by
12027 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12028 character is found, return -1.
12029 (Fbase64_decode_region): Delete codes for handling byte-combining.
12030 Treat each decoded byte as a unibyte character.
12031 (Fbase64_decode_string): Return unibyte string.
12032 (Fcompare_strings, concat, string_byte_to_char): Use
12033 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12034 FETCH_STRING_CHAR_ADVANCE.
12035 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12036 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12037
12038 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12039 SPLIT_NON_ASCII_CHAR.
12040 (fontset_ref_via_base, fontset_set): Likewise
12041
12042 * insdel.c (adjust_markers_for_record_delete): Deleted.
12043 (adjust_markers_for_insert): Argument changed. Caller changed.
12044 (adjust_markers_for_replace): Likewise.
52283633
SM
12045 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12046 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12047 (copy_text): Delete unused local varialbe c_save. For converting
12048 to multibyte, be sure to make all 8-bit characters in valid
12049 multibyte form.
12050 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12051 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12052 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12053 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12054 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12055 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12056 handling byte combining.
12057 (adjust_before_replace): Deleted.
427ec082 12058
c9671f81
KH
12059 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12060 SPLIT_NON_ASCII_CHAR.
12061 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12062 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12063 (Fkey_description): Likewise.
12064
12065 * lread.c (read1): On reading multibyte string, be sure to make
12066 all 8-bit chararacters in valid multibyte form.
12067 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12068
12069 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12070 unconditionally.
12071
12072 * process.c (Fstart_process): GCPRO current_dir before calling
12073 Ffind_operation_coding_system. Encode arguments here.
12074 (create_process): Don't encode arguments here. Setup
12075 src_multibyte and dst_multibyte members of struct coding.
12076 (read_process_output): Setup src_multibyte and dst_multibyte
12077 members of struct coding. If the output is to multibyte buffer,
12078 always decode the output of the process. Adjust the
52283633 12079 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12080 (send_process): Setup coding->src_multibyte according to the
12081 multibyteness of the source.
12082
52283633 12083 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12084 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12085 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12086
52283633 12087 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12088
12089 * w16select.c (Fw16_set_clipboard_data): Setup members
12090 src_multibyte and dst_multibyte of coding. Adjusted for the
12091 change for find_charset_in_str.
12092 (Fw16_get_clipboard_data): Likewise.
12093
12094 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12095 dst_multibyte of coding.
12096 (x_to_w32_font): Likewise.
12097
12098 * w32select.c (Fw32_set_clipboard_data): Setup members
12099 src_multibyte and dst_multibyte of coding. Adjusted for the
12100 change for find_charset_in_str.
12101 (Fw32_get_clipboard_data): Likewise.
12102
12103 * xdisp.c (get_next_display_element): Handle 8-bit characters
12104 correctly.
52283633
SM
12105 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12106 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12107
12108 * xselect.c (selection_data_to_lisp_data): Setup members
12109 src_multibyte and dst_multibyte of coding. Adjusted for the
12110 change for find_charset_in_str.
12111 (lisp_data_to_selection_data): Likewise.
12112
5f64c9e0
GM
121132000-05-19 Gerd Moellmann <gerd@gnu.org>
12114
52283633 12115 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12116
5f64c9e0
GM
12117 * dispextern.h (Vimage_types): Add extern declaration.
12118
12119 * xdisp.c (Vimage_types): Moved here from xfns.c.
12120 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12121
12122 * xfns.c (Vimages_types): Moved to xdisp.c.
12123 (syms_of_xfns): Move `image-types' to xdisp.c.
12124
12125 * w32fns.c (Vimage_types): Removed.
12126 (syms_of_w32fns): Remove `image-types'.
12127
813086ea
KH
121282000-05-18 Kenichi Handa <handa@etl.go.jp>
12129
12130 * fns.c (map_char_table): Pay attention to character number of
12131 charset. Check the validity of charset at the first level. For
12132 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12133 the default value.
12134
12135 * fontset.c: Include "buffer.h".
12136 (fs_load_font): If the face has fontset, record the face ID in
12137 that fontset.
12138 (Finternal_char_font): New function.
12139 (accumulate_font_info): New function.
12140 (Ffontset_info): Rewritten for the new fontset implementation.
12141 (syms_of_fontset): Register Vdefault_fontset in the first element
12142 of Vfontset_table. Include Vdefault_fontset in
12143 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12144 function.
12145
bdaebbf0
DL
121462000-05-16 Dave Love <fx@gnu.org>
12147
12148 * m/iris5d.h: Deleted -- unused.
12149
cb613bb8
GM
121502000-05-16 Gerd Moellmann <gerd@gnu.org>
12151
b15f3b77
GM
12152 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12153 `invalid' instead of `illegal'.
12154
12155 * indent.c (Fmove_to_column): When ending within a tab, insert
12156 spaces first so that markers at the end of the tab get adjusted.
12157
835c1b36
GM
12158 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12159 buffer list that wasn't selected in that frame.
12160
cb613bb8
GM
12161 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12162 is needed on mescaline, use a 2 char prefix, and call
12163 make_temp_name with second arg non-zero.
12164
12165 * fileio.c (make_temp_name): New function, extracted from
12166 Fmake_temp_name.
12167 (Fmake_temp_name): Use it.
12168
f685bea9
EZ
121692000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12170
52283633 12171 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12172
a1b8d58b
GM
121732000-05-15 Gerd Moellmann <gerd@gnu.org>
12174
12175 * Makefile.in (lisp): Add env.elc.
12176
12177 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12178
a265079f
GM
121792000-05-12 Gerd Moellmann <gerd@gnu.org>
12180
12181 * search.c (Freplace_match): Handle case of `\N' in the
12182 replacement when there's no group N.
12183
da4496b6
GM
121842000-05-11 Gerd Moellmann <gerd@gnu.org>
12185
0ace421a
GM
12186 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12187 of the message to message_dolog.
12188
1172eb8d
GM
12189 * keyboard.c (read_char): Don't clear current message for help
12190 events; let the code handling help events handle this. Change
12191 code detecting help events that should be ignored.
12192
da4496b6
GM
12193 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12194 we're interating over a string.
12195
0623e40f
DL
121962000-05-09 Dave Love <fx@gnu.org>
12197
12198 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12199 that offset before writing. Move gcpro region past call of
12200 Ffile_regular_p.
12201
bae2503b
DL
122022000-05-04 Dave Love <fx@gnu.org>
12203
12204 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12205
ec82fb2f
GM
122062000-05-04 Gerd Moellmann <gerd@gnu.org>
12207
12208 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12209 of inserted characters when BUF equals the current buffer, and PT
12210 is in front of or equal to FROM.
12211
cbf18892
GM
122122000-05-03 Gerd Moellmann <gerd@gnu.org>
12213
4ff40dd0
GM
12214 * xdisp.c (handle_single_display_prop): If display property value
12215 is invalid, or something not supported on the frame, restore
12216 iterator's position to what it was initially. Make sure to return
12217 0 for invalid and unsupported property values.
12218
cbf18892
GM
12219 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12220 that x_per_char_metric returns null.
12221
1b0672c3
GM
122222000-05-02 Gerd Moellmann <gerd@gnu.org>
12223
576da55d
GM
12224 * xterm.h (struct face): Add forward declaration.
12225 (struct image): Ditto.
12226 (image_ascent): Add prototype.
12227
12228 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12229 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12230 image_ascent instead of using IMAGE_ASCENT.
12231
12232 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12233 (IMAGE_ASCENT): Removed.
12234
12235 * xfns.c (Qcenter): New variable.
12236 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12237 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12238 (image_ascent): New function.
12239 (lookup_image): Recognize `:ascent center'.
12240 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12241 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12242 (xbm_load): Don't set image's ascent here.
12243 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12244 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12245 check ascent values here.
12246 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12247 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12248 (syms_of_xfns): Initialize Qcenter.
12249
1b0672c3
GM
12250 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12251 to the limits, increase the limits.
12252
0d7811ed
KH
122532000-05-01 Kenichi Handa <handa@etl.go.jp>
12254
12255 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12256 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12257
a943a5ca
GM
122582000-04-28 Gerd Moellmann <gerd@gnu.org>
12259
12260 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12261 taller than the window.
12262
5dba1e29
KH
122632000-04-28 Kenichi Handa <handa@etl.go.jp>
12264
12265 * xfaces.c (realize_x_face): Fix the argument of the second
12266 xassert. BASE_FACE may not be a face for ASCII.
12267
353964e3
GM
122682000-04-27 Gerd Moellmann <gerd@gnu.org>
12269
c76e04a8
GM
12270 * print.c (print_object): Treat print-length < 0 as nil.
12271
12272 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12273
12274 * s/freebsd.h (TERMCAP_OBJ): Removed.
12275 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12276
12277 * lread.c (read1): Don't treat period followed by certain
12278 characters as symbol start.
12279
12280 * xfns.c (slurp_file): New function.
12281 (xbm_image_p): Handle case of in-memory XBM files.
12282 (xbm_scan): Rewritten to work on memory buffers instead of files.
12283 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12284 Work on memory buffers instead of files. If DATA is null test
12285 if buffer looks like an in-memory XBM file.
12286 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12287 memory buffers instead of files.
12288 (xbm_file_p): New function.
12289 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12290
353964e3
GM
12291 * lread.c (end_of_file_error): New function.
12292 (read1): Call it instead of signaling `end-of-file' directly.
12293
427ec082 12294 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12295 with Fprinc instead of Fprin1.
12296
24d744ac
KR
122972000-04-26 Ken Raeburn <raeburn@gnu.org>
12298
12299 * window.c (freeze_window_start): Check that minibuffer scroll
12300 window isn't nil before extracting the window structure pointer
12301 from it.
12302
12303 * undo.c (record_delete): If we hit the end of the undo list, stop
12304 picking elements apart.
12305
7464346d
GM
123062000-04-26 Gerd Moellmann <gerd@gnu.org>
12307
12308 * xdisp.c (display_line): If lines are continued, restore
12309 iterator's ascent/descent information to the values before the
12310 first glyph not fitting on the line.
12311
612839b6
GM
123122000-04-25 Gerd Moellmann <gerd@gnu.org>
12313
12314 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12315 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12316
12317 * dispnew.c (increment_matrix_positions): Renamed from
12318 increment_glyph_matrix_buffer_positions.
12319 (increment_row_positions): Renamed from
12320 increment_glyph_row_buffer_positions.
12321
12322 * dispextern.h: Change names of renamed functions from dispnew.c
12323 in prototypes.
12324
cc181e95
GM
123252000-04-24 Gerd Moellmann <gerd@gnu.org>
12326
abfcc168
GM
12327 * fileio.c (Fdo_auto_save): Create directories for auto-save
12328 list file if necessary.
12329
cc181e95
GM
12330 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12331 from buffer or frame.
12332 (automatic_hscrolling_p): New variable.
12333 (hscroll_windows): Scroll windows horizontally only if automatic
12334 hscrolling is allowed.
12335 (syms_of_xdisp): New variable `automatic-hscrolling'.
12336
12337 * frame.h (struct frame): Add member extra_line_spacing.
12338
12339 * xfns.c (x_set_line_spacing): New function.
12340 (Fx_create_frame): Set line spacing from resources.
12341 (Qline_spacing): New variable.
12342 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12343
cc181e95
GM
12344 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12345
12346 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12347 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12348 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12349 extra_line_spacing from default value.
12350 (init_buffer_once): Initialize default value of extra_line_spacing.
12351
12352 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12353 and extra3.
12354
12355 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12356 prompt_width. Add extra line spacing.
12357
12358 * term.c (produce_glyphs): Remove reference to struct it's
12359 prompt_width.
12360
12361 * dispextern.h (struct it): Remove member prompt_width, add
12362 extra_line_spacing.
12363
58827478
GM
123642000-04-22 Gerd Moellmann <gerd@gnu.org>
12365
12366 * dispnew.c (update_frame_line): When writing a whole line, make
12367 sure cursor is in the right row afterwards, otherwise a use of
12368 capability `ch' in cmgoto might leave the cursor in the row below.
12369
25a87f42
GM
123702000-04-21 Gerd Moellmann <gerd@gnu.org>
12371
12372 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12373
12374 * keyboard.c (timer_check): Fix typo in comment.
12375
54edf5c2
KH
123762000-04-21 Kenichi Handa <handa@etl.go.jp>
12377
12378 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12379 name change: ch -> character.
12380
3a64eef5
GM
123812000-04-20 Gerd Moellmann <gerd@gnu.org>
12382
12383 * keyboard.c (echo_message_buffer): New variable.
12384 (echo_now): Set echo_message_buffer to the echo area buffer used
12385 to display the echo.
12386 (cancel_echoing): Reset echo_message_buffer to nil.
12387 (read_char): Code rewritten that handles canceling an echo or
12388 echoing a dash, respectively.
12389
12390 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12391 directory doesn't exist.
12392
6142fdcb
DL
123932000-04-19 Dave Love <fx@gnu.org>
12394
12395 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12396 (concat): Don't allow numeric args.
12397 (Fconcat): Doc change.
6142fdcb 12398
ac6b5352
SM
123992000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12400
12401 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12402 instead define end_match(1|2) more carefully.
12403 Use GET_CHAR_BEFORE_2 for `begline'.
12404
cb9215e4
GM
124052000-04-19 Gerd Moellmann <gerd@gnu.org>
12406
5e3dac3f
GM
12407 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12408 on 64-bit systems where NULL is defined as `0'.
12409
12410 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12411 the `variable argument list' to make it work on Alpha.
12412
cb9215e4
GM
12413 * m/alpha.h (_LP64) [!_LP64]: Define.
12414 (ORDINARY_LINK): Define for NetBSD.
12415
12416 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12417
f532dca0
DL
124182000-04-19 Dave Love <fx@gnu.org>
12419
c750667e
DL
12420 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12421 change.
12422
12423 * Makefile.in (LIBS): Don't use.
12424 (GETLOADAVG_OBJ): Define again.
12425 (otherobj): Add GETLOADAVG_OBJ.
12426
f532dca0
DL
12427 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12428
1c7e22fd
GM
124292000-04-18 Gerd Moellmann <gerd@gnu.org>
12430
f6d3257b
GM
12431 * lread.c (read_filtered_event): Cancel and start busy cursor.
12432
427ec082 12433 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12434 that the per-character metrics may be null.
12435
e10f64e7
GM
124362000-04-17 Gerd Moellmann <gerd@gnu.org>
12437
0daee095
GM
12438 * buffer.c (clone_per_buffer_values): New function.
12439 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12440 clone_per_buffer_values if CLONE is not nil.
12441
e10f64e7
GM
12442 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12443
38687d43
DL
124442000-04-16 Dave Love <fx@gnu.org>
12445
12446 * Makefile.in: Remove obsolete localcpp stuff.
12447 (GETLOADAVG_OBJ): Don't define.
12448 (obj): Move LIBOBJS...
12449 (otherobj): ... to here.
12450 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12451 whitespace-only lines after the continuation (Irix).
12452
c21c7262
GM
124532000-04-14 Gerd Moellmann <gerd@gnu.org>
12454
12455 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12456
12457 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12458
314767c0
DL
124592000-04-14 Dave Love <fx@gnu.org>
12460
12461 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12462 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12463 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12464 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12465 NLIST_STRUCT.
12466
12467 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12468 autoconfiscated HAVE_GETLOADAVG.
12469
12470 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12471 BROKEN_MKTIME.
12472
a2522dca
GM
124732000-04-14 Gerd Moellmann <gerd@gnu.org>
12474
12475 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12476 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12477
33744b5d
DL
124782000-04-14 Dave Love <fx@gnu.org>
12479
c21c7262 12480 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12481 (INTERVAL_SRC): Convert to make variable.
12482 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12483 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12484 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12485 add LIBOBJS.
12486 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12487 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12488 (shortlisp): Add facemenu, float-sup, frame.
12489 (SOME_MACHINE_LISP): Remove them from here.
12490 (LIBES): Change unused LDLIBS to autoconf LIBS.
12491
12492 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12493
9d3d5916
KH
124942000-04-14 Kenichi Handa <handa@etl.go.jp>
12495
12496 * composite.c (update_compositions): If FROM and TO are not in a
12497 valid range, do nothing.
12498
198e3c7a
GM
124992000-04-13 Gerd Moellmann <gerd@gnu.org>
12500
52283633 12501 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12502
52283633 12503 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12504
12505 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12506 as TERMCAP_OBJ.
12507
055a28c9
EZ
125082000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12509
12510 * fileio.c (a_write): Remove redundant semi-colons.
12511 (e_write): Return -1 if failed to write all the data.
12512 This fixes the changes made at 1999-12-15.
12513
f5c75033
DL
125142000-04-12 Dave Love <fx@gnu.org>
12515
12516 * fns.c (mapcar1): Test for null vals to support mapc.
12517 (Fmapc): New function.
12518
0c3cfc51
EZ
125192000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12520
12521 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12522 (IT_frame_up_to_date): Support the buffer local value of
12523 cursor-type, if defined.
12524
33465a31
DL
125252000-04-10 Dave Love <fx@gnu.org>
12526
12527 * editfns.c (preceding-char, following-char): Doc fix.
12528
6ed56568
KR
125292000-04-10 Ken Raeburn <raeburn@gnu.org>
12530
12531 * Makefile.in (temacs): Revert 2000-03-12 change.
12532
7cf80d4e
JR
125332000-04-10 Jason Rumney <jasonr@gnu.org>
12534
12535 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12536
34f3f342
GM
125372000-04-10 Gerd Moellmann <gerd@gnu.org>
12538
1a1b1895
GM
12539 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12540 area buffer, if it's not set up yet.
12541
34f3f342
GM
12542 * indent.c (compute_motion): Set immediate_quit.
12543
be0dbdab
GM
125442000-04-09 Gerd Moellmann <gerd@gnu.org>
12545
52283633 12546 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12547 (realize_tty_face): Suppress boldness if colors are the inverse of
12548 the default colors, and tty_suppress_bold_inverse_default_colors_p
12549 is set.
12550 (Ftty_suppress_bold_inverse_default_colors): New function.
12551 (syms_of_xfaces): Defsubr it.
12552
be0dbdab
GM
12553 * buffer.c (Frestore_buffer_modified_p): New function.
12554 (syms_of_buffer): Defsubr it.
12555
e8413c3b
KR
125562000-04-08 Ken Raeburn <raeburn@gnu.org>
12557
87f67317
KR
12558 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12559 charset id (int) argument, not a charset (Lisp_Object).
12560
e8413c3b
KR
12561 * coding.h (code_convert_string): Declare.
12562 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12563 object, as the fourth argument to code_convert_string.
12564
52283633 12565 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12566 (Fset_fontset_font): Use EQ to compare lisp objects.
12567
7c752c80
KR
125682000-04-05 Ken Raeburn <raeburn@gnu.org>
12569
c0333abc
KR
12570 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12571 a pointer that looks like a lisp object.
12572 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12573 zero, instead see whether it's an integer object, since they can't
12574 have intervals.
12575 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12576
52283633
SM
12577 * dispnew.c (allocate_matrices_for_frame_redisplay)
12578 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12579 to convert between (unsigned) int values and lisp integers.
12580 * keyboard.c (read_key_sequence): Likewise.
12581 * lread.c (substitute_object_recurse): Likewise.
12582 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12583 * minibuf.c (do_completion, Fminibuffer_complete_word)
12584 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12585 * term.c (produce_special_glyphs): Likewise.
12586
12587 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12588 * print.c (print_preprocess, print_object): Likewise.
12589
12590 * search.c (compile_pattern): Use NILP when checking for nil.
12591
74e49b38
KR
12592 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12593 __OPTIMIZE__]: Provide a GNU C macro version that handles
12594 lisp-object unions.
12595 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12596 field, to better cope with ENABLE_CHECKING and calls that modify a
12597 Lisp_Object using its old value.
12598
685e5ed2
GM
125992000-04-04 Gerd Moellmann <gerd@gnu.org>
12600
c407c570
GM
12601 * window.c (compare_window_configurations): Signal an error
12602 if parameters C1 or C2 aren't window configurations.
12603
685e5ed2
GM
12604 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12605 AFTER_POTENTIAL_GC calls around calls to functions that can
12606 signal an error and thus invoke the debugger.
12607
587a49ab
GM
126082000-04-03 Gerd Moellmann <gerd@gnu.org>
12609
62f20204
GM
12610 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12611 an error if decoding fails.
12612
587a49ab
GM
12613 * keyboard.c (lispy_mouse_names): Variable removed.
12614 (Vlispy_mouse_stem): New variable.
12615 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12616 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12617 for any mouse button number. Increase size of mouse_syms and
12618 button_down_location as needed. Call modify_event_symbol with
12619 different arguments.
12620 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12621 Call modify_event_symbol with different arguments.
12622 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12623 for any button number. Call modify_event_symbol with different
12624 arguments.
12625 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12626 Accept a string for NAME_ALIST_OR_STEM.
12627
12628 * lisp.h (larger_vector): Add prototype.
12629
12630 * fns.c (larger_vector): Make externally visible.
12631
12632 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12633
2d1675e4
SM
126342000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12635
12636 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12637 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12638 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12639 we are between str1 and str2.
12640 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12641 (PATFETCH): Use `TRANSLATE'.
12642 (PATFETCH_RAW): Fetch multibyte char if applicable.
12643 (PATUNFETCH): Remove.
12644 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12645 When writing a char, write it directly into the pattern buffer rather
12646 than going needlessly through a temp char-array.
12647 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12648 multibyte magic and remove the useless `#ifdef emacs'.
12649 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12650 buffer.
12651
12652 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12653 conditional on `emacs'.
12654
12655 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12656
cc2d8c6b
KR
126572000-04-01 Ken Raeburn <raeburn@gnu.org>
12658
12659 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12660 non-union-type versions of XMARK and friends here, because XMARK
12661 and friends won't work on an integer field if NO_UNION_TYPE is not
12662 defined.
52283633 12663 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12664
52283633 12665 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12666 (syms_of_composite): Delete local var NARGS, pass an int as first
12667 argument to Fmake_hash_table.
12668
2387b382
KR
12669 * editfns.c (text_property_stickiness): Use NILP to test
12670 Lisp_Object boolean value.
12671 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12672 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12673 problems reading from and changing the same lisp value in an
12674 XSETSTRING call.
12675
27660e89
GM
126762000-04-01 Gerd Moellmann <gerd@gnu.org>
12677
12678 * term.c (TN_no_color_video): New variable.
12679 (term_init): Intitialize TN_no_color_video.
12680 (enum no_color_bit): New enumeration.
12681 (MAY_USE_WITH_COLORS_P): New macro.
12682 (turn_on_face): Use it to determine if attributes may be used
12683 combined with colors.
12684
3578db3c
KR
126852000-04-01 Ken Raeburn <raeburn@gnu.org>
12686
12687 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12688 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12689 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12690 proper accessor macros.
12691 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12692 (grow_mini_window): Fix typo getting int value of root->height.
12693
6fc556fd
KR
12694 * xdisp.c (compute_string_pos): Fix order of arguments to
12695 string_pos_nchars_ahead.
12696 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12697 count arg to variable-arg routines like Frun_hook_with_args and
12698 Fformat.
587a49ab
GM
12699 (back_to_previous_visible_line_start)
12700 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12701 fixed-arg routines like Fget_char_property and Fmake_string.
12702 (reconsider_clip_changes): Use XINT when comparing integer lisp
12703 objects, or passing them as int arguments.
587a49ab
GM
12704 (mark_window_display_accurate, insert_left_trunc_glyphs)
12705 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12706 storing or passing integer values as lisp objects.
12707 (set_cursor_from_row, highlight_trailing_whitespace): Use
12708 INTEGERP, not implicit test against zero, for glyph object.
12709 (try_window_id): Don't use make_number when we want an int value.
12710
12711 * xfaces.c (xlfd_symbolic_value): Make last argument a
12712 Lisp_Object, to be consistent with callers.
12713 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12714 (lface_hash): Apply XFASTINT to lisp values before folding in.
12715
12716 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12717 fill in window width and height. Pass an int, not a lisp object,
12718 as first arg to Finsert.
12719
6e7b2457
GM
127202000-04-01 Gerd Moellmann <gerd@gnu.org>
12721
610d841e
GM
12722 * xfaces.c (realize_basic_faces): Block input while realizing
12723 the faces.
12724
6e7b2457
GM
12725 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12726
12727 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12728
aa110c0c
GM
127292000-03-31 Gerd Moellmann <gerd@gnu.org>
12730
12731 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12732 or ASCII, handle case that per-char metric is null.
aa110c0c 12733
8801a864
KR
127342000-03-30 Ken Raeburn <raeburn@gnu.org>
12735
c6129d7e
KR
12736 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12737
52283633
SM
12738 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12739 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12740 pointer, using eassert.
12741 * frame.h (XFRAME): Likewise.
12742
52283633
SM
12743 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12744 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12745 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12746 * data.c (set_internal): Likewise.
52283633
SM
12747 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12748 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12749 * fileio.c (auto_save_1): Likewise.
12750 * insdel.c (check_markers): Likewise.
12751 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12752 * undo.c (record_insert): Likewise.
12753 * vmsproc.c (child_sig): Likewise.
12754 * window.c (unshow_buffer, window_loop): Likewise.
12755 * xterm.c (x_erase_phys_cursor): Likewise.
12756
8e7af858
GM
127572000-03-30 Gerd Moellmann <gerd@gnu.org>
12758
12759 * xfns.c (free_image_cache): Free the cache structure itself
12760 last, after all its members have been freed.
12761
12762 * lisp.h (xstrdup): Add prototype.
12763
12764 * alloc.c (xstrdup): Moved here from xfaces.c.
12765 (allocating_for_lisp): Variable removed.
52283633 12766 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12767
12768 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12769 of Fsymbol_value.
12770 (xstrdup): Moved to alloc.c.
12771
e0b8c689
KR
127722000-03-29 Ken Raeburn <raeburn@gnu.org>
12773
b96f9fb7
KR
12774 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12775
12776 * emacs.c (main): Fix sense of no-loadup test.
12777
e0b8c689
KR
12778 * config.in (ENABLE_CHECKING): Undef.
12779
12780 * lisp.h (struct interval): Replace "parent" field with a union of
12781 interval pointer and Lisp_Object; add new bitfield to use as
12782 discriminant. Change other flag fields to bitfields.
12783 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12784 is defined and the supplied test fails, print a message and abort.
12785 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12786
12787 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12788 pointers; abort if the value looks like a lisp object.
52283633
SM
12789 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12790 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12791 Modify for new interval parent definition.
12792
52283633
SM
12793 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12794 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12795 addressable lisp object in the interval structure.
12796 (die): New function.
12797 (suppress_checking): New variable.
12798
12799 * intervals.c (interval_start_pos): Just return 0 if there's no
12800 parent object.
12801
f83c5440
GM
128022000-03-29 Gerd Moellmann <gerd@gnu.org>
12803
12804 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12805 and earlier Emacs versions.
12806
12807 * keyboard.c (Ftop_level): Cancel busy-cursor.
12808
12809 * eval.c (call_debugger): Cancel busy-cursor.
12810
fdce64ff
KH
128112000-03-29 Kenichi Handa <handa@etl.go.jp>
12812
12813 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12814 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12815
f6a3f532
SM
128162000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12817
12818 * regex.c (analyse_first): New function obtained by ripping out most
12819 of re_compile_fastmap and generalizing it a little bit so that it
12820 can also just return whether a given (sub)pattern can match the empty
12821 string or not.
12822 (regex_compile): Use `analyse_first' to decide whether the loop-check
12823 needs to be done or not for *, +, *? and +? (the loop check is costly
12824 for non-greedy repetition).
12825 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12826
e9b309ac
DL
128272000-03-28 Dave Love <fx@gnu.org>
12828
52283633 12829 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12830
e9b309ac
DL
12831 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12832
ed0767d8
SM
128332000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12834
12835 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12836 an expression.
12837 (enum re_opcode_t): Update description of succeed_n.
12838 (PATFETCH): Always define.
12839 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12840 operators, char classes, shy-groups and intervals).
12841 Optimize special cases of intervals so as to only use succeed_n and
12842 jump_n when really needed.
12843 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12844 that we don't have to handle the special cases any more.
12845 Simplify on_failure_jump handling as well.
12846
e11e7e46
JR
128472000-03-28 Jason Rumney <jasonr@gnu.org>
12848
12849 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12850
88faab89
GM
128512000-03-27 Gerd Moellmann <gerd@gnu.org>
12852
182ff242
GM
12853 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12854
12855 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12856
182ff242
GM
12857 * alloc.c (mark_maybe_object): New function.
12858 (mark_memory): Use it.
12859 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12860 (setjmp_tested_p, longjmp_done): New variables.
12861 (test_setjmp): New function.
12862 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12863 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12864
c1005d06
GM
12865 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12866 to DEC_TEXT_POS and INC_TEXT_POS.
12867
12868 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12869 with parameter MULTIBYTE_P.
12870
52283633 12871 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12872
7439e5b9 12873 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12874 buffers because it looks for multibyte character byte sequences
12875 which don't exist in unibyte text.
7439e5b9 12876
d9c545da
GM
12877 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12878
11fd416e 12879 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12880 [DEBUG_X_COLORS]: New functions.
12881 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12882
12883 * xfns.c (x_set_cursor_color): Get color reference counts right.
12884
12885 * xterm.c (x_copy_color): New function.
12886 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12887
12888 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12889 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12890 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12891 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12892 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12893 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12894 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12895 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12896 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12897 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12898
11fd416e
GM
12899 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12900 names for handling per-buffer variables.
d9c545da
GM
12901
12902 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12903 instead of MAX_BUFFER_LOCAL_VARS.
12904 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12905
12906 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12907
88faab89
GM
12908 * xfns.c (x_specified_cursor_type): New function.
12909 (x_set_cursor_type): Use it.
12910
12911 * buffer.h (struct buffer): Add cursor_type.
12912
d80f42b7
SM
129132000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12914
12915 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12916 (print_partial_compiled_pattern, re_compile_fastmap):
12917 Handle new opcode.
d80f42b7
SM
12918 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12919 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12920 executing it as well as when popping it off the stack to find infinite
12921 loops in non-greedy repetition operators.
12922
89e80928
GM
129232000-03-26 Gerd Moellmann <gerd@gnu.org>
12924
3d4ff2dd
GM
12925 * doc.c (Qfunction_documentation): New variable.
12926 (syms_of_doc): Initialize Qfunction_documentation.
12927 (Fdocumentation): If FUNCTION is a symbol with non-nil
12928 `function-documentation' property, return a documentation derived
12929 from that.
12930
bd96bd79
GM
12931 * buffer.c (syms_of_buffer): Add default-cursor-type.
12932 (init_buffer_once): Don't let cursor_type have a local value
12933 in every buffer.
12934
19d1bc27
GM
12935 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12936 on buffer-local value of cursor_type.
12937 (x_draw_bar_cursor): Add parameter WIDTH.
12938
12939 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12940 (init_buffer_once): Set default cursor_type value to t.
12941 Mark cursor_type as local everywhere.
12942 (syms_of_buffer): New per-buffer variable cursor-type.
12943
89e80928
GM
12944 * buffer.h (struct buffer): Remove member local_var_flags,
12945 add local_flags.
12946 (MAX_BUFFER_LOCAL_VARS): New macro.
12947 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12948 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12949 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12950 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12951
52283633 12952 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12953
12954 * category.c (Fset_category_table): Use new macros for per-buffer
12955 variables.
12956
12957 * buffer.c (buffer_permanent_local_flags): Make a char array.
12958 (max_buffer_local_idx): New variable.
12959 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12960 for new handling of per-buffer variables.
12961 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12962 (init_buffer_once): Initialize per-buffer vars differently.
12963 Set max_buffer_local_idx.
12964
12965 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12966 variables.
12967
52283633 12968 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12969
12970 * data.c (do_symval_forwarding, store_symval_forwarding)
12971 (find_symbol_value, set_internal, default_value, Fset_default)
12972 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12973 per-buffer variables.
12974
12975 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12976
9a0dd3dc
GM
129772000-03-24 Gerd Moellmann <gerd@gnu.org>
12978
b68c375f
GM
12979 * xterm.c (x_term_init): Unblock input around call1 of
12980 Qvendor_specific_keysyms.
12981
9a0dd3dc
GM
12982 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12983 (find_defun_start): Consider an open parenthesis in column 0
12984 a defun start only if open_paren_in_column_0_is_defun_start is set.
12985 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12986
7973e637
SM
129872000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12988
12989 * eval.c (Fautoload): Add entry in load-history (if after dump).
12990 * lread.c (load-history): Update docstring.
12991
39210e90
GM
129922000-03-24 Gerd Moellmann <gerd@gnu.org>
12993
12994 * indent.c (Fvertical_motion): Always use the current buffer.
12995 Temporarily change the window's buffer, if necessary.
12996
72db3ab5
GM
129972000-03-23 Gerd Moellmann <gerd@gnu.org>
12998
12999 * xterm.c (fast_find_position): Make sure not to consider rows
13000 not visible in the window.
13001
990b2375
SM
130022000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13003
13004 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13005 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13006
ff4df011
JR
130072000-03-22 Jason Rumney <jasonr@gnu.org>
13008
13009 * w32menu.c (single_submenu): Set help string to NULL if none.
13010 (w32_menu_show): Set help string correctly.
13011 (add-menu-item): Set help string in MIIM_DATA for menu item.
13012 Load SetMenuItemInfoA explicitly.
13013 (w32_menu_display_help): New function.
427ec082 13014
ff4df011
JR
13015 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13016 (QCdata): Moved to xdisp.c.
13017
13018 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13019 (Vw32_charset_to_codepage_alist): Removed.
13020 (Vw32_charset_info_alist): New variable.
52283633
SM
13021 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13022 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13023 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13024 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13025 with TODO comment.
13026 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13027 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13028 Define Vw32_charset_info_alist and w32_charset symbols.
13029
130302000-03-22 Jason Rumney <jasonr@gnu.org>
13031
13032 * makefile.nt (w32bdf.obj): Update dependencies.
13033
13034 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13035
13036 * w32fns.c: Include fontset.h after dispextern.h.
13037 (Fx_create_frame): Do not create fontset.
13038 (w32_load_system_font): Doc fix.
13039 (Fx_close_connection): Free full_name if it is not shared.
13040
13041 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13042 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13043 Callers updated.
ff4df011
JR
13044 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13045 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13046 (w32_font_is_double_byte): New function, needs body.
13047 (x_append_glyph): Set glyph->glyph_not_available_p.
13048 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13049 it->charset. 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 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13053 calculating it is found.
13054 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13055 the case that per char metric is not available correctly.
13056 (x_fill_glyph_string): Handle the case that the specific glyph is
13057 not available correctly.
13058 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13059 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13060 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13061 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13062 fontset. Don't call FS_LOAD_FONT.
13063
439d5cb4
KR
130642000-03-22 Ken Raeburn <raeburn@gnu.org>
13065
13066 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13067 (INT_LISPLIKE): New macro.
13068 (NULL_INTERVAL_P): Use it.
52283633
SM
13069 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13070 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13071 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13072
13073 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13074 explicit references to "parent" field of struct interval and
13075 associated unclean type conversions.
52283633
SM
13076 * intervals.c (create_root_interval, root_interval, rotate_right)
13077 (rotate_left, balance_possible_root_interval, split_interval_right)
13078 (split_interval_left, interval_start_pos, find_interval)
13079 (next_interval, previous_interval, update_interval)
13080 (adjust_intervals_for_insertion, delete_node, delete_interval)
13081 (adjust_intervals_for_deletion, merge_interval_right)
13082 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13083 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13084 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13085 Likewise.
13086 * syntax.c (update_syntax_table): Likewise.
13087
13088 * intervals.c (reproduce_tree_obj): New function, like
13089 reproduce_tree but takes a Lisp_Object for the parent. Declare
13090 with prototype.
13091 (graft_intervals_into_buffer): Use it when appropriate.
13092 (reproduce_tree): Declare with prototype.
13093 (balance_possible_root_interval): Check that the parent is a lisp
13094 object before trying to examine its type.
13095
ee1c5b21
GM
130962000-03-22 Gerd Moellmann <gerd@gnu.org>
13097
13098 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13099 as strings only if both are known to be strings.
13100
13101 * s/openbsd.h (LIBS_TERMCAP): Undef.
13102
1fb352e0
SM
131032000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13104
13105 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13106 definitions for non-Emacs compilation.
13107 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13108 outside of `#ifdef emacs'.
13109 (print_partial_compiled_pattern): Update.
13110 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13111 (re_compile_fastmap): Merge handling of charset and charset_not (for
13112 emacs and non-emacs compilation as well).
13113 Similarly for (not)categoryspec and (not)syntaxspec.
13114 Don't use the fastmap when reaching `anychar' since the added
13115 complexity is not justified.
13116 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13117 and (not)syntaxspec. Merge (not)categoryspec.
13118
fdaa1f77
KH
131192000-03-22 Kenichi Handa <handa@etl.go.jp>
13120
52283633
SM
13121 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13122 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13123 --without-x.
fdaa1f77 13124
d152fb46
DL
131252000-03-21 Dave Love <fx@gnu.org>
13126
13127 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13128 doc string.
13129
d2cafc8c
GM
131302000-03-21 Gerd Moellmann <gerd@gnu.org>
13131
13132 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13133 (lface_fully_specified_p): Don't check contents of
13134 LFACE_FONT_INDEX because that attribute is optional.
13135 (realize_x_face): Remove now unwarranted xassert.
13136
9111d4b5
KH
131372000-03-21 Kenichi HANDA <handa@etl.go.jp>
13138
13139 The following changes are to make font selection based on
13140 characters, not charset. In addition, they recover fontset
13141 facilities while utilizing the new font selection mechanism.
13142
6c4bfdc0
KH
13143 * Makefile.in (fontset.o): Depend on dispextern.h.
13144
13145 * alloc.c (mark_face_cache): Don't mark face->registry.
13146
9111d4b5
KH
13147 * dispextern.h (struct glyph): New member glyph_not_available_p.
13148 Use 22 bits for face_id.
13149 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13150 (struct face): Delete member registry, new member ascii_face.
13151 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13152 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13153 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13154 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13155
13156 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13157 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13158 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13159 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13160 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13161 (fs_free_face_fontset, fontset_font_pattern)
13162 (face_suitable_for_char_p, face_for_char)
13163 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13164 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13165 (FS_LOAD_FACE_FONT): New macro.
13166
13167 * fontset.c: All codes rewritten or adjusted for the change of
13168 fontset implementation. Now fontset is represented by char table.
52283633
SM
13169 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13170 Variables removed.
9111d4b5 13171 (my_strcasecmp): Function removed.
52283633 13172 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13173 (AREF, ASIZE): New macros.
52283633
SM
13174 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13175 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13176 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13177 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13178 (fontset_id_valid_p, font_family_registry, fontset_name)
13179 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13180 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13181 New functions.
13182 (fs_load_font): New arg FACE. Caller changed.
13183 (fs_query_fontset): Argument changed. Caller changed.
13184 (Fquery_fontset): call fs_query_fontset.
13185 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13186 Functions removed.
52283633
SM
13187 (clear_fontset_elements, check_registry_encoding)
13188 (check_fontset_name): New functions.
9111d4b5
KH
13189 (syms_of_fontset): Set char-table-extra-slots property of fontset
13190 to 3. Staticpro and initialize Vfontset_table and
13191 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13192
13193 * frame.h (struct frame): Member `fontset_data' removed.
13194 (FRAME_FONTSET_DATA): Macro removed.
13195
13196 * frame.c (make_frame): Don't allocate f->fontset_data.
13197 (Fdelete_frame): Don't free f->fontset_data.
13198
6c4bfdc0
KH
13199 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13200
9111d4b5
KH
13201 * xdisp.c (charset_at_position): Function removed.
13202 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13203 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13204 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13205 Likewise.
13206 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13207 FACE_FOR_CHARSET.
52283633
SM
13208 (get_next_display_element, append_space)
13209 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13210
13211 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13212 Variables removed.
13213 (clear_font_table, frame_update_line_height, load_face_font):
13214 Adjusted for the change of fontset implementation.
13215 (load_face_fontset_font): Function removed.
13216 (pixel_point_size): New function.
13217 (font_list): Argument type changed. Caller changed.
13218 (LFACE_FONT): New macro.
13219 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13220 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13221 Lisp_Object. Determine the font name by actually loading a font
13222 by the specified pattern. Set LFACE_FONT (lface) to the specified
13223 pattern. Even if a font is not found, don't try alternatives.
13224 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13225 (set_font_frame_param): If `font' is specified in lface, use it.
13226 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13227 (lface_same_font_attributes_p): Likewise.
13228 (make_realized_face): Arguent changed. Caller changed. Set
13229 face->ascii_face to face itself.
13230 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13231 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13232 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13233 (free_realized_multibyte_face): New function.
13234 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13235 changed. Caller changed.
13236 (try_font_list): Argument type changed.
13237 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13238 (choose_face_font): Argument changed. Handle fontset properly.
13239 (choose_face_fontset_font): Function removed.
13240 (realize_default_face, realize_named_face): Don't remove the
13241 former face here.
13242 (realize_face): Argument changed. Caller changed. Remove face
52283633 13243 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13244 (realize_x_face): Argument changed. Caller changed. For a
13245 multibyte character, share fontset with base_face. For a single
52283633 13246 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13247 (realize_tty_face): Argument changed. Caller changed.
13248 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13249 (face_at_buffer_position): Don't check multibyte_p for returning
13250 DEFAULT_FACE_ID.
13251 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13252 FACE_SUITABLE_FOR_CHARSET_P.
13253 (syms_of_xfaces): Remove code for Qx_charset_registry and
13254 Vface_default_registry.
13255
6c4bfdc0
KH
13256 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13257 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13258 (x_per_char_metric): Don't try FONT->default_char. Even if
13259 pcm->width is zero, glyph bits may exist.
13260 (x_encode_char): Always initialize char2b->byte1.
13261 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13262 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13263 (x_append_glyph): Set glyph->glyph_not_available_p.
13264 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13265 it->charset. Handle the case that per char metric is not
13266 available. If it->multibyte_p is zero and it->c is a multibyte
13267 character, convert it to a unibyte character.
13268 (struct glyph_string): Delete member `charset'.
13269 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13270 the case that per char metric is not available correctly.
13271 (x_fill_glyph_string): Handle the case that the specific glyph is
13272 not available correctly.
13273 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13274 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13275 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13276 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13277 fontset. Don't call FS_LOAD_FONT.
13278
13279 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13280 (x_create_tip_frame): Likewise.
13281 (Fx_close_connection): Free full_name of font_info.
13282
13283 * fns.c (optimize_sub_char_table): New function.
13284 (Foptimize_char_table): New function.
13285 (syms_of_fns): Defsubr Soptimize_char_table.
13286
b33dd3b0
GM
132872000-03-20 Gerd Moellmann <gerd@gnu.org>
13288
13289 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13290 only if buffer is displayed in some window.
13291
13292 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13293 (try_window_reusing_current_matrix): Don't call scroll run
13294 function if run's current and desired position are the same;
13295 this prevents cursor flickering.
13296
4e8a9132
SM
132972000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13298
13299 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13300
13301 * regex.c (RE_STRING_CHAR): New macro.
13302 (GET_CHAR_AFER_2): Remove.
13303 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13304 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13305 (print_partial_compiled_pattern, re_compile_fastmap)
13306 (re_match_2_internal): Remove on_failure_jump_exclusive.
13307 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13308 optimization only need to work for * (ie. can use of_keep_string_jump).
13309 Remove the special case for .*\n since it is now covered by the general
13310 optimization.
13311 (re_search_2): Don't bother with `room'.
13312 (skip_one_char): New function.
13313 (skip_noops): Simplify since `memory' is not needed any more.
13314 (mutually_exclusive_p): Restructure slightly to use `switch' and
13315 add handling for "all" remaining cases.
13316 (re_match_2_internal): Change on_failure_jump_smart to use
13317 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13318 rather than on_failure_jump_exclusive.
13319
2136fdd4
GM
133202000-03-19 Gerd Moellmann <gerd@gnu.org>
13321
13322 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13323 number of bits per RGB because it's everywhere used as the depth
13324 of the visual.
13325
13326 * term.c (calculate_costs): Remove code dealing with X frames.
13327
18e21ce8 133282000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13329
13330 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13331
d7b511c4
GM
133322000-03-18 Gerd Moellmann <gerd@gnu.org>
13333
13334 * lread.c (read_integer): Unread the last char not consumed.
13335
16b5d424
GM
133362000-03-17 Gerd Moellmann <gerd@gnu.org>
13337
13338 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13339 which are in the process of being deleted.
16b5d424 13340
1fa28578
GM
133412000-03-16 Gerd Moellmann <gerd@gnu.org>
13342
83488cce
GM
13343 * Makefile.in (mostlyclean): Add `*.core'.
13344 (clean): Add `bootstrap-emacs'.
13345
1fa28578
GM
13346 * lread.c (read_integer): New function.
13347 (read1): Support read syntax #o, #x, #b, #r.
13348
99633e97
SM
133492000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13350
1fa28578
GM
13351 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13352 make sure POINTER_TO_OFFSET gives the same value before and after
13353 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13354 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13355 (debug): Now only active if > 0 rather than if != 0.
13356 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13357 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13358 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13359 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13360 (store_op1, store_op2, insert_op1, insert_op2)
13361 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13362 (group_in_compile_stack): Move to after its arg's types are
13363 declared and add a prototype.
99633e97 13364 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13365 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13366 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13367 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13368 indentation of the greedy-op and shy-group code.
99633e97
SM
13369 (at_(beg|end)line_loc_p): Fix argument's types.
13370 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13371 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13372 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13373 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13374 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13375 QUIT unconditionally.
99633e97 13376
699238d9
GM
133772000-03-15 Gerd Moellmann <gerd@gnu.org>
13378
13379 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13380 a sole completion.
13381
13382 * process.c (send_process): Add a hint that the function
13383 can call Lisp code to its comment.
13384
13385 * lread.c (load_dangerous_libraries): New variable.
13386 (Vbytecomp_version_regexp): New variable.
13387 (safe_to_load_p): New function.
13388 (Fload): Handle files not compiled with Emacs specially.
13389 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13390
34e23e5a
GM
133912000-03-14 Gerd Moellmann <gerd@gnu.org>
13392
9c763cca
GM
13393 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13394
13395 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13396 support functions only if HAVE_X11R6_XIM is defined.
13397 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13398
13399 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13400
13401 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13402 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13403 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13404
13405 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13406 (HAVE_X11R6_XIM): Define.
13407
13408 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13409
34e23e5a
GM
13410 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13411 If set, call XSynchronize.
13412
66f0296e
SM
134132000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13414
34e23e5a
GM
13415 * regex.c: Declare a new type `re_char' used throughout the code
13416 for the string char type. It's `const unsigned char' to match the
13417 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13418 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13419 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13420 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13421 code duplication.
66f0296e
SM
13422
13423 * charset.h (GET_CHAR_AFTER_2): Remove.
13424 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13425
854a025c
KR
134262000-03-12 Ken Raeburn <raeburn@gnu.org>
13427
13428 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13429 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13430 of them try to use backquotes.
13431
b9d2c7e2
DL
134322000-03-12 Dave Love <fx@gnu.org>
13433
13434 * unexelf.c: Restore changes of 1999-10-19.
13435 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13436 fix its type and alignment; copy it from current process.
13437
5e5dff44
GM
134382000-03-12 Gerd Moellmann <gerd@gnu.org>
13439
9b2f3c38
GM
13440 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13441 has been found. Fix bug not computing timer's predecessor.
13442
427ec082 13443 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13444 file name.
13445
e1cff360
GM
13446 * window.c (Fsave_window_excursion): Doc fix.
13447
52283633 13448 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13449
e411ce4b
EZ
134502000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13451
13452 * msdos.c (vga_installed): New function, code moved from
13453 dos_set_window_size.
13454 (Qbar, Qcursor_type, outside_cursor): New variables.
13455 (syms_of_msdos): Intern and staticpro them.
13456 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13457 shape used outside Emacs when called for the first time.
13458 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13459 cursor shape used outside Emacs.
13460 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13461 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13462 type has changed.
13463 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13464 parameters specify the cursor. Make qreverse a global
13465 variable (renamed to Qreverse).
13466
80460654
GM
134672000-03-09 Gerd Moellmann <gerd@gnu.org>
13468
13469 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13470
95cd4c40
SM
134712000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13472
13473 This is a big redesign of failure-stack and register handling, prompted
13474 by bugs revealed when trying to add shy-groups. Overall, what happened
13475 is that loops are now structured a little differently, groups can be
13476 shy and the code is a little simpler.
13477
13478 * regex.h: Update the copyright.
13479 (RE_SHY_GROUPS): New value.
13480 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13481 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13482
80460654
GM
13483 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13484 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13485 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13486 for (start|stop)_memory since they now only take one argument (the
13487 second has becomes unnecessary).
52283633 13488 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13489 (print_compiled_pattern): Use %ld to printf long ints and flush to
13490 make debugging a little easier.
95cd4c40
SM
13491 (union fail_stack_elt): Make the integer unsigned.
13492 (struct fail_stack_type): Add a `frame' element.
13493 (INIT_FAIL_STACK): Init `frame' as well.
13494 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13495 (DEBUG_PUSH, DEBUG_POP): Remove.
13496 (NUM_REG_ITEMS): Remove.
13497 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13498 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13499 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13500 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13501 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13502 New macros.
80460654
GM
13503 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13504 address pushed is not the destination of the jump but the source
13505 of it instead.
95cd4c40
SM
13506 (NUM_FAILURE_ITEMS): Remove.
13507 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13508 registers before the actual failure point). Don't hardcode any
13509 meaning for str==NULL anymore.
95cd4c40 13510 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13511 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13512 Remove.
95cd4c40
SM
13513 (REG_UNSET_VALUE): Use NULL (why not?).
13514 (compile_range): Remove declaration since it doesn't exist.
13515 (struct compile_stack_elt_t): Remove inner_group_offset.
13516 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13517 (regex_grow_registers): Remove dead code.
13518 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13519 (regex_compile): Add shy-groups Change loops to use
13520 on_failure_jump_smart&jump instead of
13521 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13522 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13523 variable to me). Use `jump' instead of `jump_past_alt' and don't
13524 bother with push_dummy_failure in alternatives since it is now
13525 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13526 emacs' for (re)allocating the stack.
13527 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13528 from loop when bufp->can_be_null rather than jumping to `done'.
13529 Avoid jumping backwards so as to ensure termination. Use
13530 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13531 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13532 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13533 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13534 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13535 (lowest_active_reg, highest_active_reg)
13536 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13537 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13538 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13539 variables. Push register (in `start_memory') on the stack rather
13540 than storing it in old_reg(start|end). Remove the cycle detection
13541 from `stop_memory', replaced by the use of on_failure_jump_loop
13542 for greedy loops. Add code for the new on_failure_jump_<foo>.
13543 Remove ad-hoc code in `on_failure_jump' to push more registers in
13544 the case of a loop. Take out code from `maybe_pop_jump' into
13545 separate functions and adapt it to the semantics of
13546 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13547 and push_dummy_failure. Remove dummy_failure handling and
13548 handling of `failures to jump to on_failure_jump' (this last one
13549 was already dead code, it seems).
13550 (group_match_null_string_p, alt_match_null_string_p)
13551 (common_op_match_null_string_p): Remove.
95cd4c40 13552
7397acc4
DL
135532000-03-08 Dave Love <fx@gnu.org>
13554
13555 * config.in: Don't depend on __STDC__ for volatile.
13556 Add POINTER_TYPE, PTR, PROTOTYPES.
13557
13558 * hftctl.c, strftime.c: Use PROTOTYPES.
13559 * eval.c (find_handler_clause): Likewise.
13560
13561 * mem-limits.h: Use POINTER_TYPE.
13562
13563 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13564 (memory_warnings): Declare using POINTER_TYPE.
13565
5e91ff9e
GM
135662000-03-08 Gerd Moellmann <gerd@gnu.org>
13567
feab4fba
GM
13568 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13569
52283633 13570 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13571
5e91ff9e
GM
13572 * xfns.c: Remove obsolete code in #if 0.
13573 (Fx_focus_frame): New function.
13574
a735b7e1
KH
135752000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13576
13577 * coding.c (coding_category_name): Add coding-category-utf-8,
13578 coding-category-utf-16-be, coding-category-utf-16-le.
13579 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13580 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13581 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13582 (detect_coding_utf_8): New function.
13583 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13584 UTF_16_LOW_SURROGATE_P): New macros.
13585 (detect_coding_utf_16): New function
13586 (detect_coding_mask): When priorities are specified, skip any
13587 categories that have `nil' coding-system. Fix bug of returning
13588 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13589 returns a mask not set in PRIORITIES.
13590 (detect_eol_type_in_2_octet_form): New function.
13591 (detect_eol): selects detect_eol_type_XXX to call according to
13592 cooding->category_idx.
13593 (detect_coding_system): Remove `nil' coding-system in the result.
13594 (Fupdate_coding_systems_internal): Update all coding-categories.
13595
52283633
SM
13596 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13597 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13598 New macros.
13599 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13600 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13601 (CODING_CATEGORY_IDX_UTF_16_LE)
13602 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13603 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13604 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13605 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13606
9994cc69
GM
136072000-03-07 Gerd Moellmann <gerd@gnu.org>
13608
e9b4e5ff
GM
13609 * doc.c (Fdocumentation_property): If value is not a string,
13610 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13611
f7daf1e1
GM
13612 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13613 close the display with XtCloseDisplay. This caused a bus error
13614 on OpenWindows.
13615
9994cc69
GM
13616 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13617 complete but not unique.
13618
4336c705
GM
136192000-03-06 Gerd Moellmann <gerd@gnu.org>
13620
18bb0684
GM
13621 * process.c (send_process): Remove local variable `procname' that
13622 might become invalid when a GC happens. Instead, access the
13623 process name slot directly.
13624
4336c705
GM
13625 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13626 orig_height if set.
13627
13628 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13629 orig_height if set.
13630
515d0d0e
EZ
136312000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13632
13633 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13634 glyph matrices have been freed.
13635
100b3cbb
GM
136362000-03-05 Gerd Moellmann <gerd@gnu.org>
13637
50df5e5a 13638 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13639 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13640
13641 * xfns.c (QCdata): Moved to xdisp.c.
13642
13643 * xdisp.c (QCdata): Moved here from xfns.c.
13644 (syms_of_xdisp): Initialize QCdata.
13645
13646 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13647
13648 * window.c (coordinates_in_window): Use
13649 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13650 FRAME_INTERNAL_BORDER_WIDTH.
13651
100b3cbb 13652 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13653 it is obviously invalid.
100b3cbb
GM
13654
13655 * xterm.c (x_term_init): Create a colormap if not using the
13656 default visual.
13657
13658 * xterm.h (select_visual): Change prototype.
13659
13660 * xfns.c (select_visual): Rewritten. Recognize user-specified
13661 visual classes.
13662 (visual_classes): New variable.
13663
64d739c4
GM
136642000-03-04 Gerd Moellmann <gerd@gnu.org>
13665
13666 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13667 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13668 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13669 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13670 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13671 XtNcolormap resources.
13672 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13673 (Fx_create_frame): Initialize color members of x_output structure.
13674 (xpm_load): Pass colormap to XPM lib.
13675
13676 * xfaces.c (x_free_colors): Access colormap of frame using
13677 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13678 when default colormap is used.
13679
13680 * xterm.c (x_term_init): Set Colormap member of x_display_info
13681 structure. Copy colormap if resource `privateColormap' is
13682 specified (PseudoColor only).
13683 (x_setup_relief_color): Access colormap of frame using
13684 FRAME_X_COLORMAP.
13685
13686 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13687 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13688
c3cee013
JR
136892000-03-04 Jason Rumney <jasonr@gnu.org>
13690
13691 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13692 other non-platform-specific equivalents.
64d739c4 13693 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13694 specific functions and macros as their w32 equivalents where
13695 non-platform-specifics are not available.
13696 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13697 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13698 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13699 (frame_update_line_height): Use macros to access f->output_data.
13700 (defined_color): Remove FIXME comments; fixed.
13701 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13702 into #ifdef blocks. Add WINDOWSNT blocks.
13703 (Fx_list_fonts): Use macros for accessing font data.
13704 (set_lface_from_font_name): Different default fonts for X and
13705 WINDOWSNT.
13706 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13707 scalable for backward compatibility.
64d739c4 13708 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13709 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13710
64d739c4 13711 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13712 syms_of_w32faces.
13713
13714 * makefile.nt (w32faces.obj): Remove.
13715 (xfaces.obj): Add.
13716
807cc41c
JR
137172000-03-03 Jason Rumney <jasonr@gnu.org>
13718
13719 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13720 correct parameters.
13721
0007072a
KR
137222000-03-03 Ken Raeburn <raeburn@gnu.org>
13723
13724 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13725 standard ELF definitions here if the system header does not.
13726
71a6ba55
GM
137272000-03-03 Gerd Moellmann <gerd@gnu.org>
13728
13729 * xterm.c (PER_CHAR_METRIC): Removed.
13730 (x_per_char_metric_1, x_default_char): New functions.
13731 (x_per_char_metric): If font's default char is invalid, return
13732 metrics of a suitably chosen usable default char.
13733 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13734 char, replace occurrences of unprintable chars with a suitably
13735 chosen usable default char.
71a6ba55 13736
900fa1f1
GM
137372000-03-02 Gerd Moellmann <gerd@gnu.org>
13738
42f55fe0
GM
13739 * xterm.c (note_mouse_highlight): Return quickly if frame's
13740 glyph matrices have been freed.
13741
13742 * dispnew.c (free_glyphs): Block input while freeing matrices.
13743
900fa1f1
GM
13744 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13745
52283633
SM
13746 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13747 Use x_free_colors.
900fa1f1
GM
13748
13749 * dispextern.h (x_free_colors): Add prototype.
13750
13751 * xfaces.c (x_free_colors): New function.
13752 (unload_color, free_face_colors): Use it.
13753
2f950292
EZ
137542000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13755
13756 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13757
13758 * window.c [MSDOS]: Include msdos.h.
13759
54d04320
DL
137602000-03-02 Dave Love <fx@gnu.org>
13761
13762 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13763
13764 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13765 set C_OPTIMIZE_SWITCH for gcc.
13766
0ba93ac4
KH
137672000-03-02 Kenichi Handa <handa@etl.go.jp>
13768
13769 * coding.c (coding_save_composition): Be sure to allocate
13770 composition data area in coding even if there's no composition in
13771 the current run.
13772
a2bc11d4
JR
137732000-03-01 Jason Rumney <jasonr@gnu.org>
13774
13775 * w32term.c: Equivalent changes to those made to xterm.c on
13776 2000-02-25 and 2000-02-24.
13777
13778 * w32fns.c: Equivalent changes to those made to xfns.c on
13779 2000-02-25 and 2000-02-21.
13780
13781 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13782 correct line-end convention is followed.
13783
13784 * w32menu.c [HAVE_BOXES]: Remove #undef.
13785 (single_keymap_panes): Remove code for simulating checkmarks.
13786 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13787 Remove code for drawing simulated checkmarks.
13788 (w32_menu_show): make unibyte help string correctly.
13789 (add_menu_item): draw standard Windows checkmarks. Draw radio
13790 buttons as radio buttons if possible.
13791
72d19d75
GM
137922000-03-01 Gerd Moellmann <gerd@gnu.org>
13793
2df636f4
GM
13794 * sysdep.c (start_of_text): Don't define this function for NetBSD
13795 with ELF.
13796
427ec082 13797 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13798 Don't define.
13799 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13800 (LINKER): Don't undef if __NetBSD__ is defined.
13801
13802 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13803
13804 * fileio.c [__NetBSD__]: Define `unix'.
13805
72d19d75
GM
13806 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13807
ed4d0512
GM
138082000-02-29 Gerd Moellmann <gerd@gnu.org>
13809
50b1039f
GM
13810 * atimer.c (start_atimer): Don't abort when timers are stopped.
13811 (append_atimer_lists): New function.
13812 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13813 arbitrary lists of stopped and running atimers.
13814
ed4d0512
GM
13815 * atimer.c (cancel_atimer): Handle canceling an atimer when
13816 some timers are stopped.
13817
13818 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13819 after canceling it.
13820
13821 * fns.c (maybe_resize_hash_table): Handle case of new size
13822 coming out as being the same as old size.
13823
387023ee
JR
138242000-02-27 Jason Rumney <jasonr@gnu.org>
13825
13826 * makefile.nt: Add atimer.h to dependencies.
13827 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13828 * w32console.c: Only disable window system features for dispextern.h
13829 (initialize_w32_display): Build a display info for the console.
13830 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13831 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13832 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13833 as 2 button mice.
13834 * w32gui.h (struct W32FontStruct): Revert last change after change
13835 to xdisp.c.
13836 * w32menu.c (single_submenu): Set up help string.
13837 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13838 (w32_dialog_show): Set up help string.
13839 * w32term.c (w32_display_info_for_display): Remove unused function.
13840 (w32_draw_bitmap): Use pre-built bitmaps.
13841 (w32_initialize_display_info): New function to initialize parts of
13842 display info that are common to both GUI and console frames.
13843 (w32_term_init): Use w32_initialize_display_info. Do not set
13844 Vw32_num_mouse_buttons here, as it is not called for console
13845 frames. Build bitmaps for indicating truncated lines etc.
13846 (x_delete_display): Destroy pre-built bitmaps.
13847 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13848 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13849
4516715a
DL
138502000-02-27 Dave Love <fx@gnu.org>
13851
13852 * lisp.h: Add a bunch of prototypes.
13853
171ca836
KH
138542000-02-26 Kenichi Handa <handa@etl.go.jp>
13855
13856 * keyboard.c (read_char): Set `usec' correctly.
13857
4013921d
KH
138582000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13859
13860 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13861 `lambda', set reg[RRR] to the map index.
13862 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13863 reg[RRR] to 0. Otherwise, set it to -1.
13864
9244a058
GM
138652000-02-25 Gerd Moellmann <gerd@gnu.org>
13866
2df636f4 13867 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13868
18e21ce8 138692000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13870
f43d79c1
GM
13871 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13872 and contains a `:', prepend `/:'.
13873
13874 * window.c (select_window_1): If selected_window is nil,
13875 don't "swap out" the buffer's point.
13876 (Fset_window_configuration): Set selected_window to nil
13877 before calling Fselect_window.
13878 (unshow_buffer): Don't set point in buffer from window's point
13879 if another more recently selected window also shows the buffer.
13880
bed0c171
GM
138812000-02-25 Gerd Moellmann <gerd@gnu.org>
13882
449c3c52
GM
13883 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13884
f5b58615
GM
13885 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13886 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13887 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13888 New variables.
f5b58615
GM
13889 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13890 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13891 (hide_busy_cursor): New functions.
13892 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13893
13894 * minibuf.c (read_minibuf): Cancel busy-cursor.
13895
13896 * keyboard.c (command_loop_1): Call start_busy_cursor before
13897 Fcommand_execute and cancel_busy_cursor after it.
13898 (timer_check): Remove busy-cursor code.
13899 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13900 cursor timer.
13901
13902 * process.c (wait_reading_process_input): Remove busy-cursor code.
13903
13904 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13905 Fx_hide_busy_cursor.
13906
13907 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13908 Remove prototyoes.
13909 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13910
13911 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13912
13913 * xterm.c (XTread_socket): Remove busy-cursor code.
13914
4eb8436f
GM
13915 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13916 (build_frame_matrix_from_leaf_window): Put code handling
13917 glyph row's not being a slice of a frame row in #if 0.
13918 (sync_window_with_frame_matrix_rows): New function.
13919 (frame_row_to_window): New function.
13920 (mirror_line_dance): Handle copies between windows.
13921
3cb65b0e
GM
13922 * lread.c (Fload): Use `xfree' instead of `free'.
13923 (init_obarray): Use `xmalloc' instead of `malloc'.
13924
bed0c171
GM
13925 * window.c (Fset_window_buffer): Set WINDOW to the window
13926 after decoding.
2add4349
GM
13927 (coordinates_in_window): Take frame's internal border width
13928 into account.
bed0c171 13929
42088c12
GM
139302000-02-24 Gerd Moellmann <gerd@gnu.org>
13931
13932 * xterm.c (x_display_and_set_cursor): Display cursor of
13933 non-selected windows depending on the setting of
13934 cursor_in_non_selected_windows.
13935
13936 * xdisp.c (cursor_in_non_selected_windows): New variable.
13937 (syms_of_xdisp): DEFVAR_BOOL it.
13938
d1e103b2
GM
139392000-02-23 Gerd Moellmann <gerd@gnu.org>
13940
723e779c
GM
13941 * data.c (Fstring_to_number): If number is greater than what
13942 fits into an integer, return a float.
13943
d1e103b2
GM
13944 * eval.c (specbind): Remove references to
13945 keyword_symbols_constant_flag.
13946
13947 * data.c (keyword_symbols_constant_flag): Removed.
13948 (Fmakunbound, set_internal, syms_of_data): Remove references to
13949 keyword_symbols_constant_flag.
13950
13951 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13952
214f877f
KH
139532000-02-23 Kenichi Handa <handa@etl.go.jp>
13954
13955 * syntax.c (multibyte_syntax_as_symbol): New variable.
13956 (syms_of_syntax): Declare it as a Lisp variable.
13957 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13958 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13959 nonzero, treat all multibyte characters as symbol.
52283633 13960 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13961
130adcb7
EZ
139622000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13963
3cb65b0e 13964 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13965 a deleted frame.
130adcb7 13966
17cbbf95
GM
139672000-02-21 Gerd Moellmann <gerd@gnu.org>
13968
13969 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13970
13971 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13972 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13973
beb0bc36
DL
139742000-02-21 Dave Love <fx@gnu.org>
13975
13976 * frame.c (Vmouse_position_function): New variable.
13977 (Fmouse_position): Use it.
13978 (syms_of_frame): Install it.
13979
13980 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13981
1d92afcd
GM
139822000-02-20 Gerd Moellmann <gerd@gnu.org>
13983
13984 * fileio.c (Finsert_file_contents): Unbind the binding of
13985 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13986
13987 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13988 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13989 (specbind, unbind_to): Handle most common case of non-constant
13990 symbol with trivial value specially.
13991
13992 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13993
18e21ce8 139942000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13995
13996 * data.c (Fmake_variable_buffer_local): Doc fix.
13997 Init found_for_buffer to 0.
13998 (Fmake_variable_frame_local): If the variable has already
13999 been buffer-local, set the check_frame field.
14000
1d4311c3
EZ
140012000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14002
14003 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14004 produced for CODING_MODE_LAST_BLOCK requires.
14005
2dc95ddd
DL
140062000-02-18 Dave Love <fx@gnu.org>
14007
14008 * keyboard.c (echo_keystrokes): Remove declaration.
14009 (Vecho_keystrokes) New variable.
14010 (read_char, record_menu_key, read_key_sequence): Use it to allow
14011 use of float value.
14012 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14013
14014 * lread.c: Undef feature selection macros before defining.
14015
f0930f35
GM
140162000-02-18 Gerd Moellmann <gerd@gnu.org>
14017
14018 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14019 for symbols other than the symbol in question.
14020
e3d4de90
DL
140212000-02-17 Dave Love <fx@gnu.org>
14022
14023 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14024
0b378936
GM
140252000-02-17 Gerd Moellmann <gerd@gnu.org>
14026
d621caf7
GM
14027 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14028
0b378936
GM
14029 * alloc.c (enum mem_type): Compile unconditionally.
14030
3b451f74
EZ
140312000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14032
14033 * xfaces.c (tty_defined_color): Don't return faulire indication
14034 for unspecified-fg and unspecified-bg pseudo-colors.
14035
10689a01
GM
140362000-02-17 Gerd Moellmann <gerd@gnu.org>
14037
1216f5e4
GM
14038 * alloc.c (mark_object): Don't mark symbol names in pure space.
14039 (gc_sweep): Don't unmark symbol names in pure space.
14040
14041 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14042 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14043 [GC_MARK_STACK]: New defines.
427ec082 14044 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14045 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14046
14047 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14048
14049 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14050 allocate_buffer instead of xmalloc.
14051
14052 * alloc.c (toplevel): Include setjmp.h.
14053 (PURE_POINTER_P): New define.
14054 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14055 (Vdead) [GC_MARK_STACK]: New variable.
14056 (lisp_malloc): Add parameter TYPE, call mem_insert if
14057 GC_MARK_STACK is defined.
14058 (allocate_buffer): New function.
427ec082 14059 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14060 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14061 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14062 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14063 (MEM_NIL) [GC_MARK_STACK]: New define.
14064 (struct mem_node) [GC_MARK_STACK]: New structure.
14065 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14066 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14067 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14068 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14069 (mark_stack) [GC_MARK_STACK]: New functions.
14070 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14071 (clear_marks): Removed.
14072 (gc_sweep): Set free conses' car, free floats' type, free
14073 symbols' function to Vdead. Use lisp_free to free buffers.
14074 (init_alloc_once): Initialize Vdead.
14075 (survives_gc_p): Return non-zero for pure objects.
14076
14077 * alloc.c: Add comments throughout the file.
14078
2503c8b1
GM
14079 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14080 that unblocks alarms.
14081
8389e1e2
GM
14082 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14083 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14084 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14085
10689a01 14086 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14087
bfc17d18
KH
140882000-02-17 Kenichi Handa <handa@etl.go.jp>
14089
4a09dee0
KH
14090 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14091 avoid infinite error signaling. Allocate sufficient memory for
14092 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14093
2b927d02
SM
140942000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14095
14096 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14097 depends on the previous behavior.
14098
b49cb764
GM
140992000-02-16 Gerd Moellmann <gerd@gnu.org>
14100
14101 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14102
99e95407
GM
141032000-02-15 Gerd Moellmann <gerd@gnu.org>
14104
14105 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14106
14107 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14108 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14109 write(2).
14110
6ffd3cf7
RS
141112000-02-15 Richard M. Stallman <rms@gnu.org>
14112
14113 * data.c (set_internal): Don't make variable buffer-local
14114 if within a let-binding for the same buffer.
14115 (let_shadows_buffer_binding_p): New function.
14116
14117 * eval.c (specbind): For buffer-local value,
14118 record the current buffer also.
14119 (unbind_to): Cope with that change.
14120
cad53475
GM
141212000-02-15 Gerd Moellmann <gerd@gnu.org>
14122
14123 * window.c (Fsave_window_excursion): Doc fix.
14124
1aa963c8
SM
141252000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14126
14127 * syntax.c (back_comment): Make sure we only consider comment-starters
14128 of the relevant style and return -1 in case of a failure to find the
14129 beginning of the comment.
14130 (Fforward_comment): If back_comment fails, go back to the position just
14131 after the comment-end.
14132 (scan_lists): Add comment describing a very minor bug.
14133
b9b84fd3
SM
141342000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14135
14136 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14137 `completion-regexp-list' in the docstring.
14138
3a28db80
DL
141392000-02-14 Dave Love <fx@gnu.org>
14140
14141 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14142
fb4a568d
SM
141432000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14144
14145 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14146 to Emacs' syntax. Also fix the comment about set/not-set meanings
14147 since Emacs syntax is not the value 0 any more.
14148 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14149 since it's now part of RE_SYNTAX_EMACS.
14150
1063ebb5
DL
141512000-02-12 Dave Love <fx@gnu.org>
14152
52283633 14153 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14154
fb07a302
GM
141552000-02-12 Gerd Moellmann <gerd@gnu.org>
14156
14157 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14158
aaf2320c
DL
141592000-02-12 Dave Love <fx@gnu.org>
14160
14161 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14162
14163 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14164 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14165 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14166
14167 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14168
14169 * s/nextstep.h: Don't define HAVE_ALLOCA.
14170
14171 * config.in: Add vfork bits.
14172
eedf8bde
GM
141732000-02-12 Gerd Moellmann <gerd@gnu.org>
14174
14175 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14176 unwind function to undo the effect of stopping atimers.
14177
52283633 14178 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14179
14180 * atimer.c (stopped_atimers): New variable.
14181 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14182 New functions.
14183
14184 * atimer.h (stop_other_atimers, run_all_atimers)
14185 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14186
eedf8bde
GM
14187 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14188
8476c2f8
KR
141892000-02-11 Ken Raeburn <raeburn@gnu.org>
14190
14191 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14192 library may depend on jpeg.
14193 (atimer.o): Depends on atimer.c.
14194
0e85e4a3
KH
141952000-02-11 Kenichi Handa <handa@etl.go.jp>
14196
14197 * insdel.c (del_range_1): Call update_compositions.
14198 (del_range_both): Call update_compositions just once..
14199
97fa0cc8
DL
142002000-02-10 Dave Love <fx@gnu.org>
14201
14202 * xfns.c (create_frame_xic): Fix initialization of automatic
14203 aggregates for pcc.
14204
25566a3c
KH
142052000-02-09 Kenichi Handa <handa@etl.go.jp>
14206
14207 * ccl.c (CCL_MAKE_CHAR): New macro.
14208 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14209 registers by CCL_MAKE_CHAR before calling translate_char.
14210 <CCL_TranslateCharacterConstTbl> Likewise.
14211
69da54ba
DL
142122000-02-08 Dave Love <fx@gnu.org>
14213
14214 * lread.c (__EXTENSIONS__): Define.
14215
f7136ee8
GM
142162000-02-08 Gerd Moellmann <gerd@gnu.org>
14217
14218 * puresize.h (BASE_PURESIZE): Increase to 650000.
14219
7768790b
EZ
142202000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14221
14222 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14223 the help message.
14224
38fd211b
EZ
142252000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14226
14227 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14228 md, mh, mb, mr, and me to the fake termcap entry.
14229
66e4690f
KR
142302000-02-06 Ken Raeburn <raeburn@gnu.org>
14231
14232 * sound.c (sound_cleanup): Don't call device close routine if the
14233 function pointer is null.
14234
a75dfea0
AI
142352000-02-06 Andrew Innes <andrewi@gnu.org>
14236
14237 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14238 around image definitions and prototypes.
14239 (gamma_correct) [WINDOWSNT]: New prototype.
14240
14241 * w32term.c (x_make_frame_visible): Replace call to
14242 input_poll_signal with poll_for_input.
14243
14244 * window.c [WINDOWSNT]: Include w32term.h.
14245
14246 * xdisp.c [WINDOWSNT]: Include w32term.h.
14247
14248 * makefile.nt: Add dependencies on w32gui.h.
14249 (OBJ1): Include atimer.obj.
14250 ($(BLD)\atimer.obj): New dependency rule.
14251
14252 * w32.c (sigmask): New function (does nothing).
14253 (sigunblock): Ditto.
14254
14255 * frame.c [WINDOWSNT]: Include w32term.h.
14256
14257 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14258
14259 * lread.c (syms_of_lread): Fix literal newlines.
14260
14261 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14262 the string constant limit (2048 bytes) in MSVC.
14263 (main): Ditto.
14264
59ddecde
GM
142652000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14266
52283633 14267 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14268 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14269 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14270 dispatch the event.
14271
07590973
DL
142722000-02-04 Dave Love <fx@gnu.org>
14273
14274 * fileio.c: Remove some unused vars.
14275 (_GNU_SOURCE): Define (for euidaccess).
14276
14277 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14278
14279 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14280 gcpro1, gcpro2.
14281 (read_minibuf): Deal with allow_props correctly.
14282
649351f9
EZ
142832000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14284
14285 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14286
66e4690f 142872000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14288
14289 * search.c (compile_pattern): If a cache entry has a nil regexp,
14290 fill in that entry instead of clobbering a previously cached
14291 string regexp.
14292
66e4690f 142932000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14294
14295 * puresize.h (BASE_PURESIZE): Increase to 610000.
14296
d240a249
GM
142972000-02-02 Gerd Moellmann <gerd@gnu.org>
14298
14299 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14300 can GC.
14301
ca91fb26
KH
143022000-02-02 Kenichi Handa <handa@etl.go.jp>
14303
25660570
KH
14304 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14305 instead of incrementing ic directly.
14306 <CCL_WriteExprConst> Likewise.
14307 <ccl_set_expr>: Set ic to jump_address.
14308
ca91fb26
KH
14309 * fileio.c (e_write): Fix the handling of
14310 CODING_FINISH_INSUFFICIENT_SRC.
14311
2ede9689
DL
143122000-02-01 Dave Love <fx@gnu.org>
14313
14314 * editfns.c (Fpropertize): Doc fix.
14315
14316 * process.c (Fstart_process): Doc fix.
14317
14318 * eval.c: Fix various doc strings not to duplicate information
14319 from help-manyarg-func-alist.
14320
52283633 14321 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14322
14323 * doc.c (Vhelp_manyarg_func_alist): New variable.
14324 (Fdocumentation): Use it.
14325 (syms_of_doc): Define it.
14326
b6680a0e
GM
143272000-01-31 Gerd Moellmann <gerd@gnu.org>
14328
2cb750ba
GM
14329 * xterm.c (xim_open_dpy): Remove unused local variable.
14330
52283633 14331 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14332
14333 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14334 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14335
b6680a0e
GM
14336 * fns.c (sweep_weak_table): New function.
14337 (sweep_weak_hash_tables): Use it. Keep on marking until there
14338 is no more change.
14339
994c5afe
GM
143402000-01-30 Gerd Moellmann <gerd@gnu.org>
14341
14342 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14343 that XTread_socket does not crash by trying to call XNoOp on a
14344 closed display.
427ec082 14345
f00276e3
JR
143462000-01-30 Jason Rumney <jasonr@gnu.org>
14347
14348 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14349 Change selected_frame to SELECTED_FRAME ().
14350 (w32_console_mouse_position): Remove #ifndef MULE from around
14351 `insist' parameter.
14352
14353 * makefile.nt: Remove dosfns.obj.
14354
14355 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14356
14357 * w32fns.c (w32_defined_color): Check for valid frame before
14358 applying gamma correction. Eliminate dependency on frame elsewhere.
14359 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14360 (w32_to_x_font): Use resx and resy not height_in and width_in.
14361 (x_to_w32_font): Doc fix.
14362 (xlfd_strip_height): New function to strip and return font height.
14363 (w32_font_match): Compare height separately from rest of xlfd
14364 spec, using xlfd_strip_height.
14365
14366 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14367 width_in. Use w32_defined_color in place of defined_color.
14368
14369 * w32faces.c: Merge more of DOS and X specifics in preparation for
14370 merge with xfaces.c.
14371 (defined_color): Remove FIXME comment.
14372 (tty_color_name): Provide w32-specific function.
14373 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14374
14375 * w32console.c (turn_on_face, turn_off_face): Removed.
14376 (w32_face_attributes): New function.
14377 (Global_variables): Reduce scope where possible.
14378 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14379 fill attribute.
14380 (hl_mode): Don't modify text attributes.
14381 (write_glyphs): Don't do anything if len <= 0. Use
14382 w32_face_attributes to get attributes for drawing. Write
14383 terminating codes using char_attr_normal.
14384 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14385 (update_begin, update_end): Likewise.
14386 (vga_stdcolor_name): New function.
14387 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14388 (Fset_screen_color): Remove char_attr_reverse.
14389
b08e8bb2
GM
143902000-01-29 Gerd Moellmann <gerd@gnu.org>
14391
14392 * xfns.c (xic_set_preeditarea): Take window parameter and
14393 window-relative pixel-positions.
14394
14395 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14396 is its frame's selected window.
14397 (xim_instantiate_callback): Likewise.
14398
14399 * xfns.c (x_create_im): Removed.
14400 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14401 (supported_xim_styles): Renamed from supported_styles.
14402 (best_xim_style): Renamed from best_style.
14403 (create_frame_xic): Renamed from xic_create_frame.
14404 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14405
b08e8bb2
GM
144062000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14407
14408 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14409 our frames, call XFilterEvent with 2nd parameter `None'.
14410 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14411 returning XBufferOverflow.
52283633 14412 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14413 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14414 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14415 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14416 (xim_initialize, xim_close)
14417 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14418 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14419 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14420 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14421
14422 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14423 and `xim_styles'.
14424 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14425 `xic_style' and `xic_xfs'.
14426 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14427 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14428 (FRAME_XIM): Removed.
14429
14430 * xfns.c (supported_styles): New variable.
14431 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14432 (xic_create_xfontset, best_style, xic_create_frame)
14433 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14434 (xic_set_xfontset): New functions.
14435
142e109c
DL
144362000-01-28 Dave Love <fx@gnu.org>
14437
14438 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14439
14440 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14441
b02786f9
GM
144422000-01-28 Gerd Moellmann <gerd@gnu.org>
14443
d060bc9f
GM
14444 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14445 for *scratch* if it already existed.
14446
b02786f9
GM
14447 * emacs.c (USAGE): New macro.
14448 (main): Use it to display usage information.
14449
2c52d7e4
EZ
144502000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14451
14452 Support for the menu-help feature:
14453
52283633 14454 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14455
14456 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14457 part of the line to the termscript file.
14458 (IT_clear_to_end): Clear the entire line, not just its beginning.
14459 (menu_help_message, prev_menu_help_message): New variables.
14460 (IT_menu_make_room): Make room for the help_text member.
14461 (IT_menu_display): New argument disp_help; all callers changed.
14462 If disp_help is non-zero, store the help text of the active menu
14463 item in menu_help_message.
14464 (XMenuAddPane): Initialize the help_text member to NULL.
14465 (XMenuAddSelection): New argument help_text. Store it in the
14466 XMenu structure.
14467 (XMenuActivate): New argument help_callback. If the value of
14468 menu_help_message has changed since the last time, display the
14469 menu help message text while waiting for the mouse to move. Clear
14470 the echo area before exiting.
14471 (XMenuDestroy): Free the help_text member.
14472
ffe0bcd1
GM
144732000-01-27 Gerd Moellmann <gerd@gnu.org>
14474
14475 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14476 XMenuAddSelection. Pass help callback to XMenuActivate.
14477 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14478
50dbd23f
EZ
144792000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14480
14481 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14482 and EMACS_SET_USECS.
14483
f5941bf8
GM
144842000-01-26 Dave Love <fx@gnu.org>
14485
6c67ddee
DL
14486 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14487
f5941bf8
GM
14488 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14489 an error may be signalled.
14490
9e49c990
GM
144912000-01-26 Gerd Moellmann <gerd@gnu.org>
14492
fc3cb460
GM
14493 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14494 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14495
9e49c990
GM
14496 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14497
d0c037d8
GM
144982000-01-25 Gerd Moellmann <gerd@gnu.org>
14499
14500 * charset.c (Fstring): If there is a multibyte char among
14501 the args, always return a multibyte string.
14502
e12489f9
GM
145032000-01-25 Gerd Moellmann <gerd@gnu.org>
14504
14505 * sysdep.c (sys_select): Turn atimers off and on instead of
14506 recording and restoring old alarm handler
14507
14508 * process.c (toplevel): Include atimer.h.
14509 (create_process_1): Rewritten.
14510 (create_process): Use atimers instead of alarm.
14511 (wait_reading_process_input) [hpux]: Turn atimers off instead
14512 of turning off SIGALRM.
14513 (wait_reading_process_input): Turn off atimers instead off
14514 calling stop_polling.
14515
14516 * emacs.c (main): Call init_atimer.
14517
14518 * keyboard.c (toplevel): Include systime.h and atimer.h.
14519 (polling_for_input): Removed because unused.
14520 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14521 (poll_timer): New variable.
14522 (poll_for_input, poll_for_input_1): New functions.
14523 (start_polling, stop_polling): Rewritten.
14524
14525 * keyboard.h (polling_for_input): Removed.
427ec082 14526
e12489f9
GM
14527 * atimer.h, atimer.c: New files.
14528
14529 * Makefile.in (obj): Add atimer.o.
14530 (atimer.o): New target.
14531
14532 * blockinput.h (pending_atimers): Add extern declaration.
14533 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14534
14535 * lisp.h (popup_activated_flag): Add extern declaration.
14536
14537 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14538 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14539 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14540
14541 * xterm.c (toplevel): Include atimer.h.
14542 (toolkit_scroll_bar_interaction): New variable.
14543 (Fxt_process_timeouts): Removed.
14544 (x_process_timeouts): New function.
14545 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14546 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14547 (x_make_frame_visible): Call poll_for_input_1 instead of
14548 input_poll_signal. Don't call alarm.
14549 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14550
1e5279b9
DL
145512000-01-24 Dave Love <fx@gnu.org>
14552
6c67ddee 14553 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14554 Don't use -cckr -- apparently not now necessary.
14555
edf6aeb8
EZ
145562000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14557
14558 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14559 screen boundary.
14560
9badad41
JR
145612000-01-23 Jason Rumney <jasonr@gnu.org>
14562
14563 * w32fns.c (w32_defined_color): Apply gamma correction before
14564 trying to map to the palette.
14565 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14566 to w32_clear_rect.
14567
14568 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14569 here. Callers changed to always pass real device context.
14570 (w32_draw_bitmap): Likewise.
14571 (w32_get_glyph_overhangs): Likewise.
52283633 14572 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14573 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14574 pfnSetScrollInfo and SetScrollRange.
14575 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14576 back into MULE characters after decoding them.
14577 (x_get_glyph_face_and_encoding): Likewise.
14578 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14579 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14580 (x_produce_glyphs): Calculate per char metrics for a character
14581 that we know exists in default font when font_not_found_p is true.
14582
63bd786b
JR
145832000-01-22 Jason Rumney <jasonr@gnu.org>
14584
14585 * makefile.nt (intervals.obj, composite.obj): New modules.
14586 (composite.h): Added as dependency where appropriate.
14587
14588 * w32gui.h (XGCValue): New struct for emulating X GCs.
14589
14590 * w32term.h (XCharStruct): New struct for emulating X.
14591
14592 * w32console.c (turn_on_face, turn_off_face): New functions.
14593 (change_line_highlight): New prototype for new redisplay.
14594 (write_glyphs): Support multibyte text. Support faces.
14595
52283633 14596 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14597
14598 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14599 throughout. struct frame * in place of FRAME_PTR.
14600 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14601 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14602 (w32_get_arg): Renamed from x_get_arg.
14603 (Fx_file_dialog): New function.
14604 (w32_list_fonts): Check cache before asking system.
14605 (Vw32_enable_synthesized_fonts): New variable.
14606 (Vw32_enable_italics): Obsolete, removed.
14607
14608 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14609 Use SELECTED_FRAME macro.
14610
14611 * w32menu.c: Add skeleton support for help strings on menus.
14612 (add_menu_item): Native checkbox and radio support added, but not
14613 yet enabled due to bugs.
14614 (push_menu_item): Add parameters type, selection and help.
14615 Callers updated.
14616 Formatting changes to reduce unnecessary diffs with xmenu.c.
14617
14618 * w32select.c (Fw32_set_clipboard_data): Update call to
14619 find_charset_in_str.
14620
14621 * w32term.c: Complete rewrite for new redisplay based on new
14622 xterm.c with necessary sections merged back in from old w32term.c.
14623
6ffd3cf7 146242000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14625
14626 * data.c (set_internal): Further fix in same criterion.
14627
6ffd3cf7 146282000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14629
14630 * data.c (set_internal): Fix the criteria for whether
14631 to swap out the old cached binding.
14632
60af03f1
DL
146332000-01-19 Dave Love <fx@gnu.org>
14634
14635 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14636
f9be074f
KH
146372000-01-18 Kenichi Handa <handa@etl.go.jp>
14638
14639 * regex.c (re_compile_fastmap): While checking a range table for
14640 `charset', skip flag bits for a character class correctly.
14641
52b8dbf9
GM
146422000-01-17 Gerd Moellmann <gerd@gnu.org>
14643
d36100c9
GM
14644 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14645
52283633 14646 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14647
14648 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14649 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14650
14651 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14652 MENU_ITEMS_ITEM_.*.
14653 (MENU_ITEMS_ITEM_HELP): New enumerator.
14654 (push_menu_item): Add parameter HELP. Record help in menu_items.
14655 (single_menu_item, single_submenu, list_of_items): Call
14656 push_menu_item with new parameter.
14657 (single_submenu): Set help string in widget value.
14658 (menu_highlight_callback): New function.
14659 (set_frame_menubar): Call lw_create_widget with new
14660 parameter list.
14661 (xmenu_show, xdialog_show): Ditto.
14662
3139018f
GM
146632000-01-13 Gerd Moellmann <gerd@gnu.org>
14664
14665 * sound.c (Fplay_sound): Improve doc string.
14666
83c8f461
RS
146672000-01-11 Richard M. Stallman <rms@gnu.org>
14668
14669 * lisp.h (set_internal): Enter the new arg.
14670
14671 * eval.c (specbind): Record buffer-local variables specially,
14672 indicating which buffer's binding was saved.
14673 (unbind_to): Restore buffer-local variables specially
14674 in the proper buffer.
14675
14676 * data.c (set_internal): New arg BUF.
427ec082 14677
83c8f461
RS
14678 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14679 * data.c (Fset): Pass new arg to set_internal.
14680 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14681
1fab1775
GM
146822000-01-11 Gerd Moellmann <gerd@gnu.org>
14683
52283633 14684 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14685
83c8f461 146862000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14687
14688 * minibuf.c (Ftry_completion): Doc fix.
14689
7a85e4df
GM
146902000-01-11 Gerd Moellmann <gerd@gnu.org>
14691
14692 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14693 vector, too.
14694
a970dae4
AS
146952000-01-11 Andreas Schwab <schwab@suse.de>
14696
14697 * coding.c (code_convert_region): Initialize total_skip.
14698
c65d14ee
DL
146992000-01-08 Dave Love <fx@gnu.org>
14700
14701 * eval.c (Fuser_variable_p): Check customizability too.
14702
834938d2
GM
147032000-01-07 Gerd Moellmann <gerd@gnu.org>
14704
14705 * minibuf.c (Fcompleting_read): Doc fix.
14706
e0303cd6
GM
147072000-01-05 Gerd Moellmann <gerd@gnu.org>
14708
8a26744b
GM
14709 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14710 -L /usr/local/lib.
14711
e0303cd6
GM
14712 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14713 Check that input style is supported before trying to create an
14714 IC for it.
14715 (x_window): Call x_create_im.
427ec082 14716
2e471eb5
GM
147172000-01-04 Gerd Moellmann <gerd@gnu.org>
14718
560a7bd2
GM
14719 * xfns.c (current_gif_memory_src): New variable.
14720 (gif_load): Record the address of the current memory source
14721 in current_gif_memory_src.
14722 (gif_read_from_memory): Use current_gif_memory_src.
14723
f9ee84a3
GM
14724 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14725 macros statement form.
14726
d1299cde
GM
14727 * sound.c (struct sound): Renamed from struct sound_file.
14728 (struct sound): Add members `data' and `header_size'.
14729 (enum sound_attr): Add SOUND_DATA.
14730 (current_sound, current_sound_device): Variables renamed from
14731 sound_file and sound_device.
14732 (parse_sound): Parse :data.
14733 (parse_sound): Handle sound data in strings.
14734 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14735 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14736 needed header size.
14737 (wav_play, au_play): Play sounds from string data.
14738
2e471eb5
GM
14739 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14740
14741 * lisp.h: Add prototype for allocate_string_data.
14742
52283633 14743 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14744
14745 * alloc.c (mark_buffer): Remove code in #if 0.
14746 (gc_sweep): Ditto.
14747 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14748 (strings_consed): New variable.
14749 (allocate_string): Set it.
14750 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14751 (Fmemory_use_counts): Return strings_consed. Use Flist.
14752
14753 * alloc.c: General cleanup in comments etc. Remove conditional
14754 compilation for `standalone'.
14755
14756 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14757
14758 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14759 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14760 (DONT_COPY_FLAG): Removed.
14761 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14762 (struct sdata, struct sblock): New
14763 (struct string_block): Rewritten.
14764 (STRINGS_IN_STRING_BLOCK): New macro.
14765 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14766 (large_sblocks, string_blocks, string_free_list): New variables.
14767 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14768 (init_strings): Rewritten.
14769 (allocate_string, allocate_string_data, compact_small_strings)
14770 (free_large_strings, sweep_strings): New functions.
14771 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14772 (struct string_block_head, current_string_block)
14773 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14774 (STRING_PAD): Removed.
14775 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14776 (Fgarbage_collect): Don't set mark bit in large strings.
14777 (mark_object): Mark strings differently. Mark symbol names
14778 differently.
14779 (survives_gc_p): Test marked strings differently.
427ec082 14780 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14781 symbol names.
14782 (compact_strings): Removed.
14783
42608ba8
EZ
147842000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14785
14786 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14787 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14788
e0a09e1a
KH
147892000-01-04 Kenichi Handa <handa@etl.go.jp>
14790
dd9f0750 14791 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14792 in a non-empty buffer.
dd9f0750 14793
3c0f3b15 14794 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14795
44cd3ae5
GM
147962000-01-03 Gerd Moellmann <gerd@gnu.org>
14797
14798 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14799 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14800
14801 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14802
c182a70f
EZ
148032000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14804
14805 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14806 need to test for MSDOS frames.
14807
24480d5b
EZ
148082000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14809
14810 * dosfns.c (unspecified_colors): Remove.
14811 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14812 unspecified_bg.
14813 (msdos_stdcolor_name): Return strings for unspecified fore- and
14814 back-ground colors.
14815
14816 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14817 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14818 (tty_color_name): Return Lisp strings for unspecified fore- and
14819 back-ground colors.
14820 (Finternal_set_lisp_face_attribute): Remove the special treatment
14821 for Qunspecified_{f,b}g.
52283633 14822 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14823
047f434a
GM
148242000-01-03 Gerd Moellmann <gerd@gnu.org>
14825
14826 * xdisp.c (reseat_at_next_visible_line_start): Position before
14827 newline only if ending up on a newline.
14828 (next_element_from_ellipsis): Return success. Handle case of
52283633 14829 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14830 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14831 returns 0.
14832
d684c676
EZ
148332000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14834
14835 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14836 (Fcolor_supported_p): Renamed from face-color-supported-p.
14837
5fe1d139
EZ
148382000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14839
14840 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14841 list of colors renamed to tty-defined-color-alist.
14842 (tty_color_name): Pass the frame to tty-color-by-index.
14843 (realize_tty_face): tty-color-alist is now a function which
14844 accepts the frame as argument.
14845
52283633 14846 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14847
816be8b8
EZ
148482000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14849
14850 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14851 encode_terminal_code.
14852
b635321e
EZ
148532000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14854
14855 * dispnew.c (mode_line_string): Support termcap frames as well.
14856
9b784e96
GM
148572000-01-01 Gerd Moellmann <gerd@gnu.org>
14858
27189709
GM
14859 * syntax.c (Fforward_word): Undo previous change.
14860
14861 * editfns.c (Fconstrain_to_field): Don't constrain if
14862 inhibit-field-text-motion is non-nil.
14863 (Fline_beginning_position): Undo previous change.
14864 (Fline_end_position): Ditto.
14865
14866 * syntax.c (Fforward_word): Notice field boundaries only if
14867 inhibit-field-text-motion is nil.
14868
14869 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14870
14871 * editfns.c (Vinhibit_field_text_motion): New variable.
14872 (inhibit-field-text-motion): New DEFVAR_LISP.
14873 (Fline_beginning_position, Fline_end_position): Notice field
14874 boundaries only if inhibit-field-text-motion is nil.
14875
45158a91
GM
14876 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14877 All calls adjusted.
14878 (x_build_heuristic_mask): Likewise.
14879 (xbm_load_image_from_file): Change error output.
14880 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14881 (gif_load, gs_load, x_kill_gs_process): Ditto.
14882
9b784e96
GM
14883 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14884 color indices when accessing raster pixels.
63cec32f
GM
14885 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14886 one of :file or :data.
14887 (enum pbm_keyword_index): Add PBM_DATA.
14888 (pbm_format): Add :data.
14889 (pbm_image_p): Allow either :file or :data.
14890 (pbm_read_file): New function.
14891 (pbm_scan_number): Rewritten to read from string.
14892 (pbm_load): Support :data.
9b784e96 14893
2cb085db 14894See ChangeLog.8 for earlier changes.
6922b018
KH
14895
14896;; Local Variables:
49b3bd82 14897;; coding: iso-2022-7bit
6922b018 14898;; End:
2a34a036
GM
14899
14900 Copyright (C) 2001 Free Software Foundation, Inc.
14901 Copying and distribution of this file, with or without modification,
14902 are permitted provided the copyright notice and this notice are preserved.