(random): Add undef.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
59b59892
SM
12001-12-06 Stefan Monnier <monnier@cs.yale.edu>
2
3 * eval.c: Undo last change: the standard syntax is not wanted.
4
c6ea2775
EZ
52001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
6
7 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
8 scroll bars of the frame before deleting the frame itself. If the
9 frame has a widget, delete the frame with XtDestroyWidget, and do
10 not call XDestroyWindow before that.
11
91175673
KS
122001-12-06 Kim F. Storm <storm@cua.dk>
13
14 * xfns.c (x_report_frame_params): Return actual fringe widths.
15
16 * w32fns.c (x_report_frame_params): Return actual fringe widths.
17
e0fead5d
AI
182001-12-05 Andrew Innes <andrewi@gnu.org>
19
20 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
21 excessively large.
22
23 * insdel.c (make_gap_larger): New function.
24 (make_gap_smaller): New function.
25 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
26 make_gap_smaller if arg is negative.
27
c186cdb3
SM
282001-12-04 Stefan Monnier <monnier@cs.yale.edu>
29
30 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
31 Pass a dummy argument when calling interrupt_signal.
32 (parse_menu_item): Mark disabled items before checking for empty def.
33 (read_char_minibuf_menu_prompt): Make safety more visible.
34 (read_key_sequence): Add a `first_unbound' variable.
35 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
36 unbound prefix as soon as we can detect it.
37
38 * doc.c (Fsnarf_documentation): Add prototype.
39 (get_doc_string): Handle negative arguments.
40 (Fdocumentation): Use AREF and ASIZE.
41 Move the calls to get_doc_string to a single place.
42 Don't confuse an interactive-spec for a docstring reference.
43 (Fdocumentation_property): Take advantage of the fact that
44 get_doc_string now ignores the sign of the docstring position.
45
46 * eval.c: Use standard syntax for usage in docstrings.
47
58cfce98
PJ
482001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
49
c186cdb3 50 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 51
62854fe2
PJ
522001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
53
54 * xterm.c (x_draw_image_relief): Use predefined macro instead of
55 constant when the value of `tool_bar_button_relief' is negative.
56
656f46bb
RS
572001-12-02 Richard M. Stallman <rms@gnu.org>
58
59 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
60 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
61
62 * fileio.c (read_non_regular): Delete Fsignal call.
63
036e218d
SM
642001-12-01 Stefan Monnier <monnier@cs.yale.edu>
65
66 * lisp.h (run_hook_list_with_args): Undo last change.
67
7ddb2c16
GM
682001-12-01 Gerd Moellmann <gerd@gnu.org>
69
70 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
71
ace9b298
JR
722001-12-01 Jason Rumney <jasonr@gnu.org>
73
90647b07
JR
74 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
75
76 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
77 [!WM_MOUSELEAVE]: Define.
78
ace9b298
JR
79 * w32menu.c (current_popup_menu, get_menu_item_info):
80 (set_menu_item_info): New vars.
81 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
82 (w32_menu_show): Set current_popup_menu.
83 (add_menu_item): Allocate new strings for owner-drawn menu items
84 and help strings.
85 Use owner-draw for disabled menu items again.
86 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
87 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
88
89 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
90 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
91 <WM_EXITMENULOOP>: Free menu strings.
92 <WM_MOUSELEAVE>: Stop tracking mouse.
93 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
94
95 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
96 and mouse face.
97
a9549909 982001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
99
100 The following changes add left-fringe and right-fringe
101 frame parameters to adjust fringe widths, or remove one or
102 both fringes.
036e218d 103
9fbc32aa
KS
104 * frame.h (struct frame): Remove trunc_area_pixel_width and
105 trunc_area_cols fields.
106 (Qleft_fringe, Qright_fringe): Declare.
107 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
108
109 * frame.c (Qleft_fringe, Qright_fringe): New vars.
110 (syms_of_frame): Initialize them.
111
112 * window.c (coordinates_in_window): Handle separate left and right
113 fringe widths.
114
115 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
116 and fringe_cols fields.
117 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
118 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
119 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
120 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
121 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
122 (x_compute_fringe_widths): Add prototype.
123
124 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
125 fill fringe evenly with small dashes.
126 (x_draw_fringe_bitmap): Clear background if necessary. Align and
127 clip the new ZV bitmap to avoid jitter between rows.
128 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
129 background. Don't draw fringe bitmaps if fringe width is zero.
130 (x_compute_fringe_widths): New function.
131 (x_new_font, x_set_window_size_1): Use it.
132
133 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
134 (x_set_frame_parameters): Process Process `font' parameter before other
135 parameters as fringe widths depend on it.
136 (x_set_fringe_width): New function.
137 (x_figure_window_size): Use x_compute_fringe_widths.
138 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
139 parameters.
140
141 * widget.c (set_frame_size): Use x_compute_fringe_widths.
142 (EmacsFrameSetCharSize): Ditto.
143
144 * w32term.h: Merged changes from xterm.h.
145 * w32term.c: Merged changes from xterm.c.
146 * w32fns.c: Merged changes from xfns.c.
147
0142178a
PJ
1482001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
149
150 * COPYING: Removed.
151
d4824a5d
DL
1522001-11-29 Dave Love <fx@gnu.org>
153
154 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
155 extra extra slot.
156 (detect_coding_mask): Fix call of detect_coding_iso2022.
157
b1356234
PJ
1582001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
159
160 * fileio.c (file-name-coding-system)
161 (default-file-name-coding-system): Doc fix (links to referenced
162 variables added).
163
3ce081f5
SM
1642001-11-28 Stefan Monnier <monnier@cs.yale.edu>
165
99e380ee
SM
166 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
167 Add dummy uses of gcproN variables.
168
3ce081f5 169 * category.c (describe_category, describe_category_1)
2ad56c09 170 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
171 (syms_of_category): Don't defsubr Sdescribe_categories.
172
66458f32
RS
1732001-11-28 Richard M. Stallman <rms@gnu.org>
174
175 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
176
177 * Makefile.in (lispdir): New variable, referring to build dir.
178 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
179
59a86c99
AI
1802001-11-28 Andrew Innes <andrewi@gnu.org>
181
182 * w32menu.c (w32_menu_display_help): Actually add the new argument
183 OWNER.
184
eb77a5f4
JR
1852001-11-28 Jason Rumney <jasonr@gnu.org>
186
187 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
188 menu items. From David Ponce <dponce@wanadoo.fr>.
189 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
190 conditionally.
191 (w32_menu_display_help): New argument OWNER. Rewritten to store a
192 help event in the owner frame's keyboard buffer.
193
194 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
195 (Fx_show_tip): Don't subtract last width from row width.
196
197 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
198 (w32_read_socket): Use EQ to compare frames.
199
bb313871
GM
2002001-11-28 Gerd Moellmann <gerd@gnu.org>
201
202 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
203 OVERLAPS_P.
204
55b43a63
PJ
2052001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
206
6052529b
PJ
207 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
208 `gcpro3' and `gcpro4'.
209
3ce081f5
SM
210 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
211
2122001-11-28 Stefan Monnier <monnier@cs.yale.edu>
213
214 * ccl.c: Use AREF and ASIZE.
215
2162001-11-27 Stefan Monnier <monnier@cs.yale.edu>
217
218 * lisp.h (run_hook_list_with_args): Remove.
219 (LIST_END_P): Fix call to wrong_type_argument.
220 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 221
111ed14e
SM
2222001-11-26 Stefan Monnier <monnier@cs.yale.edu>
223
9fabb2f5
SM
224 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
225 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
226
227 * eval.c: Use AREF and ASIZE.
228 (Ffetch_bytecode): Add the file name to the error message.
229
230 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
231 which match the end of the file-name.
232 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
233 is not a valid env var, but leave it as is instead.
234
111ed14e
SM
235 * keymap.c (access_keymap): Handle t bindings like nil bindings.
236 Make nil bindings in char-tables transparent.
237 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
238
2fa0eedf
RS
2392001-11-26 Richard M. Stallman <rms@gnu.org>
240
d1420435
RS
241 * textprop.c (set_text_properties_1): Allow START, END in either order.
242 Do nothing if range is empty.
243
2fa0eedf
RS
244 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
245
ebcbef4e
RS
246 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
247 (clean): Not here.
248
5c131048
SM
2492001-11-25 Stefan Monnier <monnier@cs.yale.edu>
250
251 * textprop.c (set_text_properties_1): Clearly mark that the
252 interval should not be empty.
253
254 * intervals.c (graft_intervals_into_buffer):
255 Don't call set_text_properties_1 on an empty interval.
256
96d276c3
RS
2572001-11-25 Richard M. Stallman <rms@gnu.org>
258
6108b49c
RS
259 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
260
96d276c3
RS
261 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
262 don't lose the data in it.
263
5eea19a4
RS
2642001-11-25 Juanma Barranquero <lektu@terra.es>
265
266 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
267
268 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
269
270 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
271
438e57dd
SM
2722001-11-25 Stefan Monnier <monnier@cs.yale.edu>
273
274 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
275
c88e5347
EZ
2762001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
277
278 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
279 Niemitalo <kon@iki.fi>.
280
59ce1461
JR
2812001-11-25 Jason Rumney <jasonr@gnu.org>
282
283 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
284
285 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
286 (Fx_show_tip): Block input during frame creation.
287 (Fx_show_tip, Fx_hide_tip): Enable.
288
8727d588
RS
2892001-11-24 Richard M. Stallman <rms@gnu.org>
290
291 * lread.c (Fload): Detect recursive load error for more than 3
292 nestings of the same file.
293 (Vrecursive_load_depth_limit): Variable deleted.
294 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
295
cc63037e
JR
2962001-11-24 Jason Rumney <jasonr@gnu.org>
297
298 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
299 mouse position if either left or top is not specified.
300
301 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
302 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
303 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
304 (my_create_tip_window): Assign tip_window.
305 (x_create_tip_frame): Use same defaults as X.
306 (compute_tip_xy): Remove unused variable. Use full screen width.
307 (Fx_show_tip): Do not double height. Call ShowWindow directly.
308
309 * w32term.c (x_after_update_window_line): Doc fix.
310 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
311 frames.
312 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
313
314 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
315 for all Windowed systems.
316
deece6f5
EZ
3172001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
318
319 * msdos.c (IT_clear_screen): If the frame's faces are not yet
320 realized, use the initial screen colors to clear the screen.
321
1b944d9c
PJ
3222001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
323
28ff4293
PJ
324 * textprop.c (Fset_text_properties): Remove unused variables
325 `unchanged', `prev_changed', `s' and `len'.
326
56167cc5
PJ
327 * search.c (Freplace_match): Remove unused variable `inslen'.
328
1b944d9c
PJ
329 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
330
ca56d953
JR
3312001-11-22 Jason Rumney <jasonr@gnu.org>
332
333 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
334 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
335 (my_create_tip_window): New function.
336 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
337 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
338
33399dce
JR
3392001-11-20 Jason Rumney <jasonr@gnu.org>
340
341 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
342 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
343
344 * w32fns.c (Vw32_system_coding_system): Remove.
345 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
346
9b46de40
SM
3472001-11-19 Stefan Monnier <monnier@cs.yale.edu>
348
6710ea06
SM
349 * fileio.c (Fwrite_region): Move choose_write_coding_system to
350 after build_annotations.
351
a395ef6a
SM
352 * syntax.c (describe_syntax): Add dummy arg.
353 (describe_syntax_1): Update call to describe_vector.
354
355 * category.c (describe_category): Add dummy arg.
356 (describe_category_1): Update call to describe_vector.
357
358 * keymap.c (Fdescribe_vector): Add `describer' parameter.
359 (describe_command, describe_translation): Add dummy second param.
360 (describe_map): Call elt_describer with two arguments.
361 (describe_vector_princ): Add `fun' parameter.
362 Call it instead of the hardcoded `princ'.
363 (describe_vector): Add arg `args'.
364 Pass it as a new second argument to elt_describer.
365
366 * keymap.h (describe_vector): Update prototype.
367
9b46de40
SM
368 * frame.c: Don't include keymap.h any more.
369 (keys_of_frame): Remove.
370
371 * lisp.h (keys_of_frame): Remove declaration.
372
373 * emacs.c (main): Don't call `keys_of_frame' any more.
374
aff37336
SS
3752001-11-14 Andreas Schwab <schwab@suse.de>
376
377 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
378 if defined, 0 otherwise.
9b46de40 379 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
380 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
381
b9937f07
RS
3822001-11-19 Richard M. Stallman <rms@gnu.org>
383
384 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
385
2cd23960
JR
3862001-11-18 Jason Rumney <jasonr@gnu.org>
387
388 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
389 (x_draw_bar_cursor): If the background color of the glyph under
390 the cursor equals the frame's cursor color, use the glyph's
391 foreground color for drawing the bar cursor.
392 (x_after_update_window_line): Clear internal border in different
393 circumstances.
394 (w32_set_vertical_scroll_bar): Check for width and height > 0.
395 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
396 (x_set_glyph_string_background_width):
397 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
398 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
399 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
400 if cursor_in_non_selected_windows is false.
9b46de40 401 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
402 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
403 Notice if cursor gets overwritten.
404 (notice_overwritten_cursor): Renamed from
405 note_overwritten_text_cursor. Rewritten to take glyph widths
406 into account, and to take X positions as parameters.
407 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
408 around call to x_draw_glyphs.
409 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
410 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
411 color to use for image glyph reliefs.
412 (x_draw_image_relief): Accept zero tool_bar_button_relief.
413 (glyph_rect): Remove unused variable `area'.
414
415 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
416 some items.
417 (x_set_internal_border_width): Set frame garbaged when window
418 doesn't exist yet.
419 (Fx_create_frame): Accept zero tool_bar_button_relief.
420 (x_clear_image_1, four_corners_best, image_background)
421 (image_background_transparent): New functions.
422 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
423 (gs_format): Add `:background' entry.
424 (lookup_image): Set IMG's background color if specified.
425 (pbm_load, xbm_load_image, png_load): Set IMG's background field
426 when appropriate.
427 (x_clear_image_1): Reset `background_valid' and
428 `background_transparent_valid' fields.
429 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
430 calculating it here. Set IMG's background_transparent field.
431 (enum xpm_keyword_index): Add XPM_BACKGROUND.
432 (enum png_keyword_index): Add PNG_BACKGROUND.
433 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
434 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
435 (enum gif_keyword_index): Add GIF_BACKGROUND.
436 (enum gs_keyword_index): Add GS_BACKGROUND.
437 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
438 Pre-calculate image background color where necessary.
9b46de40
SM
439 (x_create_x_image_and_pixmap, xbm_load, gs_load):
440 Use display info's n_cbits entry for screen depth.
2cd23960
JR
441 (Fx_show_tip): Remove unused variables `buffer', `top',
442 `left', `max_width' and `max_height'.
443
444 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
445
a4184c1c
GM
4462001-11-18 Gerd Moellmann <gerd@gnu.org>
447
448 * puresize.h (BASE_PURESIZE): Increase to 750000.
449
f6fa0866
PJ
4502001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
451
452 * frame.c (Fframe_live_p): Doc fix.
453
f4ca4b00
RS
4542001-11-18 Richard M. Stallman <rms@gnu.org>
455
456 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
457 (message_dolog_marker3): New static variables hold three markers.
458 (syms_of_xdisp): Initialize and staticpro them.
459 (message_dolog): Use message_dolog_marker1..3 instead of
460 allocating markers each time. Unchain them when done.
461
f4e25f94
RS
4622001-11-17 Richard M. Stallman <rms@gnu.org>
463
464 * doc.c (Fsnarf_documentation): Doc fix.
465
91c153e2
AS
4662001-11-17 Andreas Schwab <schwab@suse.de>
467
468 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
469
65b7d3e7
RS
4702001-11-17 Richard M. Stallman <rms@gnu.org>
471
472 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
473
6b5f6311
JR
4742001-11-17 Jason Rumney <jasonr@gnu.org>
475
476 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
477
be676094
GM
4782001-11-17 Gerd Moellmann <gerd@gnu.org>
479
480 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
481 with invalid position.
482
032a857d
RS
4832001-11-16 Richard M. Stallman <rms@gnu.org>
484
485 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
486
487 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
488 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
489 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
490
491 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
492
b6270150
SM
4932001-11-16 Stefan Monnier <monnier@cs.yale.edu>
494
495 * fileio.c (build_annotations): Split off the tail.
496 (build_annotations_2): New fun. Extracted from build_annotations.
497 (Fwrite_region): Split the call to build_annotations into two
498 calls to build_annotations and build_annotations_2.
499
792e5cbd
PJ
5002001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
501
98cbb9fa
PJ
502 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
503 clear_waiting_for_input with argument.
504
505 * xterm.h (x_update_cursor): Remove duplicated prototype.
506
b6270150 507 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 508
ea904403 509 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 510
ea904403 511 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 512
fa336b91
SM
5132001-11-16 Stefan Monnier <monnier@cs.yale.edu>
514
515 * fileio.c (choose_write_coding_system): New fun, extracted
516 from Fwrite_region.
517 (Fwrite_region): Use it.
518
519 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
520 (funcall_lambda, run_hook_with_args): Make static and add prototype.
521 (ml_apply, find_handler_clause): Add prototype.
522
077907d4
EZ
5232001-11-16 Eli Zaretskii <eliz@gnu.org>
524
aa2af83a
EZ
525 * config.in: Add #undef HAVE_COFF_H.
526
077907d4
EZ
527 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
528 Required for ISC 4.1.
529
1756e2fb
EZ
5302001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
531
532 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
533 Andrew Wiseman <a.wiseman@btclick.com>.
534
06e8f738
KS
5352001-11-16 Kim F. Storm <storm@cua.dk>
536
537 The following changes are made to clean up the various internal
538 references to the fringes to actually use the term `fringe' for
539 them. Previously, they were called `flags areas', `bitmap areas',
540 `left/right side of windows', or implicitly as `flags' or
541 `bitmaps':
542
543 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
544 Comments fixed. Use renamed symbols.
fa336b91 545
06e8f738 546 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 547
06e8f738
KS
548 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
549 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
550 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 551
06e8f738 552 * msdos.c: Comment fix.
fa336b91 553
06e8f738 554 * w32fns.c: Use renamed symbols.
fa336b91 555
06e8f738
KS
556 * w32term.c: Comment fixes. Use renamed symbols.
557 (fringe_bitmap_type): Renamed from bitmap_type.
558 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
559 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
560 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 561
06e8f738
KS
562 * w32term.h: Comment fixes. Use renamed symbols.
563 (fringes_extra): Renamed from flags_areas_extra.
564 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
565 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
566 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
567 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
568 (FRAME_X_LEFT_FRINGE_WIDTH):
569 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
570 (FRAME_X_RIGHT_FRINGE_WIDTH):
571 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
572
06e8f738 573 * widget.c: Use renamed symbols.
fa336b91 574
06e8f738
KS
575 * window.c: Comment fixes. Use renamed symbols.
576 (coordinates-in-window-p): Doc fix.
fa336b91 577
06e8f738 578 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 579
06e8f738 580 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 581
06e8f738 582 * xfns.c: Use renamed symbols.
fa336b91 583
06e8f738
KS
584 * xterm.c: Comment fixes. Use renamed symbols.
585 (fringe_bitmap_type): Renamed from bitmap_type.
586 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
587 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
588 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
589
590 * xterm.h: Comment fixes. Use renamed symbols.
591 (fringes_extra): Renamed from flags_areas_extra.
592 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
593 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
594 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
595 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
596 (FRAME_X_LEFT_FRINGE_WIDTH):
597 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
598 (FRAME_X_RIGHT_FRINGE_WIDTH):
599 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 600
9ce647f4
JR
6012001-11-15 Jason Rumney <jasonr@gnu.org>
602
603 * w32menu.c (add-menu-item): Make help_echo and radio buttons
604 work for most menu items. From David Ponce
605 <david.ponce@wanadoo.fr>.
606
9b784ab8
GM
6072001-11-15 Gerd Moellmann <gerd@gnu.org>
608
9f7e52b4
GM
609 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
610 Some x_set_* function expect to be called even if old and new
611 value are equal.
612
613 * xdisp.c (build_desired_tool_bar_string): Accept zero
614 tool_bar_button_relief.
615
616 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
617
618 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 619
34e5d0af
GM
620 * xterm.c (x_draw_bar_cursor): If the background color of the
621 glyph under the cursor equals the frame's cursor color, use
622 the glyph's foreground color for drawing the bar cursor.
623
9b784ab8
GM
624 * dispnew.c (direct_output_forward_char): Fix character/byte
625 position comparison.
626
89512fcd
MB
6272001-11-15 Miles Bader <miles@gnu.org>
628
629 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
630 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
631 Update arguments to find_field.
632 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
633 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
634 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
635 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
636
7d18891d
RS
6372001-11-14 Richard M. Stallman <rms@gnu.org>
638
d2936d21
RS
639 * editfns.c (Fpropertize): Allow call with 1 arg.
640
7d18891d
RS
641 * dispextern.h (image_background, image_background_transparent):
642 Conditionalize on HAVE_X_WINDOWS.
643
6442001-11-13 Richard M. Stallman <rms@gnu.org>
645
646 * print.c (Fprin1_to_string): Doc fix.
647
648 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
649
650 * floatfns.c (Fceiling, Ffloor): Doc fixes.
651
652 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
653
654 * fileio.c (Ffile_accessible_directory_p): Doc fix.
655
656 * eval.c (syms_of_eval): Doc fix.
657
658 * coding.c (syms_of_coding): Doc fix.
659
660 * doc.c (Fsnarf_documentation): Doc fix.
661
662 * dispnew.c (syms_of_display): Doc fix.
663
664 * category.c (Fget_unused_category): Doc fix.
665
666 * buffer.c (syms_of_buffer): Doc fixes.
667
9474c847
EZ
6682001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
669
670 * print.c (prin1, print): Doc fix.
671
e3059a5d
PJ
6722001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
673
2b6f3c2b 674 * fontset.h: Remove declarations of variables
e3059a5d
PJ
675 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
676
677 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
678 `Vclip_large_size_font'.
679
b3700ae7
JR
6802001-11-13 Jason Rumney <jasonr@gnu.org>
681
682 * w32fns.c: Doc fix.
683
eae936e2
PJ
6842001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
685
4bb962be
PJ
686 * xfaces.c (Fface_attributes_as_vector): Doc fix.
687
0a332240
PJ
688 * w32fns.c (Fx_synchronize): Reindent.
689
ddb67bdc
PJ
690 * fns.c: Doc fix.
691
3467c402
PJ
692 * emacs.c: Doc fix.
693
694 * coding.c: Doc fix.
695
6e1b91d7
PJ
696 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
697 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
698 `new style' [w/`doc:' keyword].
699
f6e34773
PJ
700 * xmenu.c (x-popup-menu): Reindent.
701 (x-popup-dialog): Likewise.
702
fa336b91 703 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 704
c2552f79
PJ
705 * xdisp.c (Fdump_tool_bar_row): Reindent.
706
94c7167b
PJ
707 * minibuf.c (Fminibuffer_complete_word): Reindent.
708 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 709 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
710 (Fminibuffer_message): Likewise.
711
462a5e3a
PJ
712 * fns.c (Freverse): Reindent.
713
b8de5714
PJ
714 * eval.c (Fif): Reindent.
715 (Fand): Likewise.
716
deb8e082
PJ
717 * editfns.c (Fuser_real_login_name): Reindent.
718 (Finsert_buffer_substring): Likewise.
719 (Fcompare_buffer_substrings): Likewise.
720 (Fsubst_char_in_region): Likewise.
721
bacf09b4
PJ
722 * dispnew.c (Fsit_for): Reindent.
723 (Fframe_or_buffer_changed_p): Likewise.
724 (Finternal_show_cursor_p): Likewise.
725 (syms_of_display): Likewise.
726
eae936e2
PJ
727 * alloc.c (Flist): Reindent.
728 (Fvector): Likewise.
729
1c1d3d69
RS
7302001-11-12 Richard M. Stallman <rms@gnu.org>
731
732 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
733 LeaveNotify events. Only FocusIn and FocusOut do that now.
734 (x_display_and_set_cursor): Do display hollow cursors in active
735 minibuffer windows when they are not selected.
736
b6f4c7ba
JR
7372001-11-12 Jason Rumney <jasonr@gnu.org>
738
739 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
740 * w32term.c: Change doc-string comments to `new style'.
741 [w/`doc:' keyword]. Doc fixes.
742
743 * w32fns.c: Don't define max.
744 (Fx_open_connection): Only execute once.
745
a89f435d
PJ
7462001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
747
748 * ccl.c: Change macros to use do-while block instead of if-else.
749 Use braces to follow GNU Coding Standards.
750
a4cd0cd7
RS
7512001-11-11 Richard M. Stallman <rms@gnu.org>
752
eafb659a
RS
753 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
754
755 * lread.c (read_escape): Use end_of_file_error for reporting eof.
756
a4cd0cd7
RS
757 * insdel.c (replace_range): Use adjust_markers_for_replace
758 instead of adjust_markers_for_delete and adjust_markers_for_insert.
759
760 * intervals.h: Declare set_text_properties and set_text_properties_1.
761
762 * textprop.c (set_text_properties_1): New subroutine
763 broken out of set_text_properties.
764 (set_text_properties): Use set_text_properties_1.
765
766 * intervals.c (graft_intervals_into_buffer):
767 Use set_text_properties_1 to clear out properties.
768
769 * search.c (Freplace_match): Use replace_range to insert
770 and delete. Don't request property inheritance from
771 surrounding text.
772
91823618
JR
7732001-11-10 Jason Rumney <jasonr@gnu.org>
774
775 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
776 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 777 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 778
86928dfb
GM
7792001-11-10 Gerd Moellmann <gerd@gnu.org>
780
fa336b91 781 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
782 instead of malloc/free.
783
40ef1eda
PJ
7842001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
785
ab8469eb
PJ
786 * xfaces.c (merge_face_vectors): Use braces to follow GNU
787 Coding Standards.
788 (Finternal_set_lisp_face_attribute): Likewise.
789
a78e0303
PJ
790 * buffer.c (Fbury_buffer): Likewise.
791
40ef1eda
PJ
792 * indent.c (current_column_1): Remove unused variable `prev_col'.
793
fabf4a91
PJ
794 * coding.c (encode_coding): Use precomputed value of `src'.
795 (encode_coding): Remove unused variable `src_end'.
796 (code_convert_region): Remove unused variables `count'.
797
0c99b139
JR
7982001-11-07 Jason Rumney <jasonr@gnu.org>
799
800 * w32term.c (x_display_and_set_cursor): Do not move system caret
801 if cursor_glyph is NULL.
802
830ddd77
PJ
8032001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
804
805 * keymap.c (access_keymap): Fix compilation error.
806
55c6d645
MB
8072001-11-07 Miles Bader <miles@gnu.org>
808
809 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
810
5de38842
PJ
8112001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
812
7a4564a4
PJ
813 * intervals.c (graft_intervals_into_buffer):
814 Remove #ifdef'd-out code.
815 (graft_intervals_into_buffer): Remove unused variable `middle'.
816
5de38842
PJ
817 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
818 code (eval-current-buffer).
819 Change doc-string comments to `new style' [w/`doc:' keyword].
820
4fa23df5
RS
8212001-11-06 Richard M. Stallman <rms@gnu.org>
822
823 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
824
7a6a97d7
SM
8252001-11-06 Stefan Monnier <monnier@cs.yale.edu>
826
c191d13c
SM
827 * lread.c (read1): Fix behavior with nested backquoting.
828
7a6a97d7
SM
829 * keyboard.c (make_lispy_event): Check integerness and fix
830 Lisp_Object/int mixup.
831
44dc78e0
PJ
8322001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
833
834 * fns.c (copy_hash_table): Remove unused variable `v'.
835
17893c65
PJ
836 * fontset.c (fontset_font_pattern): Remove unused variable
837 `family_registry'.
838
4d994a79
PJ
839 * indent.c (current_column_1): Remove unused variable `prev_col'.
840
d5360cc7
RS
8412001-11-05 Richard M. Stallman <rms@gnu.org>
842
843 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
844
845 * buffer.c (Fkill_buffer): Don't delete auto save file
846 if buffer is modified.
847
96238a5a
AI
8482001-11-05 Andrew Innes <andrewi@gnu.org>
849
850 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
851 CHECK_NUMBER_CDR.
852
d9d54213
RS
8532001-11-05 Richard M. Stallman <rms@gnu.org>
854
855 * unexelf.c (unexec): Minor changes; clean up comments.
856
b116830b
SS
8572001-11-05 Sam Steingold <sds@gnu.org>
858
859 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
860
3297e2a1
AS
8612001-11-05 Andreas Schwab <schwab@suse.de>
862
863 * sound.c (sound_perror): Save errno from being clobbered.
864
9212319f 8652001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
866
867 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
868 the program image directly.
869
7dd73b78
PJ
8702001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
871
872 * buffer.h (Fbuffer_local_value): Add prototype.
873
982f6c7e
RS
8742001-11-04 Richard M. Stallman <rms@gnu.org>
875
d31053f9
RS
876 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
877 and CHECK_BUFFER.
878
879 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
880 (record_char): Likewise.
881
882 * keyboard.c (make_lispy_event): Don't insist a drag event must
883 move to a different buffer position. Instead, check for moving at
884 least double_click_fuzz.
885
886 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
887
888 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
889
982f6c7e
RS
890 * indent.c (current_column_1, Fmove_to_column): Separate the code
891 for display-table glyphs from the code buffer text, to fix
892 bugs in the former.
893
830047fd
RS
8942001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
895
896 * buffer.c (Fbuffer_local_value): New function.
c191d13c 897 (syms_of_buffer): Defsubr it.
b116830b 898
830047fd
RS
899 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
900 value of `cursor-in-non-selected-windows'.
901
902 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
903 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
904 (syms_of_xdisp): Initialize it.
b116830b 905
2df5238c
PJ
9062001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
907
4e397688
PJ
908 * xfns.c (Fx_create_frame): Doc fix.
909
48b0f3ae
PJ
910 * coding.c: Change doc-string comments to `new style' [w/`doc:'
911 keyword].
912
2df5238c
PJ
913 * eval.c (top_level_value, top_level_set): Remove commented and
914 #ifdef'd-out code.
915 (Fdefvar): Fix usage in doc-string.
916
3ecaf7e5
RS
9172001-11-03 Richard M. Stallman <rms@gnu.org>
918
919 * xfns.c: Include unistd.h, if it exists.
920
921 * editfns.c: Move the include of ctype.h after unistd.h.
922
923 * gmalloc.c: Test BROKEN_PROTOTYPES.
924
8db2e33b
KR
9252001-11-03 Ken Raeburn <raeburn@gnu.org>
926
927 * lisp.h (CHECK_STRING_CAR): New macro.
928 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
929 treating XCAR and XCDR as lvalues.
930 (openp): Use CHECK_STRING_CAR.
931 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
932
aed29b97
EZ
9332001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
934
935 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 936 (SIGMASKTYPE): Define.
aed29b97
EZ
937
938 * syssignal.h (sigunblock): Don't define if already defined.
939
6cb16f95
PJ
9402001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
941
16b45be4
EZ
942 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
943 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
944 Fix typos in comments.
945
020f9b38
PJ
946 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
947 and #ifdef'd-out code.
948 Fix and reindent comments.
949
c191d13c 950 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 951
6cb16f95
PJ
952 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
953 argument `i' in macros.
954
955 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
956 `i' in macros.
957
16b45be4
EZ
958 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
959 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
960 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
961 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
962 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
963 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
964 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
965 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
966 in macros.
967
968 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
969 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
970 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
971 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
972 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
973 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
974 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
975 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
976 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
977 (remove unused second argument).
978
7e9d3c2f
SM
9792001-11-02 Stefan Monnier <monnier@cs.yale.edu>
980
981 * syntax.c (describe_syntax): New wrapper.
982 (Finternal_describe_syntax_value): Rename from describe_syntax.
983 Don't insert space at front and \n at the end.
984 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
985
986 * regex.c (re_wctype): Try to fix some warnings.
987 (regcomp, regexec): Don't forget the __restrict.
988
e6bff182
RS
9892001-11-02 Richard M. Stallman <rms@gnu.org>
990
991 * textprop.c (Fget_char_property): Doc fix.
992
9ba48103
PJ
9932001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
994
995 * process.c (Fstart_process): Add usage to doc-string.
996
997 * data.c (Fsetq_default): Ditto.
998
999 * callint.c (Finteractive): Ditto.
1000
c22e59e1
SM
10012001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1002
1003 * macros.c: Don't include keymap.h any more.
1004
9271ed2c
RS
10052001-11-01 Richard M. Stallman <rms@gnu.org>
1006
e6bff182
RS
1007 * data.c (Fmake_local_variable): Doc fix.
1008
1009 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1010 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1011
9271ed2c
RS
1012 * keymap.c (Fdescribe_buffer_bindings): Print character property
1013 bindings along with or instead of the buffer local map.
1014 Make the overriding maps override what they should.
1015
8b8bd9c6
PJ
10162001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1017
1018 * window.c (grow_mini_window): Fix typo in comment.
1019
27188d11
GM
10202001-11-01 Gerd Moellmann <gerd@gnu.org>
1021
7b49b9d2
GM
1022 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1023 (XTset_vertical_scroll_bar): Likewise.
1024
43f7c3ea
GM
1025 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1026 instead of IMAGE_BACKGROUND.
c22e59e1 1027
b350c2e5
GM
1028 * xfns.c (four_corners_best): Reindent.
1029
c22e59e1 1030 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1031 Handle :box so that it is possible to specify sexprs.
1032
d576358b
PJ
10332001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1034
1035 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1036 (Fface_font): Ditto.
1037 (Finternal_set_alternative_font_registry_alist): Ditto.
1038 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1039
1040 * xfns.c (x-get-resource): Reindent.
1041
bf00d461
EZ
10422001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1043
1044 * s/hpux11.h: New file.
1045
4e10df59
PJ
10462001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1047
2b209b97
PJ
1048 * emacs.c (USAGE1): Show command line option --no-window-system
1049 instead of --no-windows in usage.
1050 (standard_args): Rename --no-windows to --no-window-system.
1051 (bug_reporting_address): Follow Emacs coding conventions.
1052
9dbc9081
PJ
1053 * eval.c (Fcommandp): Doc fix.
1054 Change doc-string comments to `new style' [w/`doc:' keyword].
1055
4e10df59
PJ
1056 * frame.c (Fframe_live_p): Doc fix.
1057
1058 * buffer.c (selective-display-ellipses): Doc fix.
1059
dd387b25
GM
10602001-10-31 Gerd Moellmann <gerd@gnu.org>
1061
fe957e65
GM
1062 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1063
dd387b25
GM
1064 * xfaces.c (realize_x_face): If C is not a single-byte character,
1065 set the face's colors_copied_bitwise_p instead of the defaulted_p
1066 members which have a different meaning.
1067 (free_face_colors): Do nothing for a face whose colors have been
1068 copied bitwise.
1069
c22e59e1 1070 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1071
2e1280f8
PJ
10722001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1073
687784e8
PJ
1074 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1075 [w/`doc:' keyword].
2e1280f8 1076
b9d9a9b9
GM
10772001-10-31 Gerd Moellmann <gerd@gnu.org>
1078
1079 * fns.c (require_unwind): Return Lisp_Object.
1080
48400103
PJ
10812001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1082
fa1361cb
PJ
1083 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1084 (last-input-char): Revert doc-string to be the same as the
1085 doc-string of `last-input-event'.
1086
48400103
PJ
1087 * xdisp.c: Fix typos in comments.
1088
eafa3196
GM
10892001-10-31 Gerd Moellmann <gerd@gnu.org>
1090
1091 * window.c (grow_mini_window): Handle case that the root
1092 window is already smaller than the nominal mininum height.
1093
747d3f2a
SM
10942001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1095
bf9bb76f
SM
1096 * emacs.c (main): Don't call keys_of_macros any more.
1097
1098 * lisp.h (keys_of_macros): Remove.
1099
1100 * macros.c (keys_of_macros): Remove.
1101
747d3f2a
SM
1102 * xfaces.c (Fface_attribute_relative_p): Declare args.
1103
5e905a57
JR
11042001-10-30 Jason Rumney <jasonr@gnu.org>
1105
1106 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1107 (enum_font_cb2): Ignore fonts with vertical orientation.
1108
3a426197
RS
11092001-10-30 Richard M. Stallman <rms@gnu.org>
1110
1111 * keyboard.c (Finput_pending_p): Doc fix.
1112
a742d646
GM
11132001-10-30 Gerd Moellmann <gerd@gnu.org>
1114
259cf6bc
GM
1115 * xterm.c (x_after_update_window_line): Don't run the code
1116 clearing in borders for rows whose visible height is 0.
1117
3f99f948
GM
1118 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1119 resized_p flag is set. If not set, use the much less flickering
1120 method previously used.
1121
1122 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1123
1124 * frame.h (struct frame) <resized_p>: New member.
1125
b4a3be43
GM
1126 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1127 as large as the number of bytes to convert.
747d3f2a 1128
a742d646
GM
1129 * lread.c (to_multibyte): New function.
1130 (read1): Use it.
1131
cacbb9e9
EZ
11322001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1133
1134 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1135
99cb6b2f
GM
11362001-10-30 Gerd Moellmann <gerd@gnu.org>
1137
327f42ee 1138 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1139 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1140 if the row's fill_line_p is set and drawing the last glyph with
1141 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1142
99cb6b2f
GM
1143 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1144
8e8223e2
SM
11452001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1146
1147 * xmenu.c: Include coding.h and charset.h.
1148 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1149 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1150 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1151 Explicitly set wv->help. Use `TRUE' rather than `True'.
1152 (menu_help_callback): Use empty_string.
1153
1154 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1155 (Fx_popup_dialog): Explicitly init f.
1156 (w32_menu_display_help): Use empty_string.
1157
4d083a8f
RS
11582001-10-29 Richard M. Stallman <rms@gnu.org>
1159
b2304472
RS
1160 * fns.c (Frequire): Detect recursive try to require the same
1161 feature 3 or more levels deep, and get error.
1162 (require_unwind): New subroutine.
1163 (require_nesting_list): New variable.
1164 (syms_of_fns): Init and staticpro it.
1165
4d083a8f
RS
1166 * print.c (print_object): Clarify indication of insertion type.
1167
2fe41216
EZ
11682001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1169
90480000
EZ
1170 * coding.c (syms_of_coding): Document that locale-coding-system is
1171 used for decoding input on X.
1172
2fe41216
EZ
1173 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1174
74e79967
PJ
11752001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1176
1177 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1178 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1179
60ebcfe8
GM
11802001-10-29 Gerd Moellmann <gerd@gnu.org>
1181
9a7bdceb
GM
1182 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1183 use NO_CURSOR if cursor_in_non_selected_windows is false.
1184
3f08fcd2
GM
1185 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1186 the slant attribute if FRAME is t.
1187
0ccfdad2
GM
1188 * xfns.c (x_set_internal_border_width): Set frame garbaged
1189 when X window doesn't exist yet.
1190
ef253080
GM
1191 * xterm.c (x_after_update_window_line): Clear internal border
1192 in different circumstances.
b116830b 1193
60ebcfe8
GM
1194 * xterm.c (XTread_socket) <KeyPress>: Don't use
1195 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1196 <handa@etl.go.jp>.
1197
73d25f9c
EZ
11982001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1199
1200 * m/ibms390.h: New file. From Adam Thornton
1201 <athornton@sinenomine.net>.
1202
cac1daf0
GM
12032001-10-28 Gerd Moellmann <gerd@gnu.org>
1204
053b3256 1205 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1206
cac1daf0
GM
1207 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1208 a loop counter.
1209
13b1a09c
PJ
12102001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1211
186486eb
PJ
1212 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1213
4707d2d0
PJ
1214 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1215 keyword].
1216 Fix typos in comments.
b116830b 1217
d883731c
PJ
1218 * emacs.c (bug_reporting_address): New function.
1219 Use it when displaying usage message.
1220
04012254
PJ
1221 * minibuf.c (read_minibuf): Remove unused external declaration of
1222 variable `Qread_only'.
1223
13b1a09c
PJ
1224 * keymap.c (access_keymap): Remove unused variable `charset'.
1225
5bbf4378
MB
12262001-10-28 Miles Bader <miles@gnu.org>
1227
1228 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1229 Remove #ifdef'd-out code.
1230 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1231 (syms_of_xfaces): Initialize them.
1232
1ce1e4ee
JR
12332001-10-27 Jason Rumney <jasonr@gnu.org>
1234
1235 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1236 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1237 position using the system caret.
1238
1239 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1240 (w32_system_caret_height, w32_system_caret_x)
1241 (w32_system_caret_y): New variables for tracking system caret.
1242 (w32_initialize): Initialize them.
c2d53558 1243 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1244
c2d53558
SM
1245 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1246 New messages types.
1ce1e4ee
JR
1247
1248 * w32term.c (note_mouse_highlight): Clear old help_echo.
1249
4e30ce42
PJ
12502001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1251
bb4600a4
PJ
1252 * xterm.c: Fix typo in a comment.
1253
7db35a48
PJ
1254 * emacs.c: Fix typos in comments.
1255 Remove unnecessary spaces.
1256 Change doc-string comments to `new style' [w/`doc:' keyword].
1257 (USAGE2): Fix typos in usage string.
1258
a7248e4f
PJ
1259 * xterm.c: Fix typo in a comment.
1260
4e30ce42
PJ
1261 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1262 emacs.c.
1263
62725a92
GM
12642001-10-27 Gerd Moellmann <gerd@gnu.org>
1265
798dbe1f 1266 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1267 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1268 farther backward when target_y was not reached.
1269
62725a92
GM
1270 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1271 Display errno only if non-zero.
1272 (sound_warning): New function.
1273 (vox_configure): Don't treat failing to set sample rate as error.
1274 (various places): Improve error messages.
1275
d4e34d24
EZ
12762001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1277
944e6f60
EZ
1278 * fileio.c (Faccess_file): Run the argument filename through
1279 Fexpand_file_name, before using it.
1280
d4e34d24
EZ
1281 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1282 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1283
38d2af0c
GM
12842001-10-26 Gerd Moellmann <gerd@gnu.org>
1285
da80a8d5
GM
1286 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1287
38d2af0c
GM
1288 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1289 Fix clearing in the case of scroll bars on the right.
c2d53558 1290
56f508dd
EZ
12912001-10-26 Juanma Barranquero <lektu@terra.es>
1292
1293 * w32gui.h (XImage): Add a dummy typedef.
1294
fbd5ceb2
GM
12952001-10-26 Gerd Moellmann <gerd@gnu.org>
1296
c2d53558 1297 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1298
b23236fb
EZ
12992001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1300
1301 * frame.c (Fframe_parameter): Fix last change.
1302
5d991fc4
EZ
1303 * fileio.c: Revert last change (which removed old commented-out
1304 version of expand-file-name). Add a comment that explains why
1305 this old version should not be removed.
1306
879eadc3
GM
13072001-10-25 Gerd Moellmann <gerd@gnu.org>
1308
75700ff2
GM
1309 * frame.c (Fframe_parameter): Fix a bug whereby some
1310 ``artificial'' frame parameters, like `minibuffer' were not
1311 obtained by calling Fframe_parameters.
1312
dfe92a6a
GM
1313 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1314 cursor differently.
1315
879eadc3
GM
1316 * xdisp.c (move_it_vertically_backward): Compute line height
1317 differently. Add heuristic to try to be more compatible to 20.x.
1318
e1010ebe
SM
13192001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1320
d73a471b
SM
1321 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1322
d6da5a06
GM
1323 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1324 boolean.
e1010ebe 1325
f66bd220
MB
13262001-10-25 Miles Bader <miles@gnu.org>
1327
1328 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1329 BG is a pointer to a structure, not a structure.
1330 (gif_format, png_format): Add missing commas.
1331
d436d538
RS
13322001-10-24 Richard M. Stallman <rms@gnu.org>
1333
1334 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1335 (syms_of_xfaces): Defsubr it.
d436d538 1336
075c507b
PJ
13372001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1338
1339 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1340 variable `area'.
1341
d492b584
PJ
13422001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1343
c2d53558 1344 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1345
e2a57b34
MB
13462001-10-25 Miles Bader <miles@gnu.org>
1347
1348 * dispextern.h (struct image): Add `background',
1349 `background_valid', and `background_transparent' fields.
1350 (image_background, image_background_transparent): New declarations.
1351 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1352 * xfns.c (image_background, image_background_transparent)
1353 (four_corners_best): New functions.
c2d53558 1354 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1355 (gs_format): Add `:background' entry.
1356 (lookup_image): Set IMG's background color if specified.
1357 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1358 when appropriate.
1359 (x_clear_image_1): Reset `background_valid' and
1360 `background_transparent_valid' fields.
1361 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1362 calculating it here. Set IMG's background_transparent field.
1363 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1364 (enum png_keyword_index): Add PNG_BACKGROUND.
1365 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1366 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1367 (enum gif_keyword_index): Add GIF_BACKGROUND.
1368 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1369 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1370 Pre-calculate image background color where necessary.
1371 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1372 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1373 color to use for image glyph reliefs.
1374
b547b6e8
GM
13752001-10-24 Gerd Moellmann <gerd@gnu.org>
1376
d9e3b8c6
GM
1377 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1378 in full-width rows.
c2d53558 1379
b547b6e8
GM
1380 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1381 Fix clearing of area not covered by scroll bar.
1382
2beb36f9
PJ
13832001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1384
1385 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1386 and `real_start'.
c2d53558 1387 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1388 (glyph_rect): Remove unused variable `area'.
1389
76cb5e06
GM
13902001-10-24 Gerd Moellmann <gerd@gnu.org>
1391
bdbdebff 1392 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1393
1394 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1395 (row_containing_pos): Take additional argument DY.
1396 Treat rows ending in middle of char differently.
62e33982
GM
1397 (display_line): Handle tabs on window systems differently.
1398
1399 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1400 with additional argument.
1401
1402 * dispextern.h (row_containing_pos): Adjust prototype.
1403
76cb5e06
GM
1404 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1405 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1406 (try_window_id, try_window_reusing_current_matrix)
1407 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1408 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1409
996fee11
PJ
14102001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1411
c9e60620
PJ
1412 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1413 gnuemacs).
1414 (HAVE_BOXES): Fix typo in comment.
1415 (push_menu_pane): Fix typo in comment.
1416
3b552d56
PJ
1417 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1418 of `Qwhen'.
1419 (single_display_prop_string_p): Remove unused local declarations
1420 of `Qwhen' and `Qmargin'.
1421 (string_buffer_position): Remove unused variable `around'.
1422 (store_frame_title): Remove unused variable `width'.
1423
15c565ac
PJ
1424 * window.c: Don't define max.
1425 (coordinates_in_window): Remove unused variable `uy'.
1426
a8818eb9
PJ
1427 * widget.c: Don't define max.
1428
996fee11
PJ
1429 * process.c: Don't define max.
1430 (create_process): Remove unused variable `buffer'.
1431
496e1a5b
GM
14322001-10-23 Gerd Moellmann <gerd@gnu.org>
1433
c2d53558 1434 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1435
5905ae8b
EZ
14362001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1437
1438 * xfaces.c (Finternal_set_lisp_face_attribute)
1439 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1440 frame is on a windowed display.
1441
24db49fb
GM
14422001-10-23 Gerd Moellmann <gerd@gnu.org>
1443
c2d53558
SM
1444 * dispnew.c (sync_window_with_frame_matrix_rows):
1445 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1446 of marginal areas.
1447
c2d53558 1448 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1449
f0487f05
EZ
14502001-10-23 Andreas Schwab <schwab@suse.de>
1451
1452 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1453 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1454
f0a48a01
GM
14552001-10-23 Gerd Moellmann <gerd@gnu.org>
1456
c2d53558 1457 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1458 REAL_END. Notice if cursor gets overwritten.
1459 (notice_overwritten_cursor): Take X positions as parameters.
1460 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1461 around call to x_draw_glyphs.
1462
a50a10a0
PJ
14632001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1464
fc11dff0
PJ
1465 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1466 instead of C) and usage.
a50a10a0 1467
fc11dff0
PJ
1468 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1469 of C) and usage.
a50a10a0
PJ
1470
1471 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1472 `left', `max_width' and `max_height'.
1473
8738febd
GM
14742001-10-23 Gerd Moellmann <gerd@gnu.org>
1475
1476 * xdisp.c (display_line): For a tab continued to the next line,
1477 set row's ends_in_middle_of_char_p.
1478
653c329b
GM
14792001-10-22 Gerd Moellmann <gerd@gnu.org>
1480
1481 * xdisp.c (display_line): Fix computation of continuation lines
1482 width for TABs.
1483
f958c5ac
PJ
14842001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1485
7ba51063
PJ
1486 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1487 `Qlaplace'.
1488
f958c5ac
PJ
1489 * fileio.c: Remove unused code.
1490
eb360291
MB
14912001-10-22 Miles Bader <miles@gnu.org>
1492
1493 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1494 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1495 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1496
98515cf0
JR
14972001-10-21 Jason Rumney <jasonr@gnu.org>
1498
1499 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1500
93026d88
EZ
15012001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1502
1503 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1504 (Finsert_string): Avoid the multi-line string literals warning.
1505
c9a95b79
MB
15062001-10-22 Miles Bader <miles@gnu.org>
1507
1508 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1509 (Fdocumentation): Don't use it.
1510 (syms_of_doc): Don't initialize it.
1511
1512 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1513 * print.c (Fwith_output_to_temp_buffer): Likewise.
1514 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1515 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1516 (Fsave_restriction): Likewise.
c2d53558
SM
1517 * eval.c (Frun_hooks, Frun_hook_with_args)
1518 (Frun_hook_with_args_until_failure)
1519 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1520 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1521 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1522 (Funwind_protect, Fcondition_case): Likewise.
1523 * coding.c (Ffind_operation_coding_system): Likewise.
1524 * keyboard.c (Ftrack_mouse): Likewise.
1525
a3b10252
MB
15262001-10-21 Miles Bader <miles@gnu.org>
1527
c2d53558 1528 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1529 (Fmake_hash_table): Add usage: string to doc string.
1530 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1531 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1532 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1533 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1534 (Fml_prefix_argument_loop): Likewise.
1535
c6f73eec
PJ
15362001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1537
c2d53558 1538 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1539
c6f73eec
PJ
1540 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1541 style' [w/`doc:' keyword].
1542
1543 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1544 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1545 comments to `new style' [w/`doc:' keyword].
1546
3cf3436e
JR
15472001-10-21 Jason Rumney <jasonr@gnu.org>
1548
1549 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1550
c169b8f1
JR
1551 * w32term.c (remember_mouse_glyph): New function.
1552 (w32_mouse_position): Use it.
1553 (note_mouse_movement): If the mouse moved off the glyph, remember
1554 its new position.
c2d53558 1555
4fdd691b
JR
1556 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1557 (w32_display_info): Add mouse_face_overlay.
1558
c169b8f1
JR
1559 * w32term.c (notice_overwritten_cursor): Renamed from
1560 note_overwritten_text_cursor. Rewritten to take glyph widths into
1561 account.
1562 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1563 (fast_find_string_pos): New function.
1564 (fast_find_position): Return the correct vpos. Add parameter
1565 STOP. In the final row, stop before glyphs having STOP as object.
1566 Don't consider glyphs that are not from a buffer.
1567 (fast_find_position) [0]: Add a presumably more correct version
1568 for after 21.1.
1569 (expose_window_tree, expose_frame): Don't compute intersections here.
1570 (expose_window): Do it here instead.
1571 (expose_window_tree, expose_window, expose_line): Return 1 when
1572 overwriting mouse-face.
1573 (expose_window): If W is the window currently being updated, mark
1574 the frame garbaged.
1575 (expose_frame): If mouse-face was overwritten, redo it.
1576 (x_use_underline_position_properties): New variable.
1577 (syms_of_xterm): DEFVAR_BOOL it.
1578 (x_draw_glyph_string): Add comment to use it in future.
1579 (x_draw_glyph_string): Restore clipping after drawing box.
1580 Fix a computation of the underline position.
1581 (w32_get_glyph_string_clip_rect): Minor cleanup.
1582 (x_fill_stretch_glyph_string): Remove an assertion.
1583 (x_produce_glyphs): Don't convert multibyte characters
1584 to unibyte characters in unibyte buffers.
1585 (cursor_in_mouse_face_p): New function.
1586 (x_draw_stretch_glyph_string): Use it to choose a different GC
1587 when drawing a cursor within highlighted text. Don't draw
1588 background again if it has already been drawn.
1589 (x_draw_glyph_string_box): Don't draw a full-width
1590 box just because the glyph row's full_width_p flag is set.
1591 (x_draw_glyphs): Fix computation of rightmost x for
1592 full-width rows.
1593 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1594 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1595 change bottom shadow accordingly. Some cleanup.
1596 (x_update_window_end): Handle overwritten mouse face
1597 also for tool bar windows.
1598 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1599 DRAW is DRAW_IMAGE_RAISED.
1600 (clear_mouse_face): Return 1 if text with mouse face was
1601 actually redrawn. Make the function static. Reset
1602 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1603 optimize away highlighting if we pass over that same overlay again.
1604 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1605 to detect a case where we have to highlight a different region
1606 despite not having left the currently highlighted region.
1607 Set mouse_face_overlay in the x_display_info. Avoid changing the
1608 mouse pointer shape when show_mouse_face has already done it, or
1609 there is no need. Handle mouse-face and help-echo in strings.
1610 (glyph_rect): New function.
1611 (w32_mouse_position): Use it to raise the threshold for mouse
1612 movement event generation.
1613 (w32_initialize_display_info): Initialize the x_display_info's
1614 mouse_face_overlay.
1615 (w32_set_vertical_scroll_bar): Don't clear a zero height
1616 or width area.
1617 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1618 a widget to zero height.
1619
3cf3436e 1620 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1621 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1622 equivalents in menu_items.
1623 (w32_menu_show): Don't overwrite an item's name with its key
1624 description in case the description is a multibyte string.
1625 (single_submenu): Some cleanup.
1626
1627 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1628 (postprocess_image): New function.
1629 (lookup_image): Call it for all image types except PostScript.
1630 (x_kill_gs_process): Call postprocess_image.
1631 (tiff_error_handler, tiff_warning_handler): New functions.
1632 (tiff_load): Install them as handlers.
1633 (x_kill_gs_process): Recognize if someone has cleared the image
1634 cache under us.
1635 (valid_image_p): Protect better against invalid image
1636 specifications. Previous code could signal an error.
1637 (Fx_hide_tip, Fshow_tip): Doc fix.
1638 (Fv_max_tooltip_size): New variable.
1639 (syns_of_xfns): DEFVAR_LISP it.
1640 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1641 window buffer to *tip* right after creating the frame. Set frame's
1642 window_width. Use a maximum tooltip size specified by
1643 Vx_max_tooltip_size, if that has valid contents.
1644 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1645 Make sure the tooltip is completely visible.
1646 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1647 (Fx_create_frame): Adjust the frame's height for presence
1648 of the tool bar before calling x_figure_window_size.
1649 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1650 when the window gets smaller.
1651 (x_set_foreground_color): Set frame's cursor_pixel.
1652 (x_set_foreground_color, x_set_background_color): Cleaned up.
1653 (x_set_font): Handle case of x_new_fontset returning the same name
1654 as before, although there was a change in fontsets.
1655
386ca361
MB
16562001-10-21 Miles Bader <miles@gnu.org>
1657
c2d53558 1658 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1659 (Flogxor): Add usage: string to doc string.
1660 * charset.c (Fstring): Likewise.
1661 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1662 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1663
14ff1ee0
PJ
16642001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1665
03be2694
PJ
1666 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1667
1668 * alloc.c: Reindent DEFUNs with doc: keywords.
1669
1670 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1671
14ff1ee0
PJ
1672 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1673 keyword].
1674
71431a0e
GM
16752001-10-20 Gerd Moellmann <gerd@gnu.org>
1676
6aa97356 1677 * (Version 21.1 released.)
71431a0e 1678
39f624fa
PJ
16792001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1680
c2d53558 1681 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1682
1683 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1684 0 because unused.
1685
1686 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1687 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1688 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1689
abcce93a
MB
16902001-10-20 Miles Bader <miles@gnu.org>
1691
1692 The following changes remove the glyph_row `inverse_p' field,
1693 which is never set anymore, due to other changes:
1694
1695 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1696 (reassert_line_highlight, change_line_highlight): Declarations removed.
1697 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1698 (line_hash_code, row_equal_p, fake_current_matrices)
1699 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1700 (update_frame_line, update_frame_line, update_frame_line):
1701 Don't use `inverse_p' field.
1702 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1703 change_line_highlight_hook.
1704 (XTreassert_line_highlight, x_change_line_highlight):
1705 Functions removed.
c2d53558 1706 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1707 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1708 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1709 `inverse_p' field.
c2d53558 1710 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1711 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1712 (w32_reassert_line_highlight, x_change_line_highlight):
1713 Functions removed.
1714 * w32console.c (reassert_line_highlight, change_line_highlight):
1715 Functions removed.
1716 (initialize_w32_display): Don't set reassert_line_highlight_hook
1717 or change_line_highlight_hook.
1718 (hl_mode): Function removed.
c2d53558
SM
1719 (reset_terminal_modes, set_terminal_modes, update_begin)
1720 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1721 (clear_frame, ins_del_lines): Don't call it.
1722 * termhooks.h (reassert_line_highlight_hook)
1723 (change_line_highlight_hook): Declarations removed.
1724 * term.c (reassert_line_highlight_hook)
1725 (change_line_highlight_hook): Variables removed.
1726 (reassert_line_highlight, change_line_highlight): Functions removed.
1727 * msdos.c (IT_reassert_line_highlight)
1728 (IT_change_line_highlight): Functions removed.
1729 (internal_terminal_init): Don't set reassert_line_highlight_hook
1730 or change_line_highlight_hook.
1731 (highlight): Variable removed.
c2d53558 1732 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1733 (IT_set_terminal_modes): Don't set or use it.
1734
1735 The following changes remove inverse-video support for terminals
1736 that use a `magic cookie' standout mode. Due to changes in the
1737 way mode-lines are displayed, such support no longer works
1738 anyway, and it's probable that almost no one uses such terminals
1739 anymore:
1740
1741 * term.c (standout_requested): Variable removed.
1742 (update_end, highlight_if_desired): Don't use it.
1743 (chars_wasted, copybuf): Variables removed.
1744 (write_standout_marker): Function removed.
c2d53558 1745 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1746 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1747 Don't use `chars_wasted' or `copybuf'.
1748 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1749 Set `costs_set' to true.
1750 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1751 `chars_wasted'.
1752 (clear_end_of_line): Function removed.
1753 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1754 (clear_to_end): Call `clear_end_of_line' instead of
1755 `clear_end_of_line_raw'.
54800acb
MB
1756 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1757 (term_init): Don't set them.
1758 Turn off any standout/underline modes that require magic cookies.
c2d53558 1759 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1760 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1761 Remove special processing for magic-cookie standout modes.
1762 (turn_off_face, turn_on_face): Remove special processing for
1763 underline magic-cookie glitch.
abcce93a 1764
0b5f679f
RS
17652001-10-19 Richard M. Stallman <rms@gnu.org>
1766
1767 * eval.c (syms_of_eval): Doc fixes.
1768
5a4a5bd4
GM
17692001-10-19 Gerd Moellmann <gerd@gnu.org>
1770
1771 * xdisp.c (redisplay_internal): Don't clear echo area if the
1772 mini-window is selected.
1773
79f1f96c
MB
17742001-10-19 Miles Bader <miles@gnu.org>
1775
b57c2708
MB
1776 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1777 doesn't take precedence if the affected property's value is nil.
1778
1779 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1780
79f1f96c
MB
1781 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1782 with fields and suggest using `forward-line' to avoid them.
1783 * editfns.c (Fline_beginning_position, Fline_end_position):
1784 Clarify documentation.
1785
ef879104
SM
17862001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1787
1788 * keymap.c (current_minor_maps): `override' only shadows its
1789 correspondent in minor-mode-map-alist, not the whole tail.
1790
97f4db8c
AI
17912001-10-18 Andrew Innes <andrewi@gnu.org>
1792
1793 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1794 optimization. The fontp->encoding array was not being initialized
1795 correctly when compiled with optimizations by MSVC.
1796
e6b70fd8
GM
17972001-10-18 Gerd Moellmann <gerd@gnu.org>
1798
30903479 1799 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1800
0e804d38
AI
18012001-10-17 Andrew Innes <andrewi@gnu.org>
1802
1803 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1804
1805 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1806 font_info.charset field.
1807
1808 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1809 rather than working it out by calling w32_codepage_for_font for
1810 every glyph.
1811
66e5868a
AI
18122001-10-17 Andrew Innes <andrewi@gnu.org>
1813
1814 * w32term.c (w32_read_socket): Determine clipping rectangle for
1815 the entire frame, including areas covered by scrollbars and the
1816 menubar. This avoids internal arguments about whether a frame is
1817 fully obscured or not.
1818
15b00083
GM
18192001-10-17 Gerd Moellmann <gerd@gnu.org>
1820
23e8bd86
GM
1821 * xdisp.c (try_window_id): Undo last change. Give up if
1822 window ends in strings.
30903479 1823
9c6ba6d1 1824 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1825 end if the rest of the window after the window end was already blank.
23e8bd86 1826
30903479 1827 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1828 for the release of 21.1.
1829
30903479 1830 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1831
945220bd
MB
18322001-10-17 Miles Bader <miles@gnu.org>
1833
1834 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1835 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1836 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1837 Change doc-string comments to `new style' [w/`doc:' keyword].
1838 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1839 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1840 out make-docfile.
1841
14242528
MB
18422001-10-16 Miles Bader <miles@gnu.org>
1843
1844 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1845
3ddf952f
GM
18462001-10-16 Gerd Moellmann <gerd@gnu.org>
1847
1848 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1849 *scratch*.
1850
f3fbd155
KR
18512001-10-16 Ken Raeburn <raeburn@gnu.org>
1852
1853 Avoid the assumption that car and cdr slots of cons cells are
1854 addressable lvalues; this allows for easier experimentation with
1855 other lisp implementations that may not permit such accesses for
1856 various reasons. Not quite complete -- buffer.c still needs some
1857 work, and w32/mac files need rechecking -- so compile-time
1858 enforcement is left disabled for now.
1859
1860 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1861 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1862 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1863 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1864 (XSETCAR, XSETCDR): New macros.
1865 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1866 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1867 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1868 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1869 XSETCDR.
1870 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1871 * buffer.c (record_buffer, Fbury_buffer)
1872 (swap_out_buffer_local_variables, recenter_overlay_lists)
1873 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1874 fields of a cons cell respectively.
1875 * callint.c (quotify_args, Fcall_interactively): Likewise.
1876 * ccl.c (Fregister_code_conversion_map): Likewise.
1877 * coding.c (detect_coding_system): Likewise.
1878 * composite.c (get_composition_id, make_composition_value_copy):
1879 Likewise.
30903479
SM
1880 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1881 (swap_in_symval_forwarding, set_internal, Fset_default)
1882 (Fmake_variable_buffer_local, Fmake_local_variable)
1883 (Fmake_variable_frame_local): Likewise.
f3fbd155 1884 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1885 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1886 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1887 * minibuf.c (get_minibuffer): Likewise.
1888 * search.c (Fmatch_data): Likewise.
1889 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1890 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1891 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1892 Likewise.
1893 * w32term.c (x_delete_display): Likewise.
1894 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1895 Likewise.
c2d53558 1896 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1897 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1898 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1899 (Fread_file_name): Use XSETCAR.
1900 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1901 CHECK_NUMBER_CDR.
1902 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1903 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1904 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1905 CHECK_NUMBER_CDR.
1906 * keyboard.c (read_char): Alter list traversal to avoid taking the
1907 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1908 (parse_menu_item): Use XSETCAR and XSETCDR.
1909 (reach_char_x_menu_prompt): Use XSETCAR.
1910 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1911 (Fcommand_execute): Use XSETCDR.
1912 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1913 (openp): Change list traversal to avoid using XCAR as lvalue.
1914 (read_list): Use XSETCDR.
1915 * process.c (wait_reading_process_input): Change wait_for_cell
1916 handling to avoid taking addresses of cons cell slots.
30903479
SM
1917 * xselect.c (x_own_selection, x_handle_selection_clear)
1918 (x_clear_frame_selections): Use XSETCDR.
1919 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1920 (x_handle_property_notify, x_get_foreign_selection)
1921 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1922
502150e5
PJ
19232001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1924
018ba359
PJ
1925 * buffer.c: Put doc strings in comments.
1926
30903479 1927 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1928
b56ba8de
SS
19292001-10-15 Sam Steingold <sds@gnu.org>
1930
1931 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1932
6a0b793a
PJ
19332001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1934
30903479
SM
1935 * process.c (process-inherit-coding-system-flag)
1936 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1937 in comment.
1938
a1f17501 1939 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1940 arguments. Put doc strings in comments.
a65da641
PJ
1941
1942 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1943
aa601ad0
GM
19442001-10-15 Gerd Moellmann <gerd@gnu.org>
1945
30903479 1946 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1947
aa601ad0
GM
1948 * window.c (select_window_1): Unfreeze window start. Remove a
1949 doubled test for WINDOW being live.
1950
288148a1
PJ
19512001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1952
dd8d1e71
PJ
1953 * fns.c (Fmapconcat): Fix typo in a doc string.
1954
288148a1
PJ
1955 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1956
9f5eb4a3
GM
19572001-10-15 Gerd Moellmann <gerd@gnu.org>
1958
1959 * xterm.c (x_draw_glyph_string): Restore clipping after
1960 drawing box.
1961
dbae44c8
PJ
19622001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1963
30903479 1964 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1965
0c88c937
SM
19662001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1967
56378db4
GM
1968 * indent.c (skip_invisible): Use new retval of
1969 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1970
845e4cf4
SM
1971 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1972 If a parent is reached and noinherit is set, exit immediately.
1973 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1974
0c88c937
SM
1975 * s/ms-w32.h (EXEC_SUFFIXES):
1976 * s/msdos.h (EXEC_SUFFIXES):
1977 * process.h (EXEC_SUFFIXES): Remove.
1978
1979 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1980 (decode_suffixes): Remove.
1981
1982 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1983 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1984 (invisible_ellipsis_p): Remove.
0c88c937
SM
1985
1986 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1987 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1988 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1989 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1990 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1991
d19be8a9
PJ
19922001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1993
04d7d066
PJ
1994 * lisp.h (Ftop_level): Add prototype.
1995
d624284c
PJ
1996 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1997 (XTread_socket): Improve style of comments to follow other
1998 comments.
1999
a87414f9
PJ
2000 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2001 is already prototyped in included lisp.h).
2002
d19be8a9
PJ
2003 * frame.c (Fset_mouse_position): Improve style of comment to
2004 follow other comments.
2005 (Fset_mouse_pixel_position): Improve style of comment to follow
2006 other comments.
2007 (Fmake_frame_visible): Doc fix and typo in comment.
2008 (Fmake_frame_invisible): Doc fix and typo in comment.
2009 (Ficonify_frame): Fix typo in comment.
2010
c061c855
GM
20112001-10-14 Gerd Moellmann <gerd@gnu.org>
2012
37f6b5b6 2013 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2014 * term.c, alloc.c: Put doc strings in comments.
c061c855 2015
e641b454
GM
20162001-10-13 Gerd Moellmann <gerd@gnu.org>
2017
2018 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2019 Provide definitions for doc strings in comments.
2020
2021 * fns.c: Put doc strings in comments.
2022
51724e26
EZ
20232001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2024
2025 * dired.c (file_name_completion): Ignore a candidate directory if
2026 it matches an element in completion-ignored-extensions that ends
2027 in a slash.
2028 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2029 feature in the doc string.
2030 (Ffile_name_completion): Ditto.
2031
be5fc59b
SM
20322001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2033
5a1373f3
SM
2034 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2035
2036 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2037
2038 * lisp.h (Fprovide): Update prototype.
2039 (Ffeaturep, invisible_p): Remove.
2040
bbc4a3d3 2041 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2042 (DOLIST, LOOP_PROPVAL): New macros.
2043 (invisible_p, invisible_ellipsis_p): Use them.
2044 (invisible_noellipsis_p): New function.
2045 (syms_of_xdisp): Use empty_string.
2046
2047 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2048
2049 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2050 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2051
2052 * print.c (Fwith_output_to_temp_buffer): Align with
2053 internal_with_output_to_temp_buffer.
2054 (print_preprocess): Use traverse_intervals_noorder.
2055 (print_object): Update call to traverse_intervals.
2056
2057 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2058 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2059
2060 * intervals.c (traverse_intervals_noorder): New function.
2061 (search_for_interval, count_intervals): Use it.
2062 (traverse_intervals): Use less stack space and drop `depth' arg.
2063
2064 * fns.c (Ffeaturep): Add new `subfeature' arg.
2065 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2066 (Qsubfeatures): New var.
2067 (syms_of_fns): Initialize it.
2068
026f408d
SM
2069 * keymap.c (Fkey_description): Use empty_string.
2070 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2071 (syms_of_keymap): Setup inheritance between maps.
2072 Don't export Sdescribe_bindings_internal any more.
2073
be5fc59b
SM
2074 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2075
3365175e
GM
20762001-10-12 Gerd Moellmann <gerd@gnu.org>
2077
2078 * xterm.c (notice_overwritten_cursor): Renamed from
2079 note_overwritten_text_cursor. Rewritten to take glyph widths into
2080 account.
2081
2ab7765c
EZ
20822001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2083
2084 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2085 multi-line strings without a trailing "\n\".
2086
311346bb
PJ
20872001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2088
2089 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2090 defined.
2091
2168e04d
SM
20922001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2093
026f408d
SM
2094 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2095
c0ec53ad
SM
2096 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2097 * w32proc.c (sys_spawnve):
2098 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2099 * w32.c (check_windows_init_file):
2100 * sound.c (Fplay_sound):
026f408d 2101 * emacs.c (init_cmdargs):
c0ec53ad
SM
2102 * process.c (Fstart_process): Update calls to openp.
2103
2104 * callproc.c (Vexec_suffixes): New var.
2105 (Fcall_process): Update call to openp.
2106 (decode_suffixes): New function.
2107 (syms_of_callproc): Init exec-suffixes.
2108
2109 * lread.c (Vload_suffixes, default_suffixes): New vars.
2110 (openp): Take a lisp list of suffixes.
2111 Check for file-name-handlers even if the file was absolute already.
2112 (syms_of_lread): Declare load-suffixes.
2113 (Fload): Fix up call to openp.
2114 Don't bother checking for file-name-handler at the very beginning.
2115
f6333468
SM
2116 * keymap.h (Fcopy_keymap): Don't export.
2117
2118 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2119 (Vload_suffixes, Vexec_suffixes): Declare.
2120 (openp): Update prototype.
f6333468
SM
2121
2122 * emacs.c (empty_string): New var.
2123 (syms_of_emacs): Initialize it.
2124
2125 * search.c (wordify): Use it.
2126
2127 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2128 selected window if it's not displayed there. Handle the case
2129 when the window is dedicated.
2130 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2131
2132 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2133
2168e04d
SM
2134 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2135 Remove left_ok and right_ok.
2136 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2137 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2138 new meaning of b_property.
2139
2140 * syntax.c (update_syntax_table): Simplify.
2141 (Fforward_comment): Don't skip quoted chars when going backward.
2142
13d95cc0
GM
21432001-10-11 Gerd Moellmann <gerd@gnu.org>
2144
beb0990f
GM
2145 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2146 in case I is of some unsigned type, in which case
2147 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2148 comparison becomes bogus.
2149
cb938d46
GM
2150 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2151 (Fuser_full_name): Fix bug treating a float as a fixnum.
2152
2153 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2154
2155 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2156
13d95cc0
GM
2157 * lisp.h (circular_list_error): Add prototype.
2158
2159 * data.c (Qcircular_list): New variable.
2160 (circular_list_error): New function.
2161 (syms_of_data): Initialize it Qcircular_list.
2162
e35f6ff7
SM
21632001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2164
2165 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2166 casefiddle.c, buffer.c: Include keymap.h.
2167
619632ac
GM
21682001-10-10 Gerd Moellmann <gerd@gnu.org>
2169
2170 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2171 options. From Dave Love <d.love@dl.ac.uk>.
2172
5e5388f6
GM
21732001-10-09 Gerd Moellmann <gerd@gnu.org>
2174
2175 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2176 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2177
14a3dff7
GM
2178 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2179 unsigned char.
2180 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2181
76ba8daf
AI
21822001-10-08 Andrew Innes <andrewi@gnu.org>
2183
2184 * lisp.h [max]: Undef min and max before redefining them.
2185
2186 * w32gui.h: Do not undef min and max.
2187
2188 * w32heap.h: Do not undef min and max.
2189
2190 * s/ms-w32.h: Do not undef min and max.
2191
166253cb
SM
21922001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2193
2194 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2195
0c4d9527
SS
21962001-10-08 Sam Steingold <sds@gnu.org>
2197
2198 * keymap.c (current-active-maps): Quote newlines (compilation error).
2199
14bfa771
EZ
22002001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2201
2202 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2203 bindings.elc, since otherwise doc strings in bindings.el get wrong
2204 offsets in etc/DOC.
2205
bdb7aa47
SM
22062001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2207
9985827f
SM
2208 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2209
2210 * keyboard.h (map_prompt): Remove.
2211
2212 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2213 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2214
bdb7aa47
SM
2215 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2216
2217 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2218
2219 * keyboard.c (map_prompt): Remove.
2220 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2221 Use Fkeymap_prompt.
2222
2223 * keymap.h: New file. Extracted from lisp.h.
2224
9985827f
SM
2225 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2226 (accessible_keymaps_1): New function.
2227 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2228 (Fwhere_is_internal): Use Fcurrent_active_maps.
2229 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2230 Insert in current buffer rather than standard-output.
2231 Don't call `help-mode'. Export to elisp.
2232 (describe_buffer_bindings): New wrapper.
2233 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2234 and Sdescribe_buffer_bindings.
2235
402c9a51
GM
22362001-10-08 Gerd Moellmann <gerd@gnu.org>
2237
9985827f 2238 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2239 Remove code setting signal handler.
2240
9985827f 2241 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2242 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2243
3fe81fdf
PJ
22442001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2245
2246 * keyboard.c: Don't define min/max.
2247
55fa7820
GM
22482001-10-08 Gerd Moellmann <gerd@gnu.org>
2249
9985827f 2250 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2251 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2252 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2253 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2254 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2255 Don't define min/max.
2256
2257 * lisp.h (min, max): New macros.
2258
55fa7820
GM
2259 * puresize.h (BASE_PURESIZE): Increase to 725000.
2260
1aad31e4
PJ
22612001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2262
9180dc8c
PJ
2263 * xfaces.c (free_frame_menubar): Add prototype.
2264
01f67d2c
PJ
2265 * lisp.h (init_window): Add prototype.
2266
2267 * editfns.c: Include ctype.h.
2268
2269 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2270 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2271 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2272 variable `sb'.
2273
5f351ff1
PJ
2274 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2275 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2276 `popup_activated_flag' and `title'.
2277
479dfe87
PJ
2278 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2279
dff49fc8
PJ
2280 * emacs.c (main): Remove extra `;'.
2281
248ac615
PJ
2282 * atimer.h (struct atimer): Fix typos in a comment.
2283
2284 * atimer.c: Fix typo.
2285
af232c7d
PJ
2286 * Makefile.in: Fix typo.
2287
2288 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2289
d876f455
MB
22902001-10-07 Miles Bader <miles@gnu.org>
2291
2292 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2293
0037e2f2
KR
22942001-10-07 Ken Raeburn <raeburn@gnu.org>
2295
b056f36d
KR
2296 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2297 Lisp_Object.
2298
0037e2f2
KR
2299 * lisp.h (Ffield_end): Declare.
2300
1a4372ef
GM
23012001-10-07 Gerd Moellmann <gerd@gnu.org>
2302
a4a74e8c
GM
2303 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2304
2305 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2306
2307 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2308
2309 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2310
1a4372ef
GM
2311 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2312 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2313
2314 * alloc.c (inhibit_garbage_collection): Simplify.
2315 (Fmemory_use_counts): Ditto.
2316
9985827f 2317 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2318 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2319 most-negative-fixnum.
2320
9985827f 2321 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2322 (FIXNUM_OVERFLOW_P): New macros.
2323
4650e362
MB
23242001-10-06 Miles Bader <miles@gnu.org>
2325
2326 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2327 scroll_bar_bottom_shadow_pixel fields.
2328 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2329 for the shadows, and tell the toolkit about them if we succeed.
2330 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2331 Free scroll-bar shadow colors.
2332 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2333 Free scroll-bar shadow colors when the background color changes.
2334 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2335 Initialize scroll-bar shadow-color fields.
2336
ace64e0a
GM
23372001-10-05 Gerd Moellmann <gerd@gnu.org>
2338
2339 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2340
ec66bdc7
MB
23412001-10-05 Miles Bader <miles@gnu.org>
2342
9985827f
SM
2343 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2344 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2345 New functions (were in simple.el).
9985827f 2346 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2347 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2348 (syms_of_minibuf): Initialize them.
2349
a0fb4492
GM
23502001-10-05 Gerd Moellmann <gerd@gnu.org>
2351
2352 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2353 (tiff_load): Install them as error and warning handler.
2354
0bcf87c1
AI
23552001-10-04 Andrew Innes <andrewi@gnu.org>
2356
2357 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2358 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2359 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2360 (x_to_w32_charset): Handle private format for unknown charsets.
2361 Handle wildcards in charset spec, by ignoring them.
2362 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2363 "*-" prefix from charset.
2364 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2365 handle the truncated font spec form constructed by font_list_1, so
2366 that we correctly identify the charset fields. Don't remove "*-"
2367 prefix from charset.
2368 (w32_list_synthesized_fonts): Fix argument to alloca.
2369
c89e4bc5
GM
23702001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2371
2372 * window.h (MINI_WINDOW_P): Use NILP.
2373
2374 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2375
2376 * termhooks.h (struct input_event): Use proper type for `kind'.
2377
23782001-10-04 Gerd Moellmann <gerd@gnu.org>
2379
2380 This handles unknown keysyms better than before. For example,
2381 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2382 Emacs formerly completely ignored F5. With the change, it derives
2383 a key symbol from the name of the X keysym, `ccaron' in this case.
2384 Reported by Martin Buchholz.
2385
2386 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2387 unknown keysyms.
2388
2389 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2390 that EVENT->code isn't a function key, use the keysym's name.
2391
23922001-10-04 Gerd Moellmann <gerd@gnu.org>
2393
2394 FOREACH is a macro that should make it easier to loop over Lisp
2395 lists with checks for cycles and proper lists.
2396
2397 * lisp.h (LIST_END_P, FOREACH): New macros.
2398
23992001-10-04 Gerd Moellmann <gerd@gnu.org>
2400
2401 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2402 called for a lost connection. Prevent dumping core in this case.
2403 Instead print the X error, and exit. On user request.
2404
2405 * xterm.c (error_msg): New variable.
2406 (x_fatal_error_signal): New function.
2407 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2408 as fatal_error_signal_hook around the call to XtCloseDisplay.
2409
2410 * emacs.c (fatal_error_signal_hook): New variable.
2411 (fatal_error_signal): Call that function.
2412
24132001-10-04 Gerd Moellmann <gerd@gnu.org>
2414
2415 With this, Emacs prints how much pure storage it will
2416 approximately need in case pure storage overflows while dumping.
2417
2418 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2419 New variables.
2420 (init_alloc_once): Initialize new variables.
2421 (PURE_POINTER_P): Use new variables.
2422 (pure_alloc): If pure storage overflows, allocate from the heap.
2423 (check_pure_size): New function.
2424 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2425
2426 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2427 (check_pure_size): Add prototype.
2428
2429 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2430
24312001-10-04 Gerd Moellmann <gerd@gnu.org>
2432
2433 This adds a post-gc-hook that's run with GC inhibited.
2434 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2435
2436 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2437 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2438 (Fgarbage_collect): Run post-gc-hook.
2439
24402001-10-04 Gerd Moellmann <gerd@gnu.org>
2441
2442 This adds `defvaralias' and `indirect-variable'. Changes not
2443 directly related to this feature are there to gain the same
2444 performance again as before variable aliases.
2445
2446 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2447 code to get and set symbol values, to take defvaralias into account.
2448
2449 (Note: the new `constant' bit-flag in symbols would make it
2450 possible to define arbitrary read-only variables, e.g. with
2451 `defconst'.)
2452
2453 Documentation is in lispref/variables.texi. Added to NEWS.
2454
2455 * lisp.h (enum symbol_interned): New enumeration.
2456 (struct Lisp_Symbol): Remove member `obarray', add
2457 `indirect_variable', `constant', and `interned'.
2458 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2459 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2460 (indirect_variable): Add prototype.
2461
2462 * print.c (print_preprocess, print_object): Test internedness of
2463 symbols differently.
2464
2465 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2466 bit-fields.
2467 (init_obarray): Likewise for t and nil.
2468
2469 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2470 (Fdefvaralias): New function.
2471 (specbind): Simplify the test if symbol is a constant.
2472 (syms_of_eval): Defsubr Fdefvaralias.
2473
2474 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2475 (Qcyclic_variable_indirection): New variable.
2476 (Fkeywordp): Check for internedness differently.
2477 (Fmakunbound): Simplify the test if symbol is a constant.
2478 (indirect_variable, Findirect_variable): New functions.
2479 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2480 aliased symbol.
2481 (let_shadows_buffer_binding_p): Check for variable aliases.
2482 (set_internal): Simplify the test if SYMBOL is a constant.
2483 If SYMBOL has a buffer-local value and is an alias, use the aliased
2484 symbol instead.
2485 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2486 Sindirect_variable.
2487
2488 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2489 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2490 set directly.
2491
2492 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2493
2494 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2495 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2496 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2497
ab952a4f
GM
24982001-10-04 Gerd Moellmann <gerd@gnu.org>
2499
2500 * Branch for 21.1.
b56ba8de 2501
ba88ff28
MB
25022001-10-03 Miles Bader <miles@gnu.org>
2503
2504 * callproc.c (syms_of_callproc): Explicitly state in the
2505 documentation for `process-environment' that earlier entries take
2506 precedence over later ones.
2507
ae1a9581
MB
25082001-10-02 Miles Bader <miles@gnu.org>
2509
2510 * textprop.c (Fnext_char_property_change)
2511 (Fprevious_char_property_change): Remove reference to non-existant
2512 argument OBJECT from doc-string.
2513
257e3f57
GM
25142001-10-01 Gerd Moellmann <gerd@gnu.org>
2515
2516 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2517 (try_window_id): Skip back over lines ending in a newline from a
2518 string.
2519
2520 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2521 New bit flag
2522
c1f29759
RS
25232001-10-01 Richard M. Stallman <rms@gnu.org>
2524
2525 * search.c (Freplace_match): Doc fix.
2526
c30dce3d
AI
25272001-09-28 Andrew Innes <andrewi@gnu.org>
2528
2529 * w32menu.c (set_frame_menubar): Take into account that
2530 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2531 <raeburn@gnu.org>.
2532
03be5931
EZ
25332001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2534
2535 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2536
75bec752
PJ
25372001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2538
2539 * s/gnu-linux.h: Fix a typo in comment.
2540
83100e0a
AS
25412001-09-28 Andreas Schwab <schwab@suse.de>
2542
2543 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2544 nocombreloc, in case -z combreloc is the default.
2545
a74b48cf
GM
25462001-09-28 Gerd Moellmann <gerd@gnu.org>
2547
2548 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2549 really going on here.
2550
09c4719e
SM
25512001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2552
2553 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2554
f7d5d963
EZ
25552001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2556
2557 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2558 utf-8, menu-bar, and latin-N.
2559 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2560 unconditionally now.
2561 (lisp): Add latin-N, since they are preloaded.
2562
9240e746
GM
25632001-09-27 Gerd Moellmann <gerd@gnu.org>
2564
14531065
GM
2565 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2566 to the left. Some cleanup.
2567
9240e746
GM
2568 * xdisp.c (display_mode_element): One more case where a string's
2569 multibyteness should be used for display.
2570
edd1e654
GM
25712001-09-26 Gerd Moellmann <gerd@gnu.org>
2572
b02439c8
GM
2573 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2574 reading at EOF.
2575
032906b1 2576 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2577 of the only temporarily set echoing flag for deciding when
032906b1
GM
2578 the cancel echoing.
2579
2580 * keyboard.c (echo_kboard): Make externally visible.
2581
2582 * lisp.h (echo_kboard): Declare extern.
2583
cb617e7c 2584 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2585 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2586 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2587 this round of redisplay if make_cursor_line_fully_visible fails.
2588 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2589 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2590
2591 * dispextern.h (required_matrix_width, required_matrix_height):
2592 Add prototypes.
2593
09c4719e
SM
2594 * dispnew.c (required_matrix_width, required_matrix_height):
2595 New functions.
cb617e7c 2596 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2597 (allocate_matrices_for_frame_redisplay: Use them.
2598 Remove parameters CH_DIM.
cb617e7c 2599
edd1e654
GM
2600 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2601 and selected_window to the frame of the window whose mode-lines
2602 are displayed, and to the window itself.
2603 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2604 here.
edd1e654 2605
924b604c
GM
26062001-09-25 Gerd Moellmann <gerd@gnu.org>
2607
daba7643
GM
2608 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2609 the image cache under us.
2610
b7a22712 2611 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2612 with a string value, use that string's multibyteness for displaying.
b7a22712 2613
ad648212
GM
2614 * keyboard.c (read_char): Don't clear a message for a switch-frame
2615 event. From Stefan Monnier <monnier@cs.yale.edu>.
2616
9f8531e5
GM
2617 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2618 version for after 21.1.
2619
2620 * xdisp.c (row_containing_pos): Make externally visible.
2621
2622 * dispextern.h (row_containing_pos): Add prototype.
2623
924b604c
GM
2624 * process.c (send_process): Disable composition if from_byte < 0.
2625 From Kenichi Handa <handa@etl.go.jp>.
2626
6f3f0db4
GM
26272001-09-24 Gerd Moellmann <gerd@gnu.org>
2628
c69c0ebc
GM
2629 * xterm.c (refreshicon): Function removed.
2630
d1182bc4
GM
2631 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2632
2633 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2634
2635 * xterm.c (toplevel): Remove includes in #if 0.
2636
6f3f0db4
GM
2637 * process.c (sigchld_handler) [LINUX]: Don't return from
2638 the signal handler at the end of the loop.
2639
59957f85
GM
26402001-09-21 Gerd Moellmann <gerd@gnu.org>
2641
09c4719e
SM
2642 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2643 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2644
a0528984
EZ
26452001-09-21 Markus Rost <rost@math.ohio-state.edu>
2646
2647 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2648
db92b288
GM
26492001-09-20 Gerd Moellmann <gerd@gnu.org>
2650
3fed8ad5
GM
2651 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2652 since this function can be called during GC.
2653
db92b288
GM
2654 * callproc.c (Fcall_process): Handle errors from pipe(2).
2655 (child_setup): Delete code in #ifdef vipc.
2656
7121b85a
GM
26572001-09-19 Gerd Moellmann <gerd@gnu.org>
2658
72f62cb5
GM
2659 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2660 (display_mode_element): Display the string from decode_mode_spec
2661 depending on its multibyteness.
2662
a2697022
GM
2663 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2664
7121b85a
GM
2665 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2666
bfc97351
GM
26672001-09-18 Gerd Moellmann <gerd@gnu.org>
2668
c9063433
GM
2669 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2670 recursive_edit_unwind.
2671 (recursive_edit_unwind): Set kboard state according to
2672 SINGLE-KBOARD.
2673
3fbdba3e
GM
2674 * buffer.c (modify_overlay): Don't do nothing if START == END;
2675 This can still be a modification, for example when an overlay has
2676 a before-string or after-string.
2677 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2678 an overlay with before-string or after-string.
2679
1270031d
GM
2680 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2681 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2682
bfc97351
GM
2683 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2684 first_unchanged_at_end_row is in front of
2685 last_unchanged_at_beg_row. This code should be removed after the
2686 release of 21.1.
2687
d8a973aa
GM
26882001-09-17 Gerd Moellmann <gerd@gnu.org>
2689
e18c8b8d
GM
2690 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2691 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2692
d8a973aa
GM
2693 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2694 versions >= 2.95.
2695
ed7d6ba4
EZ
26962001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2697
2698 * dired.c (Ffile_attributes): Doc fix.
2699
551629f9
GM
27002001-09-14 Gerd Moellmann <gerd@gnu.org>
2701
2702 * fileio.c (Ffile_symlink_p): Fix last change.
2703
2704 * filelock.c (current_lock_owner): Fix last change.
2705
4c8c7926
GM
27062001-09-13 Gerd Moellmann <gerd@gnu.org>
2707
620c4704
GM
2708 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2709 take that to mean that the buffer is too small.
2710
81c3310d
GM
2711 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2712 that to mean that the buffer is too small.
2713
06fd3792
GM
2714 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2715 current buffer's multibyteness when discarding the iterator's
2716 stack.
2717
4c8c7926
GM
2718 * xfns.c (Fx_window_property): Handle case that property gets
2719 deleted between the two calls to XGetWindowProperty.
2720
9a72e4c1
GM
27212001-09-11 Gerd Moellmann <gerd@gnu.org>
2722
bd819d14 2723 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2724
a41edd99
GM
2725 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2726 in addition to read-only.
2727
2728 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2729 to t in addition to read-only.
2730
2731 * lisp.h (Qinhibit_modification_hooks): Declare.
2732
2733 * insdel.c (Qinhibit_modification_hooks): New variable.
2734 (syms_of_insdel): Initialize and staticpro it.
2735
d4881c6a
GM
2736 * textprop.c (verify_interval_modification): Don't run
2737 modification-hooks if inhibit_modification_hooks.
2738
2739 * dispnew.c (set_window_cursor_after_update): Fix code
2740 finding glyph row containing cursor when cursor_in_echo_area
2741 is >= 0.
2742
9a72e4c1
GM
2743 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2744 (add_to_log): Use bcopy instead of strcpy.
2745 (init_from_display_pos): Use an explicit loop over bytes in
2746 overlay strings instead of calling index.
2747
f4a374a1
GM
27482001-09-10 Gerd Moellmann <gerd@gnu.org>
2749
300e57bd
GM
2750 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2751
2752 * dispnew.c (direct_output_for_insert): Don't change IT's
2753 stop_charpos to something in front of its current position.
2754
f4a374a1
GM
2755 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2756 `format'.
2757
7e4cbc91
RS
27582001-09-10 Richard M. Stallman <rms@gnu.org>
2759
2760 * frame.c (Fmouse_position): Doc fix.
2761
6afad91e
GM
27622001-09-07 Gerd Moellmann <gerd@gnu.org>
2763
2764 * xdisp.c (init_from_display_pos): Don't compare the result
2765 of calling index with NULL.
2766
f76e0368
GM
27672001-09-06 Gerd Moellmann <gerd@gnu.org>
2768
2769 * xfns.c (x_set_background_color): Don't change the colors
2770 of the X window of scroll bar widgets.
2771
9ead1b60
AI
27722001-09-05 Andrew Innes <andrewi@gnu.org>
2773
2774 * w32fns.c (w32_createwindow): Undo last change.
2775
c3b497b3
GM
27762001-09-05 Gerd Moellmann <gerd@gnu.org>
2777
08e1d6df
GM
2778 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2779
c3b497b3
GM
2780 * xdisp.c (string_buffer_position): Use *single_char_property*
2781 functions instead of the *single_property* functions.
b56ba8de 2782
8f860180
AI
27832001-09-04 Andrew Innes <andrewi@gnu.org>
2784
9a72e4c1
GM
2785 * w32term.c (w32_read_socket): Add more information to debugging
2786 output.
8f860180
AI
2787
2788 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2789 from Emacs frames, so that calls to GetClipBox in w32term.c
2790 correctly report when part of a frame is visible (including
2791 scrollbars, etc). This prevents repeated redrawing of frames when
2792 only a scrollbar is visible.
2793 (w32_wnd_proc): Add more frame information to debugging output.
2794
2ee1aa00
SM
27952001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2796
2797 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2798
e3b22517
GM
27992001-09-03 Gerd Moellmann <gerd@gnu.org>
2800
7e376260
GM
2801 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2802 help-echo for a string which doesn't have help-echo itself, use
2803 get-char-property to obtain the help-echo from the string's buffer
2804 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2805 have mouse-face, look ``under'' the string for mouse-face from an
2806 overlay.
2807 (fast_find_position): Add parameter STOP. In the final row, stop
2808 before glyphs having STOP as object. Don't consider glyphs that
2809 are not from a buffer.
2810
e3b22517
GM
2811 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2812
9a249bba
EZ
28132001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2814
2815 * fns.c (Fmd5): Doc fix.
2816
c9979669
GM
28172001-08-31 Gerd Moellmann <gerd@gnu.org>
2818
2819 * composite.c (update_compositions): Do nothing if
2820 inhibit-modification-hooks is set.
2821
9584e63a
GM
28222001-08-30 Gerd Moellmann <gerd@gnu.org>
2823
986ec8f2 2824 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2825 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2826 glyph matrices etc. in a core dump.
2827
92a25631
GM
2828 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2829 (syms_of_xdisp): Initialize them.
2830 (handle_single_display_prop): Don't change point, bind `object',
2831 `position', and `buffer-position' instead to the object having the
2ee1aa00 2832 `display' property, position in the object and position in the buffer.
92a25631 2833
9584e63a
GM
2834 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2835 of the buffer if REPLACE is non-nil.
2836
d38633a3
GM
28372001-08-29 Gerd Moellmann <gerd@gnu.org>
2838
2839 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2840
f4fccc1e
EZ
28412001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2842
2843 * w32term.c (x_set_glyph_string_background_width)
2844 (show_mouse_face): Track the last changes in xterm.c.
2845
eaaa65b0
GM
28462001-08-28 Gerd Moellmann <gerd@gnu.org>
2847
7b0870b2
GM
2848 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2849 string's background width so that multi-line mouse-face is drawn
2850 to the right edge of the window.
2851 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2852 glyphs.
2853
6b6e2422 2854 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2855 before inserting/writing glyphs.
6b6e2422 2856
eaaa65b0
GM
2857 * xdisp.c (display_mode_element): Use string_byte_to_char to
2858 determine character positions in strings, use chars_in_text
2859 instead of strwidth.
2860 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2861 a matrix as parameter; this is easier to use from GDB.
2862
9ad62cf8
MB
28632001-08-28 Miles Bader <miles@gnu.org>
2864
2ee1aa00
SM
2865 * textprop.c (Fprevious_single_char_property_change)
2866 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2867
32171635
GM
28682001-08-27 Gerd Moellmann <gerd@gnu.org>
2869
47d57b22
GM
2870 * fileio.c (Finsert_file_contents): Allocate, restore, and
2871 free composition data in the case of REPLACE not being nil.
2872
2873 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2874 there exist overlay strings with newlines at POS.
2875 (text_outside_line_unchanged_p): Return 0 if changes start at
2876 START and overlays exist at START. Likewise for END.
2877 (try_window_id): Give up if init_to_row_end returns 0.
2878
32171635
GM
2879 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2880 unconditionally.
2881
e1249666
GM
28822001-08-24 Gerd Moellmann <gerd@gnu.org>
2883
33954c45
GM
2884 * keymap.c (access_keymap): Return the cdr of the binding of
2885 a generic character instead of its definition (KEY . BINDING).
2886
e1249666
GM
2887 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2888 to 0 also in the REPLACE case.
2889
fb4c6c96
AC
28902001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2891
2892 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2893 open to determine whether file is readable (as for DOS_NT).
2894
59ecf80b
GM
28952001-08-23 Gerd Moellmann <gerd@gnu.org>
2896
2897 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2898 coding.type is coding_type_no_conversion or coding_type_raw_text,
2899 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2900 non-nil instead of just setting enable_multibyte_characters in the
2901 buffer to nil.
2902
40e33037
GM
29032001-08-22 Gerd Moellmann <gerd@gnu.org>
2904
374388c3
GM
2905 * dispextern.h (struct face_cache): Add member
2906 menu_face_changed_p.
2907
2908 * xfaces.c (menu_face_changed_default): New variable.
2909 (menu_face_changed_count): Variable removed.
2910 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2911 the menu_face_changed_default flag, otherwise set the FRAME's
2912 menu_face_changed_p flag if the `menu' face has been changed.
2913 Prevent calling set_font_frame_param if FRAME is t.
2914 (make_face_cache): Initialize cache's menu_face_changed_p
2915 from menu_face_changed_default.
2916 (realize_basic_faces): Look into the frame's face cache to
2917 determine if the menu appearance needs updating.
2918
40e33037
GM
2919 * keymap.c (access_keymap): Fix last change to not consider
2920 IDX when it has modifiers.
2921
859ea4b8
GM
29222001-08-21 Gerd Moellmann <gerd@gnu.org>
2923
2924 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2925 . BINDING) exists, where GENERIC-CHAR is the generic character of
2926 the charset of IDX, return BINDING unless there exists a binding
2927 for IDX itself.
2928
e8660d73
GM
29292001-08-16 Gerd Moellmann <gerd@gnu.org>
2930
cca1b1d7
GM
2931 * xrdb.c (SYSV): Don't define on Solaris 2.
2932 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2933
e8660d73 2934 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2935 of the screen line, not text line, containing IT's current position.
e8660d73 2936
93aba6fc
GM
29372001-08-15 Gerd Moellmann <gerd@gnu.org>
2938
288d4e06
GM
2939 * window.c (window_scroll_pixel_based): Don't recenter if
2940 PT is partially visible in the window.
2941
3452efc2
SM
2942 * xterm.c (expose_window_tree, expose_window, expose_line):
2943 Return 1 when overwriting mouse-face.
82f053ab
GM
2944 (expose_frame): If mouse-face was overwritten, redo it.
2945
93aba6fc
GM
2946 * xfaces.c (x_update_menu_appearance): Don't call
2947 set_frame_menubar, let the next redisplay do it.
2948
858a55c1
AI
29492001-08-14 Andrew Innes <andrewi@gnu.org>
2950
2951 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2952 drawing glyph string.
2953
3a990b67
EZ
29542001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2955
2956 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2957 running HI-UX/MPP.
2958
04386463
GM
29592001-08-14 Gerd Moellmann <gerd@gnu.org>
2960
2961 * xfaces.c (x_update_menu_appearance): Save and restore value of
2962 interrupt_input_blocked.
2963
3e6385a4
GM
29642001-08-13 Gerd Moellmann <gerd@gnu.org>
2965
b0e619b4
GM
2966 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2967 a line start, move back to the line start.
3452efc2 2968
0de73d5a
GM
2969 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2970 exactly when a mini-buffer is active.
2971
3e6385a4
GM
2972 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2973 in units of 1/8 character on non window-system frames.
2974 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2975
d1b5f629
EZ
29762001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2977
2978 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2979 a doc string.
2980
eaa2319f
GM
29812001-08-09 Gerd Moellmann <gerd@gnu.org>
2982
8e3189f0
GM
2983 * keyboard.c (Vpre_help_message): New variable.
2984 (syms_of_keyboard): Initialize and staticpro it.
2985 (show_help_echo): Record current message before displaying a
2986 help-echo, and restore that message when clearing the help.
2987
eaa2319f
GM
2988 * xfns.c (x_create_im): Remove prototype.
2989
2990 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2991
2992 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2993
eaa2319f
GM
29942001-08-08 Gerd Moellmann <gerd@gnu.org>
2995
2996 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2997 windows whose height has changed, disable partially visible lines.
eaa2319f 2998
17fdcfc8
GM
29992001-08-07 Gerd Moellmann <gerd@gnu.org>
3000
22d01aed 3001 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3002 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3003
17fdcfc8
GM
3004 * xdisp.c (start_display): Don't try to determine the continuation
3005 lines width if lines are truncated. It's superfluous and leads to
3006 incorrect results if POS is not visible in the window after
3007 reseating the iterator at the previous line start.
3008
8e3fe78e
GM
30092001-08-06 Gerd Moellmann <gerd@gnu.org>
3010
3011 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3012
98a8938c
GM
30132001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3014
3015 * alloc.c (init_stack): Remove declaration.
3016
18f9986a
GM
30172001-08-03 Gerd Moellmann <gerd@gnu.org>
3018
5e1f85e0
GM
3019 * keyboard.c (read_key_sequence): Check that key is an integer
3020 before comparing it with quit_char.
3021 (add_command_key): Use larger_vector.
3022 (read_char_x_menu_prompt): Instead of converting symbol and
3023 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3024 which cannot be confused with valid events.
5e1f85e0
GM
3025 (read_char): When reading from Vunread_command_events, check for
3026 events of the form (EVENT . disabled) instead of
3027 (EVENT . nil).
3028
18f9986a
GM
3029 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3030 a float, determine the max height from the frame's height.
3031
fbc7f2a6
GM
30322001-08-02 Gerd Moellmann <gerd@gnu.org>
3033
3034 * xdisp.c (redisplay_internal): Take message_cleared_p into
3035 account only if minibuf_level == 0.
3036
81b1a79d
GM
30372001-08-01 Gerd Moellmann <gerd@gnu.org>
3038
e5c60873
GM
3039 * xdisp.c (redisplay_internal): Add a check for the last
3040 displayed message.
3452efc2 3041
6e019995
GM
3042 * xdisp.c (message_cleared_p): New variable.
3043 (clear_message): Set message_cleared_p when clearing the current
3044 message.
3045 (redisplay_internal): Look at message_cleared_p to capture
3046 the case that the echo area should be cleared.
3047
308a74d8
GM
3048 * keyboard.c (command_loop_1): Fix spelling of
3049 resize_echo_area_exactly.
3050
3452efc2 3051 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3052
3053 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3054
81b1a79d
GM
3055 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3056 current matrix when the window gets smaller.
3057
ada329e6
EZ
30582001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3059
3060 * print.c (strout): Cast the character passed to insert_char to
3061 unsigned char, to avoid sign extension when it is promoted to int.
3062
ed86208c
GM
30632001-07-31 Gerd Moellmann <gerd@gnu.org>
3064
3065 * fileio.c (Finsert_file_contents): Don't treat a return value
3066 of 0 from emacs_read as an IO error.
3067
6594ac22
GM
30682001-07-30 Gerd Moellmann <gerd@gnu.org>
3069
cef68af5
GM
3070 * keyboard.c (abs): New macro.
3071 (double_click_fuzz): New variable.
3072 (make_lispy_event): Use it to determine what makes a double-click.
3073 (syms_of_keyboard): DEFVAR_INT it.
3074
6594ac22
GM
3075 * xmenu.c (set_frame_menubar): Take into account that
3076 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3077 <raeburn@gnu.org>.
3078
75c5350a
GM
30792001-07-27 Gerd Moellmann <gerd@gnu.org>
3080
3081 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3082
3083 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3084 of row's visible height.
3085
3086 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3087 deal with the first overlay string having an image `display' property.
3088 (try_window_reusing_current_matrix, compute_line_metrics):
3089 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3090 row is invisible above and part of the row is at the same time
3091 invisible below the window.
3092
ac49effe
GM
30932001-07-26 Gerd Moellmann <gerd@gnu.org>
3094
3095 * xfns.c (x-show-tip): Doc fix.
3452efc2 3096
ac49effe
GM
3097 * xfns.c (Vx_max_tooltip_size): New variable.
3098 (syms_of_xfns): DEFVAR_LISP it.
3099 (Fx_show_tip): Set frame's window_width to the width of the
3100 window. Use a maximum tooltip size specified by
3101 Vx_max_tooltip_size, if that has valid contents.
3102 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3103
8c3b00cb
AI
31042001-07-26 Andrew Innes <andrewi@gnu.org>
3105
3106 * w32term.c (x_display_list): New variable.
3107 (w32_term_init): Set it.
3108
3109 * w32term.h (x_display_list): New extern.
3110
16098288
GM
31112001-07-26 Gerd Moellmann <gerd@gnu.org>
3112
3113 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3114 is non-nil, instead of when redisplaying_p is non-zero.
3115 See comment there.
16098288
GM
3116 (mark_window_display_accurate_1): Add an assertion.
3117
64c5be50
GM
31182001-07-25 Gerd Moellmann <gerd@gnu.org>
3119
e743f599
GM
3120 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3121
563b384d
GM
3122 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3123 events so that we get a chance of processing expose events.
3124
64c5be50
GM
3125 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3126
296808a5
GM
31272001-07-24 Gerd Moellmann <gerd@gnu.org>
3128
3129 * xfns.c (valid_image_p): Protect better against invalid image
3130 specifications. Previous code could signal an error.
3131
5247262a
GM
31322001-07-23 Gerd Moellmann <gerd@gnu.org>
3133
3452efc2 3134 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3135 presence of display table entries.
3136 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3137
dd42b31a
GM
3138 * dispnew.c (adjust_glyph_matrix): In the optimization for
3139 windows whose height has changed, use the new window height
3140 to compute which rows to invalidate.
3141
9e5a7f2a
GM
3142 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3143 (MAX_10_EXP): New macro.
3144 (Fformat): Use it.
3145
5247262a
GM
3146 * coding.c (code_convert_region): Handle the multibyte case if
3147 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3148
177ab8ce
GM
31492001-07-20 Gerd Moellmann <gerd@gnu.org>
3150
6e07c0a5
GM
3151 * dispextern.h (struct face): Change type of `stipple' to
3152 int; it's an ID.
3153
177ab8ce
GM
3154 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3155
b5b80599
GM
31562001-07-19 Gerd Moellmann <gerd@gnu.org>
3157
4e2a256b
GM
3158 * dispnew.c (update_window): Don't set the cursor at the end
3159 of the update if display update has been paused.
3160
3452efc2 3161 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3162
c1fd9232
KR
31632001-07-18 Ken Raeburn <raeburn@gnu.org>
3164
3165 * fns.c (Fset_char_table_default): Check that a charset is defined
3166 before checking its dimension.
3167
928a85c1
KR
31682001-07-17 Ken Raeburn <raeburn@gnu.org>
3169
3170 * coding.c (setup_coding_system): Don't do any designation based
3171 on reg_bits if charset is not yet defined.
3172
fb4c6c96 3173 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3174 pointer, using eassert.
3175
de11c1ea
GM
31762001-07-17 Gerd Moellmann <gerd@gnu.org>
3177
3452efc2
SM
3178 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3179 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3180
467f1209
GM
31812001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3182
3183 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3184
c3d6be34
GM
31852001-07-16 Gerd Moellmann <gerd@gnu.org>
3186
c1d61a7d
GM
3187 * fileio.c (unwind_read): Function removed.
3188 (read_non_regular, read_non_regular_quit): New functions.
3189 (Finsert_file_contents): When reading from non-regular files,
3190 arrange to catch a `quit' and terminate the loop. Rearrange
3191 code so that a `quit' when reading from a regular file doesn't
3192 insert text in the buffer.
3193
c3d6be34
GM
3194 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3195 Clear faces afterwards.
3196 (clear_font_table): Take a x_display_info parameter. Don't free
3197 fonts being the default font of any frame on the given display.
3198
e06aa1f9
GM
31992001-07-13 Gerd Moellmann <gerd@gnu.org>
3200
3201 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3202 instead of CHAR_STRING which can signal an error.
3203
3204 * charset.c (char_to_string_1): Extracted from char_to_string.
3205 Return -1 instead of signaling an error.
3206 (char_to_string): Use it.
3207
3208 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3209
176c92e6
SM
32102001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3211
3212 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3213 is t, don't try to append anything to it.
3214
1c56232f
EZ
32152001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3216
3217 * dired.c (file_name_completion): Pass dp->d_name to
3218 Fstring_match, not elt, which is always nil here.
3219
1d2b2268
GM
32202001-07-12 Gerd Moellmann <gerd@gnu.org>
3221
3222 * xselect.c (x_decline_selection_request): Handle errors
3223 caused by receivers that have vanished.
3224
3225 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3226 ignoring events on foreign windows in #if 0. Always dispatch
3227 the event after checking it with x_handle_property_notify.
3228
3229 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3230 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3231 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3232 (toplevel): Add prototypes for file-local functions.
3233 (x_atom_to_symbol): Remove DPYINFO parameter.
3234
fe5a0162
SM
32352001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3236
3237 * w32menu.c (menubar_selection_callback, w32_menu_show):
3238 Initialize `entry' to nil.
3239 (w32_dialog_show): Remove unused `save_wv' variable.
3240 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3241
a777242c
GM
32422001-07-11 Gerd Moellmann <gerd@gnu.org>
3243
8ee5b6a3
GM
3244 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3245
d0e2444e
GM
3246 * fileio.c (unwind_read): Print a message when discarding inserted
3247 text or switching the buffer to unibyte. Change parameter.
3248 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3249
a777242c
GM
3250 * fileio.c (unwind_read): New function.
3251 (Finsert_file_contents): Record it as unwind-function for
3252 the case that reading is interrupted by C-g.
3253
ae794295
GM
32542001-07-10 Gerd Moellmann <gerd@gnu.org>
3255
fe5a0162 3256 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3257 update when scrolling_window returns 0.
3258
6b05fae3
GM
3259 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3260
3261 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3262 for the case that x_decode_color signals an error.
6b05fae3 3263
ae794295
GM
3264 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3265
bb6e8cee
GM
32662001-07-09 Gerd Moellmann <gerd@gnu.org>
3267
3268 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3269 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3270 around ioctls.
3271
36b40a8a
EZ
32722001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3273
24b97d4b
EZ
3274 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3275 doc string line for dos-timezone-offset.
3276
36b40a8a
EZ
3277 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3278 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3279 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3280 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3281
3282 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3283
0967b4b0
GM
32842001-07-05 Gerd Moellmann <gerd@gnu.org>
3285
f25cfe53
GM
3286 * sound.c: Include Emacs' header files with #include "...".
3287
0967b4b0
GM
3288 * eval.c (specbind): Additionally record the buffer that was
3289 current when a buffer-local or frame-local variable was bound.
3290
c347a1c3
GM
32912001-07-04 Gerd Moellmann <gerd@gnu.org>
3292
3293 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3294 to unibyte characters in unibyte buffers.
3295
6332ca8a
GM
32962001-07-03 Gerd Moellmann <gerd@gnu.org>
3297
38472d44
GM
3298 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3299 the frame on the binding stack. Change format of entries for
3300 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3301 (unbind_to): Handle unbinding a frame-local variable.
3302
6332ca8a 3303 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3304 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3305 (dump_glyph_row): Print row's continuation_lines_width.
3306 (try_window_id): Take the shortcut if ZV is visible in the
3307 window, but there are actually no changes at ZV.
3308
63d1b174
GM
33092001-07-02 Gerd Moellmann <gerd@gnu.org>
3310
4c175203
GM
3311 * xterm.h (x_free_dpy_colors): Add prototype.
3312
3313 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3314 right number of arguments.
3315
0b54ce28
GM
3316 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3317 ($(lwlibdir)TAGS): New target.
4c175203 3318 (TAGS): Fix dependency list.
0b54ce28 3319
63d1b174
GM
3320 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3321 with input blocked.
3322
d827466c
GM
33232001-06-30 Gerd Moellmann <gerd@gnu.org>
3324
3325 * emacs.c (main): Remove extern declaration for sys_nerr, which
3326 isn't used and causes a compilation error with GCC 3.0 on
3327 FreeBSD 4.3.
3328
b5cb1ada
GM
33292001-06-27 Gerd Moellmann <gerd@gnu.org>
3330
a5d3ec3f 3331 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3332 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3333 (toplevel): Include <signal.h> and syssignal.h.
3334
b5cb1ada
GM
3335 * sound.c (vox_configure, vox_close): Turn off atimers
3336 around ioctls.
3337
d9bad487
GM
33382001-06-26 Gerd Moellmann <gerd@gnu.org>
3339
fdbb67fe
GM
3340 * keyboard.c (read_char) <non_reread>: Record the previous idle
3341 start time before calling timer_stop_idle.
3342 (read_char) <reread_first>: After processing a help-echo event,
3343 restore the previous idle start time.
3344
d9bad487
GM
3345 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3346 the start of invisible text.
3347 (setup_for_ellipsis): New function.
3348 (next_overlay_string): After all overlay strings have been
3349 processed, display an ellipsis if necessary.
3350 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3351 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3352
3353 * dispextern.h (struct iterator_stack_entry): Add member
3354 display_ellipsis_p.
3355
2b9c25e0
GM
33562001-06-25 Gerd Moellmann <gerd@gnu.org>
3357
80de57df
GM
3358 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3359 on the value of the wait-for-wm frame parameter.
3360
3361 * xterm.h (struct x_output): Add member wait_for_wm.
3362
3363 * xfns.c (Qwait_for_wm): New variable.
3364 (x_frame_parms): Add entry for `wait-for-wm".
3365 (x_set_wait_for_wm): New function.
3366 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3367 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3368
2b9c25e0
GM
3369 * xdisp.c (try_window_id) <all changes below window end>: Don't
3370 take this shortcut if ZV is visible in the window.
3371 (try_window_id): When checking for window start being in changed
3372 text, don't check that the buffer's size has changed.
3373
f772775c
RS
33742001-06-23 Richard M. Stallman <rms@gnu.org>
3375
3376 * minibuf.c (Fcompleting_read): Doc fix.
3377
fa9090b8
GM
33782001-06-19 Gerd Moellmann <gerd@gnu.org>
3379
3380 * composite.c (Ffind_composition_internal): Accept ZV
3381 and a string's end position as POS.
3382
f6f1beba
GM
33832001-06-18 Gerd Moellmann <gerd@gnu.org>
3384
3385 * composite.c (Ffind_composition_internal): Check POS
3386 for validity.
3387
0ae83348
EZ
33882001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3389
3390 * editfns.c (Fmessage_box): If the frame is not under a window
3391 system, output the message in the echo area.
3392
e4cdc335
RS
33932001-06-14 Richard M. Stallman <rms@gnu.org>
3394
3395 * xdisp.c (try_window_id): When EOB is visible, don't treat
3396 insertion at EOB as if it were "off the bottom of the screen."
3397
a55a5f3c
AI
33982001-06-11 Andrew Innes <andrewi@gnu.org>
3399
3400 * w32proc.c (create_child): Add new parameter is_gui_app.
3401 (w32_executable_type): Add new parameter is_gui_app.
3402 (sys_spawnve): Use it.
3403 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3404 SIGQUIT. This matches better how the signals are interpreted by
3405 MSVC compiled programs.
3406 (syms_of_ntproc): Update docstring.
3407
1b85dc1c
SM
34082001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3409
3410 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3411 well otherwise note_mouse_highlight might optimize away highlighting
3412 if we pass over that same overlay again.
3413
b75f8eab
EZ
34142001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3415
3416 * lread.c (Fload): Document that the argument is run via
3417 substitute-in-file-name.
3418
94843cc1
GM
34192001-05-31 Gerd Moellmann <gerd@gnu.org>
3420
b14659e6
GM
3421 * Makefile.in (bootstrap-doc): New target.
3422 (bootstrap-emacs): Depend on it.
3423
0894672f
GM
3424 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3425 auto-save-list-file-name when shutting down Emacs, because
3426 creating the directory might signal an error, and leaves
3427 Emacs in a strange state.
3428
94843cc1
GM
3429 * term.c: (tty_cursor_hidden): New variable.
3430 (update_begin): Don't call tty_hide_cursor. Clean up.
3431 (update_end, set_terminal_window, set_scroll_region): Clean up.
3432 (ring_bell, reset_terminal_modes): Clean up.
3433 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3434 on tty_cursor_hidden.
3435 (write_glyphs): Call tty_hide_cursor.
3436
db3a49a6
SM
34372001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3438
3439 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3440
8bd189fb
GM
34412001-05-30 Gerd Moellmann <gerd@gnu.org>
3442
6f1be3b9
GM
3443 * xfns.c (enum image_value_type): New enumerator
3444 IMAGE_STRING_OR_NIL_VALUE.
3445 (parse_image_spec): Handle it.
3446 (xbm_format, pbm_format): Use it for :foreground and :background.
3447 (xbm_load, pbm_load): Check for nil color names.
3448
8bd189fb
GM
3449 * xterm.c (note_mouse_highlight): If an overlapping overlay
3450 exists, but we find that we highlight the same overlay as before,
3451 don't do the highlighting again.
3452
7bdba03c
GM
34532001-05-29 Gerd Moellmann <gerd@gnu.org>
3454
4c329aa8
GM
3455 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3456 Protect unibyte strings created by replacing their multibyte
3457 equivalents in menu_items.
3458
e15e2828
GM
3459 * keymap.c (Fsingle_key_description): NUL-terminate the string
3460 buffer before calling build_string.
3461
7bdba03c
GM
3462 * callproc.c (Fcall_process): Deal with decode_coding returning
3463 CODING_FINISH_INCONSISTENT_EOL.
3464
89c8dc6c
GM
34652001-05-28 Gerd Moellmann <gerd@gnu.org>
3466
db3a49a6 3467 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3468 an item's name with its key description in case the description
3469 is a multibyte string.
3470
3471 * keymap.c (Fsingle_key_description): Create a multibyte string
3472 only if necessary.
3473
eb04d6cd
GM
3474 * macros.c (Fstart_kbd_macro): Doc fix.
3475
8bd6307f
GM
3476 * xterm.c (cursor_in_mouse_face_p): New function.
3477 (x_draw_stretch_glyph_string): Use it to choose a different GC
3478 when drawing a cursor within highlighted text.
3479
e26c4089
GM
3480 * editfns.c (char_property_eq): Put in #if 0.
3481
3482 * indent.c (string_display_width): Put in #if 0.
3483
3484 * lread.c (Fload): Remove unused label.
3485
89c8dc6c
GM
3486 * termcap.c (speeds): Put in #if 0.
3487
9a1211f2
GM
34882001-05-18 Gerd Moellmann <gerd@gnu.org>
3489
29148a3f
GM
3490 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3491
9a1211f2
GM
3492 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3493 transformation matrix by 10.
3494
09393d07
GM
34952001-05-16 Gerd Moellmann <gerd@gnu.org>
3496
3497 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3498 only if it's equal to the former foreground pixel color.
db3a49a6 3499 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3500 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3501
460e6bae
GM
35022001-05-16 Dave Love <fx@gnu.org>
3503
3504 * insdel.c (signal_before_change, signal_after_change): Consider a
3505 local change hook which changes the buffer.
99c78ce8
GM
3506
3507 * process.c (read_process_output): Don't call signal_after_change
3508 and update_compositions after insert_from_string_before_markers.
3509
dbcf3c03
GM
35102001-05-16 Gerd Moellmann <gerd@gnu.org>
3511
a90b3d3c
GM
3512 * xfaces.c (split_font_name): Use the right field when
3513 checking for `[...]' syntax.
3514
1b7818b4
GM
3515 * buffer.c (copy_overlays): New function.
3516 (clone_per_buffer_values): Use it.
3517
3518 * buffer.h (OVERLAY_PLIST): New macro.
3519
9bae8781
GM
3520 * keymap.c (Fsingle_key_description): Replace a build_string with
3521 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3522
dbcf3c03
GM
3523 * fontset.c (Ffontset_info): Check that face is non-null
3524 before accessing its fields.
3525
8a1ae4dd
GM
35262001-05-15 Gerd Moellmann <gerd@gnu.org>
3527
18a0a39e
GM
3528 * keyboard.c (read_key_sequence): Prevent generating a fake
3529 prefix key twice.
3530
e335b66a
GM
3531 * xfaces.c (split_font_name): Handle `[...]' for the right
3532 font name fields.
3533
8a1ae4dd
GM
3534 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3535 of CCL_STAT_INVALID_CMD.
3536
3cf80731
SM
35372001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3538
33568849
SM
3539 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3540 in <var> has no default value yet.
3541
3cf80731
SM
3542 * xfaces.c (try_alternative_families): First try the FAMILY.
3543 And if nothing is found in the end, try again with scalable fonts.
3544 (try_font_list): Let try_alternative_families do a bit more of
3545 the work. Only use FAMILY if it is not nil.
3546 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3547
933b0249
GM
35482001-05-14 Gerd Moellmann <gerd@gnu.org>
3549
58e5af83
GM
3550 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3551 pointer shape when show_mouse_face has already done it.
33568849 3552
58e5af83 3553 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3554 full-width rows.
3555
7b16a6bf
GM
3556 * xfaces.c (split_font_name): Make sure to leave the loop
3557 with the right value of `i'.
3cf80731 3558
933b0249
GM
3559 * xfaces.c (split_font_name): Handle matrix transformations
3560 in the pixel and point size fields of XLFD font names.
3561 (xlfd_point_size): Likewise.
3562
dddcbf00
EZ
35632001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3564
3cf80731 3565 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3566 (x_to_w32_font): Add prototype.
3567
7689ef0b
EZ
3568 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3569 redefining, to avoid compiler warnings.
3570
e7c15bba
EZ
3571 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3572
dddcbf00
EZ
3573 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3574 (w32_get_bdf_glyph): Cast between unsigned char and char when
3575 passing arguments to subroutines, to shut up compiler warnings.
3576 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3577 GET_HEX_VAL.
3578
3579 * xfaces.c: Include keyboard.h before frame.h, not after it.
3580
3581 * widget.c: Include keyboard.h before frame.h.
3582
3583 * w32term.h (struct image, struct face): Forward declaration, to
3584 avoid compiler warnings.
3585
7bd2d083
GM
35862001-05-11 Gerd Moellmann <gerd@gnu.org>
3587
47e72862
GM
3588 * keyboard.c (read_key_sequence): Don't modify events when
3589 generating fake prefix keys (mode-line, scroll-bar, ...) since
3590 this prevents proper processing of such events when pushed back
3591 into unread-command-events.
3592
dd5f324b
GM
3593 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3594 actually redrawn. Make the function static.
3595 (note_mouse_highlight): Fix a case where the mouse cursor
3596 was changed back to the text cursor.
3597
3598 * xterm.h (clear_mouse_face): Remove prototype.
3599
d88a79d4
GM
3600 * xdisp.c (try_window_id): Fix the fix and set the right
3601 window_end_vpos.
3602
3603 * xdisp.c (try_window_id): Fix computation of window end in the
3604 case that lines were deleted at the end of the window. Add some
3605 more debug_method_adds.
0416532f 3606
7bd2d083
GM
3607 * xfaces.c (try_alternative_families): New function.
3608 (try_font_list): Use it. If ATTRS specifies a family, check
3609 fonts from that family first.
3610 (choose_face_font): Remove code setting the family part of
3611 the pattern to nil.
3612
23fca891
GM
36132001-05-10 Gerd Moellmann <gerd@gnu.org>
3614
ff9aa2ca
GM
3615 * xdisp.c (try_window_id): Fix case of all changes before
3616 the window start.
7b2654b5 3617
23fca891
GM
3618 * xdisp.c (try_window_id): Add some xasserts.
3619
e9726794
GM
36202001-05-09 Gerd Moellmann <gerd@gnu.org>
3621
3622 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3623
9e53a675
GM
36242001-05-09 Dave Love <fx@gnu.org>
3625
3626 * xdisp.c (GIVE_UP): Fix for K&R C.
3627
0d487c52
GM
36282001-05-09 Gerd Moellmann <gerd@gnu.org>
3629
fe88d421
GM
3630 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3631
0d487c52
GM
3632 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3633 back to the text cursor shape without need.
3634
1e9fc92e
GM
36352001-05-07 Gerd Moellmann <gerd@gnu.org>
3636
a2a6232e
GM
3637 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3638
3639 * dispextern.h (inverse_video): Declare extern.
3640
1e9fc92e
GM
3641 * keyboard.c (delete_kboard): Handle the case that selected_frame
3642 has been deleted in the course of x_connection_closed.
3643
12949a7f
EZ
36442001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3645
7b2654b5
SM
3646 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3647 Fix the change from 2001-04-30.
12949a7f 3648
2fa2f461
GM
36492001-05-03 Gerd Moellmann <gerd@gnu.org>
3650
a779d213
GM
3651 * xfns.c (file_dialog_unmap_cb): New function.
3652 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3653 where a dialog is closed via the window manager.
3654
7b2654b5 3655 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3656 the window start or all below the window end mostly rewritten.
3657 (redisplay_window): Move the tests if try_window_id is
3658 applicable to try_window_id.
3659 (GIVE_UP): New macro.
3660
3356df63
GM
36612001-05-02 Gerd Moellmann <gerd@gnu.org>
3662
a39202f6 3663 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3664 currently being updated, mark the frame garbaged.
3665 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3666 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3667
3356df63
GM
3668 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3669 again if it has already been drawn.
3670
a9d2fd1d
SM
36712001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3672
3673 * syntax.c (update_syntax_table): Check that oldi has the same
3674 properties as old_prop before deciding not to invalidate.
3675
c95fc5f1
GM
36762001-04-30 Gerd Moellmann <gerd@gnu.org>
3677
a9793e45
GM
3678 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3679 read-only text that is so because of text properties.
3680
c95fc5f1 3681 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3682 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3683 windows that are components of a Lucid menu bar.
3684
5a5d9185
GM
36852001-04-27 Gerd Moellmann <gerd@gnu.org>
3686
3687 * term.c (turn_on_face): Fix reverse video handling on terminals
3688 that don't support colors.
3689
ba973f7a
GM
36902001-04-26 Gerd Moellmann <gerd@gnu.org>
3691
3692 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3693 a non-buffer.
3694
8c56a983
GM
36952001-04-25 Gerd Moellmann <gerd@gnu.org>
3696
a728644c
GM
3697 * term.c (toggle_highlight): New function.
3698 (turn_on_face): Change handling of reverse video.
3699
7b2654b5
SM
3700 * process.c (wait_reading_process_input):
3701 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3702
bfd8410f
GM
3703 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3704 of the number of overlays to check.
3705
be2488ca
GM
3706 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3707
8c56a983
GM
3708 * xdisp.c (try_window_id): Fix a case where window_end_pos
3709 and window_end_bytepos were not adjusted.
3710
522d42f7
GM
37112001-04-23 Gerd Moellmann <gerd@gnu.org>
3712
3713 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3714 zero instead of -1.
3715
78c1afb6
EZ
37162001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3717
a9d2fd1d
SM
3718 * process.c (wait_reading_process_input) [!subprocesses]:
3719 Don't reference waiting_for_user_input_p, it's not defined in the
3720 branch without async subprocesses support.
78c1afb6 3721
a2fab450
GM
37222001-04-19 Gerd Moellmann <gerd@gnu.org>
3723
a122a38e
GM
3724 * keyboard.c (delete_kboard): Prevent a dangling reference
3725 from current_kboard to KB, which is freed.
3726
a9d2fd1d
SM
3727 * process.c (wait_reading_process_input):
3728 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3729 read_key_sequence aware of buffer changes from under it.
3730
0f8d6dc7
GM
37312001-04-18 Gerd Moellmann <gerd@gnu.org>
3732
eeffb293
GM
3733 * xfaces.c (Qscalable_fonts_allowed): New variable.
3734 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3735 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3736 removed.
eeffb293 3737 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3738 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3739 for scalable-fonts-allowed to t.
eeffb293 3740
0f8d6dc7
GM
3741 * fileio.c (Finsert_file_contents): If the file size returned from
3742 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3743 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3744
eec2d1de
EZ
37452001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3746
3747 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3748 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3749 (__memalign_hook): Make the two prototypes consistent.
3750
f4f480bd
GM
37512001-04-17 Gerd Moellmann <gerd@gnu.org>
3752
3753 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3754 matrix of mini-windows.
3755
52283633
SM
37562001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3757
3758 * intervals.c (find_interval): Don't rebalance during signal handling.
3759
ec2423c9
GM
37602001-04-11 Gerd Moellmann <gerd@gnu.org>
3761
30cb0001 3762 * fns.c: Include blockinput.h.
52283633 3763
ec2423c9
GM
3764 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3765
719d83ad
GM
37662001-04-10 Gerd Moellmann <gerd@gnu.org>
3767
60f8d735
GM
3768 * fns.c (Fcompare_strings): Fix return values.
3769
afffeb57
GM
3770 * window.c (window_scroll): Change the meaning of N to mean
3771 N screen-fulls or N lines.
3772 (window_scroll_pixel_based, window_scroll_line_based)
3773 (scroll_command, Fscroll_other_window): Change accordingly.
3774
52283633
SM
3775 * window.c (window_scroll_pixel_based, Frecenter):
3776 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3777 height of the window.
3778
3779 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3780 instead of using it.last_visible_y for the height of the window.
52283633 3781
719d83ad 3782 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3783 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3784
3785 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3786 able to write to hidden and system files. From Dan Holmsand
3787 <dan@eyebee.com>.
719d83ad 3788
8ddf3ee1
GM
3789 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3790 Holmsand <dan@eyebee.com>.
719d83ad 3791
522ed7fb
GM
37922001-04-09 Gerd Moellmann <gerd@gnu.org>
3793
9170e5d4
GM
3794 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3795
522ed7fb
GM
3796 * window.c (window_internal_height): Return 1 less if the
3797 window has a header line.
3798
3799 * xdisp.c (try_window_id): When scrolling on a terminal, take
3800 the change of window_internal_height into account.
3801
ceeb3d7d
EZ
38022001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3803
3804 * gmalloc.c (align): If the argument SIZE would overflow
3805 __malloc_ptrdiff_t, fail right away.
3806
63685b9d
GM
38072001-04-06 Gerd Moellmann <gerd@gnu.org>
3808
3809 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3810 Make sure the tooltip is completely visible.
3811 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3812
3813 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3814
3815 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3816
3ffb33bb
DL
38172001-04-06 Dave Love <fx@gnu.org>
3818
52283633
SM
3819 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3820 Fix test of `from'.
3ffb33bb 3821
869fb12c
GM
38222001-04-06 Gerd Moellmann <gerd@gnu.org>
3823
52283633 3824 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3825
869fb12c
GM
3826 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3827
441bf856
GM
38282001-04-05 Gerd Moellmann <gerd@gnu.org>
3829
4d664b04
GM
3830 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3831
52283633 3832 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3833
30ca89f5
GM
3834 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3835 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3836
3837 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3838 shell widget's position only if it is non-null.
3839
52283633
SM
3840 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3841 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3842
81a81c0f
GM
3843 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3844 FILENAME to bring it in synch with the documentation.
3845
441bf856
GM
3846 * xfaces.c (realizing_basic_faces_p): Renamed from
3847 realize_default_face_p.
3848 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3849 (realize_default_face): Don't set the flag.
3850
702a1e8e
GM
38512001-04-04 Gerd Moellmann <gerd@gnu.org>
3852
1013f4e3
GM
3853 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3854
52283633
SM
3855 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3856
1013f4e3
GM
3857 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3858 the buffer that was used for echoing.
3859
702a1e8e
GM
3860 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3861 (first_font_matching): Removed unused function.
3862 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3863 (may_use_scalable_font_p): Remove parameter FONT; rename
3864 parameter NAME to FONT.
3865 (x_face_list_fonts): Fix missing bounds check.
3866 (realizing_default_face_p): New variable.
3867 (realize_default_face): Set and clear that flag.
3868 (x_face_list_fonts): When called during the realization of the
3869 default face, and no matching fonts are found when ignoring
3870 scalable fonts and fonts matching a regexp from
3871 face-ignored-fonts, try without ignoring fonts.
3872
f9dbcda4
GM
38732001-04-03 Gerd Moellmann <gerd@gnu.org>
3874
ad18ffb1
GM
3875 * xfns.c (postprocess_image): New function.
3876 (lookup_image): Call it for all image types except PostScript.
3877 (x_kill_gs_process): Call postprocess_image.
3878
f9dbcda4
GM
3879 * xterm.c (x_use_underline_position_properties): New variable.
3880 (x_draw_glyph_string): Use it.
3881 (syms_of_xterm): DEFVAR_BOOL it.
3882
651f03b6
GM
38832001-04-02 Gerd Moellmann <gerd@gnu.org>
3884
3885 * xterm.c (x_alloc_nearest_color_1): New function.
3886 (x_alloc_nearest_color): Use it.
3887 (x_color_cells): Take a Display as argument, instead of a frame.
3888 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3889 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3890 (x_initialize): Register cvt_string_to_pixel as resource converter
3891 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3892
73d75a62
GM
38932001-03-30 Gerd Moellmann <gerd@gnu.org>
3894
b2046df8
GM
3895 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3896 (set_iterator_to_next): If a string from a display property ends,
3897 consider the case that this might also be the end of an
3898 overlay string having the display property.
3899
52283633 3900 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3901
87d8eba4
GM
3902 * xdisp.c (reseat_to_string): Undo last change.
3903
73d75a62
GM
3904 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3905 matrix of a window when the header line changes, when
3906 new rows are allocated, or when the width changes.
3907
911a2406
EZ
39082001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3909
52283633 3910 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3911
aea51abe
EZ
39122001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3913
3914 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3915 deprecated.
3916
176bc847
GM
39172001-03-29 Gerd Moellmann <gerd@gnu.org>
3918
ed31fabf
GM
3919 * data.c (Fsubr_interactive_form): New function.
3920 (syms_of_data): Defsubr it.
3921
176bc847
GM
3922 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3923 (live_float_p, live_misc_p): Return 1 only if the offset of the
3924 pointer in its block is >= 0.
3925
e59d0e9d
GM
39262001-03-28 Paul Eggert <eggert@twinsun.com>
3927
3928 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3929 microseconds calcuation. Avoid double-rounding problem.
3930 In doc string, warn that the result is approximate.
3931
f827b862
GM
39322001-03-28 Gerd Moellmann <gerd@gnu.org>
3933
30a3f61c
GM
3934 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3935 bind `inhibit-eval-during-redisplay' to t.
3936
3937 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3938
3939 * xdisp.c (inhibit_eval_during_redisplay)
3940 (Qinhibit_eval_during_redisplay): New variables.
3941 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3942 don't eval, return nil instead.
3943 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3944 Initialize Qinhibit_eval_during_redisplay.
3945
e719f5ae
GM
3946 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3947 the iterator's multibyte_p flag.
3948
deb2613a
GM
3949 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3950 instead of setting it to zero; it's incremented for each frame
3951 where the menu face is changed.
3952
52283633
SM
3953 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3954 change bottom shadow accordingly.
3955
3956 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3957 intersections here.
3958 (expose_window): Do it here instead.
52283633 3959 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3960
f827b862
GM
3961 * bytecode.c (BYTE_CODE_QUIT): New macro.
3962 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3963
4bde0ebb
GM
39642001-03-27 Gerd Moellmann <gerd@gnu.org>
3965
607ec83c
GM
3966 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3967 Give up if matrix starts in an ellipsis.
3968 (init_from_display_pos): Do nothing if POS doesn't specify
3969 a dpvec_index but the iterator has such a position.
3970
0245398f
GM
3971 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3972
aba25348
GM
3973 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3974 x/y position is (0, 0) after destroying the menu bar, restore
3975 its original position.
3976
4bde0ebb
GM
3977 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3978 (init_from_display_pos): Use it.
3979 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3980
8cdb267e
GM
39812001-03-26 Gerd Moellmann <gerd@gnu.org>
3982
3983 * xdisp.c (try_window_id): Undo last change.
3984
9948db79
EZ
39852001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3986
3987 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3988
3989 * buffer.c (syms_of_buffer): Doc fix.
3990
2eddf899
GM
39912001-03-26 Gerd Moellmann <gerd@gnu.org>
3992
3993 * xfaces.c (x_update_menu_appearance): Use local variable
3994 popup_path for setting font resources.
3995
6c145d35
EZ
39962001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3997
6a65b1b5
EZ
3998 * frame.c (Fframe_list): Don't reference tip_frame if
3999 HAVE_WINDOW_SYSTEM is not defined.
4000
6c145d35
EZ
4001 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4002 <wl@gnu.org>.
4003
d74c1900
GM
40042001-03-25 Gerd Moellmann <gerd@gnu.org>
4005
20fbd925
GM
4006 * xdisp.c (init_from_display_pos): Test invisible property
4007 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4008
927c5b3b
GM
4009 * xdisp.c (redisplay_internal) <update one window>: Make sure
4010 last_arrow_position and last_arrow_string are set.
4011
d74c1900
GM
4012 * frame.c (Fframe_list): Don't return a tooltip frame.
4013
091f8878
GM
40142001-03-23 Gerd Moellmann <gerd@gnu.org>
4015
52283633
SM
4016 * xdisp.c (mark_window_display_accurate_1): New function,
4017 extracted from mark_window_display_accurate.
4018 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4019 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4020 (mark_window_display_accurate): Use it.
4021 (redisplay_internal): Use it for the selected window.
4022 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4023 for the selected frame.
4024
ac90c44f
GM
4025 * xdisp.c Use make_number, for readability.
4026 (try_window_id): Disable rows below the window end.
4027 (try_window_reusing_current_matrix): Use cursor_row_p.
4028 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4029 of rows.
4030 (init_from_display_pos): If POS specifies a position in a display
4031 vector, maybe get the iterator set up for that ellipsis.
43c09969 4032
091f8878
GM
4033 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4034
991786dd
EZ
40352001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4036
4037 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4038
6c29b43c
GM
40392001-03-23 Gerd Moellmann <gerd@gnu.org>
4040
4041 * xfaces.c (x_update_menu_appearance): Use a different path
4042 for Lucid popup menus.
4043
d8731202
SM
40442001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4045
4046 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4047
4048 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4049 (string_buffer_position): Use `make_number'.
4050
f61a541b
GM
40512001-03-22 Gerd Moellmann <gerd@gnu.org>
4052
3c9e997b
GM
4053 * xfaces.c (x_update_menu_appearance): Renamed from
4054 x_set_menu_face_resources. Use different resources for popups.
4055
4056 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4057 (GC_CHECK_STRING_BYTES): Don't define.
4058
364cd450
GM
4059 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4060 Removed, together with subroutines.
4061 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4062 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4063
d8731202
SM
4064 * dispextern.h (x_set_menu_resources_from_menu_face):
4065 Remove prototype.
364cd450 4066
d8731202 4067 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4068 Remove calls to x_set_menu_resources_from_menu_face.
4069
d8731202
SM
4070 * xfaces.c (xm_set_menu_resources_from_menu_face):
4071 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4072
4073 * xmenu.c: Include widget.h.
4074 (single_submenu): Return int. Some cleanup.
4075 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4076
140330de
GM
40772001-03-21 Gerd Moellmann <gerd@gnu.org>
4078
4079 * xterm.c (x_update_window_end): Handle overwritten mouse face
4080 also for tool bar windows.
4081 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4082 DRAW is DRAW_IMAGE_RAISED.
4083
1741905c
GM
40842001-03-20 Gerd Moellmann <gerd@gnu.org>
4085
fa88947e
GM
4086 * print.c (syms_of_print): Doc fixes.
4087
1741905c
GM
4088 * fns.c (Fmd5): Doc fix.
4089
ade0bee1
GM
40902001-03-19 Gerd Moellmann <gerd@gnu.org>
4091
357e7376
GM
4092 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4093 Clear area of the frame not occupied by the scroll bar.
4094
c2c097cc
GM
4095 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4096 tip frame's root window buffer to *tip* right after creating
4097 the frame.
4098
ade0bee1
GM
4099 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4100 is an integer don't have to be for space characters.
4101
88c6e37e
GM
41022001-03-16 Gerd Moellmann <gerd@gnu.org>
4103
52283633
SM
4104 * indent.c (current_column, current_column_1, Fmove_to_column)
4105 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4106
c62eed76
KH
41072001-03-15 Kenichi Handa <handa@etl.go.jp>
4108
4109 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4110 drawing glyph string.
4111
c899e7e6
GM
41122001-03-15 Gerd Moellmann <gerd@gnu.org>
4113
d0bbfc99
GM
4114 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4115 (command_loop_1): Undo last change.
4116
03d1a189
GM
4117 * xterm.c (fast_find_position): Return the correct vpos.
4118
c899e7e6 4119 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4120 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4121 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4122 Call store_symval_forwarding with BUF null.
4123 (set_internal): Call store_symval_forwarding with the BUF
4124 parameter passed to set_internal. Formerly, the value was always
4125 set in the current buffer; the buffer recorded in specbind for
4126 this case wasn't used.
4127 (arith_driver): Reindent.
4128
52283633
SM
4129 * buffer.c (swap_out_buffer_local_variables):
4130 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4131
4132 * lisp.h (store_symval_forwarding): Change prototype.
4133
4134 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4135
57ac7c81
GM
41362001-03-14 Gerd Moellmann <gerd@gnu.org>
4137
697617d9
GM
4138 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4139 FOR_DELETION. Avoid resizing the mini-window of the selected
4140 frame if FOR_DELETION is set.
4141 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4142 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4143 signature.
4144
4145 * window.c (Fset_window_configuration): Change call to
4146 do_switch_frame to new format.
4147
4148 * keyboard.c (quit_throw_to_read_char): Change call to
4149 do_switch_frame to new format.
4150
4151 * lisp.h (do_switch_frame): Change prototype.
4152
819dce0f
GM
4153 * frame.c (Fframe_parameters): In the `buffer-list' frame
4154 parameter, store the buffer list of FRAME, not the list of the
4155 selected frame.
4156
57ac7c81
GM
4157 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4158 box just because the glyph row's full_width_p flag is set.
4159
65008712
GM
41602001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4161
4162 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4163 skip the padding blanks inserted in extend_face_to_end_of_line,
4164 before checking for trailing whitespace.
4165
159cf431
GM
41662001-03-13 Gerd Moellmann <gerd@gnu.org>
4167
52283633 4168 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4169 Remove special handling for LessTif/Motif.
4170 (toplevel): Don't include Xm/Xm.h.
4171
52283633
SM
4172 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4173 Remove workaround code for LessTif; it doesn't work anymore.
4174
2564ea1b 4175 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4176 Xm/ScrollBarP.h.
afcdc0a1 4177
52283633
SM
4178 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4179 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4180 contemporary LessTif.
4181
52283633
SM
4182 * xfaces.c (xm_set_menu_resources_from_menu_face):
4183 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4184
159cf431
GM
4185 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4186 removing button grabs.
4187
c6f7429a
KH
41882001-03-13 Kenichi Handa <handa@etl.go.jp>
4189
cb82d767
KH
4190 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4191 and clip-large-size-font as obsolete.
4192
c6f7429a
KH
4193 * lread.c (read_multibyte): Check the validity of multibyte
4194 sequence. If invalid, return the first byte.
4195
760cefb5
GM
41962001-03-12 Gerd Moellmann <gerd@gnu.org>
4197
4198 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4199 before running the command; timer functions or process
4200 filters may have set it.
4201
5141f9d0
EZ
42022001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4203
4204 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4205 Doc fix.
4206
b6a15240
GM
42072001-03-12 Gerd Moellmann <gerd@gnu.org>
4208
4209 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4210 to sprintf.
4211
95522746
GM
42122001-03-09 Gerd Moellmann <gerd@gnu.org>
4213
db14cfc5
GM
4214 * dispextern.h (string_buffer_position): Add prototype.
4215
52283633 4216 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4217 (single_display_prop_string_p): New functions.
4218
4219 * xterm.c (note_mouse_highlight): If there's no help-echo on
4220 a string, look at the buffer text ``under'' it.
4221
4222 * keyboard.c (make_lispy_event): Add string info to the event,
4223 analogous to what's done on mode lines.
4224 (read_key_sequence): For a click on a string, consider `local-map'
4225 and `keymap' of that string.
4226
52283633
SM
4227 * keyboard.c (make_lispy_event, make_lispy_movement):
4228 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4229
4230 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4231
4232 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4233 POS; return void.
4234
95522746
GM
4235 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4236 flags argument to emacs_open; it seems to conflict with O_EXCL.
4237
898a399d
KH
42382001-03-09 Kenichi Handa <handa@etl.go.jp>
4239
28cd4910
KH
4240 * composite.h (struct composition): Change types of members;
4241 glyph_len to unsigned, width to unsigned short.
898a399d 4242
4cdf6a6c
AI
42432001-03-08 Andrew Innes <andrewi@gnu.org>
4244
4245 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4246 menu titles.
4247
129004d3
GM
42482001-03-08 Gerd Moellmann <gerd@gnu.org>
4249
221dd3e7
GM
4250 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4251 instead of nil.
4252
52283633 4253 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4254 help-echo in strings.
4255 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4256 (fast_find_string_pos): New function.
4257
52283633
SM
4258 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4259 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4260
4261 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4262 Handle `mouse-face'.
4263
4264 * dispextern.h (face_at_string_position): Change prototype.
4265
52283633 4266 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4267
129004d3
GM
4268 * keyboard.c (make_lispy_event): Avoid generating drag events
4269 if the mouse hasn't actually moved to another buffer position.
52283633 4270
80c8ab8c
DL
42712001-03-08 Dave Love <fx@gnu.org>
4272
129004d3 4273 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4274
989521fd
GM
42752001-03-08 Gerd Moellmann <gerd@gnu.org>
4276
4277 * process.c (Fset_process_window_size): Fix a typo.
4278
bb5c338d
KH
42792001-03-08 Kenichi Handa <handa@etl.go.jp>
4280
4281 * coding.c (detect_coding_sjis): Do more rigid check.
4282 (detect_coding_big5): Likewise.
4283 (decode_coding_sjis_big5): Likewise.
4284 (Fdetect_coding_region): Call detect_coding_system with tailing
4285 anchor byte `\0' for more rigid detection.
52283633 4286 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4287 (Fdetect_coding_string): Likewise.
4288
8b8f9197
SM
42892001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4290
4291 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4292 a string before extracting its data.
4293
3bdf2660
GM
42942001-03-07 Gerd Moellmann <gerd@gnu.org>
4295
4296 * window.c (Frecenter): Rewrite code handling negative values
4297 of ARG on graphical frames.
4298
42992001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4300
4301 * window.c (displayed_window_lines): If W->start is outside the
4302 accessible portion of the buffer, call start_display with BEGV or
4303 ZV instead of W->start.
4304
471f86b9
GM
43052001-03-07 Gerd Moellmann <gerd@gnu.org>
4306
2ab62c6c
GM
4307 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4308
471f86b9
GM
4309 * process.c (Fset_process_filter): Don't crash if the input
4310 file descriptor of PROCESS is closed.
4311 (Fset_process_window_size): Likewise.
4312
101922c3
GM
43132001-03-06 Kenichi Handa <handa@etl.go.jp>
4314
4315 * xterm.c (XTflash): Make the timeout of select shorter, and call
4316 select repeatedly until the desired time expires.
4317
45d051a7
GM
43182001-03-06 Gerd Moellmann <gerd@gnu.org>
4319
4320 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4321
4322 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4323
4324 * lisp.h (Vwindow_list): Declare extern.
4325
8f372c46
EZ
43262001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4327
4328 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4329
f16a7aa5
GM
43302001-03-06 Gerd Moellmann <gerd@gnu.org>
4331
157ae273
GM
4332 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4333 to detect a case where we have to highlight a different region
4334 despite not having left the currently highlighted region.
4335 Set mouse_face_overlay in the x_display_info.
45d051a7 4336 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4337
4338 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4339
4340 * buffer.c (mouse_face_overlay_overlaps): New function.
4341
4342 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4343 (Qmouse_face): Declare extern.
4344
f16a7aa5
GM
4345 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4346 if face_change_count is non-zero.
4347
827afcac
KH
43482001-03-06 Kenichi Handa <handa@etl.go.jp>
4349
4350 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4351 that the source is unibyte.
4352
14c7242e
DL
43532001-03-05 Dave Love <fx@gnu.org>
4354
827afcac 4355 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4356
c28b847b
GM
43572001-03-05 Gerd Moellmann <gerd@gnu.org>
4358
4359 * minibuf.c (read_minibuf): Clean up the binding stack if
4360 called noninteractively.
4361
b86644f2
KH
43622001-03-05 Kenichi Handa <handa@etl.go.jp>
4363
4364 * coding.c (syms_of_coding): Docstring modified.
4365
203682cc 43662001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4367
4368 * charset.c (char_to_string): If a single byte char has modifier
4369 bits that can't be reflected to the character code, ignore them
45d051a7 4370 instead of signaling an error.
b86644f2 4371
e30bd7b7
EZ
43722001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4373
4374 * s/msdos.h: Update copyright notice.
4375
4376 * dosfns.h: Update copyright notice.
4377
4378 * dosfns.c: Update copyright notice.
4379
4380 * msdos.c: Update copyright notice.
4381
b52b65bd
GM
43822001-03-02 Gerd Moellmann <gerd@gnu.org>
4383
4384 * xterm.c (glyph_rect): New function.
4385 (XTmouse_position): Use it to raise the threshold for mouse
4386 movement event generation.
4387
53c4b1e6
EZ
43882001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4389
4390 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4391 specifies (reverse . t), reverse the initial screen colors.
4392 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4393 but we are reversing the colors, set bg_set, not fg_set.
4394 Likewise for setting background-color and reversing: set fg_set.
4395 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4396 in effect.
4397
4398 * xfaces.c (Finternal_set_lisp_face_attribute)
4399 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4400 parameters alist.
4401
f964b4d7
GM
44022001-03-02 Gerd Moellmann <gerd@gnu.org>
4403
ef53d75e
GM
4404 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4405 to a single slash in the middle of file names.
4406
52283633 4407 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4408 Accept only alphanumeric time zone names.
4409
f964b4d7
GM
4410 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4411 or width area.
4412 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4413 a widget to zero height.
52283633 4414
c3c45f65
GM
44152001-03-01 Gerd Moellmann <gerd@gnu.org>
4416
4417 * window.c (Fwindow_end): Call move_it_past_eol only if
4418 ending up on a partially visible line.
4419
028d739a
DL
44202001-03-01 Dave Love <fx@gnu.org>
4421
4422 * ccl.c (Fccl_execute): Doc fix.
4423
57c5889c
GM
44242001-03-01 Gerd Moellmann <gerd@gnu.org>
4425
35f59f6b
GM
4426 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4427 of the tool bar before calling x_figure_window_size.
4428
f84ff02c
GM
4429 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4430 NULL after destroying it, otherwise XTread_socket can access a
4431 destroyed widget when input is unblocked.
4432
8b8f9197 4433 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4434
57c5889c
GM
4435 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4436 same name as before, although there was a change in fontsets.
4437
224227d1
KR
44382001-02-28 Ken Raeburn <raeburn@gnu.org>
4439
4560730a
KR
4440 * lisp.h (Fframe_parameter): Declare.
4441
224227d1 4442 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4443 Lisp_Object.
224227d1 4444
ece93c02
GM
44452001-02-28 Gerd Moellmann <gerd@gnu.org>
4446
11ef99b9
GM
4447 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4448 NULL instead.
4449
4450 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4451 NULL instead.
4452
ece93c02
GM
4453 * alloc.c (toplevel): Include process.h.
4454 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4455 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4456 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4457 (allocate_vector, allocate_hash_table, allocate_window)
4458 (allocate_frame, allocate_process, allocate_other_vector):
4459 New functions.
ece93c02
GM
4460 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4461 (mark_maybe_pointer): New function.
52283633 4462 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4463 remain and not Lisp_Objects.
4464 (min_heap_address, max_heap_address): New variables.
4465 (mem_find): Return MEM_NIL if START is below min_heap_address or
4466 above max_heap_address.
4467 (mem_insert): Compute min_heap_address and max_heap_address.
4468
4469 * process.c (make_process): Use allocate_process.
4470
4471 * frame.c (make_frame): Use allocate_frame.
4472
4473 * window.c (make_window, make_dummy_parent): Use allocate_window.
4474 (Fcurrent_window_configuration): Use allocate_other_vector.
4475
4476 * lisp.h (allocate_vectorlike): Remove prototype.
4477 (allocate_vector, allocate_other_vector, allocate_frame)
4478 (allocate_window, allocate_process, allocate_hash_table):
4479 Add prototypes.
4480
4481 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4482 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4483
063af457
KH
44842001-02-27 Kenichi Handa <handa@etl.go.jp>
4485
4486 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4487 treat the produced bytes as a valid multibyte sequence.
4488
4489 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4490 (ccl_driver) <CCL_WriteMultibyteChar2>:
4491 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4492 <ccl_finish>: Set ccl->eight_bit_control properly.
4493
4494 * ccl.h (struct ccl_program): New member eight_bit_control.
4495
f58c6494
SM
44962001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4497
4498 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4499 accessible_keymaps_char_table.
4500 (accessible_keymaps_char_table): Obey `is_metized'.
4501 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4502 Lisp_Object.
4503
c596c392
GM
45042001-02-26 Gerd Moellmann <gerd@gnu.org>
4505
4506 * dispnew.c: Check HAVE_TERM_H before including term.h.
4507
425de386
AI
45082001-02-24 Andrew Innes <andrewi@gnu.org>
4509
4510 * makefile.w32-in: Update copyright notice.
4511
2ba11bbd
SM
45122001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4513
4514 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4515
66c56ed1
KH
45162001-02-24 Kenichi Handa <handa@etl.go.jp>
4517
4c1593ce
KH
4518 * Makefile.in (lisp): Add international/utf-8.elc.
4519
66c56ed1
KH
4520 * fontset.c (Fnew_fontset): Fix handling of the case that an
4521 element of FONTLIST is a cons of family and registry.
4522
796ead7e
JR
45232001-02-23 Jason Rumney <jasonr@gnu.org>
4524
4525 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4526 to height unconditionally.
4527
4528 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4529 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4530 (x_insert_glyphs): Call window_box_left to obtain the left
4531 x-coordinate of the area to shift.
4532
4533 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4534 safe_run_hooks.
4535
f6839838
AI
45362001-02-22 Andrew Innes <andrewi@gnu.org>
4537
52283633 4538 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4539 ($(BLD)\dispnew.obj):
4540 ($(BLD)\editfns.obj):
4541 ($(BLD)\fileio.obj):
4542 ($(BLD)\filelock.obj):
4543 ($(BLD)\keyboard.obj):
4544 ($(BLD)\w32proc.obj):
4545 ($(BLD)\process.obj):
4546 ($(BLD)\sysdep.obj): Ditto.
4547
4548 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4549 header files.
52283633
SM
4550 ($(BLD)/dispnew.$(O)):
4551 ($(BLD)/editfns.$(O)):
4552 ($(BLD)/fileio.$(O)):
4553 ($(BLD)/filelock.$(O)):
4554 ($(BLD)/keyboard.$(O)):
4555 ($(BLD)/w32proc.$(O)):
4556 ($(BLD)/process.$(O)):
f6839838
AI
4557 ($(BLD)/sysdep.$(O)): Ditto.
4558
c224f70b
GM
45592001-02-22 Gerd Moellmann <gerd@gnu.org>
4560
51695746
GM
4561 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4562 at the start of the function, check that the \n in it->c is
4563 from the iterator's current position.
52283633 4564
a61b7058
GM
4565 * xdisp.c (handle_single_display_prop): Add parameter
4566 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4567 properties which replace the display of text with something else.
4568 (handle_display_prop): Call handle_single_display_prop with
4569 additional argument saying if we already replaced text display
4570 with something else. Use AREF.
52283633 4571 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4572 (decode_mode_spec_coding): Use AREF and ASIZE.
4573
3473f362
GM
4574 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4575 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4576 * vmstime.h: Files removed.
52283633 4577
2bb58df3
GM
4578 * unexencap.c, unexfx2800.c: Files removed.
4579
c224f70b
GM
4580 * dispnew.c (direct_output_for_insert): Give up if we are showing
4581 a message or just cleared the message because we might need to
4582 resize the echo area window or display an empty echo area.
4583
ffc9ff0c
GM
45842001-02-21 Gerd Moellmann <gerd@gnu.org>
4585
0528abe1
GM
4586 * xdisp.c (redisplay_internal): Do the
4587 mark_window_display_accurate after all windows have been
4588 redisplayed because this call resets flags in buffers which are
4589 needed for proper redisplay.
4590
52283633
SM
4591 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4592 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4593 the old names.
4594
52283633
SM
4595 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4596 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4597
4598 * msdos.h (struct x_output): Rename busy_window to
4599 hourglass_window, busy_p to hourglass_p.
4600
52283633
SM
4601 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4602 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4603
4604 * xfns.c: Rename everything containing *busy_cursor* and similar
4605 to *hourglass*.
4606 (syms_of_w32fns): Rename x-busy-pointer-shape to
4607 x-hourglass-pointer-shape, display-busy-cursor to
4608 display-hourglass, busy-cursor-delay to hourglass-delay.
4609
4610 * w32fns.c: Rename everything containing *busy_cursor* and similar
4611 to *hourglass*.
4612 (syms_of_w32fns): Rename x-busy-pointer-shape to
4613 x-hourglass-pointer-shape, display-busy-cursor to
4614 display-hourglass, busy-cursor-delay to hourglass-delay.
4615
4616 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4617 of its busy_p flag.
4618
4619 * dispextern.h (start_hourglass, cancel_hourglass)
4620 (display_hourglass_p): Renamed from *busy_cursor*.
4621
ab2c5f0a
GM
46222001-02-20 Gerd Moellmann <gerd@gnu.org>
4623
d17e49a8
GM
4624 * keyboard.c (read_char): When an event from unread-command-events
4625 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4626
fa97adf6
GM
4627 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4628 equal to the current buffer.
4629
ab2c5f0a
GM
4630 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4631 nil, otherwise we're left with truncate_lines t when a message
4632 is printed with message-truncate-lines bound to t.
4633
aeac019e
GM
46342001-02-19 Gerd Moellmann <gerd@gnu.org>
4635
c8bc6f65
GM
4636 * window.c (Fmove_to_window_line): Undo last change.
4637 (displayed_window_lines): Call line_bottom_y to determine
4638 the line's bottom position.
4639
4640 * dispextern.h (line_bottom_y): Add prototype.
4641
52283633 4642 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4643 (pos_visible_p): Use it.
4644
980a2d69
GM
4645 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4646 set redisplaying_p to 0 here instead of in Frecursive_edit.
4647 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4648 set redisplaying_p.
4649
52283633 4650 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4651 New variables.
4652 (syms_of_xdisp): Initialize new variables.
4653 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4654 Specbind `inhibit-menubar-update' when updating the menu bar.
4655
65048e97
GM
4656 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4657 safe_run_hooks.
4658
4659 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4660 safe_run_hooks.
4661
a57c4026
GM
4662 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4663 is null.
4664
aeac019e
GM
4665 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4666 to the start of the file.
4667
76846b31
GM
46682001-02-16 Gerd Moellmann <gerd@gnu.org>
4669
f3f053f3 4670 * window.c (set_window_buffer): Fix last change.
52283633 4671
f3f053f3
GM
4672 * window.c (set_window_buffer): Set window's vscroll to 0.
4673
dad75588
GM
4674 * window.c (coordinates_in_window): Increase width of area
4675 where the vertical line can be dragged.
4676
c220b753
GM
4677 * xterm.c (x_set_glyph_string_background_width): Extend the
4678 background face to the end of the drawing area in the text
4679 area, only.
4680
c56b1c1b
GM
4681 * xdisp.c (handle_single_display_prop): Set iterator's position
4682 to where the `display' property starts, like for images.
4683 (dump_glyph): New function.
4684 (dump_glyph_row): Use it. Dump info about marginal areas.
4685
4686 * dispnew.c (direct_output_for_insert): Recognize more cases where
4687 glyphs can be written instead of being inserted.
4688
4689 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4690 the left x-coordinate of the area to shift.
4691
76846b31
GM
4692 * dired.c (directory_files_internal): Set result list to nil
4693 before retrying.
4694
0fc71a77
KH
46952001-02-15 Kenichi Handa <handa@etl.go.jp>
4696
4697 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4698 invalid multibyte sequence, treat *SRC as a character of
4699 eight-bit-graphic.
4700
25078b54
EZ
47012001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4702
4703 * textprop.c (Fset_text_properties): Doc fix.
4704
8399f8a0
GM
47052001-02-15 Gerd Moellmann <gerd@gnu.org>
4706
4707 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4708
9a2a6f73
DL
47092001-02-14 Dave Love <fx@gnu.org>
4710
4711 * coding.c: Doc and message fixes.
4712
bf853fee
AI
47132001-02-14 Andrew Innes <andrewi@gnu.org>
4714
4715 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4716 Emacs frame above the screen size.
4717
78c663d8
GM
47182001-02-14 Gerd Moellmann <gerd@gnu.org>
4719
4720 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4721
7cc9f69f
GM
47222001-02-13 Gerd Moellmann <gerd@gnu.org>
4723
0a411995
GM
4724 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4725 case that TO ends up beyond ZV after running before-change-functions.
4726
5ddc1b75
GM
4727 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4728 the selected window if it is showing the buffer in question.
4729
7cc9f69f
GM
4730 * dired.c (directory_files_internal): Initialize errno.
4731 (toplevel): Include errno.h.
4732
2e6621ca
GM
47332001-02-13 Kenichi Handa <handa@etl.go.jp>
4734
4735 * xfaces.c (best_matching_font): New parameter width_ratio.
4736 Multiply avgwidth by width_ratio.
4737 (choose_face_font): Call best_matching_font with width_ratio
4738 calculated from the column width of C.
4739
60222d69
AI
47402001-02-12 Andrew Innes <andrewi@gnu.org>
4741
4742 The following changes are to draw box lines inside characters area
4743 if line-width is negative.
52283633 4744
60222d69
AI
4745 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4746 face->box_line_width is negative.
4747 (x_produce_stretch_glyph): Likewise.
4748 (x_produce_glyphs): Likewise.
4749 (x_estimate_mode_line_height): Likewise.
4750 (x_draw_glyph_string_background): Likewise.
4751 (x_draw_glyph_string_foreground): Likewise.
4752 (x_draw_composite_glyph_string_foreground): Likewise.
4753 (x_draw_glyph_string_box): Likewise.
4754 (x_draw_image_foreground): Likewise.
4755 (x_draw_image_relief): Likewise.
4756 (x_draw_image_foreground_1): Likewise.
4757 (x_draw_image_glyph_string): Likewise.
4758
9804b846
KH
47592001-02-09 Kenichi Handa <handa@etl.go.jp>
4760
4761 The following changes are to draw box lines inside characters area
4762 if line-width is negative.
52283633 4763
9804b846
KH
4764 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4765 face->box_line_width is negative.
4766 (x_produce_stretch_glyph): Likewise.
4767 (x_produce_glyphs): Likewise.
4768 (x_estimate_mode_line_height): Likewise.
4769 (x_draw_glyph_string_background): Likewise.
4770 (x_draw_glyph_string_foreground): Likewise.
4771 (x_draw_composite_glyph_string_foreground): Likewise.
4772 (x_draw_glyph_string_box): Likewise.
4773 (x_draw_image_foreground): Likewise.
4774 (x_draw_image_relief): Likewise.
4775 (x_draw_image_foreground_1): Likewise.
4776 (x_draw_image_glyph_string): Likewise.
4777
4778 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4779 and :line-width can be negative.
52283633 4780 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4781
49be9f70
JR
47822001-02-09 Jason Rumney <jasonr@gnu.org>
4783
4784 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4785 characters the same as ASCII and latin-1.
4786 (x_display_and_set_cursor): Check for the focus frame's selected
4787 window instead of selected_window.
4788 (x_after_update_window_line): Don't clear if frame's internal
4789 border width is zero.
4790 (x_new_font): Don't change a tooltip's size.
4791 (w32_initialize): Set char_ins_del_ok to 1.
4792
4793 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4794 (x_set_font): If font hasn't changed, avoid recomputing
4795 faces and other things.
52283633
SM
4796 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4797 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4798 (x_create_tip_frame): Prevent changing the tooltip's
4799 background color by specifying a color for the default font
4800 in .Xdefaults.
4801 (Qcancel_timer): New variable.
4802 (syms_of_w32fns): Initialize and staticpro it.
4803 (Fx_hide_tip, Fx_show_tip): Use it.
4804 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4805 the timer.
4806 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4807
4808 * w32.c (init_environment): Duplicate local string before putenv.
4809
555e35d2
SZ
48102001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4811
4812 * charset.c (Fstring): A typo.
4813
19c92c94
KH
48142001-02-09 Kenichi Handa <handa@etl.go.jp>
4815
e47a1c33
KH
4816 * charset.c (Fstring): If all arguments are less than 256, return
4817 a unibyte string.
4818
4819 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4820 return a unibyte string.
4821
19c92c94
KH
4822 * coding.c (code_convert_region): After detecting a coding, if
4823 nothing found, set coding->composing to COMPOSITION_NO.
4824 (decode_coding_string): Likewise.
4825
d8e675f5
SM
48262001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4827
4828 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4829 to avoid overflow.
4830
bd503487
KH
48312001-02-07 Kenichi Handa <handa@etl.go.jp>
4832
4833 * charset.c (parse_str_to_multibyte): New function.
4834
4835 * charset.h (parse_str_to_multibyte): Extern it.
4836
4837 * print.c (print_string): If we are going to print a unibyte
4838 string into a multibyte buffer, convert the string to multibyte by
4839 str_to_multibyte.
4840
a8370d72
AI
48412001-02-06 Andrew Innes <andrewi@gnu.org>
4842
4843 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4844 been created. It seems we can get sent window messages such as
4845 WM_ERASEBKGND before we properly update a frame.
4846
c363a1d6
GM
48472001-02-06 Gerd Moellmann <gerd@gnu.org>
4848
4849 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4850 Avoid some unnecessary cursor positioning.
4851
a08332c0
GM
48522001-02-05 Gerd Moellmann <gerd@gnu.org>
4853
52283633 4854 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4855 (LFACE_AVGWIDTH): New macro.
4856 (LFACEP): Use AREF.
4857 (check_lface_attrs): Check LFACE_AVGWIDTH.
4858 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4859 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4860 (merge_face_vectors): Check LFACE_AVGWIDTH.
4861 (Finternal_make_lisp_face): Use AREF.
4862 (xm_set_menu_resources_from_menu_face)
4863 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4864 (Finternal_lisp_face_empty_p): Use AREF.
4865 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4866 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4867 Compare average widths..
4868 (best_matching_font): Arrange for comparing average widths.
4869
52283633
SM
4870 * dispextern.h (enum lface_attribute_index):
4871 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4872
5cb3c8d4
DL
48732001-02-05 Dave Love <fx@gnu.org>
4874
4875 * puresize.h: Revert last change following loadup.el change.
4876
193fba87
AI
48772001-02-05 Andrew Innes <andrewi@gnu.org>
4878
4879 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4880 invocation of temacs, to work with Windows 2000.
4881 (bootstrap-emacs): Ditto.
4882
e16f52ce
GM
48832001-02-05 Gerd Moellmann <gerd@gnu.org>
4884
7a58ab59
GM
4885 * xterm.c (x_display_and_set_cursor): Check for the focus
4886 frame's selected window instead of selected_window.
4887
e89aaabd
GM
4888 * xdisp.c (try_scrolling): If point is in the line below the
4889 window, make sure to move the iterator at least a canonical
4890 char height down.
4891
52283633 4892 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4893
789ce875
KH
48942001-02-05 Kenichi Handa <handa@etl.go.jp>
4895
52283633
SM
4896 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4897 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4898 (ccl_driver): If the CCL program is terminated because of
4899 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4900 destination instead of throwing them away.
4901
20b28f82
GM
49022001-02-02 Gerd Moellmann <gerd@gnu.org>
4903
79fb38c0
GM
4904 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4905 faces and other things.
4906
20b28f82
GM
4907 * xdisp.c (get_next_display_element): Fix case of empty
4908 display table entry.
4909
5a72551e
EZ
49102001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4911
eb24d0bf
EZ
4912 * editfns.c (Fconstrain_to_field): Doc fix.
4913
6a3f48c7
EZ
4914 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4915 into `thoroughly', to make it consistent with the doc string.
4916
5a72551e
EZ
4917 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4918
01acdb05
GM
49192001-02-01 Gerd Moellmann <gerd@gnu.org>
4920
0353b28f
GM
4921 * search.c (search_buffer): Call set_search_regs with a byte
4922 position, not a character position.
4923
01acdb05
GM
4924 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4925 minibuffer-only,
4926
e86b5133
EZ
49272001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4928
4929 * frame.c (Fmodify_frame_parameters): Doc fix.
4930
7442878f
GM
49312001-01-31 Gerd Moellmann <gerd@gnu.org>
4932
01acdb05
GM
4933 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4934 identifier which is not reserved by Standard C.
52283633 4935
7442878f
GM
4936 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4937
4938 * window.c (enum window_part): New enumeration.
4939 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4940 Qright_bitmap_area.
4941 (coordinates_in_window): Return an enumerator from enum
4942 window_part. Fix handling of right scroll bar.
4943 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4944 `right-fringe' instead of `left-bitmap-area' and
4945 `right-bitmap-area'. Use enumerators from enum window_part
4946 instead of hard-coded integers.
52283633
SM
4947 (check_window_containing, window_from_coordinates):
4948 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4949 (syms_of_window): Replace Qleft_bitmap_area and
4950 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4951
7c132cba
EZ
49522001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4953
4954 * editfns.c (Fformat_time_string): Doc fix.
4955
c359dd9e
SM
49562001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4957
4958 * keymap.c (Fwhere_is_internal): Use the first valid binding
4959 if no ascii binding is found (when firstonly is t).
4960
ce070307
GM
49612001-01-31 Gerd Moellmann <gerd@gnu.org>
4962
b4f30ec5
GM
4963 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4964 instead of Finteractive_p.
4965
4966 * lisp.h (interactive_p): Add prototype.
4967
4968 * eval.c (interactive_p): New function.
4969 (Finteractive_p): Use it.
4970
ce070307
GM
4971 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4972
f57b6e64
DL
49732001-01-31 Dave Love <fx@gnu.org>
4974
d61c7afe
DL
4975 * .gdbinit (hook-run): Define to run xreload.
4976
f57b6e64
DL
4977 * textprop.c (Fset_text_properties): Fix newline in doc string.
4978
eef93f99
GM
49792001-01-30 Gerd Moellmann <gerd@gnu.org>
4980
52283633
SM
4981 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4982 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4983
4984 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4985 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4986 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4987
4988 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4989 height.
4990
d9c1f6f9
DL
49912001-01-30 Dave Love <fx@gnu.org>
4992
4993 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4994 AFTER_POTENTIAL_GC.
4995
e8f044a0
GM
49962001-01-29 Gerd Moellmann <gerd@gnu.org>
4997
52283633
SM
4998 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4999 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5000
8e1db7b3
EZ
50012001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5002
5003 * textprop.c (Fset_text_properties): Doc fix.
5004
4eefd9d2
GM
50052001-01-29 Gerd Moellmann <gerd@gnu.org>
5006
5007 * xdisp.c (forward_to_next_line_start): Remove xassert.
5008
fccb8288
EZ
50092001-01-29 Jason Rumney <jasonr@gnu.org>
5010
4eefd9d2 5011 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5012 returning without releasing it.
5013
76581eab
KH
50142001-01-29 Kenichi Handa <handa@etl.go.jp>
5015
5016 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5017 for '^', '$', and '\0'.
5018
83a96b4d
AC
50192001-01-28 Andrew Choi <akochoi@i-cable.com>
5020
5604ec34
AC
5021 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5022 regex for '^', '$', and '\0'.
5023
83a96b4d
AC
5024 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5025 only if current_sblock has been initialized.
5026
5027 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5028 terminal frame even if it is the only visible frame.
5029
c09a6440
KH
50302001-01-28 Kenichi Handa <handa@etl.go.jp>
5031
5032 * fontset.c (font_family_registry): Even if FONTNAME conform to
5033 XLFD, if it specifies other fields than family and registry,
52283633 5034 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5035 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5036 a signle byte character. Don't set FAMILY part to nil here.
5037 It is handled by the caller choose_face_font.
c09a6440
KH
5038 (Fnew_fontset): Call font_family_registry with FORCE 0.
5039 (Fset_fontset_font): Likewise.
5040
4dcd74e6
GM
50412001-01-27 Gerd Moellmann <gerd@gnu.org>
5042
5043 * xdisp.c (display_line): Don't treat a newline as fitting
5044 on the line.
5045
d2906bf8
GM
50462001-01-26 Gerd Moellmann <gerd@gnu.org>
5047
0130fe1a
GM
5048 * window.c (size_window): Set the window's orig_top to nil when
5049 changing heights, so that a future shrink_mini_window won't
5050 restore a bogus height.
5051
550f0e6a
GM
5052 * frame.c (do_switch_frame): If selected frame has a mini-window,
5053 resize that to exact size.
5054
b7b20fbd
GM
5055 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5056
a47b7816
GM
5057 * xdisp.c (display_line): Simplify check for glyphs fitting
5058 entirely in the line.
5059
d2906bf8
GM
5060 * xfns.c (xic_style): New variable.
5061 (create_frame_xic): Move static variable to global scope for
550f0e6a 5062 the case that `static' gets defined away.
d2906bf8 5063
73df2b1e
KH
50642001-01-26 Kenichi Handa <handa@etl.go.jp>
5065
5066 * coding.c (decode_coding): Set a flag for inhibiting
5067 inconsistent eol.
5068 (code_convert_region): Always set saved_coding_symbol.
5069 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5070 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5071
6613cfc4
GM
50722001-01-25 Gerd Moellmann <gerd@gnu.org>
5073
c5e6e06b
GM
5074 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5075 XClearArea.
5076
5077 * xterm.c (x_after_update_window_line): Don't clear if frame's
5078 internal border width is zero.
5079 (x_clear_area): New function.
5080 (x_after_update_window_line, x_clear_end_of_line)
5081 (x_scroll_bar_create, x_scroll_bar_set_handle)
5082 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5083 instead of XClearArea.
5084
5085 * xterm.h (x_clear_area): Add prototype.
5086
6613cfc4
GM
5087 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5088 which doesn't seem necessary anymore with Lesstif 0.92.
5089
650cc6cc
DL
50902001-01-25 Dave Love <fx@gnu.org>
5091
34ac3367
DL
5092 * puresize.h (BASE_PURESIZE): Up to 720000.
5093
650cc6cc
DL
5094 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5095
5e37dc22
GM
50962001-01-25 Gerd Moellmann <gerd@gnu.org>
5097
e1e441f9
GM
5098 * xdisp.c (echo_area_display): Don't call redisplay_internal
5099 when Emacs is shutting down. We can't run hooks etc. that
5100 would be necessary to do a redisplay.
5101
5e37dc22
GM
5102 * lread.c (read_integer): Use type EMACS_INT instead of int.
5103
0fb94c7f
EZ
51042001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5105
5106 * ccl.c (ccl_driver): Fix last change.
5107
e3778624
KH
51082001-01-25 Kenichi Handa <handa@etl.go.jp>
5109
5110 * ccl.h (sturct ccl_program): New member suppress_error.
5111
bb264518 5112 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5113 insert error message to the output.
5114 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5115
5116 * coding.h (struct coding_system): New member suppress_error.
5117
5118 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5119 (Fset_terminal_coding_system_internal): Set the member
5120 suppress_error to 1.
5121 (Fset_safe_terminal_coding_system_internal): Likewise.
5122
245ed2b1
SM
51232001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5124
5125 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5126 as if it was a `charset'.
5127
f9aaedb6
GM
51282001-01-24 Gerd Moellmann <gerd@gnu.org>
5129
5130 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5131 value in where_is_cache; the next lookup in the cache returns
5132 something bogus if we do.
5133
c3902c3e
EZ
51342001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5135
5136 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5137 if HAVE_WINDOW_SYSTEM isn't defined.
5138
3497f73e
GM
51392001-01-24 Gerd Moellmann <gerd@gnu.org>
5140
e7e41584
GM
5141 * fns.c (sweep_weak_table): Fix code taking items out of
5142 the hash collision chain. Some cleanup.
5143
3497f73e
GM
5144 * xterm.c (x_new_font): Don't change a tooltip's size.
5145
5146 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5147 background color by specifying a color for the default font
5148 in .Xdefaults.
5149
3d48e687
KH
51502001-01-24 Kenichi Handa <handa@etl.go.jp>
5151
96531b20
KH
5152 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5153 a workaround for SunOS 4's cc.
5154 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5155 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5156 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5157 statement.
3d48e687 5158
a30629d2
GM
51592001-01-23 Gerd Moellmann <gerd@gnu.org>
5160
5161 * xterm.c (x_set_window_size_1): New function extracted from
5162 x_set_window_size.
5163 (x_set_window_size): Use it.
5164 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5165 doesn't have a widget, like tooltips.
5166
5a43decf
EZ
51672001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5168
52283633 5169 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5170
b0e98867
KH
51712001-01-23 Kenichi Handa <handa@etl.go.jp>
5172
5173 * fns.c (Fset_char_table_default): Fix to make sub char-table
5174 correctly.
5175
50606b4c
GM
51762001-01-22 Gerd Moellmann <gerd@gnu.org>
5177
cb2ddc53 5178 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5179 a desired tool bar string, even if there are no tool bar items.
5180
57c28064
GM
5181 * xdisp.c (Ftool_bar_lines_needed): New function.
5182 (syms_of_xdisp): Defsubr it.
5183
50606b4c
GM
5184 * editfns.c (Fformat): Don't extend text properties from arguments
5185 to padding chars in the result.
5186
2f169c38
EZ
51872001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5188
5189 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5190
0f32f023
AI
51912001-01-20 Andrew Innes <andrewi@gnu.org>
5192
52283633 5193 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5194 (w32_initialize): Don't set term hooks that aren't actually needed
5195 in windowed mode.
5196
5197 * xfaces.c (realize_default_face):
5198 (realize_face):
5199 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5200
5201 * xdisp.c (handle_single_display_prop): Remove references to
5202 FRAME_W32_CONSOLE_P.
5203
52283633 5204 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5205
5206 * frame.h (output_method): Remove output_w32_console method.
5207 (FRAME_W32_CONSOLE_P): Remove macro.
5208
5209 * frame.c (Qw32_console): Remove variable.
5210 (Fframep): Remove references to it.
5211 (syms_of_frame): Ditto.
5212 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5213
5214 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5215 redefinition.
5216
7173eada
KH
52172001-01-20 Kenichi Handa <handa@etl.go.jp>
5218
5219 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5220
755b45ce
AI
52212001-01-19 Andrew Innes <andrewi@gnu.org>
5222
5223 * w32.c (init_environment): Add a version-independent site-lisp
5224 directory to EMACSLOADPATH, after the version dependent one.
5225
0a949811
GM
52262001-01-19 Gerd Moellmann <gerd@gnu.org>
5227
8501998a
GM
5228 * editfns.c (Fbuffer_substring): Doc fix.
5229
52283633
SM
5230 * xdisp.c (message_dolog, message2, message2_nolog):
5231 Rename parameter LEN to NBYTES.
0a949811 5232
e6ebcbbe
KH
52332001-01-19 Kenichi Handa <handa@etl.go.jp>
5234
200ecca2
KH
5235 * charset.c (strwidth): Use c_string_width.
5236 (c_string_width): New function.
5237 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5238 Caller changed.
5239
5240 * charset.h (c_string_width, lisp_string_width): Extern them.
5241
52283633 5242 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5243
e6ebcbbe
KH
5244 * indent.c (check_composition): Check validity of composition.
5245
200ecca2
KH
5246 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5247 characters by calling c_string_width.
5248 (x_consider_frame_title): Get byte length of frame tile string
5249 correctly.
5250 (display_mode_element): Pay attention to width of non-ASCII
5251 characters by calling strwidth.
5252
8692ca92
GM
52532001-01-18 Gerd Moellmann <gerd@gnu.org>
5254
8962e303
GM
5255 * xfns.c (Qcancel_timer): New variable.
5256 (syms_of_xfns): Initialize and staticpro it.
5257 (Fx_hide_tip, Fx_show_tip): Use it.
5258 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5259 the timer.
5260 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5261
91523be9
GM
5262 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5263
5264 * window.h (WINDOW_LIVE_P): New macro.
5265
b0b7ed0e
GM
5266 * window.c (window_size_fixed): New variable.
5267 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5268 the doc string.
5269
06bccf8e
GM
5270 * eval.c (specbind): If binding a per-buffer variable which
5271 doesn't have a buffer-local value in the current buffer, change
5272 the global value by changing the value of the symbol bound in all
5273 buffers not having their own value, to make it consistent with
5274 what happens with other buffer-local variables.
5275
8692ca92
GM
5276 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5277
5278 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5279 when searching for a newline.
5280
bb3a3b50
KH
52812001-01-18 Kenichi Handa <handa@etl.go.jp>
5282
5283 * xdisp.c (display_string): Fix previous change.
5284
c2cc16fa
JR
52852001-01-18 Jason Rumney <jasonr@gnu.org>
5286
5287 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5288 GLYPH_DEBUG is defined.
5289 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5290 true for images with `:ascent 100'.
5291 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5292 meantime, use face MOUSE_FACE_ID.
5293 If first glyph isn't a character glyph, use the ASCII NUL
5294 character to determine the face.
5295 (expose_area): Do not treat left margin specially.
5296 (note_mode_line_highlight): If no local_map, check global keymap.
5297 (note_mouse_highlight): Initialize overlay.
52283633 5298 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5299 (show_scroll_bars): Remove unused function.
5300 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5301 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5302 Clip to row.
52283633 5303 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5304 (x_free_frame_resources): Unload relief colors.
5305
9c11f79e
GM
53062001-01-17 Gerd Moellmann <gerd@gnu.org>
5307
3aec8722 5308 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5309 get_next_display_element when the newline is already found.
5310 This may change the iterator's position, when its current position is
3aec8722
GM
5311 equal to the iterator's stop_charpos.
5312
f3ffc2c3
GM
5313 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5314 zero, use this method only at the end of a line.
5315
52283633 5316 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5317 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5318 if SCALABLE_FONTS_P is set.
52283633 5319
d26d6fd9
GM
5320 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5321 so that scalable fonts are included.
5322
9c11f79e
GM
5323 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5324 In the cache, use a key containing the information if scalable
5325 fonts are included.
5326 (x_load_font): Adapt to change of keys in the font cache.
5327
53282001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5329
d26d6fd9
GM
5330 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5331 XListFonts to take advantage of font caching.
5332
9c11f79e
GM
5333 * xterm.c (x_list_fonts): Ensure caching font information when
5334 called for a null frame, which is the case frequently when Emacs
5335 starts.
5336
51446987
GM
53372001-01-17 Gerd Moellmann <gerd@gnu.org>
5338
f864120f
GM
5339 * xfns.c (QCconversion): Replaces QCalgorithm.
5340
5341 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5342
5343 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5344 of :algorithm.
52283633 5345
e37d1417
GM
5346 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5347 not everything could be displayed.
5348
51446987
GM
5349 * line.h, x-list-font.c: Files removed because unused.
5350
9ad4f3e5
AI
53512001-01-17 Andrew Innes <andrewi@gnu.org>
5352
5353 * dired.c (directory_files_internal): Convert result from readdir
5354 to a unibyte string initially, to avoid possible misinterpretation
5355 of some bytes as the internal form of Emacs characters.
5356
2eda09b5
KH
53572001-01-17 Kenichi Handa <handa@etl.go.jp>
5358
5359 * fns.c (concat): Be sure to avoid putting the same `composition'
5360 property on the adjacent regions.
5361
826f3788
GM
53622001-01-16 Gerd Moellmann <gerd@gnu.org>
5363
52283633 5364 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5365 (Fscroll_right, Fscroll_left): Set it here instead, if called
5366 interactively.
5367
d57b83b3
GM
5368 * buffer.c (Fset_buffer_modified_p): Set buffer's
5369 prevent_redisplay_optimizations_p flag.
5370
826f3788 5371 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5372 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5373 with additional arg.
5374
5375 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5376 Change prototype.
826f3788 5377
826f3788
GM
5378 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5379 FROM_WHERE, for debugging.
5380
261d788b
KH
53812001-01-16 Kenichi Handa <handa@etl.go.jp>
5382
5383 * ccl.c (Fregister_ccl_program): Handle the return value of
5384 resolve_symbol_ccl_program correctly.
52283633 5385 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5386
bccee4f2
GM
53872001-01-15 Gerd Moellmann <gerd@gnu.org>
5388
e4ded23c
GM
5389 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5390 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5391
5392 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5393 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5394 the display; we didn't open it.
5395
bccee4f2
GM
5396 * dispnew.c (save_or_restore_current_matrices): Function removed.
5397 (save_current_matrix, restore_current_matrix): New functions.
5398 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5399 restore the frame's current matrix. Due to the glyph pointer
5400 setup done in adjust_glyph_matrix, there is no easy way to make
5401 saving the current matrix in the desired matrix generally correct,
5402 so don't try it.
5403
ebeccffa
KH
54042001-01-15 Kenichi Handa <handa@etl.go.jp>
5405
5406 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5407 truncation glyphs.
5408 (display_line): Optimize for wide characters.
e4ded23c 5409 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5410 partially. On ttys, produce more than one truncation glyph for
5411 multi-column characters that don't fit on the line.
5412
64388126
KH
54132001-01-13 Kenichi Handa <handa@etl.go.jp>
5414
52283633
SM
5415 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5416 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5417
8edb0a6f
JR
54182001-01-13 Jason Rumney <jasonr@gnu.org>
5419
5420 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5421 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5422 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5423 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5424
52283633
SM
5425 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5426 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5427 (x_draw_image_glyph_string): Adapt to change of image margins.
5428
5429 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5430 variables.
5431
5432 * w32bdf.c (search_file_line, get_cached_font_char)
5433 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5434
5435 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5436
5437 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5438 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5439 (Fw32_send_sys_command): Remove unused variables.
5440 (w32_msg_pump): Add parentheses.
5441
5442 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5443 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5444 Add parentheses.
5445
4956d1ef
GM
54462001-01-12 Gerd Moellmann <gerd@gnu.org>
5447
b30623be
GM
5448 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5449 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5450 being a pair of margins.
5451 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5452 to DEFVAR_LISP. Extend doc.
5453
5454 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5455 margins.
5456 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5457 pair of integers `(X . Y)', use X for the horizontal and Y for the
5458 vertical margin.
5459 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5460 (parse_image_spec): Check it.
52283633
SM
5461 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5462 (tiff_format, gif_format, gs_format):
5463 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5464
52283633
SM
5465 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5466 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5467 (x_draw_image_glyph_string): Adapt to the change of image margins.
5468
5469 * dispextern.h (struct image): Replace member `margin' with
5470 `hmargin' and `vmargin'.
5471
4554cc79
GM
5472 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5473 and GLYPHS.
5474
5475 * dispnew.c (update_text_area): Put code which decrements the
5476 stop position when the row's face extends to the end of the
3bffc665 5477 line in #if 0.
4554cc79 5478
3cccce8d
GM
5479 * xfns.c (x_set_mouse_color): Fix color allocation.
5480
4956d1ef
GM
5481 * keyboard.c: Call get_local_map with new argument list.
5482
5483 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5484
5485 * intervals.h (enum map_property): Removed.
5486 (get_local_map): Change prototype.
5487
5488 * keymap.c: Call get_local_map with new argument list.
5489 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5490
2c2ff7f2
GM
54912001-01-11 Gerd Moellmann <gerd@gnu.org>
5492
a23887b9
GM
5493 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5494 of the size needed for the tool bar string. For the last image,
5495 use a `display' property that reaches to the end of the string.
5496
a7ee2d2e
GM
5497 * xselect.c (selection_request_dpyinfo): New variable.
5498 (x_handle_selection_request): Set it.
5499 (x_selection_request_lisp_error): Don't call
5500 x_decline_selection_request if selection request's display has
5501 been closed.
5502
52283633
SM
5503 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5504 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5505
457b792c
GM
55062001-01-10 Dave Love <fx@gnu.org>
5507
5508 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5509 ${SOME_MACHINE_LISP}, not ${lisp}.
5510
c1efd260
GM
55112001-01-10 Gerd Moellmann <gerd@gnu.org>
5512
52283633
SM
5513 * xdisp.c (display_line): On ttys, produce more than one truncation
5514 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5515
ac95a621
GM
5516 * xselect.c (x_reply_selection_request): Add a comment.
5517
c1efd260
GM
5518 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5519 XkbGetNames instead of XkbGetKeyboard.
5520
1bfb1345
DL
55212001-01-10 Dave Love <fx@gnu.org>
5522
5523 * sysdep.c (random): Revert the declaration.
5524
38119822
GM
55252001-01-09 Gerd Moellmann <gerd@gnu.org>
5526
52283633
SM
5527 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5528 Call function string_bytes.
35f464a7
GM
5529 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5530
5531 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5532 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5533 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5534 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5535 the current sblock.
5536 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5537 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5538 after sweeping strings, and at the end.
5539 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5540
38119822
GM
5541 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5542 ensure that pop_message is called.
5543
5544 * keyboard.c (Fexecute_extended_command): Use a
5545 record_unwind_protect to ensure that pop_message is called.
5546
5547 * lisp.h (push_message_unwind): Add prototype.
5548
5549 * xdisp.c (push_message_unwind): New function.
5550
5551 * fileio.c (do_auto_save_unwind): Do the pop_message here
5552 instead of in Fdo_auto_save.
5553 (Fdo_auto_save): Don't call pop_message.
5554
f47a9ec4
KR
55552001-01-08 Ken Raeburn <raeburn@gnu.org>
5556
5557 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5558 in inner block.
5559
a758f97d
GM
55602001-01-08 Gerd Moellmann <gerd@gnu.org>
5561
6d0afc03
GM
5562 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5563 when increasing window's vscroll.
5564
a758f97d
GM
5565 * macros.c (Qkbd_macro_termination_hook): New variable.
5566 (syms_of_macros): Initialize and staticpro it.
5567 (pop_kbd_macro): Run kbd-macro-termination-hook.
5568
5569 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5570
1bfb1345 55712001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5572
5573 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5574 arglist, for documentation's sake.
5575
0dac6924
AI
55762001-01-06 Andrew Innes <andrewi@gnu.org>
5577
5578 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5579 of *.pdb.
5580
8182406a
AI
55812001-01-05 Andrew Innes <andrewi@gnu.org>
5582
5583 * term.c (update_end): Don't check updating_frame; for some reason
5584 this can be 0 sometimes, such as after dismissing a popup menu,
5585 and isn't necessary given the explicit frame argument.
5586
3828218c
GM
55872001-01-05 Gerd Moellmann <gerd@gnu.org>
5588
5589 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5590 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5591
2f5ded21
GM
55922001-01-04 Gerd Moellmann <gerd@gnu.org>
5593
52283633 5594 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5595
5596 * xfns.c (x_create_tip_frame): Preserve the value of
5597 face_change_count around the creation of the tip frame.
52283633 5598
2f5ded21
GM
5599 * xfns.c (last_show_tip_args): New variable.
5600 (compute_tip_xy): New function.
5601 (Fx_show_tip): Reuse an existing tip frame, if possible.
5602 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5603
dfad65fa
DL
56042001-01-04 Dave Love <fx@gnu.org>
5605
64d4ec0f
DL
5606 * editfns.c (Fformat): Doc fix.
5607
dfad65fa
DL
5608 * systime.h (set_file_times): Prototype.
5609
5610 * widget.h (EmacsFrameSetCharSize_): Prototype.
5611
5612 * sysdep.c (random, srandom): Declare explicitly.
5613
5614 * dispextern.h (move_it_vertically_backward): Declare.
5615
85fe3b5e
GM
56162001-01-04 Gerd Moellmann <gerd@gnu.org>
5617
0f2ac578
GM
5618 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5619 like in Fx_create_frame.
5620
482cca61
GM
5621 * xfaces.c (set_font_frame_param): Don't do anything for
5622 non-graphical frames.
5623
85fe3b5e
GM
5624 * window.c (Fdelete_other_windows): Set window's window_end_valid
5625 to nil when changing the window's start. Don't change the
5626 window's start when its top position hasn't changed. If we do,
5627 this will set the window's optional_new_start, which act's like a
5628 force_start during redisplay with C-x 1 M-> under particular
5629 circumstances (see report from Per Starback to emacs-pretest-bug
5630 from 2000-12-13.).
5631
3e99d3b4
GM
56322001-01-03 Gerd Moellmann <gerd@gnu.org>
5633
a77dc1ec
GM
5634 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5635 short cut at the start of the function. Add an assertion.
5636 (reseat_at_next_visible_line_start): Add an assertion.
5637
2f3cad6c
GM
5638 * window.c (Frecenter): When changing the window start, set the
5639 window's window_end_valid to nil.
5640 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5641
5642 * dispextern.h (move_it_past_eol): Add prototype.
5643
5644 * xdisp.c (move_it_past_eol): New function.
5645
3e99d3b4
GM
5646 * window.c (Fwindow_end): Doc fix.
5647
56482001-01-03 Dave Love <fx@gnu.org>
5649
52283633 5650 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5651
bafb434c
GM
56522001-01-03 Gerd Moellmann <gerd@gnu.org>
5653
5654 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5655 the enabled_p flag of the glyph row at window_end_vpos to 0.
5656 (handle_single_display_prop): Fix last change.
5657
5297fb00
RS
56582001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5659
5660 * window.c (Frecenter): Doc fix.
5661
13d6a61c
AI
56622001-01-02 Andrew Innes <andrewi@gnu.org>
5663
5664 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5665
5666 * frame.h (output_method): Add output_w32_console method.
5667 (FRAME_W32_CONSOLE_P): New macro.
5668
5669 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5670 use output_w32_console method.
5671 (Qw32_console): New Lisp_Object.
5672 (Fframep): Return it.
5673 (syms_of_frame): Init it.
52283633 5674 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5675
5676 * xfaces.c (realize_default_face): Set face foreground and
5677 background to unspecified for w32_console frames.
5678 (realize_face): Realize face cache for w32_console frames.
5679 (realize_tty_face): Accept w32_console frames.
5680
52283633 5681 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5682 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5683 necessary, even if running interactively.
5684
5685 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5686 w32_console frames.
5687
52283633
SM
5688 * w32term.c (x_update_begin):
5689 (x_update_end):
5690 (x_clear_frame):
5691 (x_ins_del_lines):
5692 (x_change_line_highlight):
5693 (x_delete_glyphs):
5694 (w32_ring_bell):
5695 (x_update_begin):
5696 (x_update_end):
5697 (w32_reassert_line_highlight):
5698 (w32_frame_rehighlight):
13d6a61c
AI
5699 (w32_frame_raise_lower): Do nothing if not w32 frame.
5700
5701 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5702
5703 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5704 system doesn't tell us directly.
5705 (Fx_display_visual_class): Implement properly.
5706
d6bb0c0d
GM
57072001-01-02 Gerd Moellmann <gerd@gnu.org>
5708
5709 * window.c (Frecenter): Handle centering in graphical frames
5710 specially. Centering on the basis of line counts doesn't work
5711 reliably with variable-height lines.
52283633 5712
315f5865
EZ
57132001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5714
5715 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5716 and al[].
5717
52283633 5718 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5719 (update_compositions): Remove unused variable `hook'.
5720
5721 * intervals.c (get_local_map): Remove unused variable `tem'.
5722
5723 * doprnt.c (doprnt1): Remove unused variable `size'.
5724
5725 * fns.c (Flength): Remove unused variable `tail'.
5726 (Fdelete): Remove unused variable `size'.
5727
5728 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5729 and `gcpro2'.
5730
52283633 5731 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5732
5733 * data.c (find_symbol_value): Remove extra 3rd argument in the
5734 call to swap_in_symval_forwarding.
5735
52283633 5736 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5737
5738 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5739 (trivial_regexp_p): Remove unused variable `c'.
5740 (boyer_moore): Remove unused variable `k'.
5741
5742 * indent.c (current_column): Remove unused variable `stopchar'.
5743 (Fcompute_motion): Remove unused variable `contin'.
5744
5745 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5746
5747 * dired.c (directory_files_internal): Fix a typo in a comment.
5748 Remove an unused variable `handler'.
52283633 5749 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5750 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5751 on BSD4_2.
5752
52283633 5753 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5754
5755 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5756 and `buf'.
5757 (Fmarker_insertion_type): Remove unused variable `buf'.
5758
5759 * insdel.c (make_gap): Remove unused variable `result'.
5760
52283633 5761 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5762 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5763 (menu_bar_items): Remove unused function-scope variable `tem'.
5764
5765 * fontset.c (fontset_ref): Remove unused variable `i'.
5766 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5767 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5768 (make_fontset_for_ascii_face): Remove unused variable `name'.
5769 (fs_load_font): Remove unused variable `font_idx'.
52283633 5770 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5771 (list_fontsets): Remove unused variable `tail'.
5772 (Fnew_fontset): Remove unused variables `family' and `registry'.
5773 (accumulate_font_info): Remove unused variable `tmp'.
5774 (Ffontset_font): Remove unused variable `id'.
5775 (syms_of_fontset): Remove unused variable `i'.
5776
5777 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5778 to x_term_init.
5779 (lookup_image): Remove unused variable `file'.
5780 (xbm_load): Remove unused variables `bitmap_data', `height', and
5781 `width'. Remove function-local variable `i', leave the
5782 block-local one.
5783 (gif_load): Remove unused variable `inc'.
5784
52283633 5785 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5786 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5787 leave only the one in the inner block.
5788
5789 * xfaces.c (face_fontset, realize_default_face): Remove unused
5790 variable `fontset'.
5791 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5792
5793 * term.c (encode_terminal_code): Remove unused variable `c'.
5794
5795 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5796 char *' instead of `char *'.
5797
5798 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5799 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5800 (Fchar_category_set): Remove unused variables `val', `charset',
5801 `c1' and `c2'.
5802
52283633
SM
5803 * coding.c (detect_coding_iso2022, setup_coding_system):
5804 Remove unused variable `i'.
315f5865
EZ
5805 (detect_coding_mask): Remove unused variable `idx'.
5806 (detect_coding): Remove unused variable `i'.
5807 (ccl_coding_driver): Remove unused variable `result'.
5808 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5809 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5810 (encode_coding_string): Remove unused variables `gcpro1' and
5811 `saved_coding_symbol'.
5812 (Ffind_coding_systems_region_internal): Remove function-local
5813 variable args[], leave only the block-local one.
5814 (code_convert_region1): Remove unused variable `len'.
5815
5816 * charset.c (char_printable_p): Remove unused variable `chars'.
5817 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5818 (str_to_multibyte): Remove unused variable `c'.
5819
5820 * window.c (size_window): Remove block-local variable `min_size'.
5821
5822 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5823 `header_line_height'.
5824 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5825 enum display_element_type.
5826
1a8a9daf
GM
58272001-01-02 Gerd Moellmann <gerd@gnu.org>
5828
6dde6abc 5829 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5830 statements that call X. Save away the error message in a local copy.
5831
1883b2c6
GM
5832 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5833 the start.
5834
a13be207
GM
5835 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5836 in or at the start of invisible text.
5837
1a8a9daf
GM
5838 * dispnew.c (update_window): Don't check_current_matrix_flags.
5839
3608c0f9
JR
58402001-01-01 Jason Rumney <jasonr@gnu.org>
5841
5842 * w32fns.c (x_figure_window_size): Do not allow new_height and
5843 new_width of frame to override specified values.
5844
abb1acc4
KH
58452000-12-30 Kenichi Handa <handa@etl.go.jp>
5846
52283633 5847 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5848
762a68ec
GM
58492000-12-29 Gerd Moellmann <gerd@gnu.org>
5850
52283633 5851 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5852 (update_window) [GLYPH_DEBUG]: Call it.
5853 (scrolling_window): Prevent including current rows which are below
5854 what's displayed in the window.
5855
5856 * xdisp.c (try_window_reusing_current_matrix)
5857 <new start <= old start>: Disable rows in the current matrix
5858 which are below the window after scrolling.
52283633 5859
762a68ec
GM
5860 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5861 is zero. It's not worth the complexity.
5862 (invisible_text_between_p): Put in #if 0 because unused.
5863
2d5912c1
GM
58642000-12-28 Gerd Moellmann <gerd@gnu.org>
5865
46f6a258
GM
5866 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5867 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5868
89f93679
GM
5869 * keyboard.c (echo_char): If C is an integer, always call
5870 push_key_description. Former code could signal an invalid
5871 character error.
5872
5873 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5874 If set, print multibyte text.
5875 (Fsingle_key_description): Call push_key_description with
5876 FORCE_MULTIBYTE set.
5877 (describe_buffer_bindings): Likewise.
5878
5879 * lisp.h (push_key_description): Add prototype.
5880
c06017fb
GM
5881 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5882 around the call to redisplay_internal.
5883
f1d2ce7f
GM
5884 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5885
2d5912c1
GM
5886 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5887
9371f831
KH
58882000-12-28 Kenichi Handa <handa@etl.go.jp>
5889
5890 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5891 (ccl_driver): New local variable `extra_bytes'.
5892
5893 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5894
52283633
SM
5895 * coding.c (setup_coding_system):
5896 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5897 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5898
0c80628a
KH
58992000-12-28 Kenichi Handa <handa@etl.go.jp>
5900
5901 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5902 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5903 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5904 (decode_composition_emacs_mule): New function.
5905 (decode_coding_emacs_mule): Decode composition sequence by calling
5906 decode_composition_emacs_mule.
5907 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5908 (encode_coding_emacs_mule): Changed from macro to function.
5909 If a text contains compositions, encode them correctly.
0c80628a
KH
5910 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5911 that decoding and encoding are required.
5912
3e32cc27
GM
59132000-12-27 Gerd Moellmann <gerd@gnu.org>
5914
5e25feee
GM
5915 * xfaces.c (PT_PER_INCH): New macro.
5916 (xlfd_point_size): Compute real point size from font's pixel size.
5917 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5918 instead of 72.
5919
892d8fcd
GM
5920 * .gdbinit: Comment out the line pointing to the Lesstif source
5921 directory.
5922
12c8b416
GM
5923 * window.c (Frecenter): Use displayed_window_lines instead
5924 of window_internal_height.
5925
6061fbf0
GM
5926 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5927 instead of x-toolkit-scroll-bars-p.
5928 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5929
5930 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5931 instead of x-toolkit-scroll-bars-p.
5932 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5933
3e32cc27
GM
5934 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5935 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5936 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5937 New variables.
5938 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5939 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5940 (build_frame_matrix_from_leaf_window): Remove unused code.
5941 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5942 redisplay history.
5943 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5944 (update_window) [GLYPH_DEBUG]: Likewise.
5945 (syms_of_display): Defsubr dump-redisplay-history.
5946
31798cfe
GM
59472000-12-23 Gerd Moellmann <gerd@gnu.org>
5948
f717c2ba
GM
5949 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5950 the end of the prompt. Set echo_after_prompt to the offset
5951 of echoptr in echobuf.
5952
aeb2b8fc
GM
5953 * xdisp.c (init_from_display_pos): Pop until the iterator's
5954 stack is empty; there may be frames for stretch or images
5955 on the stack.
5956
31798cfe
GM
5957 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5958 (save_or_restore_current_matrix): New function for the same
5959 purpose, but more efficient.
5960 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5961
f8156156
EZ
59622000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5963
5964 * xdisp.c (syms_of_xdisp): Fix last change.
5965
bdd6d4e8
GM
59662000-12-23 Gerd Moellmann <gerd@gnu.org>
5967
5968 * xdisp.c (syms_of_xdisp): Doc fix.
5969
5970 * xdisp.c (redisplay_window): Remove label restore_buffers;
5971 use finish_scroll_bars instead to make sure that scroll bars
5972 are redeemed. If we don't do this, flickering can result from
5973 scroll bars being destroyed and recreated.
5974
9436cdf9
JR
59752000-12-22 Jason Rumney <jasonr@gnu.org>
5976
5977 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5978 in the wrong colors when the foreground is not black.
5979 (expose_window): Don't redraw the window that's currently being
5980 updated.
5981
951f9df5
GM
59822000-12-22 Gerd Moellmann <gerd@gnu.org>
5983
856ff7a7
GM
5984 * window.c (size_window): When setting the window's too_small_ok
5985 flag, compare old size with minimum size depending on WIDTH_P,
5986 don't compare with window_min_width.
52283633 5987
951f9df5
GM
5988 * window.c (delete_window): Simplify somewhat.
5989 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5990 freeing window matrices. The flag windows_or_buffers_changed is
5991 set, so the next redisplay will consider all windows; this should
5992 suffice.
5993
886bc933
KH
59942000-12-22 Kenichi Handa <handa@etl.go.jp>
5995
5996 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5997
5998 * ccl.h (struct ccl_program): New member cr_consumed.
5999
6000 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6001 (CCL_READ_CHAR): Handle EOL conversion here.
6002 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6003
177f4e88
GM
60042000-12-21 Gerd Moellmann <gerd@gnu.org>
6005
52283633 6006 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6007
6008 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6009 otherwise tabs of different size compare equal.
6010
6011 * callint.c (Fcall_interactively): Prevent a compiler warning.
6012
6013 * print.c (print_unwind): Return nil.
6014 (PRINTDECLARE): Initialize all local variables.
6015 (print_preprocess): Add a default case.
6016
8e15274f
GM
6017 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6018
6019 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6020
52283633 6021 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6022 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6023
6024 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6025
6026 * dispnew.c (ensure_frame_matrix): Removed.
6027 (save_frame_matrix, restore_frame_matrix): New functions.
6028 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6029
6030 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6031 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6032
99012074
AI
60332000-12-21 Andrew Innes <andrewi@gnu.org>
6034
6035 * w32term.c (x_update_begin): Regenerate the palette here, rather
6036 than for each window.
6037
6038 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6039 palette is NULL, since this corrupts memory! Also get
6040 display_info reference from frame.
6041
29ef7d2d
JR
60422000-12-21 Jason Rumney <jasonr@gnu.org>
6043
6044 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6045
6046 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6047 to avoid returning without releasing it.
3e27fa1f 6048
3f9d67a6
KH
60492000-12-21 Kenichi Handa <handa@etl.go.jp>
6050
587fc3f9
KH
6051 * keymap.c (push_key_description): Don't convert eight-bit-control
6052 and eight-bit-graphic to multibyte character.
6053
3f9d67a6
KH
6054 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6055 generic character and CODE1 is nil, return the smallest character
6056 in CHARSET.
6057
774ba8c9
DL
60582000-12-20 Dave Love <fx@gnu.org>
6059
6060 * s/osf5-0.h (NSIG): Don't redefine.
6061
88416888
SM
60622000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6063
6064 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6065 excluding menu-bar and tool-bar.
6066 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6067 (menu_item_p): Remove.
6068 (where_is_internal_1): Don't ignore menu-items.
6069
a6426c6f
GM
60702000-12-20 Gerd Moellmann <gerd@gnu.org>
6071
03ff8aab
GM
6072 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6073 into account.
6074
6075 * window.c (make_window): Initialize window's min_hscroll.
6076 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6077 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6078 to zero.
6079 (struct saved_window): New member min_hscroll.
6080 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6081 (Fset_window_configuration): Set window's min_hscroll.
6082 (save_window_save): Save window's min_hscroll.
6083 (compare_window_configurations): Compare min_hscroll values.
6084
6085 * window.h (struct window): New member min_hscroll.
6086
6087 * keyboard.c (echo_prompt): Prevent a compiler warning.
6088
8de4aaf8
GM
6089 * xdisp.c (try_cursor_movement): Fix last change. The real
6090 condition is that PT is at the end of the row, and should
6091 be displayed at the start of the next row.
52283633 6092
3f7e3031
GM
6093 * xdisp.c (try_cursor_movement): If we end on a partially
6094 visible line, end we already decided to scroll, return -1.
6095
a6426c6f
GM
6096 * dispextern.h (ensure_frame_matrix): Add prototype.
6097
6098 * window.c (delete_window, Fsplit_window)
6099 (Fset_window_configuration): Call ensure_frame_matrix.
6100
52283633
SM
6101 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6102 New functions.
a6426c6f
GM
6103 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6104 completed, call fake_current_matrices instead of marking frame
6105 garbaged.
6106
57fa2774
JR
61072000-12-20 Jason Rumney <jasonr@gnu.org>
6108
6109 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6110
d925df90
EZ
61112000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6112
6113 * fns.c (Frequire): Doc fix.
6114
7b93a85b
GM
61152000-12-19 Gerd Moellmann <gerd@gnu.org>
6116
52283633 6117 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6118
c74e645b
GM
6119 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6120 currently displaying a message.
6121
7b93a85b
GM
6122 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6123 xterm.h.
6124 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6125
90d97e64
AI
61262000-12-18 Andrew Innes <andrewi@gnu.org>
6127
6128 * w32.c (w32_strerror): New function.
6129
6130 * w32.h (w32_strerror): New extern.
6131
6132 * w32fns.c (Fw32_shell_execute): Use it.
6133
91c9e6ce
GM
61342000-12-18 Gerd Moellmann <gerd@gnu.org>
6135
6136 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6137
6f4745e2
EZ
61382000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6139
6140 * msdos.c (IT_set_face): Obey inverse_video.
6141
c9e088ce
KH
61422000-12-18 Kenichi Handa <handa@etl.go.jp>
6143
6144 * dired.c (directory_files_internal): Always return decoded filenames.
6145
c3695f5f
GM
61462000-12-18 Gerd Moellmann <gerd@gnu.org>
6147
52d8e4ff
GM
6148 * xterm.c (x_connection_closed): Prevent being called recursively
6149 because of an error condition in XtCloseDisplay.
52283633 6150
62be9979
GM
6151 * xdisp.c (init_iterator): If noninteractive, and the frame's
6152 face cache is null, make one.
6153
52283633 6154 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6155
c3695f5f
GM
6156 * process.c (wait_reading_process_input): Check for pending
6157 input when running timers.
6158
78555fbe
EZ
61592000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6160
52283633 6161 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6162
b2b36264
KH
61632000-12-18 Kenichi Handa <handa@etl.go.jp>
6164
6165 * process.c (read_process_output): Don't run a filter if the code
6166 decoder produces nothing but carryover.
6167
9c543fbf
AI
61682000-12-17 Andrew Innes <andrewi@gnu.org>
6169
6170 * w32.c (sys_rename): Only check errno against EEXIST, and not
6171 EACCES, when determining whether rename failed because the target
6172 exists. This was resulting in indefinite looping on Windows 9x if
6173 the source file was locked by another process.
6174
6175 * w32fns.c (Ffile_system_info): New function.
6176 (syms_of_w32fns): Defsubr it.
6177
10c2b5a8
GM
61782000-12-17 Gerd Moellmann <gerd@gnu.org>
6179
b0228ace
GM
6180 * window.c (coordinates_in_window): Fix computation for
6181 position on vertical line between mode lines.
6182
10c2b5a8
GM
6183 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6184 Don't alter tip_frame or tip_window.
6185 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6186 was deleted.
6187
c844a81a
GM
6188 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6189 Don't alter tip_frame or tip_window.
6190 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6191 was deleted.
6192
6c825f8e
EZ
61932000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6194
6195 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6196 be consistent with the doc string. Reported by NAKAJIMA Mikio
6197 <minakaji@osaka.email.ne.jp>.
6198
af4bb4c8
KH
61992000-12-16 Kenichi Handa <handa@etl.go.jp>
6200
6201 * xfaces.c (Vface_ignored_fonts): New variable.
6202 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6203 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6204
8062e53a
GM
62052000-12-15 Gerd Moellmann <gerd@gnu.org>
6206
e87b8809
GM
6207 * dispnew.c (update_window): Detect pending input every nth line
6208 updated, i.e. do it depending on real work done, and not on the
6209 vpos of the line.
6210
6211 * xterm.c (expose_window): Don't redraw the window that's
6212 currently being updated.
6213
a6768cc5
GM
6214 * window.c (Fset_window_point): Remove test for
6215 cursor_in_non_selected_windows.
6216
4ea7fdca
GM
6217 * lread.c (read1): Recognize end of file after `\\'.
6218
8062e53a
GM
6219 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6220 not unwind_create_frame.
6221
bb7959c1
GM
62222000-12-15 Dave Love <fx@gnu.org>
6223
6224 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6225 bcopy & al.
6226
6227 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6228
ced04c42
KH
62292000-12-15 Kenichi Handa <handa@etl.go.jp>
6230
c5443913
KH
6231 * coding.c (setup_coding_system): Clear all members of the struct
6232 coding_system at first.
bc137305
KH
6233 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6234 argument.
6235 (code_convert_region): Don't override coding->src_multibyte and
6236 coding->dst_multibyte.
c5443913 6237
ced04c42
KH
6238 * fns.c (Fmd5): Docstring improved.
6239
c2d7f289
MB
62402000-12-15 Miles Bader <miles@gnu.org>
6241
6242 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6243 are actually marked as mode-lines; otherwise use
6244 estimate_mode_line_height.
6245
9d7d9263
GM
62462000-12-14 Gerd Moellmann <gerd@gnu.org>
6247
6248 * editfns.c (Fformat): Prevent a buffer overrun when the format
6249 specifies a precision.
6250
7cf0153a
EZ
62512000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6252
6253 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6254 argument is outside the range [2..3].
6255
1de0f662
AI
62562000-12-14 Andrew Innes <andrewi@gnu.org>
6257
6258 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6259 nothing to do. Bind inhibit-quit.
6260 (tip_frame): Make it a Lisp_Object.
6261 (x_create_tip_frame): Set tip_frame after it has been added to
6262 Vframe_list.
6263 (Fx_show_tip): Don't set tip_frame here.
52283633 6264 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6265 (unwind_create_frame, unwind_create_tip_frame): New functions.
6266 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6267 while a frame is only partially constructed.
6268
6269 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6270 (x_free_frame_resources): New function.
6271 (x_destroy_window): Use it.
6272
02387dcc
GM
62732000-12-14 Gerd Moellmann <gerd@gnu.org>
6274
6275 * xfns.c (Fx_backspace_delete_keys_p): New function.
6276 (syms_of_xfns): Defsubr it.
6277
6278 * config.in (HAVE_XKBGETKEYBOARD): Add.
6279
0544ef49
KH
62802000-12-14 Kenichi Handa <handa@etl.go.jp>
6281
98d62747
KH
6282 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6283 Always store string in multibyte representation in echobuf.
6284 (echo_char): Always store string in multibyte representation in
6285 echobuf.
6286 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6287 (read_key_sequence): Adjusted for the change of echo_prompt.
6288
a20193cd
KH
6289 * fns.c (Fmd5): Docstring improved.
6290
191b83b6
KH
6291 * lisp.h (detect_coding_system): Prototype adjusted.
6292
0544ef49
KH
6293 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6294 (detect_coding_emacs_mule, detect_coding_iso2022,)
6295 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6296 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6297 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6298 (detect_coding_mask, detect_coding_system): New argument
6299 MULTIBYTEP. Callers changed.
1da1bb05
KH
6300 (decode_coding_string): Set coding->src_multibyte and
6301 coding->dst_multibyte before calling detect_coding and detect_eol.
6302 Update them after some coding system is detected.
52283633 6303
d5b3eb1b
SM
63042000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6305
6306 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6307
6308 * keyboard.c (menu_bar_items, tool_bar_items):
6309 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6310
f7f8bb69
GM
63112000-12-13 Gerd Moellmann <gerd@gnu.org>
6312
52283633 6313 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6314 New variables.
6315 (unwind_create_frame, unwind_create_tip_frame): New functions.
6316 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6317 while a frame is only partially constructed.
6318
6319 * xterm.h (x_free_frame_resources): Declare.
6320
6321 * xterm.c (x_free_frame_resources): New function.
6322 (x_destroy_window): Use it.
6323
e10da507
GM
6324 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6325 don't interrupt the update for pending input initially, i.e.
6326 update at least some lines.
6327
6328 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6329
d5b3eb1b 6330 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6331
6332 * xfns.c (gray_bitmap_bits): Declare `char *'.
6333
90aa2856
GM
63342000-12-12 Gerd Moellmann <gerd@gnu.org>
6335
6336 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6337 lines start with a relief line.
6338
a308c9cd
DL
63392000-12-12 Dave Love <fx@gnu.org>
6340
6341 * window.c (Fdisplay_buffer): Doc fix.
6342 (Fwindow_list): Remove unused var.
6343
6344 * buffer.h (mmap_set_vars): Declare.
6345
6346 * window.h (Fset_window_point): Declare.
6347
d575011f
EZ
63482000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6349
bf6282d2 6350 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6351 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6352 variable `area'. When looking for a row under (X,Y), give up if some
6353 of the previous rows is not enabled.
d575011f 6354
ecf4d726
GM
63552000-12-12 Gerd Moellmann <gerd@gnu.org>
6356
2ebf6139
GM
6357 * window.c (Fset_window_point): If displaying cursors in windows
6358 other than the selected window, make sure redisplay updates
6359 other windows to show the new value of point in the window.
6360
6361 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6362
bfdb75ee
GM
6363 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6364 the buffer is the sole visible buffer when in the mini-buffer.
6365
52283633 6366 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6367 Bind `inhibit-read-only' to t.
6368 (unwind_with_echo_area_buffer): Use AREF.
6369
c0006262
GM
6370 * xfns.c (Fx_hide_tip): Simplified.
6371
52283633
SM
6372 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6373 instead of `1'.
e9a59cad 6374
ecf4d726
GM
6375 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6376
e5959a9a
GM
63772000-12-11 Gerd Moellmann <gerd@gnu.org>
6378
a3642e49 6379 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6380
44b5a125
GM
6381 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6382 nothing to do. Bind inhibit-quit.
6383 (tip_frame): Make it a Lisp_Object.
6384 (x_create_tip_frame): Set tip_frame after it has been added to
6385 Vframe_list.
6386 (Fx_show_tip): Don't set tip_frame here.
6387
6388 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6389
6390 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6391 Lisp_Object.
6392
6393 * dispextern.h: Change external declaration of tip_frame.
6394
d990421f
GM
6395 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6396 return an empty string.
6397
4db87380
GM
6398 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6399 of the window's update_mode_line flag, since the former is set by
6400 force-mode-line-update, not the latter. This makes
6401 column-number-mode slightly faster.
52283633 6402
e5959a9a
GM
6403 * xdisp.c (try_window_id) <all changes above window start>:
6404 Set the cursor.
6405
169fe44e
GM
64062000-12-11 Paul Eggert <eggert@twinsun.com>
6407
6408 * config.in (HAVE_FTELLO): Remove.
6409 (HAVE_FSEEKO): Add.
6410 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6411 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6412 HAVE_FTELLO.
6413 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6414 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6415
59ec59ae
MB
64162000-12-11 Miles Bader <miles@gnu.org>
6417
6418 * window.c (displayed_window_lines): Don't round up when
6419 converting empty space at bottom to lines.
ff904dd6
MB
6420 Handle non-newline-terminated final lines properly.
6421 (Fwindow_text_height): New function (used to be in lisp).
6422 (syms_of_window): Initialize it.
59ec59ae 6423
42ebfa31
SM
64242000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6425
6426 * syntax.c (scan_lists): Check that the right quote char has the
6427 right Sstring syntax when jumping over strings.
6428 (init_syntax_once): Use Smax rather than 13.
6429
5cdb3cf3
MB
64302000-12-09 Miles Bader <miles@gnu.org>
6431
6432 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6433 with PARTIALLY, inverting the sense.
6434 (window_scroll_pixel_based): Scroll partially visible lines into
6435 place if we hit the beginning or end of the buffer.
a12167c5
MB
6436 (displayed_window_lines): Don't include partially visible lines.
6437 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6438
842b2a94
GM
64392000-12-08 Gerd Moellmann <gerd@gnu.org>
6440
6441 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6442
6443 * tparam.c (tparam1): Change the way buffers are reallocated to be
6444 portable and less obfuscated.
6445
6446 * termcap.c (tgetent): Change the way buffers are reallocated to
6447 be portable and less obfuscated.
6448
6449 * macros.c (store_kbd_macro_char): Change the way buffers are
6450 reallocated to be portable and less obfuscated.
6451
6452 * lread.c (read1): Change the way buffers are reallocated to be
6453 portable and less obfuscated.
6454
6455 * doc.c (Fsubstitute_command_keys): Change the way buffers
6456 are reallocated so that it is portable.
6457
137cad7c
EZ
64582000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6459
6460 * dosfns.c (Ffile_system_info): New function.
6461 (syms_of_dosfns): Defsubr it.
6462
5c7f629c
SM
64632000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6464
6465 * alloc.c (gc_sweep): Add comment.
6466
959e647d
GM
64672000-12-07 Gerd Moellmann <gerd@gnu.org>
6468
52283633
SM
6469 * sound.c (vox_configure): Change order of ioctls.
6470 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6471 Ignore errors when changing volume.
6472 (vox_close): Don't reset the device.
6473
926b7e5e
GM
6474 * process.c (read_process_output): Make sure the process marker's
6475 position is valid when the process buffer is changed in
6476 after-change functions. W3 does that.
52283633 6477
959e647d
GM
6478 * xfns.c (x_free_gcs): New function.
6479
6480 * xterm.h (x_free_gcs): Add prototype.
6481
6482 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6483 freeing GCs here.
6484
6485 * xterm.c (x_destroy_window): Call x_free_gcs so that
6486 resources of non-toolkit X windows will be freed.
6487
478ea067
AI
64882000-12-07 Andrew Innes <andrewi@gnu.org>
6489
6490 * w32fns.c (xlfd_charset_of_font): Fix last change.
6491
fbee3231
DL
64922000-12-06 Dave Love <fx@gnu.org>
6493
67292061
DL
6494 * md5.h (__P): Don't define -- it comes from config.h.
6495
fbee3231
DL
6496 * strftime.c: Change some #if foo to #ifdef foo.
6497
4ee87dbb
AI
64982000-12-06 Andrew Innes <andrewi@gnu.org>
6499
6500 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6501
52283633 6502 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6503 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6504 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6505
9765b4a4
GM
65062000-12-06 Gerd Moellmann <gerd@gnu.org>
6507
d285b373
GM
6508 * alloc.c (gc_sweep): Prevent symbols read during loadup
6509 from being freed.
6510
384333ee
GM
6511 * xdisp.c (underlying_face_id): New function.
6512 (handle_face_prop, face_before_or_after_it_pos): Use it
6513 to determine the face ``under'' a string. Let strings inherit
6514 the face of the buffer under them.
6515
6516 * xfaces.c (face_at_string_position): Update function comment.
52283633 6517
d4b72d58
GM
6518 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6519 matrix if the window's left position has changed; we need to
6520 redraw it in this case.
6521
6522 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6523
e1d05387
GM
6524 * window.c (coordinates_in_window): Check mouse on mode-line or
6525 header-line first.
6526
eb1b0c74
GM
6527 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6528 advertized by the function documentation.
6529
d94d636f
GM
6530 * window.c (syms_of_window): Doc fix.
6531
3887b449
GM
6532 * sound.c (vox_configure): Set volume for left and right channel.
6533 (sound_cleanup): Return nil.
6534
efc8f57a
GM
6535 * xdisp.c (move_it_by_lines): Fix paren typo.
6536
9765b4a4
GM
6537 * xterm.c (x_load_font): Don't use the font's max_bounds for
6538 computing the height of the font. If max_bounds' ascent or
6539 descent are greater than the font's ascent or descent, this means
6540 glyphs overlap, which should be handled now by redisplay.
6541
6529ed87
GM
6542 * window.c (Veven_window_heights): New variable.
6543 (syms_of_window): DEFVAR_LISP it.
6544 (Fdisplay_buffer): Check Veven_window_heights before evening the
6545 window heights.
52283633 6546
0eb2ecde
MB
65472000-12-06 Miles Bader <miles@gnu.org>
6548
6549 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6550 update `default-frame-alist' instead of setting no frame parameters.
6551
03d7a167
KH
65522000-12-06 Kenichi Handa <handa@etl.go.jp>
6553
6554 * composite.c (update_compositions): Fix typo (use the correct
6555 variable).
6556
5f8803c2
JR
65572000-12-05 Jason Rumney <jasonr@gnu.org>
6558
6559 * md5.h: Remove underscores from function declarations.
6560 (__attribute__, __alignof__) [!__GNUC__]: Define.
6561
6562 * md5.c: Delay include of md5.h until after namespace cleaning.
6563
c28a075b
JR
6564 * makefile.w32-in (fns.o): Depend on md5.h
6565 (md5.o): New target.
6566 (sunfns.o): Remove.
6567
6568 * makefile.nt: Likewise.
6569
ff3c7056
JR
65702000-12-05 Jason Rumney <jasonr@altavista.net>
6571
6572 * w32term.c (expose_area): Complete last change.
6573
0c21eeeb
KR
65742000-12-05 Ken Raeburn <raeburn@gnu.org>
6575
6576 * minibuf.c: Include intervals.h.
6577
f201d732
JR
65782000-12-05 Jason Rumney <jasonr@gnu.org>
6579
6580 * w32term.c (x_produce_glyphs): If a font for a component of
6581 a composition is not found, use 1 pixel dot ascent and 0 dot
6582 descent value to avoid displaying terribly tall empty boxes.
6583 (expose_area): Pass x-coordinate relative to the exposed
6584 area to x_draw_glyphs instead of a window-relative coordinate.
6585
21999ab9
GM
65862000-12-05 Gerd Moellmann <gerd@gnu.org>
6587
4d2036e4
GM
6588 * xdisp.c (next_element_from_ellipsis): Save face before selective
6589 display in saved_face_id, and set face_before_selective_p.
6590 (reseat_1): Reset face_before_selective_p.
6591 (append_space, extend_face_to_end_of_line): If iterator's
6592 face_before_selective_p is set, use the face from saved_face_id.
6593 (extend_face_to_end_of_line): For tty frames, make sure to
6594 use the right face id when producing spaces at the end of
6595 the line.
6596
6597 * dispextern.h (struct it): Add face_before_selective_p.
6598
52be17cc
GM
6599 * keyboard.c (record_char): Don't record identical help-echo
6600 events in recent_keys.
6601
8a4f36cc
GM
6602 * xterm.c [USE_X_TOOLKIT]: Close the display.
6603 (xim_close_dpy): Handle case that the display has been closed.
6604
57d6e381
GM
6605 * xterm.c (x_destroy_window): Reset the frame's X window after
6606 destroying it.
6607
21999ab9
GM
6608 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6609 variable window_width.
6610 (line_draw_cost): Fix code skipping over spaces at the end of the
6611 line when must_write_spaces is not set.
6612 (scrolling_window): Fix code inserting runs in list of all runs.
6613
91372bb7
KH
66142000-12-05 Kenichi Handa <handa@etl.go.jp>
6615
6616 * coding.c (setup_coding_system): Be sure to initialize
6617 coding->category_idx.
6618
6c083b4c
GM
66192000-12-04 Gerd Moellmann <gerd@gnu.org>
6620
0c68ce6f 6621 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6622
6452929e
GM
6623 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6624 area to x_draw_glyphs instead of a window-relative coordinate.
6625
d7f31e22
GM
6626 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6627 error in the message.
6628
ae18aa3b
GM
6629 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6630 timer after having read a key. It's not good for code reading
6631 several keys in a loop, like an input method.
6632
caa15ef7
GM
6633 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6634 record undo information for format-decode.
6635
6636 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6637 current buffer is read-only, not if it isn't.
6638
6c083b4c
GM
6639 * keyboard.c (record_char): Record `help-echo' input events
6640 in recent_keys only if they display some help. Don't record
6641 `help-echo' events as macro char.
6642
caa15ef7
GM
66432000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6644
6645 * editfns.c (save_excursion_restore): Don't move point
6646 in another window if it is showing the wrong buffer.
6647 Avoid the call to Fwindow_live_p, for speed.
6648
5a13529b
KH
66492000-12-04 Kenichi Handa <handa@etl.go.jp>
6650
e225faa7
KH
6651 * xfaces.c (struct font_name): New member registry_priority.
6652 (split_font_name): Initialize the above member to zero.
6653 (concat_font_list): New function.
6654 (font_list): Include fonts of all alternative registries.
6655 (FONT_POINT_SIZE_QUANTUM): New macro.
6656 (better_font_p): Ignore point size difference less than
6657 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6658
e89648b4
KH
6659 * xterm.c (x_produce_glyphs): If a font for a component of
6660 a composition is not found, use 1 pixel dot ascent and 0 dot
6661 descent value to avoid displaying terribly tall empty boxes.
6662
5a13529b
KH
6663 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6664
d7935eb6
KR
66652000-12-03 Ken Raeburn <raeburn@gnu.org>
6666
6667 * coding.h (code_convert_string1): Declare.
6668
6669 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6670
52283633 6671 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6672
0dd5e255
JR
66732000-12-02 Jason Rumney <jasonr@gnu.org>
6674
6675 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6676 correctly for single byte character case.
6677 (w32_per_char_metric): Do not try to make any assumptions about
6678 the metrics of BDF fonts.
250cfece 6679 (x_estimate_mode_line_height): If `mode-line' face
52283633 6680 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6681 (note_mouse_highlight): Change the cursor shape on the vertical
6682 border between windows [not enabled].
6683
6684 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6685
6686 * w32fns.c (Fx_create_frame): Reintroduce the call to
6687 face-set-after-frame-defaults.
6688 (Vx_window_horizontal_drag_shape): New variable.
6689 (syms_of_xfns): DEFVAR_LISP it.
6690 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6691 enabled].
0dd5e255 6692
b5d8d2ca
GM
66932000-12-02 Simon Josefsson <simon@josefsson.org>
6694
6695 * fns.c (Fmd5): Use a different logic to decide the coding system
6696 to use.
6697
6698 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6699
fbb87147
EZ
67002000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6701
52283633 6702 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6703
447e9da0
GM
67042000-12-01 Gerd Moellmann <gerd@gnu.org>
6705
7708ced0
GM
6706 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6707 height for YNegative.
6708 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6709 height; also see comment there.
6710
447e9da0
GM
6711 * window.c (coordinates_in_window): Handle computations for
6712 positions on the vertical bar and fringes differently for
6713 window-system frames. Consider some pixels near the vertical bar
6714 as on the bar if the frame doesn't have vertical scroll bars.
6715 Associate positions between mode or header lines with the
6716 right window, the left one.
6717
86d1db20
JR
67182000-12-01 Jason Rumney <jasonr@gnu.org>
6719
6720 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6721
6722 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6723 invalid frame.
6724
a1d58e5b
GM
67252000-12-01 Gerd Moellmann <gerd@gnu.org>
6726
52283633 6727 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6728 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6729 (save_window_save, Fset_window_configuration): Save/restore
6730 window's orig_top and orig_height.
6731
89c609af
JR
67322000-12-01 Jason Rumney <jasonr@gnu.org>
6733
4d177746 6734 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6735
89c609af
JR
6736 * w32fns.c (x_set_cursor_color): Fix last change.
6737
eccc05db
GM
67382000-11-30 Gerd Moellmann <gerd@gnu.org>
6739
31b6671b
GM
6740 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6741 sure that the next redisplay displays the minibuffer, so that
6742 the cursor will be replaced with what the minibuffer wants.
6743
eccc05db
GM
6744 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6745 #ifndef instead of using #if.
6746 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6747 USE_TOOLKIT_SCROLL_BARS is defined.
6748
162de750
JR
67492000-11-30 Jason Rumney <jasonr@gnu.org>
6750
6751 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6752 x_display_cursor.
6753
693c4692
GM
67542000-11-30 Gerd Moellmann <gerd@gnu.org>
6755
6756 * fns.c (Fmd5): Doc fix.
6757
b5d8d2ca 67582000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6759
6760 * fns.c (Fmd5): New function.
6761 (syms_of_fns): Defsubr md5.
6762
6763 * Makefile.in (obj): Add md5.o
6764
b02cd40b
GM
67652000-11-30 Gerd Moellmann <gerd@gnu.org>
6766
edfb795e
GM
6767 * md5.h, md5.c: New files, taken from glibc.
6768
df3aedcf
GM
6769 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6770
b02cd40b 6771 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6772 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6773
8b5176cd
SM
67742000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6775
6776 * eval.c (Frun_hooks): Allow 0 arguments.
6777
346598f1
GM
67782000-11-29 Gerd Moellmann <gerd@gnu.org>
6779
f9396e03
GM
6780 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6781 is over the menu bar widget, say it's not on the frame.
6782
4a967a9b
GM
6783 * xfns.c (Fx_create_frame): Reintroduce the call to
6784 face-set-after-frame-defaults.
6785
346598f1
GM
6786 * eval.c (Fsignal): Reset handling_signal.
6787
222456a1
JR
67882000-11-28 Jason Rumney <jasonr@gnu.org>
6789
6790 * w32menu.c (add_menu_item): Reset menu item text when changing
6791 type to radio button.
6792
8049ddc0
GM
67932000-11-28 Gerd Moellmann <gerd@gnu.org>
6794
346598f1 6795 * xselect.c: Update copyright.
f4f4ee4d 6796
bebe4a2c
GM
6797 * window.c (coordinates_in_window): If on a mode or header line,
6798 but sufficiently close to its start, return ``on vertical
6799 border''. This gives us a way to drag windows horizontally when
6800 using toolkit scroll bars.
6801
6802 * xterm.c (note_mouse_highlight): Change the cursor shape
6803 on the vertical border between windows.
6804
6805 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6806
6807 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6808 (syms_of_xfns): DEFVAR_LISP it.
6809 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6810
8d2c2642
GM
6811 * textprop.c (text_read_only): New function.
6812 (verify_interval_modification): Use it instead of signaling
6813 `text-read-only'. This makes it easier to catch this error
52283633 6814 with a breakpoint.:
8d2c2642 6815
52283633 6816 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6817 not end of line, which includes CR.
6818
5a2bae6c
KH
68192000-11-28 Kenichi Handa <handa@etl.go.jp>
6820
6821 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6822 include no-conversion.
6823
ae31f84d
JR
68242000-11-27 Jason Rumney <jasonr@gnu.org>
6825
6826 * w32fns.c (w32_load_system_font): Always mark font as double byte
6827 if codepage is unicode.
6828
67f1cf4c
GM
68292000-11-27 Gerd Moellmann <gerd@gnu.org>
6830
4a74d071 6831 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6832 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6833
902ae620
GM
6834 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6835 `vertical-line', `mode-line' and `header-line' events.
6836
6837 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6838 of a character, a TAB for instance. This is easier than to set
6839 up the iterator exactly, and it's not a frequent case, so the
6840 additional effort wouldn't really pay off.
6841
c1e279c2
AC
68422000-11-26 Andrew Choi <akochoi@i-cable.com>
6843
67f1cf4c 6844 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6845 init_window_once.
6846
a609568a
JR
68472000-11-25 Jason Rumney <jasonr@gnu.org>
6848
52283633
SM
6849 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6850 Args to window_from_coordinates should be pixel coordinates.
48b21762 6851
a609568a
JR
6852 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6853 redisplay handles them properly.
6854
a658d039
MB
68552000-11-25 Miles Bader <miles@gnu.org>
6856
6857 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6858
d3416cca
JR
68592000-11-24 Jason Rumney <jasonr@gnu.org>
6860
6861 * w32.c (init_environment): Set LANG environment variable based on
6862 locale settings, if not set.
6863
6864 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6865 making tool bar smaller. When clearing the frame, also
6866 clear current matrices. Clear frame when tool bar disappears.
6867 Don't use more lines for the tool-bar than is available.
6868 (x_change_window_heights): New function.
6869
ba193890
GM
68702000-11-24 Gerd Moellmann <gerd@gnu.org>
6871
2be8f184
GM
6872 * xdisp.c (init_from_display_pos): If POS says we're already after
6873 an overlay string ending at POS, make sure to pop the iterator
6874 because it will be in front of that overlay string. When POS is
6875 ZV, we've thereby also ``processed'' overlay strings at ZV.
6876
ba193890
GM
6877 * xfaces.c (lface_from_face_name): Function comment fix.
6878
1862a24e
MB
68792000-11-24 Miles Bader <miles@gnu.org>
6880
6881 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6882 apply `mode-line-inverse-video' -- zero means force display using
6883 the default face, non-zero means display using the specialized face.
6884 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6885
f07fa1b8
KH
68862000-11-23 Kenichi Handa <handa@etl.go.jp>
6887
6888 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6889 hard coded `4'.
6890
2bcdf662
EZ
68912000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6892
6893 * coding.c (decode_coding_emacs_mule): Fix the case of
6894 CODING_EOL_LF, which used uninitialized value of c.
6895
ba8299ff
SM
68962000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6897
6898 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6899
f4117c4d
GM
69002000-11-22 Gerd Moellmann <gerd@gnu.org>
6901
03e757c1
GM
6902 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6903 buffer object.
6904
f4117c4d
GM
6905 * frame.h (struct frame): Replace desired_tool_bar_items,
6906 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6907 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6908
6909 * frame.c (make_frame): Change initialization of tool bar
6910 items accordingly.
6911
6912 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6913 Change references to members deleted from struct frame to use the
f4117c4d
GM
6914 new ones.
6915
6916 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6917 references to members deleted from struct frame to use the new ones.
f4117c4d 6918
52283633 6919 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6920
6921 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6922
6923 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6924 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6925 from struct frame to use the new ones.
6926
f8e2f3f2
MB
69272000-11-23 Miles Bader <miles@gnu.org>
6928
6929 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6930 the face's inverse-video attribute, rather than overriding it.
6931
60e8e0a5
GM
69322000-11-22 Gerd Moellmann <gerd@gnu.org>
6933
6934 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6935 making tool bar smaller.
6936
92dd1b29
DL
69372000-11-22 Dave Love <fx@gnu.org>
6938
6939 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6940
e672fdce
MB
69412000-11-22 Miles Bader <miles@gnu.org>
6942
3a17d6cc
MB
6943 * keyboard.c (Vminibuffer_message_timeout): New variable.
6944 (command_loop_1): Use it to determine message timeout.
6945 (syms_of_keyboard): Initialize it.
6946
60e8e0a5 6947 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6948
e9655d81
KH
69492000-11-22 Kenichi Handa <handa@etl.go.jp>
6950
6951 * sysdep.c: Move the code for declaring h_errno after #include
6952 <netdb.h>.
6953
77270fac
GM
69542000-11-21 Gerd Moellmann <gerd@gnu.org>
6955
cd913aae
GM
6956 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6957 the menu bar when the tooltip is unmapped.
6958
77270fac
GM
6959 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6960 sole visible buffer when we're currently in the mini-buffer, and
6961 give up if so.
52283633 6962
556635d6
JR
69632000-11-21 Jason Rumney <jasonr@gnu.org>
6964
6965 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6966 put on the clipboard.
6967 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6968 copy of what Emacs last put there. If they are the same, do not
52283633 6969 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6970
5b7bde64
MB
69712000-11-22 Miles Bader <miles@gnu.org>
6972
6973 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6974 (syms_of_minibuf): Initialize it.
6975 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6976 to prompt, don't make read-only.
6977
ff23e1dd
GM
69782000-11-21 Gerd Moellmann <gerd@gnu.org>
6979
52283633
SM
6980 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6981 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6982
7aaf4388
GM
6983 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6984
f5f47add 6985 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6986
ff23e1dd
GM
6987 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6988
37c35586
KH
69892000-11-21 Kenichi Handa <handa@etl.go.jp>
6990
6991 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6992 ... #endif scope.
6993
ff9ab414
GM
69942000-11-20 Gerd Moellmann <gerd@gnu.org>
6995
52283633 6996 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6997 screen supports it.
6998
29a01b72
GM
6999 * s/gnu-linux.h: Don't use `#cpu'.
7000
09dfdf85
GM
7001 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7002 not defined in mman.h.
7003
52283633 7004 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7005 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7006 and store an index in the XClientMessageEvent. Storing a
7007 Lisp_Object or pointer can fail on a 64 bit system, since X only
7008 transfers 32 bits.
52283633
SM
7009 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7010
81459ac9
DL
70112000-11-20 Dave Love <fx@gnu.org>
7012
7013 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7014
56c13ae6
GM
70152000-11-20 Gerd Moellmann <gerd@gnu.org>
7016
7017 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7018
495a6df3
KH
70192000-11-20 Kenichi Handa <handa@etl.go.jp>
7020
2bcf3714
KH
7021 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7022 by WIDTH.
7023
495a6df3
KH
7024 * alloc.c (make_string): Fix previous change. Be sure to make
7025 unibyte string correctly.
7026
6d950f4c
GM
70272000-11-19 Gerd Moellmann <gerd@gnu.org>
7028
39b39373
GM
7029 * window.c (Fwindow_list): Change parameter list to be XEmacs
7030 compatible.
7031 (window_list_1): New function.
7032 (window_loop): Use it instead of Fwindow_list.
7033
b95b34e5
GM
7034 * sysdep.c (emacs_ospeed): New variable.
7035 (toplevel): Don't declare ospeed extern.
7036 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7037
7038 * termcap.c (ospeed): Remove.
7039 (tputs) [!emacs]: Remove unused code.
7040 (tgetent): Avoid a compiler warning.
7041
e83dc917
GM
7042 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7043 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7044 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7045
7046 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7047 removed.
7048 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7049 Take the X display as additional argument.
7050 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7051 `Widget' is a pointer type that's not easily stored in Lisp_Object
7052 form in a portable way.
52283633 7053
6d950f4c
GM
7054 * dispnew.c (update_text_area): Fix last change.
7055
e47306e6
GM
70562000-11-18 Gerd Moellmann <gerd@gnu.org>
7057
fb3cd89b
GM
7058 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7059
7060 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7061 clear current matrices.
7062
edaa9aed
GM
7063 * buffer.c (mmap_enlarge): Don't print a message on stderr
7064 if mapping new memory at the end of the existing region fails.
7065
e47306e6
GM
7066 * dispnew.c (update_text_area): Don't skip over equal glyphs
7067 when the last current glyph overlaps the glyph to its right.
7068
509633e3
MB
70692000-11-18 Miles Bader <miles@gnu.org>
7070
7071 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7072 lines that *end* with "..." too (that's the most common case!).
7073
d392e9c5
GM
70742000-11-18 Gerd Moellmann <gerd@gnu.org>
7075
67988445
GM
7076 * xdisp.c (resize_mini_window): Temporarily change to the
7077 mini-window's buffer if necessary.
1bfdbe43 7078
d392e9c5
GM
7079 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7080 the tooltip obscures less text under it.
7081
70822000-11-17 Gerd Moellmann <gerd@gnu.org>
7083
7084 * puresize.h (BASE_PURESIZE): Increase to 700000.
7085
92bb977f
JR
70862000-11-18 Jason Rumney <jasonr@gnu.org>
7087
7088 * w32term.c (w32_draw_bitmap): Use face to set colors.
7089
26fbf20b
DL
70902000-11-17 Dave Love <fx@gnu.org>
7091
7092 * lread.c (Fload): Fix #ifdef for pcc.
7093
100b593b
GM
70942000-11-17 Gerd Moellmann <gerd@gnu.org>
7095
7096 * xdisp.c (pos_visible_p): Compute the default character height
7097 differently.
7098
a288d0d1
GM
70992000-11-16 Gerd Moellmann <gerd@gnu.org>
7100
cac94de6 7101 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7102 knowing the line's height; use the default font's height in that case.
cac94de6 7103
a288d0d1
GM
7104 * xfaces.c (weight_table): Add `demi' with the same meaning as
7105 `demibold'.
7106
981fb6f6
KH
71072000-11-16 Kenichi Handa <handa@etl.go.jp>
7108
2cca872d 7109 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7110 (clear_glyph_row): Delete local static variable null_row.
7111
e5fa381b
JR
71122000-11-15 Jason Rumney <jasonr@gnu.org>
7113
7114 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7115 (w32_alloc_lighter_color): Use new brightness calculations from
7116 xterm.c. Scale delta to be in the range expected by W32.
7117 (w32_draw_relief_rect): Use frame relief colors.
7118
8e42f043
GM
71192000-11-15 Gerd Moellmann <gerd@gnu.org>
7120
6d133d1f
GM
7121 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7122 (Qinhibit_default_face_x_resources): New variable.
7123 (syms_of_frame): Initialize it.
7124 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7125
7126 * xdisp.c (pos_visible_p): Improve function comment.
7127
7128 * lisp.h (BINDING_STACK_SIZE): New macro.
7129
8e42f043
GM
7130 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7131 reading the directory if readdir returns null and errno is EAGAIN
7132 or EINTR.
7133
e8c87124
SM
71342000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7135
7136 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7137 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7138 Set amount_to_scroll to max of dx and scroll_step so that
7139 scroll-conservatively doesn't defeat scroll-step>1.
7140 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7141 scroll-conservatively for line-at-a-time scrolling.
7142
5f0c971d
GM
71432000-11-14 Gerd Moellmann <gerd@gnu.org>
7144
7145 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7146 extra argument.
7147
7148 * xdisp.c (current_mode_line_height, current_header_line_height):
7149 New variables.
7150 (init_xdisp): Initialize them.
7151 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7152 and use exact mode line heights if it is set.
7153
7154 * lisp.h (pos_visible_p): Change prototype.
7155
7156 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7157 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7158 and current_header_line_height first.
52283633
SM
7159 (current_mode_line_height, current_header_line_height):
7160 Declare extern.
5f0c971d 7161
d7361edf
MB
71622000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7163
7164 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7165 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7166 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7167
ee5e440a
MB
71682000-11-14 Miles Bader <miles@gnu.org>
7169
7170 * xterm.c (x_alloc_lighter_color): Include an additive component
7171 too for dark colors, because FACTOR isn't enough.
7172 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7173 New macros.
7174
5ca020fc
GM
71752000-11-13 Gerd Moellmann <gerd@gnu.org>
7176
7177 * keyboard.c (show_help_echo): Call message3_nolog with number of
7178 bytes in the help string as 2nd parameter, instead of the number
7179 of characters.
7180
9d348294
MB
71812000-11-13 Miles Bader <miles@gnu.org>
7182
7183 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7184 (Fload): Use new openp return protocol.
7185 Don't try to use Vload_source_file_function to load .elc files.
7186 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7187 openp return protocol.
7188 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7189
1729bb9a
KH
71902000-11-11 Kenichi Handa <handa@etl.go.jp>
7191
4e677396
KH
7192 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7193
7194 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7195 Defined these macros.
7196 (NLIST_STRUCT): Avoid re-defining it.
7197
1729bb9a
KH
7198 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7199 -I/usr/contrib/X11R6/include.
7200 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7201
a82fe213
JR
72022000-11-10 Jason Rumney <jasonr@gnu.org>
7203
7204 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7205
7206 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7207 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7208
7209 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7210 (Qw32_charset_vietnamese): New symbol.
7211 (xlfd_charset_of_font): New function.
7212 (w32_load_system_font): Use it.
7213 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7214 when Vw32_charset_info_alist is nil to ensure default face always
7215 has font. Use Fcar and Fcdr for safety.
7216 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7217 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7218 pseudo-codepages for special cases.
7219 (w32_to_x_font): New parameter to allow charset portion to be
7220 specified where there is many to one mapping. Callers changed.
7221 (w32_list_fonts): Avoid listing fonts that won't display.
7222
52d89894
GM
72232000-11-10 Gerd Moellmann <gerd@gnu.org>
7224
7225 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7226 (font_list_1): Renamed from font_list.
7227 (font_list): New function, trying alternative registries from
7228 Vface_alternative_font_registry_alist.
7229 (Finternal_set_alternative_font_registry_alist): New function.
7230 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7231 Vface_alternative_font_registry_alist.
7232 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7233
651cd3da
KR
72342000-11-09 Ken Raeburn <raeburn@gnu.org>
7235
7236 * lisp.h (Flooking_at): Declare.
7237
388ac098
GM
72382000-11-09 Gerd Moellmann <gerd@gnu.org>
7239
778fbc46 7240 * dired.c (directory_files_internal): Fix a braino.
52283633 7241
388ac098
GM
7242 * dired.c (directory_files_internal): Add missing GCPRO's.
7243 Some cleanup.
7244
ecaedde1
GM
72452000-11-08 Gerd Moellmann <gerd@gnu.org>
7246
f7eb32aa
GM
7247 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7248 (resize_mini_window): Return quickly if Vresize_mini_window is
7249 nil. Don't return if Vmax_mini_window_height is nil.
7250
7251 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7252 (syms_of_xdisp): Initialize them.
7253 (resize_mini_window): Act according to the setting of
7254 Vresize_mini_window.
7255 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7256
ecaedde1
GM
7257 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7258 scroll bar widget after configuring it, so that it will appear at
7259 the right position from the start.
7260 (XTredeem_scroll_bar): Cleaned up.
7261
3747ef2c
KH
72622000-11-08 Kenichi Handa <handa@etl.go.jp>
7263
7264 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7265 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7266 division by two.
7267
7268 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7269
03391420
DL
72702000-11-07 Dave Love <fx@gnu.org>
7271
7758f1c1 7272 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7273
7274 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7275
b5de343d
GM
72762000-11-07 Gerd Moellmann <gerd@gnu.org>
7277
acad3c0b
GM
7278 * window.c (Fset_window_configuration): Don't try to preserve
7279 point in the current buffer, if that buffer is displayed in more
7280 than one window.
7281
b5de343d
GM
7282 * xfaces.c (lookup_named_face): If default face isn't realized,
7283 try to realize it. Return -1 if not successful.
7284 (Fx_list_fonts): Handle case that face cannot be determined.
7285 (Fface_font): Likewise.
7286
cdb1fe49
GM
72872000-11-06 Gerd Moellmann <gerd@gnu.org>
7288
7289 * window.c (displayed_window_lines): Detect partially
7290 visible lines at the bottom correctly.
7291
d3a67486
SM
72922000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7293
7294 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7295 when ensuring we don't do visit in indirect buffer.
7296
ff8dd5d5
KH
72972000-11-06 Kenichi Handa <handa@etl.go.jp>
7298
7299 * composite.h (compose_chars_in_text): Add prototype.
7300
7301 * composite.c (Vcomposition_function_table): New variable.
7302 (Qcomposition_function_table): New variable.
7303 (run_composition_function): Call
7304 Vcompose_chars_after_function with three arguments.
7305 (compose_chars_in_text): New function.
7306 (syms_of_composite): Modified the doc-string of
7307 Vcompose_chars_after_function. Declare composition-function-table
7308 as a lisp variable, and initialize it.
7309
7310 * xfns.c (x_encode_text): Suppress producing escape sequences for
7311 composition.
7312
7313 * xselect.c: Include composite.h.
7314 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7315
d1145f85
AI
73162000-11-05 Andrew Innes <andrewi@gnu.org>
7317
7318 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7319
7320 * sysdep.c (read_input_waiting): Remove extraneous argument to
7321 read_socket_hook.
7322
7323 * w32fns.c (Fx_server_version): Include w32_build_number in the
7324 return list.
7325
7326 * w32heap.c (w32_build_number): New variable.
7327 (cache_system_info): Set it.
7328
7329 * w32heap.h (w32_build_number): Add extern.
7330
7331 * emacs.c (syms_of_emacs): Update docstring for
7332 system-configuration, to reflect the actual usage on MS-Windows.
7333
e85ee976
GM
73342000-10-31 Gerd Moellmann <gerd@gnu.org>
7335
26dcb81b
GM
7336 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7337 process idle timers while waiting for another event.
7338
52283633 7339 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7340 the default face are colored.
7341
e85ee976
GM
7342 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7343 window height hasn't changed.
7344
01b220b6
JR
73452000-10-31 Jason Rumney <jasonr@gnu.org>
7346
7347 * w32term.c (x_produce_glyphs): Handle composite characters.
7348 (x_draw_glyph_string_foreground)
7349 (x_draw_composite_glyph_string_foreground): Restore old font.
7350
4e6b7204
MB
73512000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7352
7353 * minibuf.c (read_minibuf): Reset the undo history just before
7354 starting the recursive-edit.
7355
d4358b37
GM
73562000-10-30 Gerd Moellmann <gerd@gnu.org>
7357
563f68f1
GM
7358 * xfaces.c (menu_face_change_count): New variable.
7359 (Finternal_set_lisp_face_attribute): Increment it for changes
7360 of the `menu' face.
7361 (realize_basic_faces): Reflect changes in the `menu' faces
7362 in menu bars.
7363
82e274d1
GM
7364 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7365 dy obtained from the iterator's y-position after moving from
7366 scroll_margin_pos to PT; see comment there.
52283633 7367
0dbf9fd2
GM
7368 * xdisp.c (safe_eval_handler): Call add_to_log.
7369
906b3b14
GM
7370 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7371 is not a symbol or string.
7372
d4358b37
GM
7373 * xdisp.c (echo_area_display): Don't perform a display update from
7374 inside redisplay. The update will happen anyway at the end of
7375 redisplay, and it can confuse redisplay (GC messages while
7376 redisplaying, for instance.)
7377
70c825df
SM
73782000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7379
cf9b4b0b
SM
7380 * xrdb.c (x_load_resources): Use the class name in the defaults.
7381
70c825df
SM
7382 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7383 (regex_compile): Catch bogus \(\1\).
7384
a1d34b1e
GM
73852000-10-30 Gerd Moellmann <gerd@gnu.org>
7386
cae71efe
GM
7387 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7388 RGB values.
52283633 7389
35efe0a1
GM
7390 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7391 we have a color cache, check that the cached color equals the
7392 allocated color. If not, clear the color cache.
7393
1d3baf74
GM
7394 * window.c (displayed_window_lines): Change buffers if necessary.
7395 Fix computation of displayed lines.
7396
a1d34b1e
GM
7397 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7398 update_menu_bindings to DEFVAR_BOOL.
7399
70737ea9
KH
74002000-10-30 Kenichi Handa <handa@etl.go.jp>
7401
70c825df 7402 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7403
fa0cb51d
KH
7404 * puresize.h (BASE_PURESIZE): Increase to 680000.
7405
70737ea9
KH
7406 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7407
0e4c08e8
JR
74082000-10-29 Jason Rumney <jasonr@gnu.org>
7409
7410 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7411
7412 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7413 (w32_cache_char_metrics): Handle possibility that 'x' does not
7414 exist in a BDF font.
7415 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7416
7417 * w32bdf.h (bdffont): Add nchars.
7418
7419 * w32bdf.c (set_bdf_font_info): Set it.
7420 (w32_BDF_TextOut): Swap byte order of double byte characters.
7421 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7422
45b84006
EZ
74232000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7424
7425 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7426 don't override the colors in frame's param_alist, unless they are
7427 unspecified.
7428
7429 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7430 reverse the effect of the highlight flag.
7431
caf9deee
KR
74322000-10-27 Ken Raeburn <raeburn@gnu.org>
7433
7434 * window.h (Fwindow_live_p): Declare.
7435
ae0b9b46
KR
7436 * undo.c (record_delete): Check that last_undo_buffer is really a
7437 buffer before applying XBUFFER to it.
7438
7439 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7440 Faref.
7441
02067692
SM
74422000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7443
7444 * lisp.h (KEYMAPP): New macro.
7445 (get_keymap): Remove.
7446 (get_keymap_1): Rename get_keymap.
7447
7448 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7449
7450 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7451
7452 * xmenu.c (single_submenu): Use KEYMAPP.
7453 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7454 Use KEYMAPP rather than Fkeymapp.
7455
7456 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7457
7458 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7459 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7460 Use KEYMAPP rather than Fkeymapp.
7461 (single_submenu): Use KEYMAPP.
7462 (w32_menu_show, w32_dialog_show): Use TRUE.
7463
7464 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7465
7466 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7467 (Fkeymapp): Use KEYMAPP.
7468 (get_keymap): Rename from get_keymap_1. Remove old def.
7469 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7470 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7471 (Fminor_mode_key_binding): Don't raise an error if the binding
7472 is not a keymap.
7473 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7474 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7475
7476 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7477 Allow Vspecial_event_map to be autoloaded.
7478 (menu_bar_items): Fetch the keymap rather than using keymapp.
7479 (menu_bar_one_keymap): No need to follow func-indirect any more.
7480 (parse_menu_item): get_keymap_1 -> get_keymap.
7481 (tool_bar_items): Fetch the keymap rather than using keymapp.
7482 (read_key_sequence): Use KEYMAPP.
7483
7484 * intervals.c (get_local_map): Use get_keymap rather than following
7485 function-indirections explicitly.
7486
7487 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7488
f9d80af3
JR
74892000-10-27 Jason Rumney <jasonr@gnu.org>
7490
7491 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7492 point, as Windows has oversized fonts.
7493
7494 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7495
a3ba27da
GM
74962000-10-27 Gerd Moellmann <gerd@gnu.org>
7497
7498 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7499 (freehook, reallochook): Handle null pointer arguments.
7500 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7501
aa3b80cc
SM
75022000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7503
7504 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7505 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7506 Giving in to popular pressure to shut up the compiler with casts.
7507
e24e84cc
GM
75082000-10-27 Gerd Moellmann <gerd@gnu.org>
7509
7510 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7511 signed value, and use a default value computed from the font's
7512 maximum descent.
7513
05ea7ef2
MB
75142000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7515
7516 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7517 that specify a negative underline position can still use underlines.
7518
7519 * window.c (Fpos_visible_in_window_p): Make POS default to
7520 WINDOW's point, not the current buffer's point.
7521
0b95284b
DL
75222000-10-26 Dave Love <fx@gnu.org>
7523
7524 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7525 when it's necessary.
7526
6c5b90af
GM
75272000-10-26 Gerd Moellmann <gerd@gnu.org>
7528
8b6d9dc9
GM
7529 * window.c (size_window): Compute size difference from sum of old
7530 child window sizes instead of from parent's size.
7531
6bc92b2e
GM
7532 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7533 Handle obscured lines at the top of the window.
7534
7535 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7536 down after the last error condition check.
7537
6c5b90af
GM
7538 * frame.c (Fdelete_frame): Run delete-frame-hook.
7539
42f92d4d
KH
75402000-10-26 Kenichi Handa <handa@etl.go.jp>
7541
7542 * coding.c (decode_coding): Fix previous change (check also
7543 CODING_MODE_LAST_BLOCK).
7544
d97151cb
SM
75452000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7546
e7efc503
SM
7547 * regex.c: More `unsigned char' -> `re_char' changes.
7548 Also change several `int' into `re_wchar_t'.
7549 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7550 (PUSH_FAILURE_POINTER): Don't cast any more.
7551 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7552 We want GCC to complain, since this piece of code makes
7553 re_match non-reentrant, which *should* be fixed.
7554 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7555 (EXTEND_BUFFER): Use RETALLOC.
7556 (SET_LIST_BIT): Don't cast.
7557 (re_wchar_t): New type.
7558 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7559 that those two functions will always properly return.
7560 (IMMEDIATE_QUIT_CHECK): Cast to void.
7561 (analyse_first): Use recursion rather than an explicit stack.
7562 (re_compile_fastmap): Can't fail anymore.
7563 (re_search_2): Don't check re_compile_fastmap for failure.
7564 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7565 Now also sets the new value (passed in a new argument).
7566 (re_match_2_internal): Use it.
7567 Also, use a new var `reg' of type size_t when looping through regs
7568 rather than reuse the inappropriate `mcnt'.
7569
d97151cb
SM
7570 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7571 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7572 (where_is_internal): Renamed from Fwhere_is_internal.
7573 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7574 (Fwhere_is_internal): New function wrapping where_is_internal.
7575 (where_is_internal_1): Handle the case where we're filling the cache.
7576 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7577
d5789b65
MB
75782000-10-25 Miles Bader <miles@gnu.org>
7579
7580 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7581
4ecda532
GM
75822000-10-25 Gerd Moellmann <gerd@gnu.org>
7583
7584 * window.c (pos_fully_visible_p): Removed.
7585 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7586 if position is visible and/or fully visible.
7587
7588 * lisp.h (pos_visible_p): Add prototype.
7589
7590 * xdisp.c (pos_visible_p): New function.
7591
68c3a137
KH
75922000-10-25 Kenichi Handa <handa@etl.go.jp>
7593
7594 * process.c (send_process): If OBJECT is t, it means that the data
7595 is from C string, but we should encode it. Before calling
7596 setup_raw_text_coding_system, be sure to flush out data by the
7597 previous coding system.
7598
7ae1c032
MB
75992000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7600
ff4dcd4b
MB
7601 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7602 assignment of startpos to prev when startpos == pos.
7603
7ae1c032
MB
7604 * editfns.c (find_field): Set the field stickiness correctly from
7605 overlay fields. Use renamed `text_property_stickiness'.
7606 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7607 Only check text properties, not overlays.
7ae1c032
MB
7608 * textprop.c (get_char_property_and_overlay): New function.
7609 (Fget_char_property): Use it.
7610 * intervals.h (get_char_property_and_overlay): Add declaration.
7611
49801145
SM
76122000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7613
7614 * keymap.c: Use AREF, ASET and ASIZE macros.
7615 (Fmake_sparse_keymap): Docstring fix.
7616 (synkey): Remove.
7617 (shadow_lookup): Move up.
7618 Handle the case where lookup-key returns an integer.
7619 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7620 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7621 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7622 Simplify/rewrite the keymap-finding code.
7623 Add check for command shadowing, using shadow_lookup.
7624
39e776cd
SM
76252000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7626
7627 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7628 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7629 a symbol.
7630
2488aba5
AI
76312000-10-24 Andrew Innes <andrewi@gnu.org>
7632
7633 * dired.c (directory_files_internal_unwind): New function.
7634 (directory_files_internal): Use it to ensure closedir is called
7635 even if expand-file-name or file-attributes throw, eg. because of
7636 a user interrupt. Also enable immediate_quit while calling
7637 re_search, so that matching can be interrupted as well.
7638
b94fdf61
AI
76392000-10-24 Andrew Innes <andrewi@gnu.org>
7640
7641 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7642 NT-Emacs only.
7643 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7644 so that re_search functions only quit when callers expect them to.
7645
76462000-10-24 Kenichi Handa <handa@etl.go.jp>
7647
7648 * regex.c (regex_compile): Change the way of handling a range from
7649 a char less than 256 to a char not less than 256.
7650
1946f901
GM
76512000-10-24 Gerd Moellmann <gerd@gnu.org>
7652
7ae2f10f
GM
7653 * window.c (size_window): Prevent setting window's width or
7654 height to a negative value (esp. with XSETFASTINT).
7655
5dcab13e
GM
7656 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7657 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7658 (protect_malloc_state) [GC_MALLOC_CHECK &&
7659 GC_PROTECT_MALLOC_STATE]: New function.
7660 (PROTECT_MALLOC_STATE): New macro.
7661 (__malloc_initialize, morecore, _malloc_internal)
7662 (_free_internal) _realloc_internal): Use it to make _heapinfo
7663 read-only outside of gmalloc.
7664
63e1b552
GM
7665 * keymap.c: Update copyright.
7666
1946f901
GM
7667 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7668 a symbol.
7669
4fa09beb
GM
76702000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7671
7672 * filelock.c (unlock_all_files): Use unlock_file to expand each
7673 buffer's file_truename before trying remove its lock file.
7674
23afac01
EZ
76752000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7676
7677 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7678 or CRLF, decode EOLs.
7679
04448b95
KH
76802000-10-24 Kenichi Handa <handa@etl.go.jp>
7681
7682 * window.c (Fdisplay_buffer): Fix doc.
7683
3090a5a5
JR
76842000-10-23 Jason Rumney <jasonr@gnu.org>
7685
7686 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7687 ASCII font of default fontset on Windows.
7688
7689 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7690 xterm.c comment below).
7691
7692 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7693
a83fee2c
GM
76942000-10-23 Gerd Moellmann <gerd@gnu.org>
7695
7696 * xterm.c (x_connection_closed): Reset handling_signal.
7697
52283633 7698 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7699
6ffdb539
MB
77002000-10-23 Miles Bader <miles@gnu.org>
7701
7702 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7703 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7704 maintain old behavior.
7705 * minibuf.c (Fminibuffer_complete): Likewise.
7706
7f1c969b
MB
77072000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7708
7709 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7710 that when a font can't be exactly centered, it errs up rather than
7711 down.
7712
23afac01 77132000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7714
52283633 7715 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7716
1a578e9b
AC
77172000-10-23 Andrew Choi <akochoi@i-cable.com>
7718
7719 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7720
7721 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7722 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7723
7724 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7725 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7726 syms_of_search, x_term_init, and init_keyboard before calling
7727 init_window_once. Also, call syms_of_xmenu.
7728
7729 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7730 default fontset to Monaco.
7731
7732 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7733 NewMacWindow and DisposeMacWindow.
7734 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7735 instead of calling NewMacWindow and setting fields of
7736 f->output_data.mac directly. Call init_frame_faces.
7737 (Fdelete_frame) [macintosh]: Remove unused code.
7738 (Fmodify_frame_parameters) [macintosh]: Call
7739 x_set_frame_parameters instead of mac_set_frame_parameters.
7740
7741 * frame.h [macintosh]: Define menu_bar_lines field in struct
7742 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7743
7744 * keyboard.c [macintosh]: Include macterm.h.
7745 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7746 and menu_bar_activate_event type events as for X and NT.
7747 (make_lispy_event) [macintosh]: Construct lisp events of type
7748 MENU_BAR_EVENT as for X and NT.
7749
7750 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7751 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7752 (sys_subshell) [macintosh]: Remove definition entirely.
7753 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7754 Vwindow_system_version here. Remove initialization of
7755 Vx_bitmap_file_path.
7756 (read_input_waiting): Correct the number of parameters passed to
7757 read_socket_hook.
7758 Move all Macintosh functions to mac/mac.c.
7759
7760 * term.c [macintosh]: Include macterm.h.
7761
7762 * window.c [macintosh]: Include macterm.h.
7763
7764 * xdisp.c [macintosh]: Include macterm.h. Declare
7765 set_frame_menubar and pending_menu_activation.
7766 (echo_area_display) [macintosh]: Do not return if terminal frame
7767 is the selected frame.
7768 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7769 Allow only the selected frame to set menu bar.
7770 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7771 calling FRAME_EXTERNAL_MENU_BAR (f).
7772 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7773
7774 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7775 and check_x. Declare XCreateGC. Define x_create_gc and
7776 x_free_gc. Initialize font_sort_order.
7777 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7778 but call x_list_fonts instead of w32_list_fonts.
7779 (Finternal_face_x_get_resource) [macintosh]: Do not call
7780 display_x_get_resource.
7781 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7782 (realize_x_face) [macintosh]: Load the font if it is specified in
7783 ATTRS.
52283633 7784 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7785
1ffbabe3
SM
77862000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7787
7788 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7789 is nil: since we go to the end of submap anyway, we'd end up
7790 setting nil to nil.
7791 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7792 doesn't obey autoload.
7793
bed43f1d
EZ
77942000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7795
1ffbabe3 7796 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7797
ea4233a7
JR
77982000-10-21 Jason Rumney <jasonr@gnu.org>
7799
7800 * w32term.c (w32_cache_char_metrics): Double check that font is
7801 really fixed pitch before trusting tmPitchAndFamily.
7802
f3d3c491
AI
78032000-10-21 Andrew Innes <andrewi@gnu.org>
7804
7805 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7806
7807 * w32term.h: Extern decl for w32_cache_char_metrics.
7808
7809 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7810
7811 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7812 (w32_unload_font): Free per_char array if present.
7813
7814 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7815 cached information in emulated XFontStruct to handle common cases
7816 quickly. Do not allocate XCharStruct for return.
7817 (w32_native_per_char_metric): New function.
7818 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7819 allocating one.
7820 (x_produce_glyphs): Don't get an HDC. Change calls to
7821 w32_per_char_metric to match arg change above. Remove calls to
7822 free results.
7823 (w32_get_glyph_overhangs): Ditto.
7824 (w32_cache_char_metrics): New function.
7825
7826 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7827 ($(BLD)/casefiddle.$(O)): Remove compile command.
7828 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7829 ($(BLD)/dispnew.obj):
7830 ($(BLD)/keyboard.obj):
7831 ($(BLD)/w32inevt.obj):
7832 ($(BLD)/w32bdf.obj):
7833 ($(BLD)/alloc.obj):
7834 ($(BLD)/buffer.obj):
7835 ($(BLD)/editfns.obj):
7836 ($(BLD)/emacs.obj):
7837 ($(BLD)/fileio.obj):
7838 ($(BLD)/fns.obj):
7839 ($(BLD)/indent.obj):
7840 ($(BLD)/insdel.obj):
7841 ($(BLD)/intervals.obj):
7842 ($(BLD)/minibuf.obj):
7843 ($(BLD)/print.obj):
7844 ($(BLD)/scroll.obj):
7845 ($(BLD)/sysdep.obj):
7846 ($(BLD)/textprop.obj):
7847 ($(BLD)/widget.obj):
f3d3c491
AI
7848 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7849 ($(BLD)/term.obj): Add dependency on dispextern.h.
7850
52283633
SM
7851 * makefile.nt ($(BLD)\dispnew.obj):
7852 ($(BLD)\keyboard.obj):
7853 ($(BLD)\w32inevt.obj):
7854 ($(BLD)\w32bdf.obj):
7855 ($(BLD)\alloc.obj):
7856 ($(BLD)\buffer.obj):
7857 ($(BLD)\editfns.obj):
7858 ($(BLD)\emacs.obj):
7859 ($(BLD)\fileio.obj):
7860 ($(BLD)\fns.obj):
7861 ($(BLD)\indent.obj):
7862 ($(BLD)\insdel.obj):
7863 ($(BLD)\intervals.obj):
7864 ($(BLD)\minibuf.obj):
7865 ($(BLD)\print.obj):
7866 ($(BLD)\scroll.obj):
7867 ($(BLD)\sysdep.obj):
7868 ($(BLD)\textprop.obj):
7869 ($(BLD)\widget.obj):
f3d3c491
AI
7870 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7871 ($(BLD)\term.obj): Add dependency on dispextern.h
7872
18ad4821
EZ
78732000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7874
7875 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7876 with an additional argument of Qt.
7877
de54681a
MB
78782000-10-21 Miles Bader <miles@gnu.org>
7879
7880 * window.c (pos_fully_visible_in_window_p): New function.
7881 (Fpos_visible_in_window_p): Add FULLY argument.
7882 Use pos_fully_visible_in_window_p.
7883 (window_scroll_pixel_based, window_scroll_line_based): Update
7884 calls to Fpos_visible_in_window_p.
7885 * lisp.h (Fpos_visible_in_window_p): Update prototype
7886
13c844fb
GM
78872000-10-20 Gerd Moellmann <gerd@gnu.org>
7888
7889 * alloc.c (toplevel): Conditionalize compilation of mem_*
7890 functions differently.
52283633 7891
d9506268
JR
78922000-10-20 Jason Rumney <jasonr@gnu.org>
7893
7894 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7895 mem_init where it used to be. mem_z etc not defined otherwise.
7896
8094989b
GM
78972000-10-20 Gerd Moellmann <gerd@gnu.org>
7898
7899 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7900 GC_MALLOC_CHECK.
7901 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7902 structure definition and related variabled to the top of the file.
7903 Include this code when GC_MALLOC_CHECK is defined.
7904 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7905 register/unregister allocated region.
7906 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7907 which isn't allocated.
7908 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7909 something which is already in use.
7910 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7911 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7912 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7913 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7914
7915 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7916 _malloc_internal instead of malloc.
7917 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7918 of free.
7919
ea456eb4
AI
79202000-10-20 Andrew Innes <andrewi@gnu.org>
7921
7922 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7923 Windows.
7924 (my_strftime) <macro>: Don't use macro arg list when redefining as
7925 _strftime_copytm.
7926 (my_strftime) <function>: Supply 0 as ut argument.
7927
e64c3a75
JR
79282000-10-19 Jason Rumney <jasonr@altavista.net>
7929
7930 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7931 including dispextern.h, as it stops faces from working.
7932
7933 * w32fns.c (Fx_create_frame): Don't bother calling
7934 face-set-after-frame-default since the caller does it for us
7935 anyway. Clean up calls to x_get_arg to be consistent with X.
7936
7937 * w32term.c (x_produce_glyphs): Handle
7938 unibyte_display_via_language_environment correctly.
7939 (w32_draw_box_rect): Fix the calculation of width and height.
7940
7941 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7942 as it has stopped working.
7943 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7944 menu-bar.
7945
17401c97
GM
79462000-10-19 Gerd Moellmann <gerd@gnu.org>
7947
7948 * eval.c (skip_debugger): Prevent a compiler warning.
7949 (Fcondition_case): Likewise.
7950 (Fbacktrace_frame): Use a null interactive spec.
7951
773272d8
KH
79522000-10-19 Kenichi Handa <handa@etl.go.jp>
7953
7954 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7955
a42943e9
GM
79562000-10-18 Gerd Moellmann <gerd@gnu.org>
7957
e50517d9
GM
7958 * strftime.c: Sync with glibc, file version 1.78.
7959 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7960 should no longer be used according to ISO 8601.
7961
9035a35a
GM
7962 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7963 no map for meta_prefix_char, don't try to use it as a keymap.
7964 Instead, if T_OK is non-zero, look up a default binding, if any,
7965 otherwise, if T_OK is zero, return nil.
7966
a42943e9
GM
7967 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7968 (x_to_xcolors, png_load): Use x_query_color.
7969
52283633
SM
7970 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7971 New functions.
a42943e9
GM
7972 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7973 which can be slow.
7974 (x_copy_color, x_alloc_lighter_color): Likewise.
7975
7976 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7977 (x_query_color, x_query_colors): Add prototype.
7978
7979 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7980 check_string_bytes only if not noninteractive, increase count to 50.
7981
00de2987
MB
79822000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7983
7984 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7985 markers correctly.
7986
54918e2b
GM
79872000-10-17 Gerd Moellmann <gerd@gnu.org>
7988
1f0b3fd2
GM
7989 * alloc.c (pure_bytes_used): Renamed from pureptr.
7990 (ALIGN): New macro.
7991 (pure_alloc): New function.
7992 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7993 Use it.
7994 (Fpurecopy): Use PURE_POINTER_P.
7995
68c5d1db
GM
7996 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7997 PT has moved backward.
52283633 7998
9a038881
GM
7999 * xdisp.c (cursor_row_p): Take continued lines into account.
8000
361b097f
GM
8001 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8002 string's size_byte.
8003 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8004 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8005 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8006 string allocated.
8007
54918e2b
GM
8008 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8009 of selective display off while searching for the next line start.
8010
03ed0806
KH
80112000-10-17 Kenichi Handa <handa@etl.go.jp>
8012
8013 * Makefile.in (term.o): Depend on dispextern.h.
8014
7e05cdaf
SM
80152000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8016
8017 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8018
a6801fd1
GM
80192000-10-16 Gerd Moellmann <gerd@gnu.org>
8020
483de32b
GM
8021 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8022 the iterator at the beginning, so that they can be set later on,
8023 for instance in reseat_at_next_visible_line_start, without being
8024 overwritten.
8025
a6801fd1
GM
8026 * xfns.c (pbm_format): Add :foreground and :background keywords.
8027 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8028 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8029
dbf1fcc1
EZ
80302000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8031
8032 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8033
52283633 8034 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8035
8036 * msdos.c (IT_set_face): Compare highlighted face with the default
8037 face, and invert colors if these faces' colors are identical.
8038 (Fmsdos_remember_default_colors): Don't swap foreground and
8039 background colors in initial_colors[].
8040 (IT_set_frame_parameters): Don't swap frame's foreground and
8041 background pixels. If ALIST includes "(reverse . t)", swap
8042 foreground-color and background-color properties in frame's
8043 param_alist. If the original frame's param_alist doesn't specify
8044 the colors, store unspecified-fg and unspecified-bg, reversed if
8045 required.
8046
8047 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8048 the colors are unspecified and reversed, reverse fore- and back-
8049 ground in the returned value.
8050 (Fframe_parameter): Ditto.
8051
b41fe2c3 80522000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8053
3a6b59d9
GM
8054 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8055 get_last_unchanged_at_beg_row.
8056 (find_first_unchanged_at_end_row): Renamed from
8057 get_first_unchanged_at_end_row.
8058 (find_first_unchanged_at_end_row): Convert assertions to
8059 unconditional tests which abort. When looking for a row in
8060 unchanged text, don't go further back than first_text_row.
8061
b41fe2c3
GM
8062 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8063 Don't add in the last line's height when deciding if the new
8064 position is below the scroll margin.
9d1af64f 8065
b41fe2c3 80662000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8067
8068 * editfns.c (Fconstrain_to_field): Check carefully for field
8069 boundaries if either OLD_POS or NEW_POS has a non-nil field
8070 property, even if they're the same.
8071
c412cb7b
KH
80722000-10-16 Kenichi Handa <handa@etl.go.jp>
8073
8074 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8075 height for XFillRectangle.
8076
5586f3eb
SM
80772000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8078
8079 * syntax.c (Fstring_to_syntax): New function extracted from
8080 Fmodify_syntax_entry.
8081 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8082 (skip_chars, Fforward_comment): Remove unused variables.
8083 (syms_of_syntax): Add defsubr for string-to-syntax.
8084 (describe_syntax): Add code for comment and string fences.
8085
db785038
SM
80862000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8087
8088 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8089 Do the meta->esc mapping. Call get_keyelt before returning.
8090 Start scanning from the second element (the first is always `keymap')
8091 to make it easier to detect when we reach a parent map.
8092 Handle the case of inheriting from a symbol whose function is a map.
8093 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8094 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8095 (get_keyelt, Flookup_key): Update call to access_keymap.
8096 Remove the meta->esc mappings.
8097 (define_as_prefix): Delete old disabled code.
8098 (menu_item_p): New function.
8099 (where_is_internal_1): Skip over the few remaining menu items.
8100 * lisp.h (access_keymap): Update prototype.
8101 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8102 Update call to access_keymap.
8103 (follow_key, read_key_sequence): Update calls to access_keymap.
8104 Remove the meta->esc mappings.
8105
cafafe0b
GM
81062000-10-13 Gerd Moellmann <gerd@gnu.org>
8107
a2e2a7f6
GM
8108 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8109 with additional argument.
8110
cafafe0b
GM
8111 * xdisp.c (cursor_row_p): New function.
8112 (try_cursor_movement, display_line): Use it.
52283633 8113
cafafe0b
GM
8114 * xdisp.c (append_space): Also save/restore iterator's current
8115 character and its length.
8116
8117 * xdisp.c (init_from_display_pos): Add an assertion.
8118 (handle_stop): Don't set iterator's add_overlay_start.
8119 (handle_invisible_prop): Likewise.
8120 (load_overlay_strings): If text under an overlay is invisible,
8121 take both before- and after-strings into account when the iterator
8122 is positioned either at the start or at the end of the overlay.
8123 (forward_to_next_line_start): Rewritten.
8124 (reseat_at_next_visible_line_start): Rewritten.
8125 (set_iterator_to_next): Add parameter RESEAT_P.
8126
8127 * dispextern.h (struct it): Remove member add_overlay_start.
8128 (set_iterator_to_next): Change prototype.
8129
c744452b
KH
81302000-10-13 Kenichi Handa <handa@etl.go.jp>
8131
8132 * coding.c (code_convert_region): Be sure to initialize
8133 coding->category_idx.
e4a3f4e1
KH
8134 (decode_coding_string): Set coding->src_multibyte and
8135 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8136 (encode_coding_string): Set coding->src_multibyte and
8137 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8138
321fd26f
SM
81392000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8140
8141 * xfns.c (Fx_create_frame): Don't bother calling
8142 face-set-after-frame-default since the caller does it for us anyway.
8143
76832439
EZ
81442000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8145
8146 * window.c (coordinates_in_window): Fix detection of vertical line
8147 on character terminals.
8148
2483cf58
GM
81492000-10-12 Gerd Moellmann <gerd@gnu.org>
8150
8151 * editfns.c (save_excursion_save): Additionally record the
8152 selected window.
8153 (save_excursion_restore): If buffer was visible in a window, and a
8154 different window was selected, and the old selected window is
8155 still live, restore point in that window.
8156
eb991b25
KH
81572000-10-12 Kenichi Handa <handa@etl.go.jp>
8158
8a0eba09
KH
8159 * xterm.c (x_produce_glyphs): Handle
8160 unibyte_display_via_language_environment correctly.
8161
20401fcc
KH
8162 * regex.c (regex_compile): Change the way of handling a range from
8163 unibyte char to multibyte char.
8164
8165 * syntax.c (skip_chars): Change the way of handling a range from
8166 unibyte char to multibyte char.
8167
eb991b25
KH
8168 * process.c (read_process_output): Cancel previous change.
8169
365dd325
EZ
81702000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8171
c1b096cb
EZ
8172 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8173
365dd325
EZ
8174 * charset.c (Ffind_charset_string): Doc fix.
8175 (Ffind_charset_region): Doc fix.
8176
eb483c2b
KH
81772000-10-11 Kenichi Handa <handa@mule.m17n.org>
8178
8179 * process.c (read_process_output): Fix previous change. Adjust
8180 multibyteness of text to insert in a buffer by
52283633 8181 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8182
b40bfb99
AS
81832000-10-10 Andreas Schwab <schwab@suse.de>
8184
8185 * alloc.c (mark_object): Remove all workarounds installed on
8186 1993-08-08.
8187
caff31d4
KH
81882000-10-10 Kenichi Handa <handa@etl.go.jp>
8189
52283633 8190 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8191 (base64_encode_1): Make it work for a text of multibyte form.
8192 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8193 case. Don't call str_to_multibyte because base64_decode_1
8194 produces correct multibyte form for eight-bit codes.
52283633 8195 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8196 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8197 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8198 codes.
8199
8200 * charset.h (CHAR_STRING): Optimized for single byte characters.
8201
cba026ef
AS
82022000-10-09 Andreas Schwab <schwab@suse.de>
8203
8204 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8205 -1 after socket is closed, to fall through to error processing.
8206
1e21fe48
EZ
82072000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8208
8209 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8210 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8211 background-color, change also the colors of the default face for
8212 this frame.
8213
a640322e
EZ
82142000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8215
8216 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8217 them extern (they are defined on xfaces.c).
8218 (syms_of_msdos): Don't intern and don't staticpro
8219 Qbackground_color and Qforeground_color.
8220
a115794c
EZ
82212000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8222
8223 * frame.c (Fframe_parameter): For non-windowed frames, if
8224 f->param_alist says foreground or background color is unspecified,
8225 call tty_color_name to return the color name computed from the
8226 frame's current colors.
8227
f5533b63
DL
82282000-10-06 Dave Love <fx@gnu.org>
8229
8230 * terminfo.c (ospeed): Don't declare.
8231
8232 * sysdep.c: Don't include string.h.
8233 (h_errno): Declare conditional also on TRY_AGAIN.
8234
8235 * charset.c (Ffind_charset_string): Doc fix.
8236
52283633 8237 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8238 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8239 error messages.
8240
2b06561a
DL
82412000-10-05 Dave Love <fx@gnu.org>
8242
8243 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8244 position like menu-bar.
8245
ca839c85
GM
82462000-10-05 Gerd Moellmann <gerd@gnu.org>
8247
8248 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8249
8250 * xdisp.c (handle_single_display_prop): Use safe_call1.
8251 (safe_call): Renamed from call_function.
8252 (safe_call1): New function.
8253 (handle_fontified_prop): Use safe_call1 instead of call1.
8254 (safe_eval): Renamed from eval_form.
8255 (safe_eval_handler): Renamed from eval_handler.
8256 (handle_single_display_prop, display_mode_element): Use safe_eval
8257 instead of eval_form.
8258
8259 * xfaces.c (merge_face_heights): Use safe_call instead of
8260 call_function.
8261
8262 * keyboard.c (show_help_echo): Use safe_call instead of
8263 call_function; use safe_eval instead of eval_form.
8264
8265 * lisp.h (safe_call): Renamed from call_function.
8266 (safe_eval): Renamed from eval_form.
8267 (safe_call1): Add prototype.
8268
a3489ece
MB
82692000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8270
8271 * xfns.c (image_ascent): Rearrange ascent calculation for the
8272 has-a-font case.
8273
35810b6f
SM
82742000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8275
8276 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8277 (where_is_internal_1): Don't bother ignoring menu-items any more.
8278
3dc78168
GM
82792000-10-04 Gerd Moellmann <gerd@gnu.org>
8280
8281 * keyboard.c (update_menu_bindings): New variable.
8282 (parse_menu_item): Use AREF. If update_menu_bindings
8283 is 0, don't update menu bindings.
8284 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8285
1efc2bb9
EZ
82862000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8287
8288 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8289 to `mark_object'.
8290
3f679f55
SM
82912000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8292
8293 * syntax.c (forw_comment): Match nestedness of ender/starter.
8294 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8295 (prev_char_comstart_first): Remove.
8296 (back_comment): Check two-char comment markers more carefully
8297 to better handle overlapping cases like *//* or /* */* */ ...
8298 Match nestedness of ender/starter.
8299
2021ab61
DL
83002000-10-02 Dave Love <fx@gnu.org>
8301
8302 * config.in (HAVE_GAI_STRERROR): Add undef.
8303
8304 * process.c (Fopen_network_stream): Use it.
8305
8306 * m/alpha.h (NO_REMAP): Don't define.
8307
64e6cc18
GM
83082000-10-02 Gerd Moellmann <gerd@gnu.org>
8309
8310 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8311 return with a string converted to an integer or vice versa when
8312 Vmocklisp_arguments is t.
8313 (Fsignal): Likewise. The function can return for `quit'.
8314 (struct gcpro): Declare member `var' to point to a volatile
8315 Lisp_Object.
8316
8317 * eval.c (error): Prevent compiler warning.
8318
b1904cd9
SM
83192000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8320
8321 * keymap.c (keymap_memberp): New function.
8322 (Fset_keymap_parent): Use it.
8323 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8324 Use keymap_memberp to avoid creating cycles.
8325 (access_keymap): Use KEYMAPP.
8326
71c9ec51
GM
83272000-09-30 Gerd Moellmann <gerd@gnu.org>
8328
8329 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8330 gai_strerror. Make sure xerrno is set if connect fails. Improve
8331 error recovery.
71c9ec51 8332
c70c6b58
JR
83332000-09-29 Jason Rumney <jasonr@gnu.org>
8334
8335 * w32term.c (w32_char_font_type, w32_encode_char)
8336 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8337 (w32_bdf_per_char_metric): New function.
8338 (w32_per_char_metric): Use it.
8339 (x_draw_glyph_string_background): Always draw background for BDF
8340 glyphs.
8341
8342 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8343 GDI object which is a scarce resource.
8344
8345 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8346 (get_quoted_string): Fix limit on memchr search.
8347 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8348 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8349 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8350 (get_cached_font_char, cache_char_offset): Use macro
8351 BDF_CODEPOINT_RANGE_COVER_P.
8352 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8353 (clear_cached_bitmap_slots): New function.
8354 (GET_HEX_VALUE): G-Z, g-z are not hex.
8355 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8356 (get_bitmap_with_cache): Use new cache implementation.
8357 (create_offscreen_bitmap): New function.
8358 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8359
8360 * w32term.c (x_produce_glyphs): If the distance from the current
8361 position to the next tab stop is less than a canonical character
8362 width, use the tab stop after that.
8363 (x_draw_glyphs): Handle case START and END are out of bounds more
8364 carefully.
8365 (x_clear_mouse_face): Block/unblock input.
8366 (x_display_and_set_cursor): Don't show a hollow box cursor for
8367 buffers whose cursor_type is nil.
8368
fe01239f
GM
83692000-09-29 Gerd Moellmann <gerd@gnu.org>
8370
52283633 8371 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8372
8373 * dispextern.h (updating_frame): Declare extern.
8374
e7c52f1f
AS
83752000-09-29 Andreas Schwab <schwab@suse.de>
8376
8377 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8378
de6e1f7c
GM
83792000-09-29 Gerd Moellmann <gerd@gnu.org>
8380
25126faa
GM
8381 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8382 use its function definition.
8383 (tool_bar_items): Likewise.
8384
de6e1f7c 8385 * lisp.h (fatal): Declare NO_RETURN.
52283633 8386
454ee39b
KH
83872000-09-29 Kenichi Handa <handa@etl.go.jp>
8388
8389 * keymap.c: Remove the line "#undef NULL".
8390
96301c5f
GM
83912000-09-28 Gerd Moellmann <gerd@gnu.org>
8392
52283633 8393 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8394
efffeeb4
DL
83952000-09-28 Dave Love <fx@gnu.org>
8396
ecb8b666
DL
8397 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8398
dc3cd20f
DL
8399 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8400
8401 * .gdbinit (xreload): Note its need on GNU/Linux.
8402
efffeeb4
DL
8403 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8404 r_alloc, r_alloc_free.
8405
8610d903
KH
84062000-09-28 Kenichi Handa <handa@etl.go.jp>
8407
8408 * syntax.c (skip_chars): Handle negation correctly.
8409
8901d1ac
GM
84102000-09-27 Gerd Moellmann <gerd@gnu.org>
8411
6f22f1ad
GM
8412 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8413 with non-zero FORCE_P argument.
8414
52283633 8415 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8416 Add assertions.
8417
8418 * xdisp.c (window_box_height): Add an assertion.
8419
8420 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8421 tool-bar than is available.
8422 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8423
36f1966f
DL
84242000-09-27 Dave Love <fx@gnu.org>
8425
efffeeb4 8426 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8427
31d929e5
GM
84282000-09-26 Gerd Moellmann <gerd@gnu.org>
8429
c98863bf
GM
8430 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8431 instead of BITS_PER_INT.
8432 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8433 EMACS_UINT, respectively.
8434 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8435
8436 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8437
8438 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8439
77072ab1
GM
8440 * window.c (freeze_window_starts): Construct last argument for
8441 foreach_window differently.
8442
8443 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8444
8445 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8446 EMACS_UINT instead of `int' and `unsigned int'.
8447 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8448
8449 * frame.h (struct frame): Make the `nothing' member of union
8450 output_data an EMACS_INT.
8451
52283633 8452 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8453 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8454 size in the sdata structure.
8455 (SDATA_NBYTES, SDATA_DATA): New macros.
8456 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8457 differently for the different layout of the sdata structure.
8458 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8459 in sdata.
8460 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8461 Check that size recorded in the string size and size recorded in
8462 the sdata structure agree.
8463
3e60b029
DL
84642000-09-25 Dave Love <fx@gnu.org>
8465
8466 * buffer.c: Include stdio.h.
8467
8468 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8469
3e60b029
DL
8470 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8471
8472 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8473 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8474 (__malloc_extra_blocks): Declare as __malloc_size_t.
8475
8ff16b4e
GM
84762000-09-25 Gerd Moellmann <gerd@gnu.org>
8477
755a2ccd
GM
8478 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8479
d8b4516f
GM
8480 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8481 (read_char): If help-echo is showing, preserve the echo area
8482 when redisplaying.
8483
8484 * xdisp.c (help_echo_showing_p): New variable.
8485 (set_message): Reset it to 0.
8486 (init_xdisp): Initialize help_echo_showing_p.
8487
8488 * dispextern.h (help_echo_showing_p): Declare extern.
8489
8490 * config.in: Fix typo in __GNUC_MINOR__.
8491
8492 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8493
b11af2dd
GM
8494 * s/freebsd.h (POSIX_SIGNALS): Define.
8495
8ff16b4e
GM
8496 * xterm.c (x_clear_mouse_face): Block/unblock input.
8497
844eb643
DL
84982000-09-24 Dave Love <fx@gnu.org>
8499
8500 * fns.c (base64_encode_1): Fix last change.
8501
b30ab1b3
GM
85022000-09-22 Gerd Moellmann <gerd@gnu.org>
8503
8504 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8505
8506 * xdisp.c (try_window_reusing_current_matrix): More fixes
8507 for the case window has a header-line.
8508
c6cbe5f0
DL
85092000-09-22 Dave Love <fx@gnu.org>
8510
4c7c1f3f
DL
8511 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8512 a doc string.
8513
8514 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8515
c6cbe5f0
DL
8516 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8517
550a625e
GM
85182000-09-21 Gerd Moellmann <gerd@gnu.org>
8519
4c7c1f3f 8520 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8521 for GCC >= 2.5.
8522
52283633
SM
8523 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8524 Declare NO_RETURN.
fca99116 8525
80d26f99
GM
8526 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8527 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8528 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8529 warnings.
52283633 8530
80d26f99
GM
8531 * marker.c (byte_char_debug_check): Return void.
8532
623a0aae
GM
8533 * xfns.c (Fx_create_frame): Set default frame parameter value
8534 for tool-bar-lines to 1.
8535
8536 * dispnew.c (scrolling_window): Compare y-positions of rows
8537 equal at the start. Some simplification.
8538
8539 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8540 reused rows' y-position in the case window has a header-line, and
8541 new window start is greater than old window start.
8542
42ac0ae5
GM
8543 * process.c (process_sent_to): New variable.
8544 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8545 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8546 Declare more parameters volatile.
8547
550a625e
GM
8548 * lread.c (Vrecursive_load_depth_limit): New variable.
8549 (Fload): Check recursive loads whose recursion depth exceeds
8550 Vrecursive_load_depth_limit.
8551 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8552
8320414c
GM
85532000-09-20 Gerd Moellmann <gerd@gnu.org>
8554
f46c275e
GM
8555 * fileio.c (Fread_file_name): Doc fix.
8556
8557 * editfns.c (Fmessage_or_box): Doc fix.
8558
8559 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8560
b7e11c5b 8561 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8562
8320414c
GM
8563 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8564 symbols are specified, add color translations to the cache.
52283633 8565 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8566 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8567 xpm_cache_color.
8568 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8569 structures to xpm_init_color_cache.
8570
da1608d9
GM
85712000-09-19 Gerd Moellmann <gerd@gnu.org>
8572
52283633 8573 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8574
6badfa25
AI
85752000-09-19 Andrew Innes <andrewi@gnu.org>
8576
8577 * makefile.nt (bootstrap-emacs): Don't change directory.
8578
3a5f42bb
KH
85792000-09-19 Kenichi Handa <handa@etl.go.jp>
8580
1b7649bd
KH
8581 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8582
3a5f42bb
KH
8583 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8584 If output buffer is too small, signal an appropriated error.
8585
9f83cf0b
DL
85862000-09-18 Dave Love <fx@gnu.org>
8587
52283633 8588 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8589 (current_active_maps): Remove redundant get_local_map call.
8590
28c7826c
GM
85912000-09-18 Gerd Moellmann <gerd@gnu.org>
8592
5cefa566
GM
8593 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8594 cursor for buffers whose cursor_type is nil.
52283633 8595
6fed3546
GM
8596 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8597 a feature to implement that is already implemented.
8598 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8599 warnings.
8600
8601 * xfns.c (x_clear_image_1): New function.
8602 (x_clear_image): Use it.
52283633 8603 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8604
05b1f851
GM
8605 * dispnew.c (update_window): Move test for invisible lines
8606 at the top to update_window_line.
8607 (update_window_line): Handle invisible lines here.
8608
f4779de9
GM
8609 * xfns.c (clear_image_cache): Clear current matrices of all
8610 frames sharing an image cache. Block input while freeing
8611 images. Fix timestamp comparison.
8612 (x_clear_image): Also free the mask.
8613
28c7826c
GM
8614 * xfns.c (lookup_image): Block input while loading the image so
8615 that we won't get interrupted in a state where the image isn't yet
8616 set up completely.
8617 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8618 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8619 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8620 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8621
b7412313
GM
86222000-09-16 Gerd Moellmann <gerd@gnu.org>
8623
8624 * dispnew.c (update_window): Make sure to make desired rows
8625 current even if they are completely invisible at the top
8626 of a window.
8627
47e351a3
GM
86282000-09-15 Gerd Moellmann <gerd@gnu.org>
8629
7f8f1edc
GM
8630 * xfns.c (lookup_image): Build mask before applying an algorithm.
8631 Recognize algorithm `disabled'.
8632 (cross_disabled_images): New variable.
8633 (COLOR_INTENSITY): New macro.
8634 (x_detect_edges): Use COLOR_INTENSITY.
8635 (x_disable_image): New function.
8636 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8637
8638 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8639 disabled state, don't apply an image transformation algorithm if
8640 the user specified an image for the disabled state. Use
28c7826c 8641 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8642 user hasn't specified an image.
8643
ebb8f116
GM
8644 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8645 allocation functions with the XPM lib.
8646 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8647 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8648 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8649 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8650 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8651 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8652 functions, if possible, because these handle color allocation
8653 failure more gracefully.
8654 (Fimage_mask_p): New function.
8655
47e351a3
GM
8656 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8657 (Qedge_detection, Qheuristic): New symbols.
8658 (syms_of_xfns): Initialize new symbols.
8659 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8660 `algorithm (edge-detection ...)'.
8661 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8662 (tiff_format, gif_format, gs_format): Add `:mask'.
8663 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8664 (GIF_MASK, GS_MASK): New enumerators.
8665 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8666 (emboss_matrix, laplace_matrix): New variables.
8667 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8668 (x_edge_detection): New functions.
8669 (x_laplace): Rewritten in terms of x_detect_edges.
8670 (x_build_heuristic_mask): If image has a mask, free it.
8671
fe83b953
AI
86722000-09-14 Andrew Innes <andrewi@gnu.org>
8673
8674 * makefile.w32-in: Revert to Unix line endings.
8675
3021e816
AI
86762000-09-14 Andrew Innes <andrewi@gnu.org>
8677
8678 * makefile.w32-in: Standardize indentation somewhat.
8679 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8680 cater for differences between shells.
8681
8682 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8683
2a32b5ea
GM
86842000-09-14 Gerd Moellmann <gerd@gnu.org>
8685
8686 * xterm.c (x_produce_glyphs): If the distance from the current
8687 position to the next tab stop is less than a canonical character
8688 width, use the tab stop after that.
8689
b4331e96
DL
86902000-09-14 Dave Love <fx@gnu.org>
8691
8692 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8693
ef9e4345
GM
86942000-09-14 Gerd Moellmann <gerd@gnu.org>
8695
085536c2
GM
8696 * xdisp.c (handle_fontified_prop): While running fontification
8697 functions, bind `fontification-functions' and
8698 `after-change-functions' to nil.
8699
ef9e4345
GM
8700 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8701 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8702
8703 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8704
8705 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8706 USE_MMAP_FOR_BUFFERS.
8707
8708 * insdel.c (make_gap): Use enlarge_buffer_text.
8709
8710 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8711 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8712 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8713 from former r_alloc_* functions in ralloc.c.
52283633 8714 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8715 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8716 (mmap_init) [REL_ALLOC_MMAP]: New function.
8717 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8718 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8719 BUFFER_FREE.
8720
8721 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8722 (enlarge_buffer_text): Add prototype.
8723
8724 * ralloc.c: Remove everything having to do with the use of mmap.
8725
f8608968
GM
87262000-09-13 Gerd Moellmann <gerd@gnu.org>
8727
2a494b2d
GM
8728 * sound.c (Fplay_sound): Doc fix.
8729
8c907a56
GM
8730 * keyboard.c: Avoid some more compiler warnings.
8731 (parse_tool_bar_item): Ignore cached key bindings.
8732
f8608968
GM
8733 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8734 and allocation of Lisp data.
8735
6ab70e9a
GM
87362000-09-12 Gerd Moellmann <gerd@gnu.org>
8737
d12d0a9b
GM
8738 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8739 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8740 defaults first.
8741
6ab70e9a
GM
8742 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8743
63c36c3c
KH
87442000-09-12 Miyashita Hisashi <himi@meadowy.org>
8745
8746 * ccl.c: Comment fixed.
8747 (MAX_MAP_SET_LEVEL): Increased to 30.
8748 (PUSH_MAPPING_STACK): Enclose with do-while block.
8749 (POP_MAPPING_STACK): Likewise.
8750 (stack_idx_of_map_multiple): New variable.
8751 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8752 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8753 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8754 (ccl_driver) <CCL_MapSingle>: Likewise.
8755 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8756 with the case where looking up process reaches to the end of
8757 map-set, and call CCL programs as the above change.
8758
7ee3bd7b
GM
87592000-09-11 Gerd Moellmann <gerd@gnu.org>
8760
8ec8a5ec
GM
8761 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8762 that might be clobbered by longjmp.
8763 (check_x_display_info, x_decode_color, create_frame_xic)
8764 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8765 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8766
f74b0705
GM
8767 * lread.c (init_lread): Set Vloads_in_progress to nil.
8768 (Fload): Show list of recursively loaded files, when signaling an
8769 error.
8770
7ee3bd7b
GM
8771 * lread.c (Vloads_in_progress): New variable.
8772 (record_load_unwind): New function.
8773 (Fload): Check for recursive loads.
8774 (syms_of_lread): Initialize Vloads_in_progress.
8775 (read_integer, read1): Avoid some compiler warnings.
8776
8777 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8778 compiler warnings.
8779
974e1e5b
MB
87802000-09-11 Miles Bader <miles@gnu.org>
8781
8782 * editfns.c (Fbuffer_string): Doc fix.
8783
9824c4e3
GM
87842000-09-10 Gerd Moellmann <gerd@gnu.org>
8785
8786 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8787
6a72fdd1
KR
87882000-09-09 Ken Raeburn <raeburn@gnu.org>
8789
8790 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8791 whether to include other header files.
8792
28e6fb66
GM
87932000-09-09 Gerd Moellmann <gerd@gnu.org>
8794
52283633 8795 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8796 by Fmemq as a boolean.
28e6fb66 8797
7f8b6551
SM
87982000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8799
8800 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8801
a8710abf
GM
88022000-09-08 Gerd Moellmann <gerd@gnu.org>
8803
d1a02881
GM
8804 * ralloc.c (mmap_fd): Remove initializer which can make it
8805 read-only in a dumped Emacs.
8806 (mmap_fd_1): New variable.
8807 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8808 restore it from there.
8809 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8810 unconditionally so that mmap_fd can be initialized there.
8811 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8812 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8813 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8814
c454aac1
GM
8815 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8816
8817 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8818 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8819
fc653ef2
GM
8820 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8821
3015eec0
GM
8822 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8823 inheritance.
8824
bfe0ee88
GM
8825 * xdisp.c (try_window_id): When trying to locate cursor in
8826 unchanged rows at the top, handle the case that we can't find it.
8827
a8710abf
GM
8828 * xterm.c (x_draw_glyphs): Handle case START and END are out
8829 of bounds more carefully.
8830
6b7d4ae4
DL
88312000-09-08 Dave Love <fx@gnu.org>
8832
423193c5
DL
8833 * s/sol2.h (REL_ALLOC_MMAP): Define.
8834 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8835
8836 * ralloc.c: Don't include string.h (redundant).
8837 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8838 [!MAP_ANON]: Include fcntl.h.
8839 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8840 (r_alloc, r_re_alloc, r_alloc_free)
8841 (mmap_enlarge, mmap_set_vars): Use it.
8842 (r_alloc_init_fd): New function.
8843 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8844 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8845 malloc type.
8846
8847 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8848 Remove vm-limit.o.
8849
6b7d4ae4
DL
8850 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8851 change to __NetBSD__.
8852
44d31981
KH
88532000-09-08 Kenichi Handa <handa@etl.go.jp>
8854
8855 * search.c (compile_pattern): Check the multibyteness of cached
8856 string and PATTERN.
8857
aad40737
MB
88582000-09-08 Miles Bader <miles@gnu.org>
8859
8860 * xfaces.c (default_face_vector): Function removed.
8861 (Finternal_merge_in_global_face): Restore old global/local
8862 attribute override order. Use inline loop instead of calling
8863 default_face_vector.
8864
91a211b5
GM
88652000-09-07 Gerd Moellmann <gerd@gnu.org>
8866
8867 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8868 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8869 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8870 where necessary, in case POINTER_TYPE is `void'.
8871
03419440
EZ
88722000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8873
8874 * frame.c (make_terminal_frame): Initialize frame foreground and
8875 background colors to unspecified, for the initial instance of an
8876 MSDOS frame.
8877
f46f845b
GM
88782000-09-07 Gerd Moellmann <gerd@gnu.org>
8879
24f76fbf
GM
8880 * ralloc.c (mmap_find): Fix overlap computation.
8881 (mmap_enlarge): Compute nbytes before trying to find an
8882 overlapping region.
8883
f46f845b
GM
8884 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8885 instead of `!='.
8886
8887 * lread.c (syms_of_lread): Change value of regexp
8888 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8889
8890 * xmenu.c (xdialog_show): When looking up the selection in
8891 menu_items, take `quote' boundaries into account; this corresponds
8892 to a nil ITEM in x-popup-dialog.
8893
3c014385
KH
88942000-09-07 Kenichi Handa <handa@etl.go.jp>
8895
fd6f711b
KH
8896 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8897 not 0x81.
8898 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8899
3c014385 8900 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8901 encoding, not decoding. Fix the handling of latin-jisx0201.
8902 Check for the charset katakana-jisx0201 too.
3c014385 8903 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8904 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8905
0da3ecef
GM
89062000-09-07 Gerd Moellmann <gerd@gnu.org>
8907
ab0ee409
GM
8908 * xfaces.c (Vparam_value_alist): New variable.
8909 (syms_of_xfaces): Initialize it.
8910 (Finternal_set_lisp_face_attribute): Avoid more consing.
8911
8912 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8913 specially.
8914 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8915 (Qbackground_mode): New variable.
8916 (syms_of_frame_1): Initialize Qbackground_mode.
8917
8918 * lisp.h (Qdisplay): Declare extern.
1091dd67 8919
0da3ecef
GM
8920 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8921 change face on all frames, and change the default for new frames.
8922
b14654b9
DL
89232000-09-07 Dave Love <fx@gnu.org>
8924
8925 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8926
d24fd56f
KH
89272000-09-07 Kenichi Handa <handa@etl.go.jp>
8928
794f3670
KH
8929 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8930
0fddd0dc
KH
8931 * charset.c: Include composite.h
8932 (lisp_string_width): New function.
8933 (Fstring_width): Call lisp_string_width instead of strwidth.
8934
8935 * Makefile.in (charset.o): Depends on composite.h.
8936
d24fd56f
KH
8937 * process.c (read_process_output): Before inserting the decoded
8938 text in the buffer, adjust the multibyteness.
8939
fa0b693c
GM
89402000-09-06 Gerd Moellmann <gerd@gnu.org>
8941
52283633 8942 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8943 buffer's text buffer is null, map new memory.
8944
0a58f946
GM
8945 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8946 POINTER_TYPE and size_t.
8947 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8948 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8949 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8950 [REL_ALLOC_MMAP]: New macros.
8951 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8952 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8953 [REL_ALLOC_MMAP]: New functions.
8954
8955 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8956 before and after unexec.
8957
8958 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8959 text buffers if necessary.
8960
8961 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8962 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8963 in prototypes.
8964
fa0b693c
GM
8965 * config.in (HAVE_MMAP): Add #undef.
8966
877055f6
GM
89672000-09-05 Gerd Moellmann <gerd@gnu.org>
8968
08ba3862
GM
8969 * frame.c (Qdisplay_type): New variable.
8970 (syms_of_frame_1): Initialize it.
8971 (Fframe_parameter): New function that avoids consing.
8972 (syms_of_frame): Defsubr it.
8973
66ffe51c
GM
8974 * buffer.c (Fother_buffer): Consider buffers as invisible when
8975 they are displayed in a window on an invisible frame.
8976
877055f6
GM
8977 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8978 get-largest-window always return nil.
8979
bb970e67
GM
89802000-09-04 Gerd Moellmann <gerd@gnu.org>
8981
8982 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8983 variable; recognize Emacs 19 elc files.
8984
7a3d0e0e
MB
89852000-09-04 Miles Bader <miles@gnu.org>
8986
8987 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8988 before initially popping up the menu, so the menu doesn't flash
52283633 8989 when the face settings are significantly different from the defaults.
7a3d0e0e 8990
14473664
SM
89912000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8992
8993 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8994 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8995 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8996 (BIT_UNIBYTE): Remove.
8997 (re_match_2_internal): Delete corresponding code and streamline the
8998 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8999 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9000 (re_wctype_t): New type.
9001 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9002 (regex_compile): Use them and fix handling of overly long char classes.
9003
c1174479
AI
90042000-09-03 Andrew Innes <andrewi@gnu.org>
9005
f8803e97
AI
9006 * makefile.w32-in: Change to DOS line endings.
9007
c1174479
AI
9008 * s/ms-w32.h (ORDINARY_LINK): New define.
9009
9010 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9011 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9012
9013 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9014 (distclean): Delete them here instead.
9015
44ef7cf6
AI
9016 * w32proc.c (compare_env): Convert to uppercase for comparison,
9017 not lowercase, to match how the native Windows shell works.
9018
49b3bd82
JR
90192000-09-03 Jason Rumney <jasonr@gnu.org>
9020
9021 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9022 CVS changes the line-ends when checking in/out on DOS/Windows.
9023
9024 * makefile.nt (emacs): Do not change directory to run temacs, as
9025 the load-path is set relative to current directory.
9026
a3d35a39
MB
90272000-09-03 Miles Bader <miles@gnu.org>
9028
9029 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9030
d276b0cf
GM
90312000-09-02 Gerd Moellmann <gerd@gnu.org>
9032
715e84c9
GM
9033 * xdisp.c (redisplay_mode_lines): New function.
9034 (display_mode_lines): Return number of mode lines displayed.
9035 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9036 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9037
8892f40b
GM
9038 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9039 string.h and strings.h.
9040 (index) [HAVE_INDEX]: Add prototype.
9041
d276b0cf
GM
9042 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9043 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9044
9045 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9046 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9047
38404229
GM
90482000-09-01 Gerd Moellmann <gerd@gnu.org>
9049
9050 * lread.c (read1): Accept `?' as symbol constituent, for
9051 compatiblity with XEmacs.
9052
c0f9ea08
SM
90532000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9054
9055 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9056 (struct re_pattern_buffer): Remove newline_anchor.
9057 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9058 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9059 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9060 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9061 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9062 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9063 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9064 Get rid of references to newline_anchor.
9065 (regcomp): Allocate and precompute a fastmap.
9066
8c0f83fe
GM
90672000-08-31 Gerd Moellmann <gerd@gnu.org>
9068
9069 * lread.c (openp): GCPRO local variable `filename'.
9070
4bb91c68
SM
90712000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9072
9073 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9074
9075 * regex.c: Merge some changes from GNU libc. Add prototypes.
9076 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9077 Use memcmp and memcpy instead of bcopy and bcmp.
9078 (init_syntax_once): Use ISALNUM.
9079 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9080 (REG_UNSET_VALUE): Remove. Use NULL instead.
9081 (REG_UNSET, re_match_2_internal): Use NULL.
9082 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9083 New macros.
9084 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9085 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9086 (regex_compile): In handle_interval, return an error rather than try to
9087 unfetch the interval if we can't find the closing brace.
9088 Obey the RE_NO_GNU_OPS syntax bit.
9089 (TOLOWER): New macro.
9090 (regcomp): Use it.
9091 (regexec): Allocate regs.start and regs.end as one block.
9092
5226a931
GM
90932000-08-30 Gerd Moellmann <gerd@gnu.org>
9094
868dd24b
GM
9095 * xdisp.c (echo_area_display): Check display_completed instead
9096 of calling detect_input_pending.
9097
9098 * dispnew.c (update_frame): Only set display_completed here; move
9099 the update_begin and update_end calls here from update_frame_1.
9100 (update_frame_1): Don't set display_completed here, don't call
9101 update_begin/update_end.
9102
5226a931
GM
9103 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9104 instead of store_frame_param.
9105
2a8bd25f
GM
91062000-08-29 Gerd Moellmann <gerd@gnu.org>
9107
9108 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9109 desired window matrix hasn't been displayed, use the current row
9110 instead. Make sure that only those frame rows are updated for
9111 which there exists a corresponding enabled desired row.
52283633 9112
ba3478d9
MB
91132000-08-29 Miles Bader <miles@gnu.org>
9114
9115 * xfaces.c (default_face_vector): New function.
9116 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9117
87d0f685
GM
91182000-08-29 Gerd Moellmann <gerd@gnu.org>
9119
9120 * lread.c (openp): Prevent temporary string passed to
9121 Ffile_readable_p from being garbage collected.
9122
6fa86045
DL
91232000-08-28 Dave Love <fx@gnu.org>
9124
9125 * keymap.c (store_in_keymap): Add `static' to declaration.
9126
bb17930d
GM
91272000-08-28 Gerd Moellmann <gerd@gnu.org>
9128
9129 * emacs.c, callint.c, doc.c, editfns.c
9130 (toplevel) [HAVE_STRING_H]: Include string.h.
9131 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9132 (index): Remove prototypes which might conflict with non-standard
9133 definitions of index/strchr.
9134
9135 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9136 (rindex): Define only if !HAVE_RINDEX.
9137
9138 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9139
9140 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9141
87188200
MB
91422000-08-28 Miles Bader <miles@gnu.org>
9143
9144 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9145 made inconsistent by a font-related attribute in FROM.
9146 (merge_face_inheritance): Add function comment.
9147
41a68aef
KH
91482000-08-28 Kenichi Handa <handa@etl.go.jp>
9149
9150 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9151 the 4th arg (PREV_EVENT) Qt to suppress input method.
9152
f7c436c1
SM
91532000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9154
0b32bf0e
SM
9155 * regex.c: Indent cpp directives and remove parens after `defined'.
9156 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9157 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9158 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9159 (re_compile_pattern): Use size_t for length.
9160 (init_syntax_once): Move to a better place.
9161 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9162 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9163
f7c436c1
SM
9164 * syntax.c (back_comment): Detect cases where a comment-starter is
9165 actually inside another comment as in: /* a // b */ c // d \n.
9166 Make it clear that `comstart_pos' is unused for nested comments.
9167
9168 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9169 (KEYMAPP): New macro.
9170 (Fkeymap_parent, Fset_keymap_parent): Use it.
9171 (fix_submap_inheritance): Mark it static.
9172 (define_as_prefix, describe_buffer_bindings, describe_command)
9173 (describe_translation, describe_map): Complete prototypes.
9174
9175 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9176
9177 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9178 to better match the key-lookup behavior.
9179
6288c62f
GM
91802000-08-27 Gerd Moellmann <gerd@gnu.org>
9181
9182 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9183 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9184
e931344e
EZ
91852000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9186
9187 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9188 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9189 (xterm.o): Depend on coding.h
9190
d10dfeef
KH
91912000-08-26 Kenichi Handa <handa@etl.go.jp>
9192
9193 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9194 the corresponding '#endif'.
9195
2d73e8d3
MB
91962000-08-26 Miles Bader <miles@gnu.org>
9197
9198 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9199 * xfaces.c (QCinherit): New variable.
9200 (syms_of_xfaces): Initialize it.
9201 (LFACE_INHERIT): New macro.
9202 (Finternal_get_lisp_face_attribute)
52283633 9203 (merge_face_vector_with_property)
2d73e8d3
MB
9204 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9205 (check_lface_attrs): Allow new types of face height. Check
9206 inherit attribute.
9207 (CYCLE_CHECK): New macro.
9208 (merge_face_inheritance): New function.
9209 (merge_face_vectors): Merge inherited faces too. Add F and
9210 CYCLE_CHECK arguments.
9211 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9212 (lookup_named_face, lookup_derived_face, realize_named_face)
9213 (face_at_string_position, face_at_buffer_position): Supply
9214 new F and CYCLE_CHECK arguments to merge_face_vectors.
9215 (merge_face_heights): New function.
52283633 9216 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9217 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9218 handle relative face heights.
9219 (lface_same_font_attributes_p): Compare heights using EQ.
9220
6ce974d4
KH
92212000-08-26 Kenichi Handa <handa@etl.go.jp>
9222
9223 * charset.c (char_to_string): Check the character validity.
52283633 9224 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9225
dc1e502d
SM
92262000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9227
9228 * regex.c (PUSH_FAILURE_COUNT): New macro.
9229 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9230 Handle popping of a register's or a counter's data.
9231 (POP_FAILURE_POINT): Use the new name.
9232 (re_match_2_internal): Push counter data on the stack for succeed_n,
9233 jump_n and set_number_at and remove misleading dead code in succeed_n.
9234
bd9d0f3f
GM
92352000-08-25 Gerd Moellmann <gerd@gnu.org>
9236
9237 * xdisp.c (redisplay_internal): If considering all windows on all
9238 frames, update the display for each frame as soon as possible,
9239 instead of first building all desired matrices for all frames, and
9240 then updating them all.
9241 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9242
aa5b8e15
GM
92432000-08-24 Gerd Moellmann <gerd@gnu.org>
9244
17494071
GM
9245 * bytecode.c (mark_byte_stack): Add a comment.
9246
52283633
SM
9247 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9248 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9249 a graphical frame.
9250
c543db81
KH
92512000-08-24 Kenichi Handa <handa@etl.go.jp>
9252
d246d5f5
KH
9253 * minibuf.c (do_completion): Always use compare-string, not
9254 string-equal because the latter doesn't pay attention to
9255 multibyteness of strings.
9256
c543db81
KH
9257 * process.c (create_process): Don't setup raw-text coding here.
9258 (Fopen_network_stream): Don't set coding->src_multibyte and
9259 coding->dst_multibyte here.
9260 (read_process_output): For process filter, return unibyte string
9261 if default-enable-multibyte-characters is nil.
9262 (send_process): If OBJECT is multibyte text, be sure to encoded it
9263 by the specified coding system for the process. Otherwise, setup
9264 raw-text coding.
52283633 9265 (init_process): Don't initialize default-process-coding-system here.
c543db81 9266
9b47cfe0
EZ
92672000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9268
9269 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9270 <scroll-down-aggressively>: Likewise.
9271
f5a36960
KH
92722000-08-23 Kenichi Handa <handa@etl.go.jp>
9273
9274 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9275 zero. Set coding->produced_char correctly.
9276
69a7ffa7
AI
92772000-08-22 Andrew Innes <andrewi@gnu.org>
9278
9279 * makefile.w32-in: New file.
9280
9281 * unexw32.c (unexec): Ignore old_name, and use the actual location
9282 of the current executable instead. Base new_name on this.
9283
9284 * w32proc.c (create_child): Remove reference to security
9285 descriptor, which isn't needed and doesn't compile with mingw32.
9286
9287 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9288 up dllimport attributes.
9289 (x_update_window_end): Update prototype.
9290
9291 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9292 extern, which screws up dllimport attributes.
9293
9294 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9295 up dllimport attributes.
9296
9297 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9298 screws up dllimport attributes.
9299
9300 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9301 up dllimport attributes.
9302 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9303 screws up dllimport attributes.
9304
9305 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9306 up dllimport attributes.
9307
9308 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9309 screws up dllimport attributes.
9310
9311 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9312 screws up dllimport attributes.
9313
9314 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9315 up dllimport attributes.
9316
9317 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9318 unnecessary extern, which screws up dllimport attributes.
9319 (main): Ditto.
9320
9321 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9322 up dllimport attributes.
9323
9324 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9325 unnecessary extern, which screws up dllimport attributes.
9326
9327 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9328 screws up dllimport attributes.
9329
9330 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9331 up dllimport attributes.
9332
9333 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9334
52283633
SM
9335 * w32bdf.c (search_file_line):
9336 (set_bdf_font_info):
9337 (seek_char):
9338 (w32_get_bdf_glyph):
69a7ffa7
AI
9339 (w32_BDF_to_x_font): Fix compile warnings.
9340
52283633 9341 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9342
9343 * w32select.c: Include keyboard.h before frame.h.
9344
9345 * w32fns.c (max): Define macro.
9346 (JOHAB_CHARSET): Define if not known.
9347 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9348 (Fx_show_tip): Synch with X version.
9349
9350 * w32xfns.c: Include keyboard.h before frame.h.
9351
9352 * w32fns.c: Include keyboard.h before frame.h.
9353
9354 * w32term.c: Include keyboard.h before frame.h.
9355
9356 * fontset.c: Include keyboard.h before frame.h.
9357
9358 * w32inevt.c: Include keyboard.h before frame.h.
9359 (MOUSE_MOVED): Define if not known.
9360
9361 * minibuf.c: Include keyboard.h before frame.h.
9362
9363 * keyboard.c: Include keyboard.h before frame.h.
9364
9365 * indent.c: Include keyboard.h before frame.h.
9366
9367 * dispnew.c: Include keyboard.h before frame.h.
9368
9369 * buffer.c: Include keyboard.h before frame.h.
9370
9371 * alloc.c: Include keyboard.h before frame.h.
9372
9373 * print.c: Include keyboard.h before frame.h.
9374
9375 * process.c: Include keyboard.h before frame.h.
9376
9377 * scroll.c: Include keyboard.h before frame.h.
9378
9379 * sysdep.c: Include keyboard.h before frame.h.
9380
9381 * term.c: Include keyboard.h before frame.h.
9382
9383 * window.c: Include keyboard.h before frame.h.
9384
9385 * xdisp.c: Include keyboard.h before frame.h.
9386 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9387
9388 * frame.c: Include keyboard.h before frame.h.
9389
9390 * w32heap.h: Undefine min, max.
9391
9392 * w32gui.h: Undefine min, max.
9393
9394 * unexw32.c: Change PUCHAR to PCHAR.
9395 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9396 (relocate_offset):
9397 (get_section_info):
69a7ffa7
AI
9398 (copy_executable_and_dump_data): Remove unnecessary static defs.
9399 (copy_executable_and_dump_data): Fix compile warnings.
9400
9401 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9402
9403 * w32console.c (min): Define macro.
9404 (clear_frame, write_glyphs): Fix compile warning.
9405
52283633 9406 * w32proc.c (compare_env):
69a7ffa7
AI
9407 (find_child_console): Fix compile warning.
9408
9409 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9410 sys_errlist instead of _sys_errlist.
9411 (get_emacs_configuration_options): New function.
9412
9413 * s/ms-w32.h (sys_nerr): Provide default definition.
9414 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9415 name with _ prepended.
9416 (NSIG): Define if not known.
9417 (get_emacs_configuration): Provide extern declaration.
9418 (get_emacs_configuration_options): Provide extern declaration.
9419 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9420
9421 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9422 (map_w32_filename):
69a7ffa7
AI
9423 (read_unc_volume): Fix compile warning.
9424
9425 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9426 definitions from being used.
9427
9428 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9429
52283633 9430 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9431 (open_unc_volume): Make arg const.
9432
9433 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9434 (read_input_waiting): Remove excess parameter.
9435
9436 * w32.c (init_environment): Call _access.
9437 (check_windows_init_file): Call _close.
9438 (init_user_info): Call _putenv.
9439 (init_environment): Call _putenv and _strdup.
9440 (init_ntproc): Reset volume info cache on startup.
9441
9442 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9443 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9444 cannot override the CRT malloc.
9445
9446 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9447 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9448
9449 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9450 unless we are linking with a static CRT.
9451 (RVA_TO_PTR): Cast result to unsigned char*.
9452
9453 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9454 (add_volume_info): Use xstrdup.
9455
25060080
SM
94562000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9457
9458 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9459 (do_completion, Fminibuffer_complete_word): Use it.
9460 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9461 var so it can take non-boolean values.
9462
6917e6bb
GM
94632000-08-21 Gerd Moellmann <gerd@gnu.org>
9464
acb7cc89 9465 * editfns.c (find_field): Formatting changes.
52283633 9466 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9467 changed to prototypes, some new protypes added, some functions
9468 made static.
9469
9470 * lisp.h (set_time_zone_rule): Add prototype.
9471 (use_dialog_box): External declaration.
9472
0bbfdc25
GM
9473 * keyboard.c (gen_help_event): Add parameter SIZE.
9474 (kbd_buffer_events_waiting): Slightly rewritten.
9475 (clear_event): New function.
9476 (kbd_buffer_get_event): Use it, and clear the input_events of
9477 HELP_EVENTs.
9478 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9479 don't fill the newly created array with nils.
9480 (toplevel): Convert some old-style function forward declarations
9481 to prototypes.
9482
9483 * keyboard.h (gen_help_event): Change prototype.
9484
9485 * xterm.c (XTread_socket): Change calls to gen_help_event.
9486
9487 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9488
6917e6bb
GM
9489 * eval.c (Fmacroexpand): Doc fix.
9490
e5cd3d11
JR
94912000-08-20 Jason Rumney <jasonr@gnu.org>
9492
9493 * w32term.h (x_display_info_for_display): Remove as this function
9494 does not exist on W32.
9495
9496 * w32term.c (help_echo_window): New variable.
9497 (syms_of_w32term): staticpro it.
9498 (note_mode_line_highlight): Set it.
9499 (XTextExtents16): Removed as there is no equivalent on W32.
9500 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9501 the X way of doing this will not work for W32.
9502 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9503 (x_draw_image_foreground): Avoid drawing outside of the clip area
9504 when image doesn't have a mask.
9505 (note_mouse_highlight): Process overlays in the right order of
9506 priority. Set help_echo_window.
9507 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9508 because that's more visible for large images.
9509
9510 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9511 name to single_keymap_panes.
9512 (w32_menu_show): Set wv->title when dealing with titles.
9513 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9514
6e69ab8c
MB
95152000-08-21 Miles Bader <miles@gnu.org>
9516
9517 * minibuf.c (do_completion): Try again if we rewrite the input
9518 string, but no completion was done, so that any completion message
9519 will be correct.
9520
511bd4eb
GM
95212000-08-20 Gerd Moellmann <gerd@gnu.org>
9522
9523 * xfaces.c (lface_equal_p): Compare strings differently.
9524 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9525 (realize_tty_face): Use them.
9526 (syms_of_xfaces): Initialize new variables.
9527 (map_tty_color): New function, extracted from realize_tty_face.
9528 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9529 foreground or background color, store the new color name in the
9530 realized face; previous code trying to do this had no effect.
9531 (realize_tty_face): Use map_tty_color.
9532 (Fclear_face_cache): Set face_change_count and ensure thorough
9533 redisplay.
9534
1433385f
GM
95352000-08-19 Gerd Moellmann <gerd@gnu.org>
9536
511bd4eb
GM
9537 * undo.c (record_first_change, record_marker_adjustment): Don't
9538 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9539
419ac0a2
KH
95402000-08-18 Kenichi Handa <handa@etl.go.jp>
9541
9542 * coding.c (decode_coding_string): Set members consumed,
9543 consumed_char, produced, produced_char of *coding correctly. If
9544 decode_coding doesn't consume any byte, don't try anymore.
9545 (encode_coding_string): Likewise.
9546
7eb9e30d
GM
95472000-08-18 Gerd Moellmann <gerd@gnu.org>
9548
511bd4eb
GM
9549 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9550 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9551
9552 * xdisp.c (redisplay_internal): Compare windows for equality with
9553 EQ, instead of applying XWINDOW to something that might not
9554 be a window.
52283633 9555
dd34a735
KH
95562000-08-18 Kenichi Handa <handa@etl.go.jp>
9557
9558 * fontset.c (Finternal_char_font): Search only the selected frame
9559 for a window of the current buffer.
9560
385ff9e3
GM
95612000-08-18 Gerd Moellmann <gerd@gnu.org>
9562
511bd4eb 9563 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9564 Lisp_Objects.
9565
385ff9e3
GM
9566 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9567 second half of a HELP_EVENT is found at the start of kbd_buffer.
9568
d6abb4c7
MB
95692000-08-18 Miles Bader <miles@gnu.org>
9570
4618074a
MB
9571 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9572
d6abb4c7
MB
9573 * editfns.c (save_restriction_save): Rewrite to use markers.
9574 (save_restriction_restore): Rewrite to understand new form of data
9575 saved by save_restriction_save.
9576 (Fsave_restriction): Remove cautionary note in doc-string.
9577
a7b28523
GM
95782000-08-17 Gerd Moellmann <gerd@gnu.org>
9579
9580 * fileio.c (build_annotations): Add a comment explaining the
9581 return value of format-annotate-function. Replace a spurious call
9582 to Flength with a CONSP test. Call format-annotate-function with
9583 a fifth arg specifying how many times the function is been called
9584 in a row, to let it choose temporary buffers appropriately.
9585
03c9ed77
DL
95862000-08-17 Dave Love <fx@gnu.org>
9587
9588 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9589 declare make_temp_name twice.
9590
52283633 9591 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9592 (unreadpure): Give it an arg.
9593
9594 * unexalpha.c: Prototype fatal_unexec, mark_x,
9595 update_dynamic_symbols. Declare unexec as void.
9596
9597 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9598 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9599
9600 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9601 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9602
9603 * alloca.c: Use #error.
9604 [POINTER_TYPE]: Use it.
9605
9606 * eval.c (Fdefvar): Doc fix.
9607
9608 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9609 INITIALIZE_INTERVAL.
9610
9611 * buffer.h: Avoid DECLARE_INTERVALS.
9612
9613 * config.in: Add size_t.
9614
aae41d97
EZ
96152000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9616
9617 * w16select.c (set_clipboard_data): If there's not enough memory
9618 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9619 expects. In case of other failures, return 3.
9620 (system_error_msg): New error message.
9621 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9622 system_error_msg.
9623
65aa5e85
GM
96242000-08-16 Gerd Moellmann <gerd@gnu.org>
9625
9626 * term.c (write_glyphs): Also turn off inverse video after turning
9627 off other appearances in case TS_exit_attribute_mode is not equal
9628 to TS_end_standout_mode.
9629 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9630 with the same face.
9631 (turn_off_face): Reset standout_mode only if
9632 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9633 is equal to TS_end_standout_mode.
9634
ece23901
KH
96352000-08-16 Kenichi Handa <handa@etl.go.jp>
9636
9d7bcb2e
KH
9637 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9638 sequence at the end of the source block.
9639
ece23901
KH
9640 * ccl.c (Fccl_program_p): Docstring modified.
9641 (Fccl_execute): Likewise.
9642 (Fccl_execute_on_string): Likewise.
9643
5e30eaa2
EZ
96442000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9645
9646 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9647
290602fd
KH
96482000-08-16 Kenichi Handa <handa@etl.go.jp>
9649
9650 The following changes are mainly to fix bugs of
9651 encode/decode-coding-string failing if encoding/decoding return
9652 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9653 variable conversion_buffer.
9654
9655 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9656 decrement dst_end to avoid buffer overflow in the later call of
9657 string_as_multibyte
9658
9659 * coding.h (conversion_buffer_size, conversion_buffer)
9660 (get_conversion_buffer): Extern deleted.
9661
9662 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9663 (conversion_buffer, conversion_buffer_size): Variables deleted.
9664 (get_conversion_buffer): Function deleted.
9665 (struct conversion_buffer): New structure.
9666 (MAX_ALLOCA): New macro.
9667 (allocate_conversion_buffer): New macro.
9668 (extend_conversion_buffer, free_conversion_buffer): New functions.
9669 (ccl_coding_driver): Set coding->result.
9670 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9671 this is the last block of source.
9672 (encode_coding): Likewise. Handle the source block as the last
9673 one only when the whole source text is consumed.
9674 (decode_coding_string): Handle the case that the output buffer is
9675 too small to decode the whole source text. Use
9676 allocate_conversion_buffer, extend_conversion_buffer and
9677 free_conversion_buffer, not get_conversion_buffer.
9678 (encode_coding_string): Likewise.
9679 (init_coding): Function deleted.
52283633 9680 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9681
9682 * emacs.c (main): Don't call init_coding.
9683
52283633 9684 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9685
9686 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9687 (insert_glyphs): Likewise.
9688
9689 * w32console.c (write_glyphs): Use a locally declared
9690 conversion_buffer.
9691
b9f80d41
EZ
96922000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9693
9694 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9695 member of display_info is NULL.
9696
32dc52f7
GM
96972000-08-15 Gerd Moellmann <gerd@gnu.org>
9698
52283633 9699 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9700
32dc52f7 9701 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9702 appearances with capability `me'.
32dc52f7
GM
9703 (write_glyphs): Switch on inverse video before each face change.
9704
4eb22d33
DL
97052000-08-14 Dave Love <fx@gnu.org>
9706
9707 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9708 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9709 (lisp_free): Declare and make static.
9710
9711 * window.c: Fix embedded comment.
9712 (syms_of_window): Fix doc string.
9713
90cbf47e
GM
97142000-08-14 Gerd Moellmann <gerd@gnu.org>
9715
52283633 9716 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9717 make sure to print `C-' before `M-', like in the manual.
9718
440fc135
GM
97192000-08-11 Gerd Moellmann <gerd@gnu.org>
9720
9721 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9722 since they aren't relocated anymore.
52283633 9723 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9724
9725 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9726 partially visible line which is smaller than the window's height.
440fc135 9727
6e264fad
KH
97282000-08-11 Kenichi Handa <handa@etl.go.jp>
9729
9730 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9731 the multibyte form of eight-bit-control characters.
6e264fad
KH
9732 (Fccl_execute_on_string): Initialize ccl->multibyte.
9733
9734 * ccl.h (struct ccl_program): New member multibyte.
9735
9736 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9737
c371f69a
KH
97382000-08-11 Kenichi Handa <handa@etl.go.jp>
9739
9740 * regex.c (regex_compile) <normal_char>: Pay attention to
9741 multibyteness.
9742 (analyse_first) <exactn>: Setup fastmap correctly for
9743 eight-bit-control characters.
9744
97452000-08-11 Kenichi Handa <handa@etl.go.jp>
9746
52283633 9747 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9748
9749 * keyboard.c (make_lispy_event): Handle the new event type
9750 multibyte_char_keystroke.
9751
9752 * xterm.c: Include coding.h.
9753 (XTread_socket): Work around a bug of XmbLookupString. If the
9754 input is from XIM, decode it according to the current locale. In
9755 that case, generate multibyte_char_keystroke events.
9756
b8ddbe71
KH
97572000-08-11 Kenichi Handa <handa@etl.go.jp>
9758
9759 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9760 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9761
47589c8c
GM
97622000-08-10 Gerd Moellmann <gerd@gnu.org>
9763
9764 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9765 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9766 (move_it_in_display_line_to): Record iterator's ascent and descent
9767 before producing glyphs, and restore them when we know the glyph
9768 doesn't fit on the line.
9769 (move_it_to): Restructured so that it's easier to debug. If
9770 moving to a vpos, and not moving to an x or character position,
9771 stop as soon as the specified vpos is reached; don't move further
9772 into that line because that might change the computed line height.
9773 (try_cursor_movement): New function, extracted from the cursor
9774 movement branch of redisplay_window. If ending on a partially
9775 visible line, don't try to scroll if the cursor line is taller
9776 than the window.
9777 (redisplay_window): Use try_cursor_movement.
9778
9779 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9780 because that function doesn't cope with variable-height lines.
9781
9782 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9783 box cursor because that's better visible for large images.
52283633 9784
c51bacd6
MB
97852000-08-10 Miles Bader <miles@gnu.org>
9786
9787 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9788
bea56df7
GM
97892000-08-10 Gerd Moellmann <gerd@gnu.org>
9790
9791 * xdisp.c (Vmessages_buffer_name): New variable.
9792 (message_dolog): Use it.
9793 (syms_of_xdisp): Initialize it.
9794
99cd7364
EZ
97952000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9796
52283633 9797 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9798 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9799 redundant now that keyboard.h is included.
9800
7d093d56
EZ
98012000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9802
9803 * keyboard.c (kbd_buffer_events_waiting): New function.
9804
9805 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9806
9807 * msdos.c: Include keyboard.h.
9808 (XMenuActivate): Empty no_event events from the event buffer. If
9809 no events are left after that, call clear_input_pending.
9810 (mouse_clear_clicks): New function, code moved from mouse_init.
9811 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9812 mouse driver to ``forget'' any past clicks.
9813
9814 * Makefile.in (msdos.o): Depend on keyboard.h.
9815
41e757a6
GM
98162000-08-09 Gerd Moellmann <gerd@gnu.org>
9817
8e7bd231
GM
9818 * lisp.h (input_pending): External declaration.
9819
9820 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9821
8e7bd231
GM
9822 * xdisp.c (echo_area_display): Display thoroughly if input is
9823 pending. Bind redisplay-dont-pause to t during the redisplay.
9824 in case input is pending.
9825
9826 * dispnew.c (Qredisplay_dont_pause): New variable.
9827 (syms_of_display): Initialize and staticpro it.
9828 (update_frame_1): Don't interrupt the display for pending input if
9829 redisplay_dont_pause is set.
52283633 9830
43028b7e
GM
9831 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9832
41e757a6
GM
9833 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9834
2f2174fa
KH
98352000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9836
9837 * callproc.c (Fcall_process): Terminate the unwind-protect around
9838 the post-read-conversion of coding system.
9839
0a6fd67e
MB
9840 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9841 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9842 * buffer.h (overlays_at): Update prototype.
9843 * xdisp.c (next_overlay_change): Update call to overlays_at.
9844 * xfaces.c (face_at_buffer_position): Likewise.
9845 * textprop.c (Fget_char_property): Likewise.
9846 * xterm.c (note_mouse_highlight): Likewise.
9847
0c80756e
MB
9848 * minibuf.c (do_completion): Don't consider a simple change of
9849 case as `completion'.
9850
975f250a
KR
98512000-08-08 Ken Raeburn <raeburn@gnu.org>
9852
52283633 9853 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9854 * undo.c (record_delete): Make sure last_point_position_buffer is
9855 a buffer before comparing pointers.
9856
9857 * coding.h (decode_coding_string): Declare.
9858
9859 * intervals.h (Fprevious_single_char_property_change): Declare.
9860
9861 * textprop.c (Fprevious_single_char_property_change): Don't do
9862 arithmetic directly on lisp objects.
9863
52283633 9864 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9865
9866 * keyboard.h (menu_item_eval_property): Declare.
9867
9868 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9869 reuse as buffer name, instead of recreating (and discarding) every
9870 time a message is logged.
9871 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9872 (current_message_1, truncate_message_1, set_message_1)
9873 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9874 (current_message, truncate_echo_area, display_echo_area)
9875 (resize_echo_area_axactly): Changed calls.
b347b3fd 9876
975f250a 9877 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9878 Lisp object.
975f250a 9879 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9880 must be an integer, not a Lisp object.
975f250a 9881
46dc9912
KH
98822000-08-08 Kenichi Handa <handa@etl.go.jp>
9883
9884 * charset.c (Fchar_width): Doc fix.
9885
9f6d1a6c
GM
98862000-08-08 Gerd Moellmann <gerd@gnu.org>
9887
9888 * charset.c (Fstring_width): Doc fix.
9889
ff3d9573
GM
98902000-08-07 Gerd Moellmann <gerd@gnu.org>
9891
41e757a6 9892 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9893 line, clear ascent and descent members of the iterator structure;
9894 the height of the continued line does not affect the height of the
9895 continuation line.
9896 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9897 line taller than the window.
9898 (redisplay_window) <forced window start>: Handle case that the
9899 middle of the window is not found in any row.
9900 (dump_glyph_row): Show more information.
9901 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9902 first text line in a glyph matrix.
9903
9904 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9905 of the clip area when image doesn't have a mask.
9906
70fc58b3
GM
9907 * fns.c (sweep_weak_table): Fix survival conditions for
9908 key-or-value and key-and-value weakness.
9909
9910 * .gdbinit (xhashtable): New command.
9911
ac0e96ee
GM
9912 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9913 tables out of the list of all weak hash tables.
9914
ff3d9573
GM
9915 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9916 a new buffer is created, make sure echo_area_buffer[] references
9917 the new buffer.
9918
e0d8827b
EZ
99192000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9920
9921 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9922 the doc string.
9923
c6f35378
KH
99242000-08-07 Kenichi Handa <handa@etl.go.jp>
9925
9926 * syntax.c (skip_chars): Fix previous change. Make the handling
9927 of unibyte string consistent with that of regex search.
9928
1fd4c450
GM
99292000-08-05 Gerd Moellmann <gerd@gnu.org>
9930
e49aa397
GM
9931 * xmenu.c (popup_get_selection): Use xfree instead of free.
9932
9933 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9934
9935 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9936
9937 * callproc.c (child_setup): Use xfree instead of free.
9938
9939 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9940 instead of malloc.
9941 (run_mac_command, closedir): Use `xfree' instead of `free'.
9942
9943 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9944
9945 * eval.c (error): Use xfree instead of free.
9946
1fd4c450
GM
9947 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9948
9949 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9950 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9951
82d497fc
KH
99522000-08-05 Kenichi Handa <handa@etl.go.jp>
9953
9954 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9955 conversion.
9956
59f953a2
NF
99572000-08-04 Noah Friedman <friedman@splode.com>
9958
9959 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9960 docstring.
9961
688351f2
GM
99622000-08-04 Gerd Moellmann <gerd@gnu.org>
9963
9964 * syntax.c (skip_chars): Fix typo in error message.
9965
2dad51cc
AS
99662000-08-04 Andreas Schwab <schwab@suse.de>
9967
9968 * m/ia64.h: Moved from s/ia64.h.
9969
99bb2c60
KH
99702000-08-04 Kenichi Handa <handa@etl.go.jp>
9971
082a1df2
KH
9972 * process.c (read_process_output): Big simplification. Handle
9973 composition and post-read-conversion of coding system correctly.
9974 (send_process): Handle composition correctly.
9975
9976 * callproc.c (Fcall_process): Handle post-read-conversion of
9977 coding system if any.
9978
99bb2c60
KH
9979 * coding.c (decode_coding_iso2022): More strict check for handling
9980 single shifting.
082a1df2
KH
9981 (coding_restore_composition): Pay attention to the case that
9982 cmp_data is not set properly (because of invalid code in the
9983 source text).
9984 (run_pre_post_conversion_on_str): Include text properties in the
9985 resulting string.
9986 (decode_coding_string): Set members of coding correctly.
99bb2c60 9987
f4988be7
GM
99882000-08-03 Gerd Moellmann <gerd@gnu.org>
9989
9990 * s/ia64.h: New file.
9991
9992 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9993 Use NULL instead of 0 at the end of variable argument list of
9994 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9995 sizeof (int) < sizeof (void *).
9996
9997 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9998 of variable argument lists of XtVaGetValues and XtVaSetValues.
9999
10000 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10001 variable argument lists of XtVaGetValues and XtVaSetValues.
10002
ead53494
GM
100032000-08-02 Gerd Moellmann <gerd@gnu.org>
10004
10005 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10006 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10007
10008 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10009 prototype.
10010
10011 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10012 in call to Fsingle_key_description.
10013
10014 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10015 Callers changed.
10016
100172000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10018
10019 * window.c (display_buffer_reuse_frames): New variable.
10020 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10021 frames displaying BUFFER.
52283633 10022 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10023
10b0f752
MB
100242000-08-01 Miles Bader <miles@gnu.org>
10025
10026 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10027 when to constrain NEW_POS (they were pretty screwed up before).
10028
16425c4a
EZ
100292000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10030
10031 * msdos.c (run_msdos_command): Save and restore the master
10032 environment, for the case that child_setup signals an error.
10033 When mirroring slashes in DOS shell commands, don't fail when
10034 argv[2] has embedded blanks.
da288c14
EZ
10035 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10036 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10037 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10038
10039 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10040 using alloca; free it after run_msdos_command returns.
10041
27f73852
DL
100422000-07-27 Dave Love <fx@gnu.org>
10043
52283633
SM
10044 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10045 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10046
10047 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10048
c0261b5e
EZ
100492000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10050
10051 * editfns.c (lisp_time_argument): Fix last change.
10052
b548072f
GM
100532000-07-27 Gerd Moellmann <gerd@gnu.org>
10054
3ab82477
GM
10055 * fns.c (Fdelete): Make it work on vectors and strings in addition
10056 to lists.
10057
b548072f
GM
10058 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10059 (syms_of_fns): Initialize new variables.
52283633 10060 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10061 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10062 weakness, with t meaning the same as `key-and-value'.
10063
91ae8751
KH
100642000-07-27 Kenichi Handa <handa@etl.go.jp>
10065
10066 * coding.h (struct coding_system): Member safe_charset deleted.
10067
10068 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10069 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10070 New variables.
91ae8751
KH
10071 (coding_safe_chars): New function.
10072 (CODING_SAFE_CHAR_P): New macro.
10073 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10074 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10075 (detect_coding_iso2022): New local variable safe_chars.
10076 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10077 safe_charsets member of the coding system.
10078 (decode_coding_iso2022): New local variable safe_chars.
10079 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10080 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10081 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10082 (ENCODE_UNSAFE_CHARACTER): New macro.
10083 (encode_coding_iso2022): New local variable safe_chars. Check
10084 unsafe chars.
10085 (setup_coding_system): Delete the code to initialize
10086 coding->safe_charses
10087 (intersection, find_safe_codings): New functions.
10088 (Ffind_coding_systems_region_internal): New function.
10089 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10090 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10091 variable and initialize it.
10092
10093 * fns.c (char_table_ref_and_index): New function.
10094
10095 * lisp.h (char_table_ref_and_index): Add prototype.
10096
34a7a267
SS
100972000-07-26 Sam Steingold <sds@gnu.org>
10098
10099 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10100 (Ffloat_time): New built-in Lisp function.
34a7a267 10101
a95cb10a
GM
101022000-07-26 Gerd Moellmann <gerd@gnu.org>
10103
3353ef5a
GM
10104 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10105 for the character code.
10106
10107 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10108 GNU/Linux.
10109
a95cb10a
GM
10110 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10111 if called for a popup menu.
10112 (xmenu_show): Store help string in widget values.
10113
b4a12321
DL
101142000-07-26 Dave Love <fx@gnu.org>
10115
10116 * syswait.h: Move some definitions.
10117 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10118 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10119 perspicuous definitions.
10120 (WTERMSIG): Fix bit pattern used.
10121
13f5ad37
KH
101222000-07-26 Kenichi Handa <handa@etl.go.jp>
10123
10124 * print.c (print_object): If vector printing is truncated, print
10125 "..." to indicate it as well as the case of list printing.
10126
070fe99c
GM
101272000-07-25 Gerd Moellmann <gerd@gnu.org>
10128
969065c3
GM
10129 * xdisp.c (next_element_from_display_vector): Improve comments.
10130
10131 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10132 for the character code, and the rest for the face id as in 20.x.
10133 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10134
10135 * window.c (window_display_table): Cleaned up.
10136
070fe99c
GM
10137 * syntax.c (Fforward_word): Add last arg nil in call of
10138 Fconstrain_to_field.
10139
bad77ef7
EZ
101402000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10141
969065c3 10142 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10143 identical but for the letter-case, don't call
10144 barf_or_query_if_file_exists.
bad77ef7 10145
c28da489
MB
101462000-07-25 Miles Bader <miles@gnu.org>
10147
10148 * editfns.c (find_field): Honor special `boundary' fields.
10149 (Qboundary): New variables.
10150 (syms_of_editfns): Initialize Qboundary.
10151 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10152 Use scan_buffer instead of find_before_next_newline, because it
10153 allows us to detect the boundary case where there's a newline at
10154 the search limit.
10155 * lisp.h (Fconstrain_to_field): Update external declaration.
10156
e3c31fd5
GM
101572000-07-24 Gerd Moellmann <gerd@gnu.org>
10158
10159 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10160 if that is nil.
c28da489 10161
c66c29a2
DL
101622000-07-24 Dave Love <fx@gnu.org>
10163
10164 * s/sunos4-0.h, s/sol2.h:
10165 (LIBS_TERMCAP): Move from m/sparc.h.
10166
10167 * m/sparc.h (TERMINFO): Moved to system files (probably only
10168 relevant for sunos4 judging by its vintage).
10169 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10170 __arch64__.
10171
fbe0a958
EZ
101722000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10173
10174 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10175 name to single_keymap_panes.
10176
7d88e5c9
AS
101772000-07-24 Andreas Schwab <schwab@suse.de>
10178
10179 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10180
e024b101
GM
101812000-07-24 Gerd Moellmann <gerd@gnu.org>
10182
10183 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10184 parameters instead of using int parameters. Expect FN to accept
10185 EMACS_INT parameters.
10186 (display_echo_area, resize_echo_area_axactly, current_message)
10187 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10188 with new argument list.
10189 (resize_mini_window_1): New callback function.
10190 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10191 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10192
25c1a9ce
KH
101932000-07-24 Kenichi Handa <handa@etl.go.jp>
10194
10195 * fontset.c (fontset_ref): Remove INLINE declaration.
10196 (fontset_ref_via_base): Likewise.
10197 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10198 to downcase.
10199
7f987ac0
EZ
102002000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10201
10202 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10203 correct order of priority. If help echo was found in an overlay,
10204 use that overlay as the object in which the help echo was found.
10205
e2db3069
MB
102062000-07-22 Miles Bader <miles@gnu.org>
10207
10208 * textprop.c (Fprevious_single_char_property_change): The initial
10209 property value should be from the position preceding POSITION, not
10210 following it.
10211
5e3203e4
EZ
102122000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10213
10214 * coding.c (syms_of_coding): Doc fix for
10215 inhibit-iso-escape-detection.
10216
62145073
GM
102172000-07-21 Gerd Moellmann <gerd@gnu.org>
10218
c20aeb83
GM
10219 * xterm.c (note_mouse_highlight): Process overlays in the right
10220 order of priority.
34a7a267 10221
743934db
GM
10222 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10223
10224 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10225 overlay, use that overlay as the object in which the help was found.
743934db 10226
d1dc7e43 10227 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10228
62145073
GM
10229 * window.c (foreach_window): Instead of a fake variable argument
10230 list, take one USER_DATA argument.
10231 (foreach_window_1): Likewise, and call callback functions with two
10232 args, the window and USER_DATA.
10233 (struct check_window_data): New struct.
10234 (check_window_containing): Use it.
10235 (window_from_coordinates): Set up a struct check_window_data for
10236 foreach_window.
10237 (add_window_to_list, freeze_window_start): Change parameters
10238 according to new calling convention.
10239
10240 * window.h (foreach_window): Change prototype.
10241
10242 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10243
102442000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10245
10246 * xmenu.c (menu_help_callback): Call show_help_echo with
10247 additional arguments OBJECT and POS.
10248
11270583
KH
102492000-07-21 Kenichi Handa <handa@etl.go.jp>
10250
07b14857
KH
10251 * data.c (Faset): Allow storing any multibyte character in a
10252 string. Convert unibyte string to multibyte if necessary.
10253
11270583
KH
10254 * xfns.c (x_encode_text): New function.
10255 (x_set_name): Use x_encode_text.
10256 (x_set_title): Likewise.
10257
10258 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10259
10260 * xterm.h (x_encode_text): Add prototype.
10261
bc75b4fd
DL
102622000-07-20 Dave Love <fx@gnu.org>
10263
10264 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10265 xfree, not free.
10266
48c14970
EZ
102672000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10268
10269 * msdos.c (help_echo_window): New variable.
10270 (syms_of_msdos): Initialize and staticpro it.
10271 (IT_note_mode_line_highlight): Set help_echo_window.
10272 (IT_note_mouse_highlight): Ditto.
10273 (dos_rawgetc): Store help_echo_window in the second event produced
10274 for HELP_EVENTs.
10275
10276 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10277 Record the object that generated the help echo and the position of
10278 that object in help_echo_object and help_echo_pos. Record that
10279 some glyphs in a row are displayed in mouse-face.
10280 (IT_update_begin): Don't clear mouse highlight unless one of the
10281 enabled glyph rows is marked as being displayed in mouse-face.
10282 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10283 and position recorded in help_echo_object and help_echo_pos to the
10284 event queue.
10285 (IT_menu_display): Accept a new argument PN: the pane number of
10286 the current menu pane. Record the pane number and the item
10287 number of the item which has associated help string.
10288 (XMenuActivate): Update the prototype for help_callback in
10289 function declaration. Call IT_menu_display with the current menu
10290 pane number as an additional argument. Call help_callback with
10291 two additional arguments: the pane number and the item number of
10292 the menu item associated with the help text.
10293 (help_echo_object, help_echo_pos): New variables.
10294 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10295
10296 * msdos.h (XMenuActivate): Update prototype.
10297
4279296d
GM
102982000-07-19 Gerd Moellmann <gerd@gnu.org>
10299
47db06aa
GM
10300 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10301 Add some more prototypes.
10302
10303 * xterm.c, xterm.h: Add some more prototypes.
10304
10305 * lisp.h (Fnext_single_char_property_change): Add prototype.
10306
10307 * dispnew.c (direct_output_for_insert): Remove confusing
10308 outer local variable mouse_face_overwritten_p.
10309 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10310
4279296d
GM
10311 * alloc.c (allocate_string_data): Don't copy old string contents.
10312
670acd62
KH
103132000-07-19 Kenichi Handa <handa@etl.go.jp>
10314
10315 * coding.c (code_convert_region): Delete text properties before
10316 shrinking the conversion region.
10317
7cea38bc
GM
103182000-07-18 Gerd Moellmann <gerd@gnu.org>
10319
dc1cac59
GM
10320 * dispnew.c (update_text_area): Write the whole row if it
10321 has mouse-face in it.
10322
85a8aca9
GM
10323 * xfaces.c (face-alternative-font-family-alist): Remove
10324 DEFVAR_LISP; staticpro instead.
10325
34a7a267 10326 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10327 new arguments.
10328
10329 * keyboard.c (show_help_echo): Add parameter WINDOW.
10330 (read_char): Call show_help_echo with window extracted from Lisp
10331 help event.
10332 (gen_help_event): Add parameter WINDOW.
10333
10334 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10335
10336 * xterm.c (help_echo_window): New variable.
52283633 10337 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10338 (XTread_socket): Pass help_echo_window to gen_help_event.
10339 (syms_of_xterm): Initialize and staticpro help_echo_window.
10340
f8276b77
DL
103412000-07-18 Dave Love <fx@gnu.org>
10342
52283633 10343 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10344
088831a6
GM
103452000-07-18 Gerd Moellmann <gerd@gnu.org>
10346
3d6cd763
GM
10347 * alloc.c (allocate_string_data): If string had already data
10348 assigned, copy old contents to new string data.
10349
10350 * coding.c (syms_of_coding): Fix typo in spelling of variable
10351 `inhibit-iso-escape-detection'.
10352
088831a6
GM
10353 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10354
10355 * Makefile.in: Add dependencies on dispextern.h.
10356 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10357 `free'; both can conflict with system header files.
10358
bc8a8d55
KH
103592000-07-18 Kenichi Handa <handa@etl.go.jp>
10360
10361 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10362 undefined.
10363
069f5950
DL
103642000-07-18 Dave Love <fx@gnu.org>
10365
10366 * window.c (Fwindow_list): Declare arg `window'.
10367
aa96c820
KH
103682000-07-18 Kenichi Handa <handa@etl.go.jp>
10369
10370 * coding.c (setup_coding_system): Don't override the explicitly
10371 specified designations.
10372
06be8d32
MB
103732000-07-15 Miles Bader <miles@gnu.org>
10374
10375 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10376 from `text_property_eq' and `text_property_stickiness', respectively.
10377 (find_field, Fconstrain_to_field, char_property_eq)
10378 (char_property_stickiness): Changed to call char-property functions
10379 instead of text-property-only ones.
10380
10381 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10382 `next_single_char_property_change'). Do more error checking, and
10383 cleanup limit behavior.
10384 (Fprevious_single_char_property_change): New function.
10385 (syms_of_textprop): Initialize new subrs.
10386
10387 * xdisp.c (display_prop_end, invisible_text_between_p):
10388 Call Fnext_single_char_property_change instead of
10389 next_single_char_property_change.
10390
3fddcdc3
JR
103912000-07-15 Jason Rumney <jasonr@gnu.org>
10392
10393 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10394 after menu is finished with.
10395 (add_menu_item): Only consider wv->title as a menu title.
10396 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10397
10398 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10399 null title.
10400 (FONT_REGEXP): Remove unused macro, and its sub-components.
10401 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10402
10403 * w32term.c (help_echo_object, help_echo_pos): New variables.
10404 (note_mode_line_highlight): Store additional information about the
10405 help-echo in help_echo_object and help_echo_pos. Check both
10406 `local-map' and `keymap' properties for changing the cursor
10407 (note_mouse_highlight): Store additional information about the
10408 help-echo in help_echo_object and help_echo_pos.
10409 (note_tool_bar_highlight): Set help_echo_object to nil and
10410 help_echo_pos to -1.
10411 (w32_read_socket): Use gen_help_event instead of filling
10412 input_events manually.
10413 (syms_of_w32term): Staticpro help_echo_object.
10414 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10415 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10416 (x_clear_mouse_face): New function.
10417 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10418 (x_update_window_begin): No need to turn off the mouse
10419 highlight here.
10420 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10421 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10422 (x_fill_stretch_glyph_string): Consume runs of stretch
10423 glyphs instead of a single one.
10424 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10425 with new argument list.
10426 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10427 (x_append_glyph, x_append_composite_glyph)
10428 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10429 changes in struct glyph starting 1999-12-27. See comments for
10430 xterm.c on 2000-07-05.
10431
178c5d9c
SS
104322000-07-14 Sam Steingold <sds@gnu.org>
10433
10434 * xfaces.c (realize_x_face): Fix the last patch:
10435 check `default_face' before dereferencing.
10436
6fe533f6
DL
104372000-07-14 Dave Love <fx@gnu.org>
10438
069f5950 10439 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10440
dd7b81cf
KH
104412000-07-14 Kenichi Handa <handa@etl.go.jp>
10442
0693904a 10443 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10444 default_face's fontset, not using the default fontset.
0693904a 10445
dd7b81cf
KH
10446 * coding.c (inhibit_iso_escape_detection): New variable.
10447 (syms_of_coding): Make it a Lisp variable.
10448 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10449 nonzero, ignore ISO2022's escape sequence.
10450
d5aa31d8
GM
104512000-07-14 Gerd Moellmann <gerd@gnu.org>
10452
e5acf0ca
GM
10453 * alloca.c (malloc) [emacs]: Define as xmalloc.
10454
bd23a692
GM
10455 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10456 use that instead of the mouse position. Add parameters DX and DY.
10457
10458 * dispextern.h (Fx_show_tip): Adjust number of parameters
10459 in prototype.
10460
9662da0b
GM
10461 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10462 if HELP is a function, call it with OBJECT and POS as parameters
10463 to get the help to display.
10464 (gen_help_event, kbd_buffer_store_help_event): New functions.
10465 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10466 (read_char): Call show_help_echo with new parameters.
10467
178c5d9c 10468 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10469 Add prototypes.
10470
10471 * xterm.c (help_echo_object, help_echo_pos): New variables.
10472 (note_mode_line_highlight): Store additional information about the
10473 help-echo in help_echo_object and help_echo_pos. Check both
10474 `local-map' and `keymap' properties for changing the cursor
10475 (note_mouse_highlight): Store additional information about the
10476 help-echo in help_echo_object and help_echo_pos.
10477 (note_tool_bar_highlight): Set help_echo_object to nil and
10478 help_echo_pos to -1.
10479 (XTread_socket): Use gen_help_event instead of filling
10480 input_events manually.
10481 (syms_of_xterm): Staticpro help_echo_object.
10482
10483 * xmenu.c (menu_highlight_callback): Use
10484 kbd_buffer_store_help_event instead of setting up and input_event
10485 structure manually.
10486
10487 * xdisp.c (eval_form): GCPRO argument sexpr.
10488 (call_function): New function.
10489 (handle_single_display_prop): Use call_function and FUNCTIONP
10490 instead of checking whether if font_height is a symbol and
10491 using eval_form.
10492
10493 * eval.c (internal_condition_case_2): New function.
10494
10495 * lisp.h (FUNCTIONP): New macro.
10496 (internal_condition_case_2, call_function): Add prototypes.
10497
d5aa31d8
GM
10498 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10499 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10500 Always set `arg' member of input_events.
10501 (construct_menu_click): Unused function removed.
10502
10503 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10504
10505 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10506 (construct_drag_n_drop, x_scroll_bar_handle_click)
10507 (w32_read_socket): Always set `arg' member of input_events.
10508
10509 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10510
10511 * lisp.h (eval_form): Add prototype.
10512
10513 * xdisp.c (eval_form): Make it externally visible.
10514
0f1a9b23
GM
105152000-07-13 Gerd Moellmann <gerd@gnu.org>
10516
10517 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10518 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10519 consing. For prefix events, store the frame in the `arg' slot of
10520 the event, otherwise store the key there.
10521 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10522 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10523
10524 * xmenu.c (menu_highlight_callback): Store help string in the
10525 `arg' member of the input event; don't cons.
10526 (menubar_selection_callback): Use the `arg' slot of input events
10527 to queue additional information, instead of consing.
10528
10529 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10530
10531 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10532 TOOL_BAR_EVENTs.
10533 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10534
10535 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10536 input events to queue additional information, instead of consing.
10537
10538 * keyboard.c (kbd_buffer_gcpro): Renamed from
10539 kbd_buffer_frame_or_window. Now used for all Lisp objects
10540 referenced from the input queue.
10541 (kbd_buffer_store_event): Always use structure assignment for
10542 copying input events. Record all Lisp objects referenced from
10543 events in kbd_buffer_gcpro.
10544 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10545 differently from input events. Test for prefix menu_bar_events
10546 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10547 event in kbd_buffer_gcpro to nil.
10548 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10549 frame_or_window is equal to its arg member as prefix events.
10550 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10551 used by an input event to nil.
10552 (init_keyboard): Use two times the size of the input queue
10553 for kbd_buffer_gcpro.
10554 (syms_of_keyboard): Likewise.
10555
52283633
SM
10556 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10557 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10558
10559 * termhooks.h (struct input_event): Add member `arg'.
10560 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10561 (USER_SIGNAL_EVENT): Renamed from user_signal.
10562
10563 * xfaces.c (ASET): Remove definition.
10564
10565 * lisp.h (AREF, ASET, ASIZE): New macros.
10566
10567 * fontset.c (AREF, ASIZE): Remove definitions.
10568
10569 * fns.c (AREF): Remove definition.
178c5d9c 10570
0f1a9b23
GM
10571 * composite.c (AREF): Remove definition.
10572
712eaef2
GM
105732000-07-12 Gerd Moellmann <gerd@gnu.org>
10574
d8ee7803
GM
10575 * dispnew.c (redraw_overlapped_rows): Add missing local.
10576 (scrolling_window): Remove debug code.
10577
712eaef2
GM
10578 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10579 Before scrolling, turn off a mouse-highlight in the window
10580 being scrolled.
10581
10582 * xterm.c (x_update_window_end): Add parameter
10583 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10584 redisplay in XTframe_up_to_date.
10585 (x_clear_mouse_face): New function.
10586 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10587
10588 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10589 current glyph row.
10590 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10591 it when any row is written to that contains glyphs highlighted in
10592 mouse-face.
10593 (update_window): Call the window update end hook with new
10594 parameter MOUSE_FACE_OVERWRITTEN_P.
10595 (direct_output_for_insert): Give up if row contains mouse-face.
10596
10597 * dispextern.h (struct redisplay_interface): Add parameter
10598 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10599 (clear_mouse_face): New function pointer member.
10600
02010917
SM
106012000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10602
10603 * syntax.c (back_comment): Use one switch rather than a few `if's.
10604 Obey open_paren_in_column_0_is_defun_start.
10605 When reverting to the `slow' method, try to nicely handle the case
10606 of nested comments by checking that the comment-starter we found
10607 does indeed match the comment-ender.
10608 (scan_sexps_forward, scan_sexps_forward):
10609 Ignore excessive opening parenthesis rather than throwing an error.
10610
d76c03ea
GM
106112000-07-11 Gerd Moellmann <gerd@gnu.org>
10612
10613 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10614 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10615
10616 * dispnew.c (direct_output_forward_char): Give up if currently
10617 displaying a message instead of the minibuffer contents.
10618
10619 * xterm.c (x_update_window_begin): No need to turn off the mouse
10620 highlight here.
10621 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10622 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10623
10624 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10625 compare the mouse_face_p flags of both rows.
10626
10627 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10628
d55ead18
EZ
106292000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10630
10631 * keyboard.c (show_help_echo): Accept additional parameter
10632 ok_to_overwrite_keystroke_echo.
10633 (read_char): Call show_help_echo with a zero
10634 ok_to_overwrite_keystroke_echo argument.
52283633 10635 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10636 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10637 ok_to_overwrite_keystroke_echo argument.
10638 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10639 non-zero ok_to_overwrite_keystroke_echo argument.
10640
df75b1a3
GM
106412000-07-10 Gerd Moellmann <gerd@gnu.org>
10642
4b92c49a
GM
10643 * xdisp.c (try_window_id): If changes are all below what is
10644 displayed in the window, and point is in the window, we still
10645 might have to find point on the display.
10646
10647 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10648 glyphs instead of a single one.
10649 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10650 with new argument list.
10651 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10652
df75b1a3
GM
10653 * keymap.c (get_keymap_1): Add comment that this function can GC.
10654 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10655 comment that functions can GC.
10656 (Fset_keymap_parent): GCPRO arg KEYMAP.
10657
4314cf3e
EZ
106582000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10659
10660 * msdos.c (XMenuActivate): After exiting the menu, restore the
10661 echo area message and erase it.
10662
ab49ce15
KH
106632000-07-10 Kenichi Handa <handa@etl.go.jp>
10664
10665 * fontset.c (Ffontset_info): Make the return value more compatible
10666 with that of Emacs 20.
10667
090a072f
GM
106682000-07-07 Gerd Moellmann <gerd@gnu.org>
10669
10670 * eval.c (Fsignal): Handle case that backtrace_list is null.
10671
f92de4a6
KH
106722000-07-07 Kenichi Handa <handa@etl.go.jp>
10673
10674 * ccl.c (Fccl_execute): Typo fixed.
10675
dd8888a1
GM
106762000-07-06 Gerd Moellmann <gerd@gnu.org>
10677
e5c81191 10678 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10679
dd8888a1
GM
10680 * window.c (Fwindow_list): Reverse list at the end.
10681 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10682 means allow windows on OWINDOW's frame, only.
10683 (window_loop): Simplified; use Fwindow_list.
10684
10685 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10686
485266d0
GM
106872000-07-05 Gerd Moellmann <gerd@gnu.org>
10688
10689 * xterm.c (XTread_socket): Increment handling_signal at the start,
10690 decrement it at the end.
10691
10692 * eval.c (handling_signal): New variable.
10693 (Fsignal): Abort if handling_signal is non-zero.
10694
10695 * lisp.h (handling_signal): External declaration.
178c5d9c 10696
485266d0
GM
10697 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10698
80fcd514
KR
106992000-07-05 Ken Raeburn <raeburn@gnu.org>
10700
10701 Sound support for NetBSD through "Linux emulation" support:
10702 * config.in (HAVE_SOUNDCARD_H): Undef.
10703 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10704 * Makefile.in (LIBSOUND): New variable.
10705 (LIBES): Include it.
52283633
SM
10706 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10707 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10708 (vox_open): Use DEFAULT_SOUND_DEVICE.
10709 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10710
d5c5cddd
GM
107112000-07-05 Gerd Moellmann <gerd@gnu.org>
10712
10713 * print.c (print_error_message): If Vsignaling_function is set,
10714 show it in *Messages*.
10715
10716 * lisp.h (Vsignaling_function): External declaration.
10717
10718 * eval.c (Vsignaling_function): New variable.
10719 (Fsignal): Compute it.
10720 (syms_of_eval): Staticpro it.
10721
65171e3a
DL
107222000-07-05 Dave Love <fx@gnu.org>
10723
10724 * syswait.h: Use the autoconf recommended approach. Old code
10725 #if'd out in case we need to revert.
10726
178c5d9c 10727 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10728
e2c46326
AI
107292000-07-05 Andrew Innes <andrewi@gnu.org>
10730
10731 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10732 when non-NULL instead of __morecore, to take account of buffer
10733 memory. This also solves a problem with spurious memory warnings
10734 on Windows.
10735
10736 * ralloc.c: Make real_morecore non-static.
10737
10738 * eval.c (internal_condition_case): Comment out abort if
10739 interrupt_input_blocked is not zero.
10740
10741 * makefile.nt: Add support for `bootstrap' and related targets.
10742 Include minimal debug info in emacs.exe in release build.
10743 Remove all dependencies on lisp.h, and fixup some others.
10744
10745 * w32.c (init_environment): Install code from 20.7 for providing
10746 default values for environment variables, based on the
10747 executable's own location.
52283633 10748 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10749 (sys_socket): Install socket inheritance bug fix from 20.7.
10750
10751 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10752 here via blockinput.h).
10753
a027a91b
SM
107542000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10755
e4b31601
SM
10756 * w32menu.c (w32_menu_display_help):
10757 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10758
10759 * keyboard.h (show_help_echo): Declare.
10760
10761 * keyboard.c (show_help_echo): New function, extracted from read_char.
10762 Feval its `msg' argument if it's a cons cell.
10763 (read_char): Use it.
4cf8d9d5 10764 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10765
178c5d9c 10766 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10767 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10768 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10769 (dos_rawgetc):
10770 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10771 (note_tool_bar_highlight, w32_read_socket):
10772 Do not gratuitously ignore non-string `help-echo' properties.
10773
88d75730
GM
107742000-07-05 Gerd Moellmann <gerd@gnu.org>
10775
969f7e79
GM
10776 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10777
71201b00
GM
10778 * window.c (delete_all_subwindows): Reset Vwindow_list.
10779
88d75730
GM
10780 * xterm.c (x_append_glyph, x_append_composite_glyph)
10781 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10782 changes in struct glyph starting 1999-12-27. Some bit-fields of
10783 struct glyph were not set, which made glyphs unequal when compared
10784 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10785 effects were the result. This also depended on the contents of
10786 memory returned by xmalloc. If flickering happens again, activate
10787 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10788 gone with that, chances are that it is caused by something similar.
88d75730
GM
10789
10790 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10791
88d75730
GM
10792 * dispextern.h: Add some comments.
10793
10794 * window.c (add_window_to_list): Add parameter LIST.
10795 (window_list): Order list so that, for each frame, windows are
10796 in canonical order, and so that frames appear in the list in
10797 the order given by Vframe_list.
10798 (next_window): Reverse the handling of NEXT_P.
10799
53654733
GM
108002000-07-04 Gerd Moellmann <gerd@gnu.org>
10801
87efd256
GM
10802 * window.c (Vwindow_list): New variable.
10803 (make_window, delete_window): Set Vwindow_list to nil.
10804 (check_window_containing): New function.
10805 (window_from_coordinates): Rewritten.
10806 (add_window_to_list, window_list, candidate_window_p)
10807 (decode_next_window_args, next_window): New functions.
52283633 10808 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10809 (Fwindow_list): New function.
10810 (Fother_window): Cleaned up.
10811 (foreach_window): Add a longer "variable argument list". Let
10812 callback function return 0 to indicate that cycling over windows
10813 should stop.
10814 (foreach_window_1): Likewise.
10815 (freeze_window_start): Return int.
10816 (init_window): New function.
10817 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10818
10819 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10820 input_event with bzero.
10821 (main): Call init_window.
10822
53654733
GM
10823 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10824 a menu filter.
10825
4a8c194f
KH
108262000-07-04 Kenichi Handa <handa@etl.go.jp>
10827
10828 * composite.h (make_composition_value_copy): Extern it.
10829
10830 * composite.c (make_composition_value_copy): New function.
10831
10832 * editfns.c (Fformat): While copying text properties, make each
10833 composition property value a copy.
10834
10835 * fns.c (concat): While copying text properties, make each
10836 composition property value a copy.
10837
831a6cb0
GM
108382000-07-03 Gerd Moellmann <gerd@gnu.org>
10839
2f516940
GM
10840 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10841
178c5d9c 10842 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10843 marked already.
10844
831a6cb0
GM
10845 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10846 include those frames as candidates which have their focus
10847 redirected to the minibuffer frame.
10848
d9c4f922
SM
108492000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10850
10851 * fns.c (Fputhash): Return `value' rather than nil.
10852
3780bc22
GM
108532000-06-30 Gerd Moellmann <gerd@gnu.org>
10854
97d176db
GM
10855 * frame.c (next_frame): Don't check focus redirection in case
10856 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10857 unless their focus is redirected, which contradicts the
10858 specification of next-frame, and leads to infinite loops in
10859 certain situations when cycling through windows with next-window.
10860
dca9961d
KH
108612000-06-30 Kenichi Handa <handa@etl.go.jp>
10862
10863 * coding.c (code_convert_region): Even if the length of text is
10864 zero, try to convert it if coding->type is coding_type_ccl.
10865 (decode_coding_string, encode_coding_string): Likewise.
10866
d5483ab1
GM
108672000-06-28 Gerd Moellmann <gerd@gnu.org>
10868
af5c25e1 10869 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10870 the display if windows_or_buffers_changed.
af5c25e1
GM
10871
10872 * dispnew.c (struct row_entry): New structure.
10873 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10874 (row_table_size, old_lines, new_lines, old_lines_size)
10875 (new_lines_size, run_pool, runs_size, runs): New variables.
10876 (add_row_entry): New function.
10877 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10878 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10879 holding them in local variables. Use a larger hash table whose
10880 size depends on glyph matrix sizes. Don't use bzero to clear the
10881 hash table; instead, clear used slots only.
10882
10883 * fns.c (next_almost_prime): Make it externally visible.
10884
10885 * lisp.h (next_almost_prime): Add prototype.
10886
d5483ab1
GM
10887 * s/isc4-0.h (sigunblock): Define.
10888
10889 * s/sco5.h (sigunblock): Define.
10890
93e40f40
DL
108912000-06-27 Dave Love <fx@gnu.org>
10892
10893 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10894 (moved to osf5-0.h).
10895 [!NOT_C_CODE]: Protect string.h stuff.
10896
10897 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10898 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10899
3c4b7685
GM
109002000-06-27 Gerd Moellmann <gerd@gnu.org>
10901
97d176db 10902 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10903 below the last line from the needed window height.
10904
32cad0aa
SM
109052000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10906
10907 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10908 (Fwidget_get): Use it.
10909 (syms_of_fns): Defsubr it.
10910
2c69ced2
GM
109112000-06-26 Gerd Moellmann <gerd@gnu.org>
10912
178c5d9c 10913 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10914 display info for XIM.
10915 (xim_open_dpy): Likewise.
10916 (xim_close_dpy): Don't free the display info's XIM.
10917
10918 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10919
10920 * config.in (USE_XIM): New define.
10921
3fc720e4
GM
10922 * keymap.c (get_keyelt): For menu-items containing a `:filter
10923 FILTER', apply FILTER to the menu-item's definition to get the
10924 real definition to use.
10925
10926 * lisp.h (QCfilter): External declaration.
10927
2c69ced2
GM
10928 * xfns.c (Fimage_size): New function.
10929 (syms_of_xfns): Defsubr it.
10930
f978b2a2
AS
109312000-06-26 Andreas Schwab <schwab@suse.de>
10932
10933 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10934 Fstring_as_unibyte.
10935
94cc7892
DL
109362000-06-25 Dave Love <fx@gnu.org>
10937
52283633 10938 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10939
10940 * Makefile.in (blockinput.h): Depend on atimer.h.
10941 (atimer.h): Depend on systime.h.
10942
52283633 10943 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10944
52283633 10945 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10946
10947 * lisp.h (swap_in_global_binding): Declare.
10948
b8c24556
KR
109492000-06-24 Ken Raeburn <raeburn@gnu.org>
10950
10951 * process.c (Fopen_network_stream): Turn off atimers for duration
10952 of call to connect. (Patch from Gerd.)
10953
8cf8560b
DL
109542000-06-23 Dave Love <fx@gnu.org>
10955
511c7541
DL
10956 * ralloc.c: Maybe include unistd.h
10957
8cf8560b
DL
10958 * emacs.c (setgrp): Undefine before defining.
10959 (malloc_warning, set_time_zone_rule, index): Prototype.
10960
10961 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10962 HAVE_STRUCT_TIMEZONE.
10963
10964 * s/osf1.h: Move string.h hack here from alpha.h and make it
10965 conditional.
10966 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10967 _XOPEN_SOURCE.
10968 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10969 (SOCKLEN_TYPE): Don't define.
10970
10971 * m/alpha.h: Remove string.h hack.
10972
10973 * s/osf5-0.h: New file.
10974
10975 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10976 include time.h, done by systime.h.
10977 [__FreeBSD__]: Remove redundant includes.
10978
3fc720e4 10979 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10980 (delete_temp_file): Return Qnil to avoid warning.
10981
10982 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10983
10984 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10985 HAVE_X_WINDOWS.
10986
10987 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10988
10989 * composite.h (compose_text): Declare.
10990
10991 * xterm.c: Don't include sys/types.h unconditionally. Don't
10992 protect its inclusion with !USG (following xmenu.c).
10993
ea055732
GM
109942000-06-23 Gerd Moellmann <gerd@gnu.org>
10995
10996 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10997 in x_create_frame.
10998
74b01b80
EZ
109992000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11000
11001 * coding.c (decode_eol_post_ccl): Special handling for undecided
11002 and inconsistent EOL types.
11003
64f3a166
GM
110042000-06-22 Gerd Moellmann <gerd@gnu.org>
11005
16cf31f7
GM
11006 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11007 trough color and main window's background color.
11008
52283633 11009 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11010
11011 * xterm.h (Xt_app_con): External declaration.
11012
11013 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11014
486a103d
GM
11015 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11016
64f3a166
GM
11017 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11018 (handle_invisible_prop): Record the start of invisible text in
11019 it->add_overlay_start.
11020 (struct overlay_entry): Add member `overlay'.
11021 (handle_overlay_change): Simplify.
11022 (next_overlay_string): After having processed overlay strings at the
11023 end of the buffer, record that fact in
11024 it->overlay_strings_at_end_processed_p.
11025 (compare_overlay_entries): If before- and after-strings come
11026 from the same overlay, let before-strings come first.
11027 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11028 (load_overlay_strings): Take it->add_overlay_start into account
11029 when adding overlay strings.
11030
11031 * dispextern.h (struct it): Add member add_overlay_start.
11032
bb746ea6
DL
110332000-06-22 Dave Love <fx@gnu.org>
11034
11035 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11036
11037 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11038
a8f573f3
KH
110392000-06-22 Kenichi Handa <handa@etl.go.jp>
11040
11041 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11042 is greater than 0.
11043
9f2bbc92
DL
110442000-06-21 Dave Love <fx@gnu.org>
11045
178c5d9c 11046 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11047
3ee5041c
SM
110482000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11049
11050 * syntax.c (back_comment): Simplify string-parity counting (with
11051 the added benefit of handling multiple string-styles as long as
11052 they are not intertwined).
11053 Jump to the slow code as soon as a comment starter is found in
11054 a "string_lossage" position. Fixes the case: " /* " /* " */.
11055
4c343001
DL
110562000-06-21 Dave Love <fx@gnu.org>
11057
11058 * Makefile.in: Use GETLOADAVG_LIBS.
11059
11060 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11061 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11062
e6365855
SM
110632000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11064
11065 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11066 (Fforward_comment, scan_lists):
11067 Check the comstyle of single-char comment-starters.
11068 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11069 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11070 Check the comstyle of single-char comment-starters.
11071 Clarify control-flow around the Scomment case.
e6365855 11072
5700d2cc
DL
110732000-06-20 Dave Love <fx@gnu.org>
11074
d355bd8a
SM
11075 * fns.c (make_hash_table, maybe_resize_hash_table):
11076 Cast arg of next_almost_prime.
5700d2cc 11077
178c5d9c 11078 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11079
11080 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11081 and unistd.h.
11082
4a27bdfb
GM
110832000-06-20 Gerd Moellmann <gerd@gnu.org>
11084
a61d762c 11085 * keyboard.c (adjust_point_for_property): Check if display
52283633 11086 property should be treated as intangible by looking at its value.
a61d762c 11087
178c5d9c 11088 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11089 (display_prop_intangible_p): New functions.
11090
11091 * dispextern.h (display_prop_intangible_p): Add prototype.
11092
11093 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11094
4a27bdfb
GM
11095 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11096 argument to sigprocmask.
11097
11098 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11099 argument to sigprocmask.
11100
11101 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11102 sigprocmask_set, and pass a pointer to it to sigprocmask.
11103
11104 * sysdep.c (sigprocmask_set): New variable.
11105
11106 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11107 report_file_error.
11108
427ec082
SS
111092000-06-20 Sam Steingold <sds@gnu.org>
11110
11111 * xrdb.c: Don't declare xmalloc, xrealloc.
11112
8972fe79 111132000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11114
11115 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11116 (re_comp): Cast gettext return value to avoid complaints when
11117 !HAVE_LIBINTL.
11118
074b6efe
DL
111192000-06-20 Dave Love <fx@gnu.org>
11120
52283633 11121 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11122
5700d2cc 11123 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11124
d355bd8a 11125 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11126
11127 * m/alpha.h: Don't declare xmalloc, xrealloc.
11128
0af4f205
DL
11129 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11130
11131 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11132
11133 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11134
11135 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11136 HAVE_GETWD.
11137
074b6efe
DL
11138 * keyboard.h (poll_for_input_1): Declare.
11139
11140 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11141
11142 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11143
11144 * doprnt.c: Don't declare xmalloc, xrealloc.
11145
11146 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11147 (getenv, ctime, getwd): Removed.
11148 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11149
11150 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11151 x_set_tool_bar_lines.
11152
11153 * config.in: Add HAVE_GETWD. Move some definitions above
11154 machine/system includes.
11155
68a5e97b
KH
111562000-06-20 Kenichi Handa <handa@etl.go.jp>
11157
95417e1e
KH
11158 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11159
68a5e97b
KH
11160 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11161 contain information about ENCODING.
11162
11163 * fontset.c (FONTSET_ASCII): Use the first element of char table
11164 for an ASCII font, not defalt slot.
11165 (fontset_ref_via_base): If FONTSET doesn't contain information for
11166 C, try the default fontset.
11167 (make_fontset): Don't copy the default fontset.
11168 (fontset_font_pattern): Likewise.
11169 (accumulate_font_info): If ELT is nil, use the corresponding
11170 element in the default fontset.
11171
3b4fa1b2
DL
111722000-06-19 Dave Love <fx@gnu.org>
11173
943e731c
DL
11174 * syntax.c (Fparse_partial_sexp): Doc fix.
11175
11176 * regex.h: Test PROTOTYPES as well as __STDC__.
11177
3b4fa1b2
DL
11178 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11179 errno, strerror. Put text after #endif in comment.
11180
52283633 11181 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11182
11183 * xterm.c (x_frame_of_widget): Likewise.
11184
cdf0357b
GM
111852000-06-19 Gerd Moellmann <gerd@gnu.org>
11186
11187 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11188 to Vfundamental_mode_abbrev_table.
11189
11190 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11191 bogus objects are marked. This slows down GC by ~80 percent, but
11192 it might be worth trying when debugging GC-related problems.
11193 This feature requires conservative stack marking to be enabled.
11194
11195 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11196 returns XLookupChars, reset `modifiers' to zero.
11197
998e9f8c
DL
111982000-06-19 Dave Love <fx@gnu.org>
11199
11200 * mktime.c: Unprotoized.
11201
18e21ce8 112022000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11203
11204 * data.c (set_internal): If variable is frame-local,
11205 store the new value immediately into the frame parameter alist.
11206
140c4ac6
KR
112072000-06-19 Ken Raeburn <raeburn@gnu.org>
11208
14358466
KR
11209 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11210 in the custom handler pointer.
11211
140c4ac6
KR
11212 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11213 value, or checks for CHAR_META can fail when Lisp_Object is a
11214 union type.
11215 * keymap.c (get_keyelt): Likewise.
11216
10d7bf84
KH
112172000-06-19 Kenichi Handa <handa@etl.go.jp>
11218
11219 * ccl.h (struct ccl_program): New member eol_type.
11220 (struct ccl_spec): New member cr_carryover.
11221
11222 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11223 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11224
11225 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11226 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11227 (decode_eol_post_ccl): New function.
11228 (decode_coding): Don't detect EOL format here for CCL based coding
11229 systems.
11230 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11231 decode_eol_post_ccl after running the CCL program.
11232 (code_convert_region): Don't detect EOL format here for CCL based
11233 coding systems.
11234 (decode_coding_string): Likewise.
11235
52e386c2
KR
112362000-06-18 Ken Raeburn <raeburn@gnu.org>
11237
11238 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11239 when treating it as an integer.
11240
11241 * coding.h (encode_coding_string): Declare.
11242
11243 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11244 it as an integer.
11245
11246 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11247 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11248 to be passed to get_local_map.
11249
11250 * sound.c (Fplay_sound): Don't call make_number on
11251 Frun_hook_with_args count argument.
11252
11253 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11254 for lisp objects in X event structure data field, when lisp
11255 objects are represented with unions.
11256 (x_scroll_bar_to_input_event): Ditto.
11257
b357b9d4
KR
112582000-06-16 Ken Raeburn <raeburn@gnu.org>
11259
11260 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11261 termination of string. Fix sense of test whether
11262 Vline_number_display_limit is an integer.
b357b9d4 11263
a871441d
GM
112642000-06-16 Gerd Moellmann <gerd@gnu.org>
11265
a9021acd
GM
11266 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11267 only if HAVE_X_WINDOWS.
11268
6344985d
GM
11269 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11270 of titles.
11271
427ec082 11272 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11273 out of bounds.
11274
228b083e
EZ
112752000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11276
11277 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11278 of its headers.
11279
c25b53a2
KH
112802000-06-15 Kenichi Handa <handa@etl.go.jp>
11281
11282 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11283 start of the while loop.
11284
a6981b11
GM
112852000-06-15 Gerd Moellmann <gerd@gnu.org>
11286
e9924e52
GM
11287 * atimer.c (alarm_signal_handler): Add forward declaration.
11288
a6981b11
GM
11289 * data.c (set_internal): Remove debug code.
11290
25fa6deb
GM
112912000-06-14 Gerd Moellmann <gerd@gnu.org>
11292
dce6b995
GM
11293 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11294
9f817ea4
GM
11295 * unexec.c (toplevel) [COFF]: Include coff.h.
11296
11297 * s/lynxos.h: New file.
11298
11299 * keymap.c (Fsingle_key_description): Enclose function key and
11300 event symbol names in angle brackets.
11301
8a4e3c0c
GM
11302 * xdisp.c (setup_echo_area_for_printing): Call
11303 message_log_maybe_newline if message_buf_print is not set.
11304
11305 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11306 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11307 function does something useful even when message_buf_print is
11308 already set.
11309
52283633
SM
11310 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11311 New variables.
25fa6deb
GM
11312 (ensure_echo_area_buffers): Initialize echo buffer's
11313 truncate lines setting to nil.
11314 (with_echo_area_buffer): Don't set the echo buffer's truncate
11315 lines setting here.
8a4e3c0c 11316 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11317 of message_truncate_lines.
11318 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11319 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11320 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11321
11322 * keyboard.c (read_char): Bind message-truncate-lines to t
11323 while displaying a help-echo.
11324
11325 * lisp.h (Qmessage_truncate_lines): External declaration.
11326
163dcff3
GM
113272000-06-13 Gerd Moellmann <gerd@gnu.org>
11328
1681ead6
GM
11329 * xdisp.c (Vline_number_display_limit): Renamed from
11330 line_number_display_limit.
11331 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11332 Extend documentation string. Initialize
11333 Vline_number_display_limit to nil meaning no limit.
11334 (decode_mode_spec): Use Vline_number_display_limit with its new
11335 meaning.
11336
163dcff3
GM
11337 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11338
18e21ce8 113392000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11340
11341 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11342
163dcff3
GM
11343 * xfns.c (x_set_frame_parameters): Comment fix.
11344
11345 * frame.c (store_frame_param): Call swap_in_global_binding if the
11346 variable's current binding was chosen based on this frame.
11347
11348 * data.c (swap_in_global_binding): New function.
11349
a704139d
EZ
113502000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11351
11352 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11353 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11354
9b6610db
EZ
113552000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11356
11357 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11358
c68833d2
JR
113592000-06-12 Jason Rumney <jasonr@gnu.org>
11360
11361 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11362
11363 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11364
11365 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11366
11367 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11368
ed1056b3
GM
113692000-06-12 Gerd Moellmann <gerd@gnu.org>
11370
11371 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11372 (syms_of_xfaces): Defsubr Sdump_colors.
11373 (x_free_colors): Don't treat b&w specially on default visual.
11374 (x_free_dpy_colors): New function.
11375 (free_face_colors): Don't check visual class; it's done
11376 in x_free_colors.
11377
11378 * xterm.c (x_frame_of_widget): New function.
11379 (x_alloc_nearest_color_for_widget): Use it.
11380 (x_copy_dpy_color): New function.
11381 (x_destroy_window): Free various colors.
11382
5050a2ef
KH
113832000-06-12 Kenichi Handa <handa@etl.go.jp>
11384
11385 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11386
11387 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11388
11389 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11390
11391 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11392
11393 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11394
fb1b041d
DL
113952000-06-11 Dave Love <fx@gnu.org>
11396
11397 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11398
ff96b5f4
EZ
113992000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11400
11401 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11402
db8eeecd
GM
114032000-06-11 Gerd Moellmann <gerd@gnu.org>
11404
ed1056b3 11405 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11406 to `XEvent *'.
11407
49b71c5f
KH
114082000-06-10 Kenichi Handa <handa@etl.go.jp>
11409
c479bd55
KH
11410 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11411 (regex_compile): Fix the code for handling the case of single byte
11412 char and multibyte char being mixed in a range within [...].
11413
ff6a65c2
KH
11414 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11415 and dst_multibyte members of coding.
11416
49b71c5f
KH
11417 * charset.c (update_charset_table): Update the table
11418 bytes_by_char_head.
11419 (init_charset_once): Initialize elements of bytes_by_char_head to
11420 1 except for leading codes for private charases.
11421
11422 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11423 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11424
9e80b57d
KR
114252000-06-09 Ken Raeburn <raeburn@gnu.org>
11426
11427 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11428 access the data it doesn't point to.
11429
f83fe4b4
GM
114302000-06-08 Gerd Moellmann <gerd@gnu.org>
11431
11432 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11433 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11434 event queue. This is necessary because Emacs otherwise won't
11435 perform a switch-frame to a new frame until some other event, for
11436 example a keystroke event, forces it to do so. This has various
11437 effects, one visible being that the cursor of a frame created with
11438 C-x 5 2 or switched to with a window manager key binding like
11439 A-TAB stays hollow because selected_window isn't on the newly
11440 focused frame until the switch-frame is performed.
11441
11442 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11443 generating a switch-frame event if necessary.
11444
11445 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11446
11447 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11448 it's an integer.
11449
0890801b
KH
114502000-06-08 Kenichi Handa <handa@etl.go.jp>
11451
52283633 11452 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11453
173cbca8
GM
114542000-06-07 Gerd Moellmann <gerd@gnu.org>
11455
3091c2a6
GM
11456 * window.c (displayed_window_lines): Take empty lines at
11457 the bottom of a window into account.
427ec082 11458
f38952fe
GM
11459 * window.c (displayed_window_lines): New function.
11460 (Fmove_to_window_line): Use displayed_window_lines to determine
11461 the number of lines to move, instead of using the window's height.
11462
11463 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11464 to stop reading, even if the form read sets point to a different
11465 value when evaluated.
11466
427ec082 11467 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11468 put the cursor.
11469
6ba6c818
KH
114702000-06-07 Kenichi Handa <handa@etl.go.jp>
11471
11472 * fileio.c (e_write): Free composition data if stored in
11473 coding->cmp_data.
11474
5f1aea9a
GM
114752000-06-06 Gerd Moellmann <gerd@gnu.org>
11476
666852af
GM
11477 * xdisp.c (display_line): Set row's and iterator's
11478 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11479 Set cursor even if row ends in the middle of a character.
11480 (dump_glyph_row): Print values of new flags.
11481 (redisplay_window) <cursor movement in unchanged window>: When
11482 point has been moved forward, and PT is at the end of the cursor
11483 row, don't place the cursor in the next row if the cursor row ends
11484 in the middle of a character or at ZV.
11485
11486 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11487 (struct glyph_row): Add starts_in_middle_of_char_p and
11488 ends_in_middle_of_char_p.
11489 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11490 ends_in_middle_of_char_p flag.
11491 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11492
d13f3e2e
GM
11493 * term.c (append_glyph): Revert change of 2000-06-06.
11494
11495 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11496 padding glyph not fitting on line as whole character not
11497 fitting on line.
11498
5f1aea9a
GM
11499 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11500 this isn't true for images with `:ascent 100'.
11501
10cda9b0
KH
115022000-06-06 Kenichi Handa <handa@etl.go.jp>
11503
ed00559d
KH
11504 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11505 as modified if it is originally unmodified.
11506
10cda9b0
KH
11507 * term.c (encode_terminal_code): Change the way to check if
11508 terminal coding does any conversion.
11509 (append_glyph): Set glyph->pixel_width correctly.
11510
11511 * xdisp.c (display_line): While checking line continuation, pay
11512 attention to a padding glyph.
11513
1969fae2
GM
115142000-06-05 Gerd Moellmann <gerd@gnu.org>
11515
11516 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11517
162ccef4
DL
115182000-06-05 Dave Love <fx@gnu.org>
11519
f19f32dd
DL
11520 * xdisp.c: Include fontset.h.
11521
11522 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11523
11524 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11525
11526 * dispnew.c: Conditionally include term.h.
11527
11528 * coding.h: Declare code_convert_string_norecord.
11529
11530 * frame.h (struct frame): Use volatile unconditionally.
11531
11532 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11533
11534 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11535
11536 * systime.h: Protect against multiple inclusion.
11537 (timezone) [USG5_4]: Define as time_t.
11538
11539 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11540 (Foptimize_char_table, make_temp_name): Declare.
11541
11542 * Makefile.in (xdisp.o): Depend on fontset.h.
11543
11544 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11545
11546 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11547 (Foptimize_char_table, make_temp_name): Declare.
11548
427ec082 11549 * s/irix4-0.h:
162ccef4
DL
11550 * s/irix5-0.h:
11551 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11552
2082fe81
DL
115532000-06-02 Dave Love <fx@gnu.org>
11554
11555 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11556
dcf671d2
GM
115572000-06-02 Gerd Moellmann <gerd@gnu.org>
11558
11559 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11560 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11561 be freed.
11562
11563 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11564 glyph, use the ASCII NUL character to determine the face.
11565
d42122a3
DL
115662000-06-02 Dave Love <fx@gnu.org>
11567
11568 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11569 (VFORK_RETURN_TYPE): Remove.
427ec082 11570
d42122a3
DL
11571 * config.in: Add NO_MATHERR.
11572
dd432f16
DL
115732000-06-01 Dave Love <fx@gnu.org>
11574
90aa4ea8
DL
11575 * cmds.c (internal_self_insert): Don't check
11576 Vbefore_change_function, Vafter_change_function.
11577
11578 * insdel.c (signal_before_change, signal_after_change): Likewise.
11579
11580 * buffer.c (Vbefore_change_function, Vafter_change_function):
11581 Variables and their initializations deleted.
11582
2330c9d4
DL
11583 * callint.c (Fcall_interactively): Doc fix.
11584
dd432f16
DL
11585 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11586
bf9e8804
DL
115872000-05-31 Dave Love <fx@gnu.org>
11588
11589 * textprop.c: Revert last change -- duplicated.
11590
3694b4ab
GM
115912000-05-31 Gerd Moellmann <gerd@gnu.org>
11592
11593 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11594 in #if 0.
11595
11596 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11597
f14156cd
JR
115982000-05-31 Jason Rumney <jasonr@gnu.org>
11599
8119aab8
JR
11600 * search.c (Fre_search_forward, Fre_search_backward)
11601 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11602
f14156cd
JR
11603 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11604
4aab9be3
JR
116052000-05-30 Jason Rumney <jasonr@gnu.org>
11606
11607 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11608 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11609
52283633 11610 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11611
11612 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11613 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11614 expand a nil default_filename.
11615
11616 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11617 pointer to glyph_to_pixel_coords, not a frame.
11618
11619 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11620 coding.h to dependencies.
11621
11622 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11623
11624 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11625 window pointer to be consistent with w32term.c and xterm.c.
11626
11627 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11628 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11629 (Qline_spacing, Qcenter): New variables.
11630 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11631 (x_set_line_spacing): New function.
52283633 11632 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11633 (x_specified_cursor_type): New function.
11634 (x_set_cursor_type): Use it.
11635 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11636 and icon strings.
11637 (validate_x_resource_name, x_get_resource_string): Measure lengths
11638 of external strings in bytes.
11639 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11640 GetTextExtentPoint32 with NULL title.
11641 (Fx_create_frame): Initialize Qline_spacing.
11642 (w32_load_system_font): Initialize font->double_byte_p.
11643 (x_to_w32_charset): Use Vw32_charset_info_alist.
11644 (Image, busy cursor, tooltip functions): Merged changes from
11645 xfns.c. Not yet functional on Windows.
11646
11647 * w32gui.h (W32FontStruct): Add double_byte_p member.
11648
11649 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11650 (emacs_button_translation): Use it.
11651 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11652 in `mask' to be set.
11653
11654 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11655 menu strings.
11656
11657 * w32term.c: Format and doc changes to bring closer to xterm.c.
11658 (w32_char_font_type): New enum.
11659 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11660 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11661 (w32_encode_char): New function.
11662 (x_encode_char): Removed.
11663 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11664 x_encode_char and w32_font_is_double_byte.
11665 (x_produce_image_glyph): Use image_ascent.
11666 (x_produce_glyphs): Use new version of w32_per_char_metric and
11667 handle NULL return value. Allow extra line spacing.
11668 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11669 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11670 w32_font_type member of glyph instead.
11671 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11672 (fast_find_position): Make sure not to consider rows not visible
11673 in the window.
11674 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11675 w32_menu_display_help with input blocked, as it can abort.
11676 (x_display_and_set_cursor): Choose cursor depending
11677 on buffer-local value of cursor_type.
11678 (x_draw_bar_cursor): Add parameter WIDTH.
11679
11680 * w32term.h (CP_DEFAULT): Define.
11681 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11682
10fc3187
GM
116832000-05-30 Gerd Moellmann <gerd@gnu.org>
11684
11685 * search.c (Fre_search_forward, Fre_search_backward)
11686 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11687
d0555360
KH
116882000-05-30 Kenichi Handa <handa@etl.go.jp>
11689
11690 * coding.c (detect_coding_iso2022): Fix code for checking
11691 CODING_CATEGORY_MASK_ISO_8_2.
11692
f1ad044f
SM
116932000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11694
11695 * regex.c (PREFETCH_NOLIMIT): New function.
11696 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11697
84ec3b4b
GM
116982000-05-29 Gerd Moellmann <gerd@gnu.org>
11699
66254a13
GM
11700 * syntax.c (find_defun_start): Move test for
11701 open_paren_in_column_0_is_defun_start outside of the loop.
11702
49e70dec
GM
11703 * xdisp.c (redisplay_window): Really switch buffers when
11704 displaying mode lines, and temporarily set selected_frame to the
11705 frame of the window that's redisplayed.
11706
84ec3b4b
GM
11707 * xfaces.c (free_realized_faces): Block/unblock input.
11708 (free_realized_multibyte_face): Ditto.
11709
869a3a14
DL
117102000-05-29 Dave Love <fx@gnu.org>
11711
11712 * textprop.c (Qkeymap): New variable.
11713 (syms_of_textprop): Intern it.
11714
11715 * keymap.c: Include intervals.h.
11716 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11717
11718 * Makefile.in (keymap.o): Depend on intervals.h.
11719
11720 * keyboard.c (menu_bar_items, tool_bar_items)
11721 (Fexecute_extended_command): Deal with `keymap' property.
11722 (read_key_sequence): Track map from `keymap' property as well as
11723 `local_map'.
11724
11725 * intervals.c (get_local_map): Extra arg to allow looking for
11726 `keymap' too.
11727
11728 * intervals.h (map_property): New enum.
11729 (get_local_map): Extra arg using it.
11730 (Qkeymap): Declare.
11731
84ec3b4b 11732 * lisp.h (get_local_map): Don't declare here.
869a3a14 11733
89d0c844
KH
117342000-05-29 Kenichi Handa <handa@etl.go.jp>
11735
11736 * Makefile.in (callproc.o): Depend on composite.h.
11737
11738 * callproc.c: Include composite.h.
11739 (Fcall_process): Handle composition correctly.
11740
11741 * coding.h (coding_allocate_composition_data): Extern it.
11742 (coding_restore_composition): Likewise.
11743
11744 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11745 yet allocated, finish decoding with result
11746 CODING_FINISH_INSUFFICIENT_CMP.
11747 (coding_allocate_composition_data): Make it non-static.
11748 (coding_restore_composition): Likewise.
11749
797a084a
EZ
117502000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11751
11752 * charset.c (syms_of_charset): Revert last change.
11753
cf872af5
EZ
117542000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11755
11756 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11757 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11758 Handa.
cf872af5 11759
5b1ae051
EZ
117602000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11761
11762 * charset.c (syms_of_charset): Set width of character sets
11763 eight-bit-control and eight-bit-graphic to 1 column.
11764
34ec9ebe
GM
117652000-05-26 Gerd Moellmann <gerd@gnu.org>
11766
11767 * config.in (HAVE_SPEED_T): New define.
11768
11769 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11770 `extern speed_t'.
11771
dd854dc2
DL
117722000-05-26 Dave Love <fx@gnu.org>
11773
11774 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11775
11776 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11777 (Fsubr_arity): New function.
11778 (syms_of_data): Install them.
11779
ba9f8f95
KH
117802000-05-26 Kenichi Handa <handa@etl.go.jp>
11781
0f3e0672
KH
11782 * charset.c (init_charset_once): Set the table bytes_by_char_head
11783 correctly.
11784
cebefb44
KH
11785 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11786 the default fontset to what Emacs uses by default.
0f3e0672
KH
11787 (check_registry_encoding): This function deleted.
11788 (Fset_fontset_font): Remove the adhoc condition for the default
11789 fontset. Allow cons in FONTNAME.
cebefb44 11790
0f3e0672
KH
11791 * fns.c (map_char_table): Ignore char-table entries for
11792 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11793
7a18af49
KR
117942000-05-25 Ken Raeburn <raeburn@gnu.org>
11795
11796 * emacs.c (main): Initialize keyboard syms before initializing
11797 window code, so face names are available.
11798
d2af47df
SM
117992000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11800
11801 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11802 of an anchor at the beginning of a shy-group.
11803
fc6a6a4e
GM
118042000-05-25 Gerd Moellmann <gerd@gnu.org>
11805
11806 * xdisp.c (handle_invisible_prop): Don't try to skip over
11807 invisible text if end of text is already reached.
11808
005f0d35
DL
118092000-05-25 Dave Love <fx@gnu.org>
11810
02513cdd
DL
11811 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11812
005f0d35
DL
11813 * coding.c (encode_eol): Add null statement after label.
11814
89f6ca4e
EZ
118152000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11816
11817 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11818 2000-05-20.
11819
a4e1759e
KH
118202000-05-25 Kenichi Handa <handa@etl.go.jp>
11821
11822 * ccl.c (ccl_driver): Fix previous change.
11823
eacfd7fe
KH
118242000-05-25 Kenichi Handa <handa@etl.go.jp>
11825
46ab33a9
KH
11826 * coding.c (run_pre_post_conversion_on_str): Set point to the
11827 beginning of buffer before calling coding->post_read_conversion.
11828 (decode_coding_string): Give correct args to
11829 run_pre_post_conversion_on_str.
11830 (encode_coding_string): Likewise.
11831
eacfd7fe
KH
11832 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11833 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11834 eight-bit-graphic correctly.
11835
f8569325
DL
118362000-05-24 Kenichi HANDA <handa@etl.go.jp>
11837
11838 * fileio.c (Finsert_file_contents): Even if a file is not found,
11839 execute codes for setting up coding system. Call
11840 after-insert-file-functions unconditionally.
11841
04545643
GM
118422000-05-24 Gerd Moellmann <gerd@gnu.org>
11843
11844 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11845 BSD_PGRPS are not defined.
11846
747d90ea
KH
118472000-05-24 Kenichi Handa <handa@etl.go.jp>
11848
11849 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11850 DESCRIPTION.
11851 (syms_of_charset): Avoid building same strings.
11852
716e3b88
GM
118532000-05-23 Gerd Moellmann <gerd@gnu.org>
11854
11855 * lread.c (Fload): Add a comment about the meaning of
11856 Vuser_init_file being t.
11857
11858 * puresize.h (BASE_PURESIZE): Increase to 675000.
11859
11860 * s/gnu-linux.h (setpgrp): Don't define it here because this
11861 prevents compilation on GNU/Linux systems with glib 2.2.
11862
11863 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11864 as setpgid.
427ec082 11865
9aeb39fa
EZ
118662000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11867
11868 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11869 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11870 version.
11871 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11872
29ced61b
KH
118732000-05-23 Kenichi Handa <handa@etl.go.jp>
11874
52283633 11875 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11876
3d80f24d
KH
11877 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11878
52283633 11879 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11880
29ced61b
KH
11881 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11882
d7e00792
KH
118832000-05-22 Kenichi Handa <handa@etl.go.jp>
11884
c9d80d38
KH
11885 * keyboard.c (read_char): Allow character codes 128..255 to be
11886 handled by input-method-function.
11887
d7e00792
KH
11888 * insdel.c (adjust_markers_for_replace): Fix previous change.
11889 (adjust_after_replace): If PREV_TEXT is nil, call
11890 adjust_markers_for_insert, not adjust_markers_for_replace.
11891
087121cc 118922000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11893
087121cc
GM
11894 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11895 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11896 [HAVE_GRANDPT]: Define.
11897 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11898
11899 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11900 like SYSV_PTYS.
11901
11902 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11903
11904 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11905
c9671f81
KH
119062000-05-20 Kenichi Handa <handa@etl.go.jp>
11907
11908 The following changes are to handle 8-bit characters in a
11909 multibyte buffer/string without facing with byte combining
11910 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11911 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11912
11913 * Makefile.in (fns.o): Depend on charset.h.
11914
11915 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11916 convert it to unibyte.
11917 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11918
11919 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11920 apparent char boundary.
11921 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11922 0x80..0x9F to/from multibyte form.
11923
11924 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11925 to unibyte.
11926
11927 * callproc.c (Fcall_process): Always encode an argument string if
11928 it is multibyte. Setup src_multibyte and dst_multibyte members of
11929 process_coding properly.
ce75fd23 11930
c9671f81
KH
11931 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11932 SPLIT_NON_ASCII_CHAR.
11933
11934 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11935 as is.
11936 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11937
52283633 11938 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11939 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11940 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11941 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11942 and eight-bit-graphic.
11943 (char_to_string): Likewise. Signal an error for too large
11944 character code.
11945 (char_printable_p): Return 0 for 8-bit characters.
11946 (update_charset_table): Update iso_charset_table only when a final
11947 character is non-negative.
11948 (find_charset_in_text): Renamed from find_charset_in_str.
11949 Arguments and return value changed. Callers changed.
11950 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11951 be -1 if CHARSET is used only internally.
11952 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11953 eight-bit-graphic.
11954 (Fcharset_after): Simplified.
11955 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11956 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11957 (multibyte_chars_in_text): Simplified by assuming there's no
11958 invalid multibyte sequence.
52283633
SM
11959 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11960 (str_as_unibyte): New functions.
11961 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11962 (init_charset_once): Initialization for
11963 LEADING_CODE_8_BIT_CONTROL.
11964 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11965 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11966 eight-bit-control and eight-bit-graphic.
11967
52283633
SM
11968 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11969 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11970 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11971 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11972 (CHARSET_REVERSE_CHARSET): Likewise.
11973 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11974 eight-bit-graphic.
11975 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11976 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11977 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11978 encounter an invalid multibyte sequence.
11979 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11980 sequence is always valid.
11981 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11982 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11983 (CHAR_STRING): For 8-bit characters, call char_to_string.
11984 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11985 multibyte sequence is always valid.
11986 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11987 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11988 (str_as_unibyte): Extern them.
c9671f81 11989 (BCOPY_SHORT): Fix a bug.
52283633 11990 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11991 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11992 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11993 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11994
bd4bde7f 11995 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11996 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11997 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11998 (EMIT_BYTES): New macros.
11999 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12000 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12001 macros deleted.
12002 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12003 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12004 check the validity of multibyte sequence.
12005 (decode_coding_emacs_mule): New function.
12006 (encode_coding_emacs_mule): New macro.
12007 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12008 the source.
12009 (DECODE_ISO_CHARACTER): Just return a character code.
12010 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12011 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12012 EMIT_CHAR to produced decoded characters. Exit the loop only by
12013 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12014 block here.
12015 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12016 only position codes for an invalid character.
12017 (encode_designation_at_bol): Return new destination pointer. 5th
12018 arg DSTP is changed to DST.
12019 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12020 from the source by ONE_MORE_CHAR. Don't handle the case of last
12021 block here.
12022 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12023 macros deleted.
52283633
SM
12024 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12025 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12026 TWO_MORE_BYTES to fetch a byte from the source.
12027 (encode_eol): Pay attention to coding->src_multibyte.
12028 (detect_coding, detect_eol): Preserve members src_multibyte and
12029 dst_multibyte.
12030 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12031 (encoding_buffer_size): Set magnification to 3 for all coding
12032 systems that require encoding.
12033 (ccl_coding_driver): For decoding, be sure that the result is
12034 valid multibyte sequence.
12035 (decode_coding): Initialize coding->errors and coding->result.
12036 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12037 and raw-text, always call decode_eol. Handle the case of last
12038 block here. If not coding->dst_multibyte, convert the resulting
12039 sequence to unibyte.
12040 (encode_coding): Initialize coding->errors and coding->result.
12041 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12042 and raw-text, always call encode_eol. Handle the case of last
12043 block here.
12044 (shrink_decoding_region, shrink_encoding_region): Detect cases
12045 that we can't skip data more rigidly.
12046 (code_convert_region): Setup src_multibyte and dst_multibyte
12047 members of coding. For decoding, if the buffer is multibyte,
12048 convert the source sequence to unibyte in advance. For encoding,
12049 if the buffer is multibyte, convert the resulting sequence to
12050 multibyte afterward.
12051 (run_pre_post_conversion_on_str): New function.
12052 (code_convert_string): Deleted and divided into the following two.
12053 (decode_coding_string, encode_coding_string): New functions.
12054 (code_convert_string1, code_convert_string_norecord): Call one of
12055 above.
12056 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12057 MAKE_NON_ASCII_CHAR.
52283633
SM
12058 (Fset_terminal_coding_system_internal)
12059 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12060 and dst_multibyte members.
12061 (init_coding_once): Initialize iso_code_class with new enum
12062 ISO_control_0 and ISO_control_1.
12063
12064 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12065 devided into ISO_control_0 and ISO_control_1.
12066 (struct coding_system): New members src_multibyte, dst_multibyte,
12067 errors, and result. Delete member fake_multibyte.
12068 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12069 nonzero.
12070 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12071 nonzero.
12072
12073 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12074 (Faset): Likewise.
12075
12076 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12077 multibyte form.
12078 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12079 combining occurs.
12080 (Ftranspose_region): Delete codes for handling byte combining.
12081
12082 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12083 dst_multibyte members of coding. On handling REPLACE on unibyte
12084 buffer, convert the result of decode_coding to unibyte. On
12085 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12086 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12087 multibyteness of the source (buffer or string).
12088
12089 * fns.c (concat): Handle 8-bit characters correctly.
12090 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12091 unibyte in the result.
12092 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12093 valid multibyte form in the result.
12094 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12095 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12096 return -1, signal an error.
12097 (base64_encode_1): New arg MULTIBYTE. Get each character by
12098 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12099 character is found, return -1.
12100 (Fbase64_decode_region): Delete codes for handling byte-combining.
12101 Treat each decoded byte as a unibyte character.
12102 (Fbase64_decode_string): Return unibyte string.
12103 (Fcompare_strings, concat, string_byte_to_char): Use
12104 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12105 FETCH_STRING_CHAR_ADVANCE.
12106 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12107 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12108
12109 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12110 SPLIT_NON_ASCII_CHAR.
12111 (fontset_ref_via_base, fontset_set): Likewise
12112
12113 * insdel.c (adjust_markers_for_record_delete): Deleted.
12114 (adjust_markers_for_insert): Argument changed. Caller changed.
12115 (adjust_markers_for_replace): Likewise.
52283633
SM
12116 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12117 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12118 (copy_text): Delete unused local varialbe c_save. For converting
12119 to multibyte, be sure to make all 8-bit characters in valid
12120 multibyte form.
12121 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12122 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12123 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12124 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12125 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12126 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12127 handling byte combining.
12128 (adjust_before_replace): Deleted.
427ec082 12129
c9671f81
KH
12130 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12131 SPLIT_NON_ASCII_CHAR.
12132 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12133 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12134 (Fkey_description): Likewise.
12135
12136 * lread.c (read1): On reading multibyte string, be sure to make
12137 all 8-bit chararacters in valid multibyte form.
12138 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12139
12140 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12141 unconditionally.
12142
12143 * process.c (Fstart_process): GCPRO current_dir before calling
12144 Ffind_operation_coding_system. Encode arguments here.
12145 (create_process): Don't encode arguments here. Setup
12146 src_multibyte and dst_multibyte members of struct coding.
12147 (read_process_output): Setup src_multibyte and dst_multibyte
12148 members of struct coding. If the output is to multibyte buffer,
12149 always decode the output of the process. Adjust the
52283633 12150 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12151 (send_process): Setup coding->src_multibyte according to the
12152 multibyteness of the source.
12153
52283633 12154 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12155 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12156 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12157
52283633 12158 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12159
12160 * w16select.c (Fw16_set_clipboard_data): Setup members
12161 src_multibyte and dst_multibyte of coding. Adjusted for the
12162 change for find_charset_in_str.
12163 (Fw16_get_clipboard_data): Likewise.
12164
12165 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12166 dst_multibyte of coding.
12167 (x_to_w32_font): Likewise.
12168
12169 * w32select.c (Fw32_set_clipboard_data): Setup members
12170 src_multibyte and dst_multibyte of coding. Adjusted for the
12171 change for find_charset_in_str.
12172 (Fw32_get_clipboard_data): Likewise.
12173
12174 * xdisp.c (get_next_display_element): Handle 8-bit characters
12175 correctly.
52283633
SM
12176 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12177 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12178
12179 * xselect.c (selection_data_to_lisp_data): Setup members
12180 src_multibyte and dst_multibyte of coding. Adjusted for the
12181 change for find_charset_in_str.
12182 (lisp_data_to_selection_data): Likewise.
12183
5f64c9e0
GM
121842000-05-19 Gerd Moellmann <gerd@gnu.org>
12185
52283633 12186 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12187
5f64c9e0
GM
12188 * dispextern.h (Vimage_types): Add extern declaration.
12189
12190 * xdisp.c (Vimage_types): Moved here from xfns.c.
12191 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12192
12193 * xfns.c (Vimages_types): Moved to xdisp.c.
12194 (syms_of_xfns): Move `image-types' to xdisp.c.
12195
12196 * w32fns.c (Vimage_types): Removed.
12197 (syms_of_w32fns): Remove `image-types'.
12198
813086ea
KH
121992000-05-18 Kenichi Handa <handa@etl.go.jp>
12200
12201 * fns.c (map_char_table): Pay attention to character number of
12202 charset. Check the validity of charset at the first level. For
12203 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12204 the default value.
12205
12206 * fontset.c: Include "buffer.h".
12207 (fs_load_font): If the face has fontset, record the face ID in
12208 that fontset.
12209 (Finternal_char_font): New function.
12210 (accumulate_font_info): New function.
12211 (Ffontset_info): Rewritten for the new fontset implementation.
12212 (syms_of_fontset): Register Vdefault_fontset in the first element
12213 of Vfontset_table. Include Vdefault_fontset in
12214 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12215 function.
12216
bdaebbf0
DL
122172000-05-16 Dave Love <fx@gnu.org>
12218
12219 * m/iris5d.h: Deleted -- unused.
12220
cb613bb8
GM
122212000-05-16 Gerd Moellmann <gerd@gnu.org>
12222
b15f3b77
GM
12223 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12224 `invalid' instead of `illegal'.
12225
12226 * indent.c (Fmove_to_column): When ending within a tab, insert
12227 spaces first so that markers at the end of the tab get adjusted.
12228
835c1b36
GM
12229 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12230 buffer list that wasn't selected in that frame.
12231
cb613bb8
GM
12232 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12233 is needed on mescaline, use a 2 char prefix, and call
12234 make_temp_name with second arg non-zero.
12235
12236 * fileio.c (make_temp_name): New function, extracted from
12237 Fmake_temp_name.
12238 (Fmake_temp_name): Use it.
12239
f685bea9
EZ
122402000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12241
52283633 12242 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12243
a1b8d58b
GM
122442000-05-15 Gerd Moellmann <gerd@gnu.org>
12245
12246 * Makefile.in (lisp): Add env.elc.
12247
12248 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12249
a265079f
GM
122502000-05-12 Gerd Moellmann <gerd@gnu.org>
12251
12252 * search.c (Freplace_match): Handle case of `\N' in the
12253 replacement when there's no group N.
12254
da4496b6
GM
122552000-05-11 Gerd Moellmann <gerd@gnu.org>
12256
0ace421a
GM
12257 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12258 of the message to message_dolog.
12259
1172eb8d
GM
12260 * keyboard.c (read_char): Don't clear current message for help
12261 events; let the code handling help events handle this. Change
12262 code detecting help events that should be ignored.
12263
da4496b6
GM
12264 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12265 we're interating over a string.
12266
0623e40f
DL
122672000-05-09 Dave Love <fx@gnu.org>
12268
12269 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12270 that offset before writing. Move gcpro region past call of
12271 Ffile_regular_p.
12272
bae2503b
DL
122732000-05-04 Dave Love <fx@gnu.org>
12274
12275 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12276
ec82fb2f
GM
122772000-05-04 Gerd Moellmann <gerd@gnu.org>
12278
12279 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12280 of inserted characters when BUF equals the current buffer, and PT
12281 is in front of or equal to FROM.
12282
cbf18892
GM
122832000-05-03 Gerd Moellmann <gerd@gnu.org>
12284
4ff40dd0
GM
12285 * xdisp.c (handle_single_display_prop): If display property value
12286 is invalid, or something not supported on the frame, restore
12287 iterator's position to what it was initially. Make sure to return
12288 0 for invalid and unsupported property values.
12289
cbf18892
GM
12290 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12291 that x_per_char_metric returns null.
12292
1b0672c3
GM
122932000-05-02 Gerd Moellmann <gerd@gnu.org>
12294
576da55d
GM
12295 * xterm.h (struct face): Add forward declaration.
12296 (struct image): Ditto.
12297 (image_ascent): Add prototype.
12298
12299 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12300 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12301 image_ascent instead of using IMAGE_ASCENT.
12302
12303 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12304 (IMAGE_ASCENT): Removed.
12305
12306 * xfns.c (Qcenter): New variable.
12307 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12308 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12309 (image_ascent): New function.
12310 (lookup_image): Recognize `:ascent center'.
12311 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12312 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12313 (xbm_load): Don't set image's ascent here.
12314 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12315 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12316 check ascent values here.
12317 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12318 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12319 (syms_of_xfns): Initialize Qcenter.
12320
1b0672c3
GM
12321 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12322 to the limits, increase the limits.
12323
0d7811ed
KH
123242000-05-01 Kenichi Handa <handa@etl.go.jp>
12325
12326 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12327 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12328
a943a5ca
GM
123292000-04-28 Gerd Moellmann <gerd@gnu.org>
12330
12331 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12332 taller than the window.
12333
5dba1e29
KH
123342000-04-28 Kenichi Handa <handa@etl.go.jp>
12335
12336 * xfaces.c (realize_x_face): Fix the argument of the second
12337 xassert. BASE_FACE may not be a face for ASCII.
12338
353964e3
GM
123392000-04-27 Gerd Moellmann <gerd@gnu.org>
12340
c76e04a8
GM
12341 * print.c (print_object): Treat print-length < 0 as nil.
12342
12343 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12344
12345 * s/freebsd.h (TERMCAP_OBJ): Removed.
12346 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12347
12348 * lread.c (read1): Don't treat period followed by certain
12349 characters as symbol start.
12350
12351 * xfns.c (slurp_file): New function.
12352 (xbm_image_p): Handle case of in-memory XBM files.
12353 (xbm_scan): Rewritten to work on memory buffers instead of files.
12354 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12355 Work on memory buffers instead of files. If DATA is null test
12356 if buffer looks like an in-memory XBM file.
12357 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12358 memory buffers instead of files.
12359 (xbm_file_p): New function.
12360 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12361
353964e3
GM
12362 * lread.c (end_of_file_error): New function.
12363 (read1): Call it instead of signaling `end-of-file' directly.
12364
427ec082 12365 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12366 with Fprinc instead of Fprin1.
12367
24d744ac
KR
123682000-04-26 Ken Raeburn <raeburn@gnu.org>
12369
12370 * window.c (freeze_window_start): Check that minibuffer scroll
12371 window isn't nil before extracting the window structure pointer
12372 from it.
12373
12374 * undo.c (record_delete): If we hit the end of the undo list, stop
12375 picking elements apart.
12376
7464346d
GM
123772000-04-26 Gerd Moellmann <gerd@gnu.org>
12378
12379 * xdisp.c (display_line): If lines are continued, restore
12380 iterator's ascent/descent information to the values before the
12381 first glyph not fitting on the line.
12382
612839b6
GM
123832000-04-25 Gerd Moellmann <gerd@gnu.org>
12384
12385 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12386 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12387
12388 * dispnew.c (increment_matrix_positions): Renamed from
12389 increment_glyph_matrix_buffer_positions.
12390 (increment_row_positions): Renamed from
12391 increment_glyph_row_buffer_positions.
12392
12393 * dispextern.h: Change names of renamed functions from dispnew.c
12394 in prototypes.
12395
cc181e95
GM
123962000-04-24 Gerd Moellmann <gerd@gnu.org>
12397
abfcc168
GM
12398 * fileio.c (Fdo_auto_save): Create directories for auto-save
12399 list file if necessary.
12400
cc181e95
GM
12401 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12402 from buffer or frame.
12403 (automatic_hscrolling_p): New variable.
12404 (hscroll_windows): Scroll windows horizontally only if automatic
12405 hscrolling is allowed.
12406 (syms_of_xdisp): New variable `automatic-hscrolling'.
12407
12408 * frame.h (struct frame): Add member extra_line_spacing.
12409
12410 * xfns.c (x_set_line_spacing): New function.
12411 (Fx_create_frame): Set line spacing from resources.
12412 (Qline_spacing): New variable.
12413 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12414
cc181e95
GM
12415 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12416
12417 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12418 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12419 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12420 extra_line_spacing from default value.
12421 (init_buffer_once): Initialize default value of extra_line_spacing.
12422
12423 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12424 and extra3.
12425
12426 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12427 prompt_width. Add extra line spacing.
12428
12429 * term.c (produce_glyphs): Remove reference to struct it's
12430 prompt_width.
12431
12432 * dispextern.h (struct it): Remove member prompt_width, add
12433 extra_line_spacing.
12434
58827478
GM
124352000-04-22 Gerd Moellmann <gerd@gnu.org>
12436
12437 * dispnew.c (update_frame_line): When writing a whole line, make
12438 sure cursor is in the right row afterwards, otherwise a use of
12439 capability `ch' in cmgoto might leave the cursor in the row below.
12440
25a87f42
GM
124412000-04-21 Gerd Moellmann <gerd@gnu.org>
12442
12443 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12444
12445 * keyboard.c (timer_check): Fix typo in comment.
12446
54edf5c2
KH
124472000-04-21 Kenichi Handa <handa@etl.go.jp>
12448
12449 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12450 name change: ch -> character.
12451
3a64eef5
GM
124522000-04-20 Gerd Moellmann <gerd@gnu.org>
12453
12454 * keyboard.c (echo_message_buffer): New variable.
12455 (echo_now): Set echo_message_buffer to the echo area buffer used
12456 to display the echo.
12457 (cancel_echoing): Reset echo_message_buffer to nil.
12458 (read_char): Code rewritten that handles canceling an echo or
12459 echoing a dash, respectively.
12460
12461 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12462 directory doesn't exist.
12463
6142fdcb
DL
124642000-04-19 Dave Love <fx@gnu.org>
12465
12466 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12467 (concat): Don't allow numeric args.
12468 (Fconcat): Doc change.
6142fdcb 12469
ac6b5352
SM
124702000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12471
12472 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12473 instead define end_match(1|2) more carefully.
12474 Use GET_CHAR_BEFORE_2 for `begline'.
12475
cb9215e4
GM
124762000-04-19 Gerd Moellmann <gerd@gnu.org>
12477
5e3dac3f
GM
12478 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12479 on 64-bit systems where NULL is defined as `0'.
12480
12481 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12482 the `variable argument list' to make it work on Alpha.
12483
cb9215e4
GM
12484 * m/alpha.h (_LP64) [!_LP64]: Define.
12485 (ORDINARY_LINK): Define for NetBSD.
12486
12487 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12488
f532dca0
DL
124892000-04-19 Dave Love <fx@gnu.org>
12490
c750667e
DL
12491 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12492 change.
12493
12494 * Makefile.in (LIBS): Don't use.
12495 (GETLOADAVG_OBJ): Define again.
12496 (otherobj): Add GETLOADAVG_OBJ.
12497
f532dca0
DL
12498 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12499
1c7e22fd
GM
125002000-04-18 Gerd Moellmann <gerd@gnu.org>
12501
f6d3257b
GM
12502 * lread.c (read_filtered_event): Cancel and start busy cursor.
12503
427ec082 12504 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12505 that the per-character metrics may be null.
12506
e10f64e7
GM
125072000-04-17 Gerd Moellmann <gerd@gnu.org>
12508
0daee095
GM
12509 * buffer.c (clone_per_buffer_values): New function.
12510 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12511 clone_per_buffer_values if CLONE is not nil.
12512
e10f64e7
GM
12513 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12514
38687d43
DL
125152000-04-16 Dave Love <fx@gnu.org>
12516
12517 * Makefile.in: Remove obsolete localcpp stuff.
12518 (GETLOADAVG_OBJ): Don't define.
12519 (obj): Move LIBOBJS...
12520 (otherobj): ... to here.
12521 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12522 whitespace-only lines after the continuation (Irix).
12523
c21c7262
GM
125242000-04-14 Gerd Moellmann <gerd@gnu.org>
12525
12526 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12527
12528 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12529
314767c0
DL
125302000-04-14 Dave Love <fx@gnu.org>
12531
12532 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12533 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12534 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12535 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12536 NLIST_STRUCT.
12537
12538 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12539 autoconfiscated HAVE_GETLOADAVG.
12540
12541 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12542 BROKEN_MKTIME.
12543
a2522dca
GM
125442000-04-14 Gerd Moellmann <gerd@gnu.org>
12545
12546 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12547 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12548
33744b5d
DL
125492000-04-14 Dave Love <fx@gnu.org>
12550
c21c7262 12551 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12552 (INTERVAL_SRC): Convert to make variable.
12553 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12554 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12555 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12556 add LIBOBJS.
12557 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12558 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12559 (shortlisp): Add facemenu, float-sup, frame.
12560 (SOME_MACHINE_LISP): Remove them from here.
12561 (LIBES): Change unused LDLIBS to autoconf LIBS.
12562
12563 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12564
9d3d5916
KH
125652000-04-14 Kenichi Handa <handa@etl.go.jp>
12566
12567 * composite.c (update_compositions): If FROM and TO are not in a
12568 valid range, do nothing.
12569
198e3c7a
GM
125702000-04-13 Gerd Moellmann <gerd@gnu.org>
12571
52283633 12572 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12573
52283633 12574 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12575
12576 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12577 as TERMCAP_OBJ.
12578
055a28c9
EZ
125792000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12580
12581 * fileio.c (a_write): Remove redundant semi-colons.
12582 (e_write): Return -1 if failed to write all the data.
12583 This fixes the changes made at 1999-12-15.
12584
f5c75033
DL
125852000-04-12 Dave Love <fx@gnu.org>
12586
12587 * fns.c (mapcar1): Test for null vals to support mapc.
12588 (Fmapc): New function.
12589
0c3cfc51
EZ
125902000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12591
12592 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12593 (IT_frame_up_to_date): Support the buffer local value of
12594 cursor-type, if defined.
12595
33465a31
DL
125962000-04-10 Dave Love <fx@gnu.org>
12597
12598 * editfns.c (preceding-char, following-char): Doc fix.
12599
6ed56568
KR
126002000-04-10 Ken Raeburn <raeburn@gnu.org>
12601
12602 * Makefile.in (temacs): Revert 2000-03-12 change.
12603
7cf80d4e
JR
126042000-04-10 Jason Rumney <jasonr@gnu.org>
12605
12606 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12607
34f3f342
GM
126082000-04-10 Gerd Moellmann <gerd@gnu.org>
12609
1a1b1895
GM
12610 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12611 area buffer, if it's not set up yet.
12612
34f3f342
GM
12613 * indent.c (compute_motion): Set immediate_quit.
12614
be0dbdab
GM
126152000-04-09 Gerd Moellmann <gerd@gnu.org>
12616
52283633 12617 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12618 (realize_tty_face): Suppress boldness if colors are the inverse of
12619 the default colors, and tty_suppress_bold_inverse_default_colors_p
12620 is set.
12621 (Ftty_suppress_bold_inverse_default_colors): New function.
12622 (syms_of_xfaces): Defsubr it.
12623
be0dbdab
GM
12624 * buffer.c (Frestore_buffer_modified_p): New function.
12625 (syms_of_buffer): Defsubr it.
12626
e8413c3b
KR
126272000-04-08 Ken Raeburn <raeburn@gnu.org>
12628
87f67317
KR
12629 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12630 charset id (int) argument, not a charset (Lisp_Object).
12631
e8413c3b
KR
12632 * coding.h (code_convert_string): Declare.
12633 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12634 object, as the fourth argument to code_convert_string.
12635
52283633 12636 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12637 (Fset_fontset_font): Use EQ to compare lisp objects.
12638
7c752c80
KR
126392000-04-05 Ken Raeburn <raeburn@gnu.org>
12640
c0333abc
KR
12641 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12642 a pointer that looks like a lisp object.
12643 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12644 zero, instead see whether it's an integer object, since they can't
12645 have intervals.
12646 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12647
52283633
SM
12648 * dispnew.c (allocate_matrices_for_frame_redisplay)
12649 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12650 to convert between (unsigned) int values and lisp integers.
12651 * keyboard.c (read_key_sequence): Likewise.
12652 * lread.c (substitute_object_recurse): Likewise.
12653 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12654 * minibuf.c (do_completion, Fminibuffer_complete_word)
12655 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12656 * term.c (produce_special_glyphs): Likewise.
12657
12658 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12659 * print.c (print_preprocess, print_object): Likewise.
12660
12661 * search.c (compile_pattern): Use NILP when checking for nil.
12662
74e49b38
KR
12663 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12664 __OPTIMIZE__]: Provide a GNU C macro version that handles
12665 lisp-object unions.
12666 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12667 field, to better cope with ENABLE_CHECKING and calls that modify a
12668 Lisp_Object using its old value.
12669
685e5ed2
GM
126702000-04-04 Gerd Moellmann <gerd@gnu.org>
12671
c407c570
GM
12672 * window.c (compare_window_configurations): Signal an error
12673 if parameters C1 or C2 aren't window configurations.
12674
685e5ed2
GM
12675 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12676 AFTER_POTENTIAL_GC calls around calls to functions that can
12677 signal an error and thus invoke the debugger.
12678
587a49ab
GM
126792000-04-03 Gerd Moellmann <gerd@gnu.org>
12680
62f20204
GM
12681 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12682 an error if decoding fails.
12683
587a49ab
GM
12684 * keyboard.c (lispy_mouse_names): Variable removed.
12685 (Vlispy_mouse_stem): New variable.
12686 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12687 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12688 for any mouse button number. Increase size of mouse_syms and
12689 button_down_location as needed. Call modify_event_symbol with
12690 different arguments.
12691 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12692 Call modify_event_symbol with different arguments.
12693 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12694 for any button number. Call modify_event_symbol with different
12695 arguments.
12696 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12697 Accept a string for NAME_ALIST_OR_STEM.
12698
12699 * lisp.h (larger_vector): Add prototype.
12700
12701 * fns.c (larger_vector): Make externally visible.
12702
12703 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12704
2d1675e4
SM
127052000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12706
12707 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12708 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12709 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12710 we are between str1 and str2.
12711 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12712 (PATFETCH): Use `TRANSLATE'.
12713 (PATFETCH_RAW): Fetch multibyte char if applicable.
12714 (PATUNFETCH): Remove.
12715 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12716 When writing a char, write it directly into the pattern buffer rather
12717 than going needlessly through a temp char-array.
12718 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12719 multibyte magic and remove the useless `#ifdef emacs'.
12720 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12721 buffer.
12722
12723 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12724 conditional on `emacs'.
12725
12726 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12727
cc2d8c6b
KR
127282000-04-01 Ken Raeburn <raeburn@gnu.org>
12729
12730 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12731 non-union-type versions of XMARK and friends here, because XMARK
12732 and friends won't work on an integer field if NO_UNION_TYPE is not
12733 defined.
52283633 12734 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12735
52283633 12736 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12737 (syms_of_composite): Delete local var NARGS, pass an int as first
12738 argument to Fmake_hash_table.
12739
2387b382
KR
12740 * editfns.c (text_property_stickiness): Use NILP to test
12741 Lisp_Object boolean value.
12742 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12743 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12744 problems reading from and changing the same lisp value in an
12745 XSETSTRING call.
12746
27660e89
GM
127472000-04-01 Gerd Moellmann <gerd@gnu.org>
12748
12749 * term.c (TN_no_color_video): New variable.
12750 (term_init): Intitialize TN_no_color_video.
12751 (enum no_color_bit): New enumeration.
12752 (MAY_USE_WITH_COLORS_P): New macro.
12753 (turn_on_face): Use it to determine if attributes may be used
12754 combined with colors.
12755
3578db3c
KR
127562000-04-01 Ken Raeburn <raeburn@gnu.org>
12757
12758 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12759 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12760 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12761 proper accessor macros.
12762 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12763 (grow_mini_window): Fix typo getting int value of root->height.
12764
6fc556fd
KR
12765 * xdisp.c (compute_string_pos): Fix order of arguments to
12766 string_pos_nchars_ahead.
12767 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12768 count arg to variable-arg routines like Frun_hook_with_args and
12769 Fformat.
587a49ab
GM
12770 (back_to_previous_visible_line_start)
12771 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12772 fixed-arg routines like Fget_char_property and Fmake_string.
12773 (reconsider_clip_changes): Use XINT when comparing integer lisp
12774 objects, or passing them as int arguments.
587a49ab
GM
12775 (mark_window_display_accurate, insert_left_trunc_glyphs)
12776 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12777 storing or passing integer values as lisp objects.
12778 (set_cursor_from_row, highlight_trailing_whitespace): Use
12779 INTEGERP, not implicit test against zero, for glyph object.
12780 (try_window_id): Don't use make_number when we want an int value.
12781
12782 * xfaces.c (xlfd_symbolic_value): Make last argument a
12783 Lisp_Object, to be consistent with callers.
12784 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12785 (lface_hash): Apply XFASTINT to lisp values before folding in.
12786
12787 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12788 fill in window width and height. Pass an int, not a lisp object,
12789 as first arg to Finsert.
12790
6e7b2457
GM
127912000-04-01 Gerd Moellmann <gerd@gnu.org>
12792
610d841e
GM
12793 * xfaces.c (realize_basic_faces): Block input while realizing
12794 the faces.
12795
6e7b2457
GM
12796 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12797
12798 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12799
aa110c0c
GM
128002000-03-31 Gerd Moellmann <gerd@gnu.org>
12801
12802 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12803 or ASCII, handle case that per-char metric is null.
aa110c0c 12804
8801a864
KR
128052000-03-30 Ken Raeburn <raeburn@gnu.org>
12806
c6129d7e
KR
12807 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12808
52283633
SM
12809 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12810 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12811 pointer, using eassert.
12812 * frame.h (XFRAME): Likewise.
12813
52283633
SM
12814 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12815 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12816 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12817 * data.c (set_internal): Likewise.
52283633
SM
12818 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12819 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12820 * fileio.c (auto_save_1): Likewise.
12821 * insdel.c (check_markers): Likewise.
12822 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12823 * undo.c (record_insert): Likewise.
12824 * vmsproc.c (child_sig): Likewise.
12825 * window.c (unshow_buffer, window_loop): Likewise.
12826 * xterm.c (x_erase_phys_cursor): Likewise.
12827
8e7af858
GM
128282000-03-30 Gerd Moellmann <gerd@gnu.org>
12829
12830 * xfns.c (free_image_cache): Free the cache structure itself
12831 last, after all its members have been freed.
12832
12833 * lisp.h (xstrdup): Add prototype.
12834
12835 * alloc.c (xstrdup): Moved here from xfaces.c.
12836 (allocating_for_lisp): Variable removed.
52283633 12837 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12838
12839 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12840 of Fsymbol_value.
12841 (xstrdup): Moved to alloc.c.
12842
e0b8c689
KR
128432000-03-29 Ken Raeburn <raeburn@gnu.org>
12844
b96f9fb7
KR
12845 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12846
12847 * emacs.c (main): Fix sense of no-loadup test.
12848
e0b8c689
KR
12849 * config.in (ENABLE_CHECKING): Undef.
12850
12851 * lisp.h (struct interval): Replace "parent" field with a union of
12852 interval pointer and Lisp_Object; add new bitfield to use as
12853 discriminant. Change other flag fields to bitfields.
12854 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12855 is defined and the supplied test fails, print a message and abort.
12856 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12857
12858 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12859 pointers; abort if the value looks like a lisp object.
52283633
SM
12860 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12861 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12862 Modify for new interval parent definition.
12863
52283633
SM
12864 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12865 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12866 addressable lisp object in the interval structure.
12867 (die): New function.
12868 (suppress_checking): New variable.
12869
12870 * intervals.c (interval_start_pos): Just return 0 if there's no
12871 parent object.
12872
f83c5440
GM
128732000-03-29 Gerd Moellmann <gerd@gnu.org>
12874
12875 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12876 and earlier Emacs versions.
12877
12878 * keyboard.c (Ftop_level): Cancel busy-cursor.
12879
12880 * eval.c (call_debugger): Cancel busy-cursor.
12881
fdce64ff
KH
128822000-03-29 Kenichi Handa <handa@etl.go.jp>
12883
12884 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12885 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12886
f6a3f532
SM
128872000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12888
12889 * regex.c (analyse_first): New function obtained by ripping out most
12890 of re_compile_fastmap and generalizing it a little bit so that it
12891 can also just return whether a given (sub)pattern can match the empty
12892 string or not.
12893 (regex_compile): Use `analyse_first' to decide whether the loop-check
12894 needs to be done or not for *, +, *? and +? (the loop check is costly
12895 for non-greedy repetition).
12896 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12897
e9b309ac
DL
128982000-03-28 Dave Love <fx@gnu.org>
12899
52283633 12900 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12901
e9b309ac
DL
12902 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12903
ed0767d8
SM
129042000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12905
12906 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12907 an expression.
12908 (enum re_opcode_t): Update description of succeed_n.
12909 (PATFETCH): Always define.
12910 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12911 operators, char classes, shy-groups and intervals).
12912 Optimize special cases of intervals so as to only use succeed_n and
12913 jump_n when really needed.
12914 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12915 that we don't have to handle the special cases any more.
12916 Simplify on_failure_jump handling as well.
12917
e11e7e46
JR
129182000-03-28 Jason Rumney <jasonr@gnu.org>
12919
12920 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12921
88faab89
GM
129222000-03-27 Gerd Moellmann <gerd@gnu.org>
12923
182ff242
GM
12924 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12925
12926 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12927
182ff242
GM
12928 * alloc.c (mark_maybe_object): New function.
12929 (mark_memory): Use it.
12930 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12931 (setjmp_tested_p, longjmp_done): New variables.
12932 (test_setjmp): New function.
12933 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12934 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12935
c1005d06
GM
12936 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12937 to DEC_TEXT_POS and INC_TEXT_POS.
12938
12939 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12940 with parameter MULTIBYTE_P.
12941
52283633 12942 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12943
7439e5b9 12944 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12945 buffers because it looks for multibyte character byte sequences
12946 which don't exist in unibyte text.
7439e5b9 12947
d9c545da
GM
12948 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12949
11fd416e 12950 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12951 [DEBUG_X_COLORS]: New functions.
12952 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12953
12954 * xfns.c (x_set_cursor_color): Get color reference counts right.
12955
12956 * xterm.c (x_copy_color): New function.
12957 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12958
12959 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12960 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12961 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12962 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12963 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12964 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12965 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12966 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12967 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12968 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12969
11fd416e
GM
12970 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12971 names for handling per-buffer variables.
d9c545da
GM
12972
12973 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12974 instead of MAX_BUFFER_LOCAL_VARS.
12975 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12976
12977 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12978
88faab89
GM
12979 * xfns.c (x_specified_cursor_type): New function.
12980 (x_set_cursor_type): Use it.
12981
12982 * buffer.h (struct buffer): Add cursor_type.
12983
d80f42b7
SM
129842000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12985
12986 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12987 (print_partial_compiled_pattern, re_compile_fastmap):
12988 Handle new opcode.
d80f42b7
SM
12989 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12990 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12991 executing it as well as when popping it off the stack to find infinite
12992 loops in non-greedy repetition operators.
12993
89e80928
GM
129942000-03-26 Gerd Moellmann <gerd@gnu.org>
12995
3d4ff2dd
GM
12996 * doc.c (Qfunction_documentation): New variable.
12997 (syms_of_doc): Initialize Qfunction_documentation.
12998 (Fdocumentation): If FUNCTION is a symbol with non-nil
12999 `function-documentation' property, return a documentation derived
13000 from that.
13001
bd96bd79
GM
13002 * buffer.c (syms_of_buffer): Add default-cursor-type.
13003 (init_buffer_once): Don't let cursor_type have a local value
13004 in every buffer.
13005
19d1bc27
GM
13006 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13007 on buffer-local value of cursor_type.
13008 (x_draw_bar_cursor): Add parameter WIDTH.
13009
13010 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13011 (init_buffer_once): Set default cursor_type value to t.
13012 Mark cursor_type as local everywhere.
13013 (syms_of_buffer): New per-buffer variable cursor-type.
13014
89e80928
GM
13015 * buffer.h (struct buffer): Remove member local_var_flags,
13016 add local_flags.
13017 (MAX_BUFFER_LOCAL_VARS): New macro.
13018 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13019 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13020 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13021 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13022
52283633 13023 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13024
13025 * category.c (Fset_category_table): Use new macros for per-buffer
13026 variables.
13027
13028 * buffer.c (buffer_permanent_local_flags): Make a char array.
13029 (max_buffer_local_idx): New variable.
13030 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13031 for new handling of per-buffer variables.
13032 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13033 (init_buffer_once): Initialize per-buffer vars differently.
13034 Set max_buffer_local_idx.
13035
13036 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13037 variables.
13038
52283633 13039 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13040
13041 * data.c (do_symval_forwarding, store_symval_forwarding)
13042 (find_symbol_value, set_internal, default_value, Fset_default)
13043 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13044 per-buffer variables.
13045
13046 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13047
9a0dd3dc
GM
130482000-03-24 Gerd Moellmann <gerd@gnu.org>
13049
b68c375f
GM
13050 * xterm.c (x_term_init): Unblock input around call1 of
13051 Qvendor_specific_keysyms.
13052
9a0dd3dc
GM
13053 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13054 (find_defun_start): Consider an open parenthesis in column 0
13055 a defun start only if open_paren_in_column_0_is_defun_start is set.
13056 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13057
7973e637
SM
130582000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13059
13060 * eval.c (Fautoload): Add entry in load-history (if after dump).
13061 * lread.c (load-history): Update docstring.
13062
39210e90
GM
130632000-03-24 Gerd Moellmann <gerd@gnu.org>
13064
13065 * indent.c (Fvertical_motion): Always use the current buffer.
13066 Temporarily change the window's buffer, if necessary.
13067
72db3ab5
GM
130682000-03-23 Gerd Moellmann <gerd@gnu.org>
13069
13070 * xterm.c (fast_find_position): Make sure not to consider rows
13071 not visible in the window.
13072
990b2375
SM
130732000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13074
13075 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13076 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13077
ff4df011
JR
130782000-03-22 Jason Rumney <jasonr@gnu.org>
13079
13080 * w32menu.c (single_submenu): Set help string to NULL if none.
13081 (w32_menu_show): Set help string correctly.
13082 (add-menu-item): Set help string in MIIM_DATA for menu item.
13083 Load SetMenuItemInfoA explicitly.
13084 (w32_menu_display_help): New function.
427ec082 13085
ff4df011
JR
13086 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13087 (QCdata): Moved to xdisp.c.
13088
13089 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13090 (Vw32_charset_to_codepage_alist): Removed.
13091 (Vw32_charset_info_alist): New variable.
52283633
SM
13092 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13093 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13094 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13095 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13096 with TODO comment.
13097 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13098 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13099 Define Vw32_charset_info_alist and w32_charset symbols.
13100
131012000-03-22 Jason Rumney <jasonr@gnu.org>
13102
13103 * makefile.nt (w32bdf.obj): Update dependencies.
13104
13105 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13106
13107 * w32fns.c: Include fontset.h after dispextern.h.
13108 (Fx_create_frame): Do not create fontset.
13109 (w32_load_system_font): Doc fix.
13110 (Fx_close_connection): Free full_name if it is not shared.
13111
13112 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13113 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13114 Callers updated.
ff4df011
JR
13115 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13116 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13117 (w32_font_is_double_byte): New function, needs body.
13118 (x_append_glyph): Set glyph->glyph_not_available_p.
13119 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13120 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13121 character, convert it to a unibyte character.
13122 (struct glyph_string): Delete member `charset'.
13123 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13124 calculating it is found.
13125 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13126 the case that per char metric is not available correctly.
13127 (x_fill_glyph_string): Handle the case that the specific glyph is
13128 not available correctly.
13129 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13130 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13131 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13132 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13133 fontset. Don't call FS_LOAD_FONT.
13134
439d5cb4
KR
131352000-03-22 Ken Raeburn <raeburn@gnu.org>
13136
13137 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13138 (INT_LISPLIKE): New macro.
13139 (NULL_INTERVAL_P): Use it.
52283633
SM
13140 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13141 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13142 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13143
13144 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13145 explicit references to "parent" field of struct interval and
13146 associated unclean type conversions.
52283633
SM
13147 * intervals.c (create_root_interval, root_interval, rotate_right)
13148 (rotate_left, balance_possible_root_interval, split_interval_right)
13149 (split_interval_left, interval_start_pos, find_interval)
13150 (next_interval, previous_interval, update_interval)
13151 (adjust_intervals_for_insertion, delete_node, delete_interval)
13152 (adjust_intervals_for_deletion, merge_interval_right)
13153 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13154 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13155 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13156 Likewise.
13157 * syntax.c (update_syntax_table): Likewise.
13158
13159 * intervals.c (reproduce_tree_obj): New function, like
13160 reproduce_tree but takes a Lisp_Object for the parent. Declare
13161 with prototype.
13162 (graft_intervals_into_buffer): Use it when appropriate.
13163 (reproduce_tree): Declare with prototype.
13164 (balance_possible_root_interval): Check that the parent is a lisp
13165 object before trying to examine its type.
13166
ee1c5b21
GM
131672000-03-22 Gerd Moellmann <gerd@gnu.org>
13168
13169 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13170 as strings only if both are known to be strings.
13171
13172 * s/openbsd.h (LIBS_TERMCAP): Undef.
13173
1fb352e0
SM
131742000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13175
13176 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13177 definitions for non-Emacs compilation.
13178 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13179 outside of `#ifdef emacs'.
13180 (print_partial_compiled_pattern): Update.
13181 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13182 (re_compile_fastmap): Merge handling of charset and charset_not (for
13183 emacs and non-emacs compilation as well).
13184 Similarly for (not)categoryspec and (not)syntaxspec.
13185 Don't use the fastmap when reaching `anychar' since the added
13186 complexity is not justified.
13187 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13188 and (not)syntaxspec. Merge (not)categoryspec.
13189
fdaa1f77
KH
131902000-03-22 Kenichi Handa <handa@etl.go.jp>
13191
52283633
SM
13192 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13193 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13194 --without-x.
fdaa1f77 13195
d152fb46
DL
131962000-03-21 Dave Love <fx@gnu.org>
13197
13198 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13199 doc string.
13200
d2cafc8c
GM
132012000-03-21 Gerd Moellmann <gerd@gnu.org>
13202
13203 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13204 (lface_fully_specified_p): Don't check contents of
13205 LFACE_FONT_INDEX because that attribute is optional.
13206 (realize_x_face): Remove now unwarranted xassert.
13207
9111d4b5
KH
132082000-03-21 Kenichi HANDA <handa@etl.go.jp>
13209
13210 The following changes are to make font selection based on
13211 characters, not charset. In addition, they recover fontset
13212 facilities while utilizing the new font selection mechanism.
13213
6c4bfdc0
KH
13214 * Makefile.in (fontset.o): Depend on dispextern.h.
13215
13216 * alloc.c (mark_face_cache): Don't mark face->registry.
13217
9111d4b5
KH
13218 * dispextern.h (struct glyph): New member glyph_not_available_p.
13219 Use 22 bits for face_id.
13220 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13221 (struct face): Delete member registry, new member ascii_face.
13222 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13223 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13224 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13225 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13226
13227 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13228 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13229 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13230 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13231 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13232 (fs_free_face_fontset, fontset_font_pattern)
13233 (face_suitable_for_char_p, face_for_char)
13234 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13235 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13236 (FS_LOAD_FACE_FONT): New macro.
13237
13238 * fontset.c: All codes rewritten or adjusted for the change of
13239 fontset implementation. Now fontset is represented by char table.
52283633
SM
13240 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13241 Variables removed.
9111d4b5 13242 (my_strcasecmp): Function removed.
52283633 13243 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13244 (AREF, ASIZE): New macros.
52283633
SM
13245 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13246 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13247 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13248 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13249 (fontset_id_valid_p, font_family_registry, fontset_name)
13250 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13251 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13252 New functions.
13253 (fs_load_font): New arg FACE. Caller changed.
13254 (fs_query_fontset): Argument changed. Caller changed.
13255 (Fquery_fontset): call fs_query_fontset.
13256 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13257 Functions removed.
52283633
SM
13258 (clear_fontset_elements, check_registry_encoding)
13259 (check_fontset_name): New functions.
9111d4b5
KH
13260 (syms_of_fontset): Set char-table-extra-slots property of fontset
13261 to 3. Staticpro and initialize Vfontset_table and
13262 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13263
13264 * frame.h (struct frame): Member `fontset_data' removed.
13265 (FRAME_FONTSET_DATA): Macro removed.
13266
13267 * frame.c (make_frame): Don't allocate f->fontset_data.
13268 (Fdelete_frame): Don't free f->fontset_data.
13269
6c4bfdc0
KH
13270 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13271
9111d4b5
KH
13272 * xdisp.c (charset_at_position): Function removed.
13273 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13274 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13275 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13276 Likewise.
13277 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13278 FACE_FOR_CHARSET.
52283633
SM
13279 (get_next_display_element, append_space)
13280 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13281
13282 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13283 Variables removed.
13284 (clear_font_table, frame_update_line_height, load_face_font):
13285 Adjusted for the change of fontset implementation.
13286 (load_face_fontset_font): Function removed.
13287 (pixel_point_size): New function.
13288 (font_list): Argument type changed. Caller changed.
13289 (LFACE_FONT): New macro.
13290 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13291 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13292 Lisp_Object. Determine the font name by actually loading a font
13293 by the specified pattern. Set LFACE_FONT (lface) to the specified
13294 pattern. Even if a font is not found, don't try alternatives.
13295 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13296 (set_font_frame_param): If `font' is specified in lface, use it.
13297 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13298 (lface_same_font_attributes_p): Likewise.
13299 (make_realized_face): Arguent changed. Caller changed. Set
13300 face->ascii_face to face itself.
13301 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13302 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13303 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13304 (free_realized_multibyte_face): New function.
13305 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13306 changed. Caller changed.
13307 (try_font_list): Argument type changed.
13308 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13309 (choose_face_font): Argument changed. Handle fontset properly.
13310 (choose_face_fontset_font): Function removed.
13311 (realize_default_face, realize_named_face): Don't remove the
13312 former face here.
13313 (realize_face): Argument changed. Caller changed. Remove face
52283633 13314 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13315 (realize_x_face): Argument changed. Caller changed. For a
13316 multibyte character, share fontset with base_face. For a single
52283633 13317 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13318 (realize_tty_face): Argument changed. Caller changed.
13319 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13320 (face_at_buffer_position): Don't check multibyte_p for returning
13321 DEFAULT_FACE_ID.
13322 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13323 FACE_SUITABLE_FOR_CHARSET_P.
13324 (syms_of_xfaces): Remove code for Qx_charset_registry and
13325 Vface_default_registry.
13326
6c4bfdc0
KH
13327 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13328 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13329 (x_per_char_metric): Don't try FONT->default_char. Even if
13330 pcm->width is zero, glyph bits may exist.
13331 (x_encode_char): Always initialize char2b->byte1.
13332 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13333 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13334 (x_append_glyph): Set glyph->glyph_not_available_p.
13335 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13336 it->charset. Handle the case that per char metric is not
13337 available. If it->multibyte_p is zero and it->c is a multibyte
13338 character, convert it to a unibyte character.
13339 (struct glyph_string): Delete member `charset'.
13340 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13341 the case that per char metric is not available correctly.
13342 (x_fill_glyph_string): Handle the case that the specific glyph is
13343 not available correctly.
13344 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13345 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13346 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13347 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13348 fontset. Don't call FS_LOAD_FONT.
13349
13350 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13351 (x_create_tip_frame): Likewise.
13352 (Fx_close_connection): Free full_name of font_info.
13353
13354 * fns.c (optimize_sub_char_table): New function.
13355 (Foptimize_char_table): New function.
13356 (syms_of_fns): Defsubr Soptimize_char_table.
13357
b33dd3b0
GM
133582000-03-20 Gerd Moellmann <gerd@gnu.org>
13359
13360 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13361 only if buffer is displayed in some window.
13362
13363 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13364 (try_window_reusing_current_matrix): Don't call scroll run
13365 function if run's current and desired position are the same;
13366 this prevents cursor flickering.
13367
4e8a9132
SM
133682000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13369
13370 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13371
13372 * regex.c (RE_STRING_CHAR): New macro.
13373 (GET_CHAR_AFER_2): Remove.
13374 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13375 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13376 (print_partial_compiled_pattern, re_compile_fastmap)
13377 (re_match_2_internal): Remove on_failure_jump_exclusive.
13378 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13379 optimization only need to work for * (ie. can use of_keep_string_jump).
13380 Remove the special case for .*\n since it is now covered by the general
13381 optimization.
13382 (re_search_2): Don't bother with `room'.
13383 (skip_one_char): New function.
13384 (skip_noops): Simplify since `memory' is not needed any more.
13385 (mutually_exclusive_p): Restructure slightly to use `switch' and
13386 add handling for "all" remaining cases.
13387 (re_match_2_internal): Change on_failure_jump_smart to use
13388 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13389 rather than on_failure_jump_exclusive.
13390
2136fdd4
GM
133912000-03-19 Gerd Moellmann <gerd@gnu.org>
13392
13393 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13394 number of bits per RGB because it's everywhere used as the depth
13395 of the visual.
13396
13397 * term.c (calculate_costs): Remove code dealing with X frames.
13398
18e21ce8 133992000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13400
13401 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13402
d7b511c4
GM
134032000-03-18 Gerd Moellmann <gerd@gnu.org>
13404
13405 * lread.c (read_integer): Unread the last char not consumed.
13406
16b5d424
GM
134072000-03-17 Gerd Moellmann <gerd@gnu.org>
13408
13409 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13410 which are in the process of being deleted.
16b5d424 13411
1fa28578
GM
134122000-03-16 Gerd Moellmann <gerd@gnu.org>
13413
83488cce
GM
13414 * Makefile.in (mostlyclean): Add `*.core'.
13415 (clean): Add `bootstrap-emacs'.
13416
1fa28578
GM
13417 * lread.c (read_integer): New function.
13418 (read1): Support read syntax #o, #x, #b, #r.
13419
99633e97
SM
134202000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13421
1fa28578
GM
13422 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13423 make sure POINTER_TO_OFFSET gives the same value before and after
13424 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13425 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13426 (debug): Now only active if > 0 rather than if != 0.
13427 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13428 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13429 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13430 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13431 (store_op1, store_op2, insert_op1, insert_op2)
13432 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13433 (group_in_compile_stack): Move to after its arg's types are
13434 declared and add a prototype.
99633e97 13435 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13436 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13437 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13438 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13439 indentation of the greedy-op and shy-group code.
99633e97
SM
13440 (at_(beg|end)line_loc_p): Fix argument's types.
13441 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13442 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13443 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13444 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13445 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13446 QUIT unconditionally.
99633e97 13447
699238d9
GM
134482000-03-15 Gerd Moellmann <gerd@gnu.org>
13449
13450 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13451 a sole completion.
13452
13453 * process.c (send_process): Add a hint that the function
13454 can call Lisp code to its comment.
13455
13456 * lread.c (load_dangerous_libraries): New variable.
13457 (Vbytecomp_version_regexp): New variable.
13458 (safe_to_load_p): New function.
13459 (Fload): Handle files not compiled with Emacs specially.
13460 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13461
34e23e5a
GM
134622000-03-14 Gerd Moellmann <gerd@gnu.org>
13463
9c763cca
GM
13464 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13465
13466 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13467 support functions only if HAVE_X11R6_XIM is defined.
13468 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13469
13470 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13471
13472 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13473 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13474 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13475
13476 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13477 (HAVE_X11R6_XIM): Define.
13478
13479 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13480
34e23e5a
GM
13481 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13482 If set, call XSynchronize.
13483
66f0296e
SM
134842000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13485
34e23e5a
GM
13486 * regex.c: Declare a new type `re_char' used throughout the code
13487 for the string char type. It's `const unsigned char' to match the
13488 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13489 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13490 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13491 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13492 code duplication.
66f0296e
SM
13493
13494 * charset.h (GET_CHAR_AFTER_2): Remove.
13495 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13496
854a025c
KR
134972000-03-12 Ken Raeburn <raeburn@gnu.org>
13498
13499 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13500 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13501 of them try to use backquotes.
13502
b9d2c7e2
DL
135032000-03-12 Dave Love <fx@gnu.org>
13504
13505 * unexelf.c: Restore changes of 1999-10-19.
13506 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13507 fix its type and alignment; copy it from current process.
13508
5e5dff44
GM
135092000-03-12 Gerd Moellmann <gerd@gnu.org>
13510
9b2f3c38
GM
13511 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13512 has been found. Fix bug not computing timer's predecessor.
13513
427ec082 13514 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13515 file name.
13516
e1cff360
GM
13517 * window.c (Fsave_window_excursion): Doc fix.
13518
52283633 13519 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13520
e411ce4b
EZ
135212000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13522
13523 * msdos.c (vga_installed): New function, code moved from
13524 dos_set_window_size.
13525 (Qbar, Qcursor_type, outside_cursor): New variables.
13526 (syms_of_msdos): Intern and staticpro them.
13527 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13528 shape used outside Emacs when called for the first time.
13529 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13530 cursor shape used outside Emacs.
13531 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13532 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13533 type has changed.
13534 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13535 parameters specify the cursor. Make qreverse a global
13536 variable (renamed to Qreverse).
13537
80460654
GM
135382000-03-09 Gerd Moellmann <gerd@gnu.org>
13539
13540 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13541
95cd4c40
SM
135422000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13543
13544 This is a big redesign of failure-stack and register handling, prompted
13545 by bugs revealed when trying to add shy-groups. Overall, what happened
13546 is that loops are now structured a little differently, groups can be
13547 shy and the code is a little simpler.
13548
13549 * regex.h: Update the copyright.
13550 (RE_SHY_GROUPS): New value.
13551 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13552 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13553
80460654
GM
13554 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13555 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13556 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13557 for (start|stop)_memory since they now only take one argument (the
13558 second has becomes unnecessary).
52283633 13559 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13560 (print_compiled_pattern): Use %ld to printf long ints and flush to
13561 make debugging a little easier.
95cd4c40
SM
13562 (union fail_stack_elt): Make the integer unsigned.
13563 (struct fail_stack_type): Add a `frame' element.
13564 (INIT_FAIL_STACK): Init `frame' as well.
13565 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13566 (DEBUG_PUSH, DEBUG_POP): Remove.
13567 (NUM_REG_ITEMS): Remove.
13568 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13569 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13570 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13571 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13572 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13573 New macros.
80460654
GM
13574 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13575 address pushed is not the destination of the jump but the source
13576 of it instead.
95cd4c40
SM
13577 (NUM_FAILURE_ITEMS): Remove.
13578 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13579 registers before the actual failure point). Don't hardcode any
13580 meaning for str==NULL anymore.
95cd4c40 13581 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13582 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13583 Remove.
95cd4c40
SM
13584 (REG_UNSET_VALUE): Use NULL (why not?).
13585 (compile_range): Remove declaration since it doesn't exist.
13586 (struct compile_stack_elt_t): Remove inner_group_offset.
13587 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13588 (regex_grow_registers): Remove dead code.
13589 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13590 (regex_compile): Add shy-groups Change loops to use
13591 on_failure_jump_smart&jump instead of
13592 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13593 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13594 variable to me). Use `jump' instead of `jump_past_alt' and don't
13595 bother with push_dummy_failure in alternatives since it is now
13596 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13597 emacs' for (re)allocating the stack.
13598 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13599 from loop when bufp->can_be_null rather than jumping to `done'.
13600 Avoid jumping backwards so as to ensure termination. Use
13601 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13602 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13603 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13604 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13605 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13606 (lowest_active_reg, highest_active_reg)
13607 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13608 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13609 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13610 variables. Push register (in `start_memory') on the stack rather
13611 than storing it in old_reg(start|end). Remove the cycle detection
13612 from `stop_memory', replaced by the use of on_failure_jump_loop
13613 for greedy loops. Add code for the new on_failure_jump_<foo>.
13614 Remove ad-hoc code in `on_failure_jump' to push more registers in
13615 the case of a loop. Take out code from `maybe_pop_jump' into
13616 separate functions and adapt it to the semantics of
13617 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13618 and push_dummy_failure. Remove dummy_failure handling and
13619 handling of `failures to jump to on_failure_jump' (this last one
13620 was already dead code, it seems).
13621 (group_match_null_string_p, alt_match_null_string_p)
13622 (common_op_match_null_string_p): Remove.
95cd4c40 13623
7397acc4
DL
136242000-03-08 Dave Love <fx@gnu.org>
13625
13626 * config.in: Don't depend on __STDC__ for volatile.
13627 Add POINTER_TYPE, PTR, PROTOTYPES.
13628
13629 * hftctl.c, strftime.c: Use PROTOTYPES.
13630 * eval.c (find_handler_clause): Likewise.
13631
13632 * mem-limits.h: Use POINTER_TYPE.
13633
13634 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13635 (memory_warnings): Declare using POINTER_TYPE.
13636
5e91ff9e
GM
136372000-03-08 Gerd Moellmann <gerd@gnu.org>
13638
feab4fba
GM
13639 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13640
52283633 13641 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13642
5e91ff9e
GM
13643 * xfns.c: Remove obsolete code in #if 0.
13644 (Fx_focus_frame): New function.
13645
a735b7e1
KH
136462000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13647
13648 * coding.c (coding_category_name): Add coding-category-utf-8,
13649 coding-category-utf-16-be, coding-category-utf-16-le.
13650 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13651 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13652 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13653 (detect_coding_utf_8): New function.
13654 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13655 UTF_16_LOW_SURROGATE_P): New macros.
13656 (detect_coding_utf_16): New function
13657 (detect_coding_mask): When priorities are specified, skip any
13658 categories that have `nil' coding-system. Fix bug of returning
13659 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13660 returns a mask not set in PRIORITIES.
13661 (detect_eol_type_in_2_octet_form): New function.
13662 (detect_eol): selects detect_eol_type_XXX to call according to
13663 cooding->category_idx.
13664 (detect_coding_system): Remove `nil' coding-system in the result.
13665 (Fupdate_coding_systems_internal): Update all coding-categories.
13666
52283633
SM
13667 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13668 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13669 New macros.
13670 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13671 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13672 (CODING_CATEGORY_IDX_UTF_16_LE)
13673 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13674 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13675 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13676 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13677
9994cc69
GM
136782000-03-07 Gerd Moellmann <gerd@gnu.org>
13679
e9b4e5ff
GM
13680 * doc.c (Fdocumentation_property): If value is not a string,
13681 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13682
f7daf1e1
GM
13683 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13684 close the display with XtCloseDisplay. This caused a bus error
13685 on OpenWindows.
13686
9994cc69
GM
13687 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13688 complete but not unique.
13689
4336c705
GM
136902000-03-06 Gerd Moellmann <gerd@gnu.org>
13691
18bb0684
GM
13692 * process.c (send_process): Remove local variable `procname' that
13693 might become invalid when a GC happens. Instead, access the
13694 process name slot directly.
13695
4336c705
GM
13696 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13697 orig_height if set.
13698
13699 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13700 orig_height if set.
13701
515d0d0e
EZ
137022000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13703
13704 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13705 glyph matrices have been freed.
13706
100b3cbb
GM
137072000-03-05 Gerd Moellmann <gerd@gnu.org>
13708
50df5e5a 13709 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13710 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13711
13712 * xfns.c (QCdata): Moved to xdisp.c.
13713
13714 * xdisp.c (QCdata): Moved here from xfns.c.
13715 (syms_of_xdisp): Initialize QCdata.
13716
13717 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13718
13719 * window.c (coordinates_in_window): Use
13720 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13721 FRAME_INTERNAL_BORDER_WIDTH.
13722
100b3cbb 13723 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13724 it is obviously invalid.
100b3cbb
GM
13725
13726 * xterm.c (x_term_init): Create a colormap if not using the
13727 default visual.
13728
13729 * xterm.h (select_visual): Change prototype.
13730
13731 * xfns.c (select_visual): Rewritten. Recognize user-specified
13732 visual classes.
13733 (visual_classes): New variable.
13734
64d739c4
GM
137352000-03-04 Gerd Moellmann <gerd@gnu.org>
13736
13737 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13738 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13739 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13740 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13741 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13742 XtNcolormap resources.
13743 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13744 (Fx_create_frame): Initialize color members of x_output structure.
13745 (xpm_load): Pass colormap to XPM lib.
13746
13747 * xfaces.c (x_free_colors): Access colormap of frame using
13748 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13749 when default colormap is used.
13750
13751 * xterm.c (x_term_init): Set Colormap member of x_display_info
13752 structure. Copy colormap if resource `privateColormap' is
13753 specified (PseudoColor only).
13754 (x_setup_relief_color): Access colormap of frame using
13755 FRAME_X_COLORMAP.
13756
13757 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13758 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13759
c3cee013
JR
137602000-03-04 Jason Rumney <jasonr@gnu.org>
13761
13762 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13763 other non-platform-specific equivalents.
64d739c4 13764 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13765 specific functions and macros as their w32 equivalents where
13766 non-platform-specifics are not available.
13767 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13768 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13769 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13770 (frame_update_line_height): Use macros to access f->output_data.
13771 (defined_color): Remove FIXME comments; fixed.
13772 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13773 into #ifdef blocks. Add WINDOWSNT blocks.
13774 (Fx_list_fonts): Use macros for accessing font data.
13775 (set_lface_from_font_name): Different default fonts for X and
13776 WINDOWSNT.
13777 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13778 scalable for backward compatibility.
64d739c4 13779 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13780 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13781
64d739c4 13782 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13783 syms_of_w32faces.
13784
13785 * makefile.nt (w32faces.obj): Remove.
13786 (xfaces.obj): Add.
13787
807cc41c
JR
137882000-03-03 Jason Rumney <jasonr@gnu.org>
13789
13790 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13791 correct parameters.
13792
0007072a
KR
137932000-03-03 Ken Raeburn <raeburn@gnu.org>
13794
13795 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13796 standard ELF definitions here if the system header does not.
13797
71a6ba55
GM
137982000-03-03 Gerd Moellmann <gerd@gnu.org>
13799
13800 * xterm.c (PER_CHAR_METRIC): Removed.
13801 (x_per_char_metric_1, x_default_char): New functions.
13802 (x_per_char_metric): If font's default char is invalid, return
13803 metrics of a suitably chosen usable default char.
13804 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13805 char, replace occurrences of unprintable chars with a suitably
13806 chosen usable default char.
71a6ba55 13807
900fa1f1
GM
138082000-03-02 Gerd Moellmann <gerd@gnu.org>
13809
42f55fe0
GM
13810 * xterm.c (note_mouse_highlight): Return quickly if frame's
13811 glyph matrices have been freed.
13812
13813 * dispnew.c (free_glyphs): Block input while freeing matrices.
13814
900fa1f1
GM
13815 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13816
52283633
SM
13817 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13818 Use x_free_colors.
900fa1f1
GM
13819
13820 * dispextern.h (x_free_colors): Add prototype.
13821
13822 * xfaces.c (x_free_colors): New function.
13823 (unload_color, free_face_colors): Use it.
13824
2f950292
EZ
138252000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13826
13827 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13828
13829 * window.c [MSDOS]: Include msdos.h.
13830
54d04320
DL
138312000-03-02 Dave Love <fx@gnu.org>
13832
13833 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13834
13835 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13836 set C_OPTIMIZE_SWITCH for gcc.
13837
0ba93ac4
KH
138382000-03-02 Kenichi Handa <handa@etl.go.jp>
13839
13840 * coding.c (coding_save_composition): Be sure to allocate
13841 composition data area in coding even if there's no composition in
13842 the current run.
13843
a2bc11d4
JR
138442000-03-01 Jason Rumney <jasonr@gnu.org>
13845
13846 * w32term.c: Equivalent changes to those made to xterm.c on
13847 2000-02-25 and 2000-02-24.
13848
13849 * w32fns.c: Equivalent changes to those made to xfns.c on
13850 2000-02-25 and 2000-02-21.
13851
13852 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13853 correct line-end convention is followed.
13854
13855 * w32menu.c [HAVE_BOXES]: Remove #undef.
13856 (single_keymap_panes): Remove code for simulating checkmarks.
13857 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13858 Remove code for drawing simulated checkmarks.
13859 (w32_menu_show): make unibyte help string correctly.
13860 (add_menu_item): draw standard Windows checkmarks. Draw radio
13861 buttons as radio buttons if possible.
13862
72d19d75
GM
138632000-03-01 Gerd Moellmann <gerd@gnu.org>
13864
2df636f4
GM
13865 * sysdep.c (start_of_text): Don't define this function for NetBSD
13866 with ELF.
13867
427ec082 13868 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13869 Don't define.
13870 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13871 (LINKER): Don't undef if __NetBSD__ is defined.
13872
13873 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13874
13875 * fileio.c [__NetBSD__]: Define `unix'.
13876
72d19d75
GM
13877 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13878
ed4d0512
GM
138792000-02-29 Gerd Moellmann <gerd@gnu.org>
13880
50b1039f
GM
13881 * atimer.c (start_atimer): Don't abort when timers are stopped.
13882 (append_atimer_lists): New function.
13883 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13884 arbitrary lists of stopped and running atimers.
13885
ed4d0512
GM
13886 * atimer.c (cancel_atimer): Handle canceling an atimer when
13887 some timers are stopped.
13888
13889 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13890 after canceling it.
13891
13892 * fns.c (maybe_resize_hash_table): Handle case of new size
13893 coming out as being the same as old size.
13894
387023ee
JR
138952000-02-27 Jason Rumney <jasonr@gnu.org>
13896
13897 * makefile.nt: Add atimer.h to dependencies.
13898 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13899 * w32console.c: Only disable window system features for dispextern.h
13900 (initialize_w32_display): Build a display info for the console.
13901 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13902 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13903 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13904 as 2 button mice.
13905 * w32gui.h (struct W32FontStruct): Revert last change after change
13906 to xdisp.c.
13907 * w32menu.c (single_submenu): Set up help string.
13908 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13909 (w32_dialog_show): Set up help string.
13910 * w32term.c (w32_display_info_for_display): Remove unused function.
13911 (w32_draw_bitmap): Use pre-built bitmaps.
13912 (w32_initialize_display_info): New function to initialize parts of
13913 display info that are common to both GUI and console frames.
13914 (w32_term_init): Use w32_initialize_display_info. Do not set
13915 Vw32_num_mouse_buttons here, as it is not called for console
13916 frames. Build bitmaps for indicating truncated lines etc.
13917 (x_delete_display): Destroy pre-built bitmaps.
13918 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13919 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13920
4516715a
DL
139212000-02-27 Dave Love <fx@gnu.org>
13922
13923 * lisp.h: Add a bunch of prototypes.
13924
171ca836
KH
139252000-02-26 Kenichi Handa <handa@etl.go.jp>
13926
13927 * keyboard.c (read_char): Set `usec' correctly.
13928
4013921d
KH
139292000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13930
13931 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13932 `lambda', set reg[RRR] to the map index.
13933 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13934 reg[RRR] to 0. Otherwise, set it to -1.
13935
9244a058
GM
139362000-02-25 Gerd Moellmann <gerd@gnu.org>
13937
2df636f4 13938 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13939
18e21ce8 139402000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13941
f43d79c1
GM
13942 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13943 and contains a `:', prepend `/:'.
13944
13945 * window.c (select_window_1): If selected_window is nil,
13946 don't "swap out" the buffer's point.
13947 (Fset_window_configuration): Set selected_window to nil
13948 before calling Fselect_window.
13949 (unshow_buffer): Don't set point in buffer from window's point
13950 if another more recently selected window also shows the buffer.
13951
bed0c171
GM
139522000-02-25 Gerd Moellmann <gerd@gnu.org>
13953
449c3c52
GM
13954 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13955
f5b58615
GM
13956 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13957 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13958 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13959 New variables.
f5b58615
GM
13960 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13961 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13962 (hide_busy_cursor): New functions.
13963 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13964
13965 * minibuf.c (read_minibuf): Cancel busy-cursor.
13966
13967 * keyboard.c (command_loop_1): Call start_busy_cursor before
13968 Fcommand_execute and cancel_busy_cursor after it.
13969 (timer_check): Remove busy-cursor code.
13970 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13971 cursor timer.
13972
13973 * process.c (wait_reading_process_input): Remove busy-cursor code.
13974
13975 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13976 Fx_hide_busy_cursor.
13977
13978 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13979 Remove prototyoes.
13980 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13981
13982 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13983
13984 * xterm.c (XTread_socket): Remove busy-cursor code.
13985
4eb8436f
GM
13986 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13987 (build_frame_matrix_from_leaf_window): Put code handling
13988 glyph row's not being a slice of a frame row in #if 0.
13989 (sync_window_with_frame_matrix_rows): New function.
13990 (frame_row_to_window): New function.
13991 (mirror_line_dance): Handle copies between windows.
13992
3cb65b0e
GM
13993 * lread.c (Fload): Use `xfree' instead of `free'.
13994 (init_obarray): Use `xmalloc' instead of `malloc'.
13995
bed0c171
GM
13996 * window.c (Fset_window_buffer): Set WINDOW to the window
13997 after decoding.
2add4349
GM
13998 (coordinates_in_window): Take frame's internal border width
13999 into account.
bed0c171 14000
42088c12
GM
140012000-02-24 Gerd Moellmann <gerd@gnu.org>
14002
14003 * xterm.c (x_display_and_set_cursor): Display cursor of
14004 non-selected windows depending on the setting of
14005 cursor_in_non_selected_windows.
14006
14007 * xdisp.c (cursor_in_non_selected_windows): New variable.
14008 (syms_of_xdisp): DEFVAR_BOOL it.
14009
d1e103b2
GM
140102000-02-23 Gerd Moellmann <gerd@gnu.org>
14011
723e779c
GM
14012 * data.c (Fstring_to_number): If number is greater than what
14013 fits into an integer, return a float.
14014
d1e103b2
GM
14015 * eval.c (specbind): Remove references to
14016 keyword_symbols_constant_flag.
14017
14018 * data.c (keyword_symbols_constant_flag): Removed.
14019 (Fmakunbound, set_internal, syms_of_data): Remove references to
14020 keyword_symbols_constant_flag.
14021
14022 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14023
214f877f
KH
140242000-02-23 Kenichi Handa <handa@etl.go.jp>
14025
14026 * syntax.c (multibyte_syntax_as_symbol): New variable.
14027 (syms_of_syntax): Declare it as a Lisp variable.
14028 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14029 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14030 nonzero, treat all multibyte characters as symbol.
52283633 14031 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14032
130adcb7
EZ
140332000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14034
3cb65b0e 14035 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14036 a deleted frame.
130adcb7 14037
17cbbf95
GM
140382000-02-21 Gerd Moellmann <gerd@gnu.org>
14039
14040 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14041
14042 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14043 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14044
beb0bc36
DL
140452000-02-21 Dave Love <fx@gnu.org>
14046
14047 * frame.c (Vmouse_position_function): New variable.
14048 (Fmouse_position): Use it.
14049 (syms_of_frame): Install it.
14050
14051 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14052
1d92afcd
GM
140532000-02-20 Gerd Moellmann <gerd@gnu.org>
14054
14055 * fileio.c (Finsert_file_contents): Unbind the binding of
14056 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14057
14058 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14059 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14060 (specbind, unbind_to): Handle most common case of non-constant
14061 symbol with trivial value specially.
14062
14063 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14064
18e21ce8 140652000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14066
14067 * data.c (Fmake_variable_buffer_local): Doc fix.
14068 Init found_for_buffer to 0.
14069 (Fmake_variable_frame_local): If the variable has already
14070 been buffer-local, set the check_frame field.
14071
1d4311c3
EZ
140722000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14073
14074 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14075 produced for CODING_MODE_LAST_BLOCK requires.
14076
2dc95ddd
DL
140772000-02-18 Dave Love <fx@gnu.org>
14078
14079 * keyboard.c (echo_keystrokes): Remove declaration.
14080 (Vecho_keystrokes) New variable.
14081 (read_char, record_menu_key, read_key_sequence): Use it to allow
14082 use of float value.
14083 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14084
14085 * lread.c: Undef feature selection macros before defining.
14086
f0930f35
GM
140872000-02-18 Gerd Moellmann <gerd@gnu.org>
14088
14089 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14090 for symbols other than the symbol in question.
14091
e3d4de90
DL
140922000-02-17 Dave Love <fx@gnu.org>
14093
14094 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14095
0b378936
GM
140962000-02-17 Gerd Moellmann <gerd@gnu.org>
14097
d621caf7
GM
14098 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14099
0b378936
GM
14100 * alloc.c (enum mem_type): Compile unconditionally.
14101
3b451f74
EZ
141022000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14103
14104 * xfaces.c (tty_defined_color): Don't return faulire indication
14105 for unspecified-fg and unspecified-bg pseudo-colors.
14106
10689a01
GM
141072000-02-17 Gerd Moellmann <gerd@gnu.org>
14108
1216f5e4
GM
14109 * alloc.c (mark_object): Don't mark symbol names in pure space.
14110 (gc_sweep): Don't unmark symbol names in pure space.
14111
14112 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14113 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14114 [GC_MARK_STACK]: New defines.
427ec082 14115 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14116 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14117
14118 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14119
14120 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14121 allocate_buffer instead of xmalloc.
14122
14123 * alloc.c (toplevel): Include setjmp.h.
14124 (PURE_POINTER_P): New define.
14125 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14126 (Vdead) [GC_MARK_STACK]: New variable.
14127 (lisp_malloc): Add parameter TYPE, call mem_insert if
14128 GC_MARK_STACK is defined.
14129 (allocate_buffer): New function.
427ec082 14130 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14131 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14132 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14133 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14134 (MEM_NIL) [GC_MARK_STACK]: New define.
14135 (struct mem_node) [GC_MARK_STACK]: New structure.
14136 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14137 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14138 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14139 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14140 (mark_stack) [GC_MARK_STACK]: New functions.
14141 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14142 (clear_marks): Removed.
14143 (gc_sweep): Set free conses' car, free floats' type, free
14144 symbols' function to Vdead. Use lisp_free to free buffers.
14145 (init_alloc_once): Initialize Vdead.
14146 (survives_gc_p): Return non-zero for pure objects.
14147
14148 * alloc.c: Add comments throughout the file.
14149
2503c8b1
GM
14150 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14151 that unblocks alarms.
14152
8389e1e2
GM
14153 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14154 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14155 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14156
10689a01 14157 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14158
bfc17d18
KH
141592000-02-17 Kenichi Handa <handa@etl.go.jp>
14160
4a09dee0
KH
14161 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14162 avoid infinite error signaling. Allocate sufficient memory for
14163 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14164
2b927d02
SM
141652000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14166
14167 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14168 depends on the previous behavior.
14169
b49cb764
GM
141702000-02-16 Gerd Moellmann <gerd@gnu.org>
14171
14172 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14173
99e95407
GM
141742000-02-15 Gerd Moellmann <gerd@gnu.org>
14175
14176 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14177
14178 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14179 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14180 write(2).
14181
6ffd3cf7
RS
141822000-02-15 Richard M. Stallman <rms@gnu.org>
14183
14184 * data.c (set_internal): Don't make variable buffer-local
14185 if within a let-binding for the same buffer.
14186 (let_shadows_buffer_binding_p): New function.
14187
14188 * eval.c (specbind): For buffer-local value,
14189 record the current buffer also.
14190 (unbind_to): Cope with that change.
14191
cad53475
GM
141922000-02-15 Gerd Moellmann <gerd@gnu.org>
14193
14194 * window.c (Fsave_window_excursion): Doc fix.
14195
1aa963c8
SM
141962000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14197
14198 * syntax.c (back_comment): Make sure we only consider comment-starters
14199 of the relevant style and return -1 in case of a failure to find the
14200 beginning of the comment.
14201 (Fforward_comment): If back_comment fails, go back to the position just
14202 after the comment-end.
14203 (scan_lists): Add comment describing a very minor bug.
14204
b9b84fd3
SM
142052000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14206
14207 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14208 `completion-regexp-list' in the docstring.
14209
3a28db80
DL
142102000-02-14 Dave Love <fx@gnu.org>
14211
14212 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14213
fb4a568d
SM
142142000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14215
14216 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14217 to Emacs' syntax. Also fix the comment about set/not-set meanings
14218 since Emacs syntax is not the value 0 any more.
14219 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14220 since it's now part of RE_SYNTAX_EMACS.
14221
1063ebb5
DL
142222000-02-12 Dave Love <fx@gnu.org>
14223
52283633 14224 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14225
fb07a302
GM
142262000-02-12 Gerd Moellmann <gerd@gnu.org>
14227
14228 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14229
aaf2320c
DL
142302000-02-12 Dave Love <fx@gnu.org>
14231
14232 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14233
14234 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14235 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14236 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14237
14238 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14239
14240 * s/nextstep.h: Don't define HAVE_ALLOCA.
14241
14242 * config.in: Add vfork bits.
14243
eedf8bde
GM
142442000-02-12 Gerd Moellmann <gerd@gnu.org>
14245
14246 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14247 unwind function to undo the effect of stopping atimers.
14248
52283633 14249 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14250
14251 * atimer.c (stopped_atimers): New variable.
14252 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14253 New functions.
14254
14255 * atimer.h (stop_other_atimers, run_all_atimers)
14256 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14257
eedf8bde
GM
14258 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14259
8476c2f8
KR
142602000-02-11 Ken Raeburn <raeburn@gnu.org>
14261
14262 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14263 library may depend on jpeg.
14264 (atimer.o): Depends on atimer.c.
14265
0e85e4a3
KH
142662000-02-11 Kenichi Handa <handa@etl.go.jp>
14267
14268 * insdel.c (del_range_1): Call update_compositions.
14269 (del_range_both): Call update_compositions just once..
14270
97fa0cc8
DL
142712000-02-10 Dave Love <fx@gnu.org>
14272
14273 * xfns.c (create_frame_xic): Fix initialization of automatic
14274 aggregates for pcc.
14275
25566a3c
KH
142762000-02-09 Kenichi Handa <handa@etl.go.jp>
14277
14278 * ccl.c (CCL_MAKE_CHAR): New macro.
14279 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14280 registers by CCL_MAKE_CHAR before calling translate_char.
14281 <CCL_TranslateCharacterConstTbl> Likewise.
14282
69da54ba
DL
142832000-02-08 Dave Love <fx@gnu.org>
14284
14285 * lread.c (__EXTENSIONS__): Define.
14286
f7136ee8
GM
142872000-02-08 Gerd Moellmann <gerd@gnu.org>
14288
14289 * puresize.h (BASE_PURESIZE): Increase to 650000.
14290
7768790b
EZ
142912000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14292
14293 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14294 the help message.
14295
38fd211b
EZ
142962000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14297
14298 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14299 md, mh, mb, mr, and me to the fake termcap entry.
14300
66e4690f
KR
143012000-02-06 Ken Raeburn <raeburn@gnu.org>
14302
14303 * sound.c (sound_cleanup): Don't call device close routine if the
14304 function pointer is null.
14305
a75dfea0
AI
143062000-02-06 Andrew Innes <andrewi@gnu.org>
14307
14308 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14309 around image definitions and prototypes.
14310 (gamma_correct) [WINDOWSNT]: New prototype.
14311
14312 * w32term.c (x_make_frame_visible): Replace call to
14313 input_poll_signal with poll_for_input.
14314
14315 * window.c [WINDOWSNT]: Include w32term.h.
14316
14317 * xdisp.c [WINDOWSNT]: Include w32term.h.
14318
14319 * makefile.nt: Add dependencies on w32gui.h.
14320 (OBJ1): Include atimer.obj.
14321 ($(BLD)\atimer.obj): New dependency rule.
14322
14323 * w32.c (sigmask): New function (does nothing).
14324 (sigunblock): Ditto.
14325
14326 * frame.c [WINDOWSNT]: Include w32term.h.
14327
14328 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14329
14330 * lread.c (syms_of_lread): Fix literal newlines.
14331
14332 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14333 the string constant limit (2048 bytes) in MSVC.
14334 (main): Ditto.
14335
59ddecde
GM
143362000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14337
52283633 14338 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14339 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14340 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14341 dispatch the event.
14342
07590973
DL
143432000-02-04 Dave Love <fx@gnu.org>
14344
14345 * fileio.c: Remove some unused vars.
14346 (_GNU_SOURCE): Define (for euidaccess).
14347
14348 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14349
14350 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14351 gcpro1, gcpro2.
14352 (read_minibuf): Deal with allow_props correctly.
14353
649351f9
EZ
143542000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14355
14356 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14357
66e4690f 143582000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14359
14360 * search.c (compile_pattern): If a cache entry has a nil regexp,
14361 fill in that entry instead of clobbering a previously cached
14362 string regexp.
14363
66e4690f 143642000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14365
14366 * puresize.h (BASE_PURESIZE): Increase to 610000.
14367
d240a249
GM
143682000-02-02 Gerd Moellmann <gerd@gnu.org>
14369
14370 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14371 can GC.
14372
ca91fb26
KH
143732000-02-02 Kenichi Handa <handa@etl.go.jp>
14374
25660570
KH
14375 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14376 instead of incrementing ic directly.
14377 <CCL_WriteExprConst> Likewise.
14378 <ccl_set_expr>: Set ic to jump_address.
14379
ca91fb26
KH
14380 * fileio.c (e_write): Fix the handling of
14381 CODING_FINISH_INSUFFICIENT_SRC.
14382
2ede9689
DL
143832000-02-01 Dave Love <fx@gnu.org>
14384
14385 * editfns.c (Fpropertize): Doc fix.
14386
14387 * process.c (Fstart_process): Doc fix.
14388
14389 * eval.c: Fix various doc strings not to duplicate information
14390 from help-manyarg-func-alist.
14391
52283633 14392 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14393
14394 * doc.c (Vhelp_manyarg_func_alist): New variable.
14395 (Fdocumentation): Use it.
14396 (syms_of_doc): Define it.
14397
b6680a0e
GM
143982000-01-31 Gerd Moellmann <gerd@gnu.org>
14399
2cb750ba
GM
14400 * xterm.c (xim_open_dpy): Remove unused local variable.
14401
52283633 14402 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14403
14404 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14405 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14406
b6680a0e
GM
14407 * fns.c (sweep_weak_table): New function.
14408 (sweep_weak_hash_tables): Use it. Keep on marking until there
14409 is no more change.
14410
994c5afe
GM
144112000-01-30 Gerd Moellmann <gerd@gnu.org>
14412
14413 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14414 that XTread_socket does not crash by trying to call XNoOp on a
14415 closed display.
427ec082 14416
f00276e3
JR
144172000-01-30 Jason Rumney <jasonr@gnu.org>
14418
14419 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14420 Change selected_frame to SELECTED_FRAME ().
14421 (w32_console_mouse_position): Remove #ifndef MULE from around
14422 `insist' parameter.
14423
14424 * makefile.nt: Remove dosfns.obj.
14425
14426 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14427
14428 * w32fns.c (w32_defined_color): Check for valid frame before
14429 applying gamma correction. Eliminate dependency on frame elsewhere.
14430 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14431 (w32_to_x_font): Use resx and resy not height_in and width_in.
14432 (x_to_w32_font): Doc fix.
14433 (xlfd_strip_height): New function to strip and return font height.
14434 (w32_font_match): Compare height separately from rest of xlfd
14435 spec, using xlfd_strip_height.
14436
14437 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14438 width_in. Use w32_defined_color in place of defined_color.
14439
14440 * w32faces.c: Merge more of DOS and X specifics in preparation for
14441 merge with xfaces.c.
14442 (defined_color): Remove FIXME comment.
14443 (tty_color_name): Provide w32-specific function.
14444 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14445
14446 * w32console.c (turn_on_face, turn_off_face): Removed.
14447 (w32_face_attributes): New function.
14448 (Global_variables): Reduce scope where possible.
14449 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14450 fill attribute.
14451 (hl_mode): Don't modify text attributes.
14452 (write_glyphs): Don't do anything if len <= 0. Use
14453 w32_face_attributes to get attributes for drawing. Write
14454 terminating codes using char_attr_normal.
14455 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14456 (update_begin, update_end): Likewise.
14457 (vga_stdcolor_name): New function.
14458 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14459 (Fset_screen_color): Remove char_attr_reverse.
14460
b08e8bb2
GM
144612000-01-29 Gerd Moellmann <gerd@gnu.org>
14462
14463 * xfns.c (xic_set_preeditarea): Take window parameter and
14464 window-relative pixel-positions.
14465
14466 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14467 is its frame's selected window.
14468 (xim_instantiate_callback): Likewise.
14469
14470 * xfns.c (x_create_im): Removed.
14471 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14472 (supported_xim_styles): Renamed from supported_styles.
14473 (best_xim_style): Renamed from best_style.
14474 (create_frame_xic): Renamed from xic_create_frame.
14475 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14476
b08e8bb2
GM
144772000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14478
14479 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14480 our frames, call XFilterEvent with 2nd parameter `None'.
14481 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14482 returning XBufferOverflow.
52283633 14483 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14484 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14485 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14486 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14487 (xim_initialize, xim_close)
14488 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14489 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14490 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14491 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14492
14493 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14494 and `xim_styles'.
14495 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14496 `xic_style' and `xic_xfs'.
14497 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14498 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14499 (FRAME_XIM): Removed.
14500
14501 * xfns.c (supported_styles): New variable.
14502 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14503 (xic_create_xfontset, best_style, xic_create_frame)
14504 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14505 (xic_set_xfontset): New functions.
14506
142e109c
DL
145072000-01-28 Dave Love <fx@gnu.org>
14508
14509 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14510
14511 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14512
b02786f9
GM
145132000-01-28 Gerd Moellmann <gerd@gnu.org>
14514
d060bc9f
GM
14515 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14516 for *scratch* if it already existed.
14517
b02786f9
GM
14518 * emacs.c (USAGE): New macro.
14519 (main): Use it to display usage information.
14520
2c52d7e4
EZ
145212000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14522
14523 Support for the menu-help feature:
14524
52283633 14525 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14526
14527 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14528 part of the line to the termscript file.
14529 (IT_clear_to_end): Clear the entire line, not just its beginning.
14530 (menu_help_message, prev_menu_help_message): New variables.
14531 (IT_menu_make_room): Make room for the help_text member.
14532 (IT_menu_display): New argument disp_help; all callers changed.
14533 If disp_help is non-zero, store the help text of the active menu
14534 item in menu_help_message.
14535 (XMenuAddPane): Initialize the help_text member to NULL.
14536 (XMenuAddSelection): New argument help_text. Store it in the
14537 XMenu structure.
14538 (XMenuActivate): New argument help_callback. If the value of
14539 menu_help_message has changed since the last time, display the
14540 menu help message text while waiting for the mouse to move. Clear
14541 the echo area before exiting.
14542 (XMenuDestroy): Free the help_text member.
14543
ffe0bcd1
GM
145442000-01-27 Gerd Moellmann <gerd@gnu.org>
14545
14546 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14547 XMenuAddSelection. Pass help callback to XMenuActivate.
14548 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14549
50dbd23f
EZ
145502000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14551
14552 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14553 and EMACS_SET_USECS.
14554
f5941bf8
GM
145552000-01-26 Dave Love <fx@gnu.org>
14556
6c67ddee
DL
14557 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14558
f5941bf8
GM
14559 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14560 an error may be signalled.
14561
9e49c990
GM
145622000-01-26 Gerd Moellmann <gerd@gnu.org>
14563
fc3cb460
GM
14564 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14565 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14566
9e49c990
GM
14567 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14568
d0c037d8
GM
145692000-01-25 Gerd Moellmann <gerd@gnu.org>
14570
14571 * charset.c (Fstring): If there is a multibyte char among
14572 the args, always return a multibyte string.
14573
e12489f9
GM
145742000-01-25 Gerd Moellmann <gerd@gnu.org>
14575
14576 * sysdep.c (sys_select): Turn atimers off and on instead of
14577 recording and restoring old alarm handler
14578
14579 * process.c (toplevel): Include atimer.h.
14580 (create_process_1): Rewritten.
14581 (create_process): Use atimers instead of alarm.
14582 (wait_reading_process_input) [hpux]: Turn atimers off instead
14583 of turning off SIGALRM.
14584 (wait_reading_process_input): Turn off atimers instead off
14585 calling stop_polling.
14586
14587 * emacs.c (main): Call init_atimer.
14588
14589 * keyboard.c (toplevel): Include systime.h and atimer.h.
14590 (polling_for_input): Removed because unused.
14591 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14592 (poll_timer): New variable.
14593 (poll_for_input, poll_for_input_1): New functions.
14594 (start_polling, stop_polling): Rewritten.
14595
14596 * keyboard.h (polling_for_input): Removed.
427ec082 14597
e12489f9
GM
14598 * atimer.h, atimer.c: New files.
14599
14600 * Makefile.in (obj): Add atimer.o.
14601 (atimer.o): New target.
14602
14603 * blockinput.h (pending_atimers): Add extern declaration.
14604 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14605
14606 * lisp.h (popup_activated_flag): Add extern declaration.
14607
14608 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14609 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14610 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14611
14612 * xterm.c (toplevel): Include atimer.h.
14613 (toolkit_scroll_bar_interaction): New variable.
14614 (Fxt_process_timeouts): Removed.
14615 (x_process_timeouts): New function.
14616 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14617 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14618 (x_make_frame_visible): Call poll_for_input_1 instead of
14619 input_poll_signal. Don't call alarm.
14620 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14621
1e5279b9
DL
146222000-01-24 Dave Love <fx@gnu.org>
14623
6c67ddee 14624 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14625 Don't use -cckr -- apparently not now necessary.
14626
edf6aeb8
EZ
146272000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14628
14629 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14630 screen boundary.
14631
9badad41
JR
146322000-01-23 Jason Rumney <jasonr@gnu.org>
14633
14634 * w32fns.c (w32_defined_color): Apply gamma correction before
14635 trying to map to the palette.
14636 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14637 to w32_clear_rect.
14638
14639 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14640 here. Callers changed to always pass real device context.
14641 (w32_draw_bitmap): Likewise.
14642 (w32_get_glyph_overhangs): Likewise.
52283633 14643 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14644 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14645 pfnSetScrollInfo and SetScrollRange.
14646 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14647 back into MULE characters after decoding them.
14648 (x_get_glyph_face_and_encoding): Likewise.
14649 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14650 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14651 (x_produce_glyphs): Calculate per char metrics for a character
14652 that we know exists in default font when font_not_found_p is true.
14653
63bd786b
JR
146542000-01-22 Jason Rumney <jasonr@gnu.org>
14655
14656 * makefile.nt (intervals.obj, composite.obj): New modules.
14657 (composite.h): Added as dependency where appropriate.
14658
14659 * w32gui.h (XGCValue): New struct for emulating X GCs.
14660
14661 * w32term.h (XCharStruct): New struct for emulating X.
14662
14663 * w32console.c (turn_on_face, turn_off_face): New functions.
14664 (change_line_highlight): New prototype for new redisplay.
14665 (write_glyphs): Support multibyte text. Support faces.
14666
52283633 14667 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14668
14669 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14670 throughout. struct frame * in place of FRAME_PTR.
14671 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14672 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14673 (w32_get_arg): Renamed from x_get_arg.
14674 (Fx_file_dialog): New function.
14675 (w32_list_fonts): Check cache before asking system.
14676 (Vw32_enable_synthesized_fonts): New variable.
14677 (Vw32_enable_italics): Obsolete, removed.
14678
14679 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14680 Use SELECTED_FRAME macro.
14681
14682 * w32menu.c: Add skeleton support for help strings on menus.
14683 (add_menu_item): Native checkbox and radio support added, but not
14684 yet enabled due to bugs.
14685 (push_menu_item): Add parameters type, selection and help.
14686 Callers updated.
14687 Formatting changes to reduce unnecessary diffs with xmenu.c.
14688
14689 * w32select.c (Fw32_set_clipboard_data): Update call to
14690 find_charset_in_str.
14691
14692 * w32term.c: Complete rewrite for new redisplay based on new
14693 xterm.c with necessary sections merged back in from old w32term.c.
14694
6ffd3cf7 146952000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14696
14697 * data.c (set_internal): Further fix in same criterion.
14698
6ffd3cf7 146992000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14700
14701 * data.c (set_internal): Fix the criteria for whether
14702 to swap out the old cached binding.
14703
60af03f1
DL
147042000-01-19 Dave Love <fx@gnu.org>
14705
14706 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14707
f9be074f
KH
147082000-01-18 Kenichi Handa <handa@etl.go.jp>
14709
14710 * regex.c (re_compile_fastmap): While checking a range table for
14711 `charset', skip flag bits for a character class correctly.
14712
52b8dbf9
GM
147132000-01-17 Gerd Moellmann <gerd@gnu.org>
14714
d36100c9
GM
14715 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14716
52283633 14717 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14718
14719 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14720 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14721
14722 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14723 MENU_ITEMS_ITEM_.*.
14724 (MENU_ITEMS_ITEM_HELP): New enumerator.
14725 (push_menu_item): Add parameter HELP. Record help in menu_items.
14726 (single_menu_item, single_submenu, list_of_items): Call
14727 push_menu_item with new parameter.
14728 (single_submenu): Set help string in widget value.
14729 (menu_highlight_callback): New function.
14730 (set_frame_menubar): Call lw_create_widget with new
14731 parameter list.
14732 (xmenu_show, xdialog_show): Ditto.
14733
3139018f
GM
147342000-01-13 Gerd Moellmann <gerd@gnu.org>
14735
14736 * sound.c (Fplay_sound): Improve doc string.
14737
83c8f461
RS
147382000-01-11 Richard M. Stallman <rms@gnu.org>
14739
14740 * lisp.h (set_internal): Enter the new arg.
14741
14742 * eval.c (specbind): Record buffer-local variables specially,
14743 indicating which buffer's binding was saved.
14744 (unbind_to): Restore buffer-local variables specially
14745 in the proper buffer.
14746
14747 * data.c (set_internal): New arg BUF.
427ec082 14748
83c8f461
RS
14749 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14750 * data.c (Fset): Pass new arg to set_internal.
14751 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14752
1fab1775
GM
147532000-01-11 Gerd Moellmann <gerd@gnu.org>
14754
52283633 14755 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14756
83c8f461 147572000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14758
14759 * minibuf.c (Ftry_completion): Doc fix.
14760
7a85e4df
GM
147612000-01-11 Gerd Moellmann <gerd@gnu.org>
14762
14763 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14764 vector, too.
14765
a970dae4
AS
147662000-01-11 Andreas Schwab <schwab@suse.de>
14767
14768 * coding.c (code_convert_region): Initialize total_skip.
14769
c65d14ee
DL
147702000-01-08 Dave Love <fx@gnu.org>
14771
14772 * eval.c (Fuser_variable_p): Check customizability too.
14773
834938d2
GM
147742000-01-07 Gerd Moellmann <gerd@gnu.org>
14775
14776 * minibuf.c (Fcompleting_read): Doc fix.
14777
e0303cd6
GM
147782000-01-05 Gerd Moellmann <gerd@gnu.org>
14779
8a26744b
GM
14780 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14781 -L /usr/local/lib.
14782
e0303cd6
GM
14783 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14784 Check that input style is supported before trying to create an
14785 IC for it.
14786 (x_window): Call x_create_im.
427ec082 14787
2e471eb5
GM
147882000-01-04 Gerd Moellmann <gerd@gnu.org>
14789
560a7bd2
GM
14790 * xfns.c (current_gif_memory_src): New variable.
14791 (gif_load): Record the address of the current memory source
14792 in current_gif_memory_src.
14793 (gif_read_from_memory): Use current_gif_memory_src.
14794
f9ee84a3
GM
14795 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14796 macros statement form.
14797
d1299cde
GM
14798 * sound.c (struct sound): Renamed from struct sound_file.
14799 (struct sound): Add members `data' and `header_size'.
14800 (enum sound_attr): Add SOUND_DATA.
14801 (current_sound, current_sound_device): Variables renamed from
14802 sound_file and sound_device.
14803 (parse_sound): Parse :data.
14804 (parse_sound): Handle sound data in strings.
14805 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14806 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14807 needed header size.
14808 (wav_play, au_play): Play sounds from string data.
14809
2e471eb5
GM
14810 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14811
14812 * lisp.h: Add prototype for allocate_string_data.
14813
52283633 14814 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14815
14816 * alloc.c (mark_buffer): Remove code in #if 0.
14817 (gc_sweep): Ditto.
14818 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14819 (strings_consed): New variable.
14820 (allocate_string): Set it.
14821 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14822 (Fmemory_use_counts): Return strings_consed. Use Flist.
14823
14824 * alloc.c: General cleanup in comments etc. Remove conditional
14825 compilation for `standalone'.
14826
14827 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14828
14829 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14830 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14831 (DONT_COPY_FLAG): Removed.
14832 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14833 (struct sdata, struct sblock): New
14834 (struct string_block): Rewritten.
14835 (STRINGS_IN_STRING_BLOCK): New macro.
14836 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14837 (large_sblocks, string_blocks, string_free_list): New variables.
14838 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14839 (init_strings): Rewritten.
14840 (allocate_string, allocate_string_data, compact_small_strings)
14841 (free_large_strings, sweep_strings): New functions.
14842 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14843 (struct string_block_head, current_string_block)
14844 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14845 (STRING_PAD): Removed.
14846 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14847 (Fgarbage_collect): Don't set mark bit in large strings.
14848 (mark_object): Mark strings differently. Mark symbol names
14849 differently.
14850 (survives_gc_p): Test marked strings differently.
427ec082 14851 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14852 symbol names.
14853 (compact_strings): Removed.
14854
42608ba8
EZ
148552000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14856
14857 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14858 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14859
e0a09e1a
KH
148602000-01-04 Kenichi Handa <handa@etl.go.jp>
14861
dd9f0750 14862 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14863 in a non-empty buffer.
dd9f0750 14864
3c0f3b15 14865 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14866
44cd3ae5
GM
148672000-01-03 Gerd Moellmann <gerd@gnu.org>
14868
14869 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14870 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14871
14872 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14873
c182a70f
EZ
148742000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14875
14876 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14877 need to test for MSDOS frames.
14878
24480d5b
EZ
148792000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14880
14881 * dosfns.c (unspecified_colors): Remove.
14882 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14883 unspecified_bg.
14884 (msdos_stdcolor_name): Return strings for unspecified fore- and
14885 back-ground colors.
14886
14887 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14888 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14889 (tty_color_name): Return Lisp strings for unspecified fore- and
14890 back-ground colors.
14891 (Finternal_set_lisp_face_attribute): Remove the special treatment
14892 for Qunspecified_{f,b}g.
52283633 14893 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14894
047f434a
GM
148952000-01-03 Gerd Moellmann <gerd@gnu.org>
14896
14897 * xdisp.c (reseat_at_next_visible_line_start): Position before
14898 newline only if ending up on a newline.
14899 (next_element_from_ellipsis): Return success. Handle case of
52283633 14900 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14901 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14902 returns 0.
14903
d684c676
EZ
149042000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14905
14906 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14907 (Fcolor_supported_p): Renamed from face-color-supported-p.
14908
5fe1d139
EZ
149092000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14910
14911 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14912 list of colors renamed to tty-defined-color-alist.
14913 (tty_color_name): Pass the frame to tty-color-by-index.
14914 (realize_tty_face): tty-color-alist is now a function which
14915 accepts the frame as argument.
14916
52283633 14917 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14918
816be8b8
EZ
149192000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14920
14921 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14922 encode_terminal_code.
14923
b635321e
EZ
149242000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14925
14926 * dispnew.c (mode_line_string): Support termcap frames as well.
14927
9b784e96
GM
149282000-01-01 Gerd Moellmann <gerd@gnu.org>
14929
27189709
GM
14930 * syntax.c (Fforward_word): Undo previous change.
14931
14932 * editfns.c (Fconstrain_to_field): Don't constrain if
14933 inhibit-field-text-motion is non-nil.
14934 (Fline_beginning_position): Undo previous change.
14935 (Fline_end_position): Ditto.
14936
14937 * syntax.c (Fforward_word): Notice field boundaries only if
14938 inhibit-field-text-motion is nil.
14939
14940 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14941
14942 * editfns.c (Vinhibit_field_text_motion): New variable.
14943 (inhibit-field-text-motion): New DEFVAR_LISP.
14944 (Fline_beginning_position, Fline_end_position): Notice field
14945 boundaries only if inhibit-field-text-motion is nil.
14946
45158a91
GM
14947 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14948 All calls adjusted.
14949 (x_build_heuristic_mask): Likewise.
14950 (xbm_load_image_from_file): Change error output.
14951 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14952 (gif_load, gs_load, x_kill_gs_process): Ditto.
14953
9b784e96
GM
14954 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14955 color indices when accessing raster pixels.
63cec32f
GM
14956 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14957 one of :file or :data.
14958 (enum pbm_keyword_index): Add PBM_DATA.
14959 (pbm_format): Add :data.
14960 (pbm_image_p): Allow either :file or :data.
14961 (pbm_read_file): New function.
14962 (pbm_scan_number): Rewritten to read from string.
14963 (pbm_load): Support :data.
9b784e96 14964
2cb085db 14965See ChangeLog.8 for earlier changes.
6922b018
KH
14966
14967;; Local Variables:
49b3bd82 14968;; coding: iso-2022-7bit
6922b018 14969;; End:
2a34a036
GM
14970
14971 Copyright (C) 2001 Free Software Foundation, Inc.
14972 Copying and distribution of this file, with or without modification,
14973 are permitted provided the copyright notice and this notice are preserved.