Undo last change. Consistency doesn't seem to be desired.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
c6ea2775
EZ
12001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
2
3 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
4 scroll bars of the frame before deleting the frame itself. If the
5 frame has a widget, delete the frame with XtDestroyWidget, and do
6 not call XDestroyWindow before that.
7
91175673
KS
82001-12-06 Kim F. Storm <storm@cua.dk>
9
10 * xfns.c (x_report_frame_params): Return actual fringe widths.
11
12 * w32fns.c (x_report_frame_params): Return actual fringe widths.
13
e0fead5d
AI
142001-12-05 Andrew Innes <andrewi@gnu.org>
15
16 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
17 excessively large.
18
19 * insdel.c (make_gap_larger): New function.
20 (make_gap_smaller): New function.
21 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
22 make_gap_smaller if arg is negative.
23
c186cdb3
SM
242001-12-04 Stefan Monnier <monnier@cs.yale.edu>
25
26 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
27 Pass a dummy argument when calling interrupt_signal.
28 (parse_menu_item): Mark disabled items before checking for empty def.
29 (read_char_minibuf_menu_prompt): Make safety more visible.
30 (read_key_sequence): Add a `first_unbound' variable.
31 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
32 unbound prefix as soon as we can detect it.
33
34 * doc.c (Fsnarf_documentation): Add prototype.
35 (get_doc_string): Handle negative arguments.
36 (Fdocumentation): Use AREF and ASIZE.
37 Move the calls to get_doc_string to a single place.
38 Don't confuse an interactive-spec for a docstring reference.
39 (Fdocumentation_property): Take advantage of the fact that
40 get_doc_string now ignores the sign of the docstring position.
41
42 * eval.c: Use standard syntax for usage in docstrings.
43
58cfce98
PJ
442001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
45
c186cdb3 46 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 47
62854fe2
PJ
482001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
49
50 * xterm.c (x_draw_image_relief): Use predefined macro instead of
51 constant when the value of `tool_bar_button_relief' is negative.
52
656f46bb
RS
532001-12-02 Richard M. Stallman <rms@gnu.org>
54
55 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
56 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
57
58 * fileio.c (read_non_regular): Delete Fsignal call.
59
036e218d
SM
602001-12-01 Stefan Monnier <monnier@cs.yale.edu>
61
62 * lisp.h (run_hook_list_with_args): Undo last change.
63
7ddb2c16
GM
642001-12-01 Gerd Moellmann <gerd@gnu.org>
65
66 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
67
ace9b298
JR
682001-12-01 Jason Rumney <jasonr@gnu.org>
69
90647b07
JR
70 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
71
72 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
73 [!WM_MOUSELEAVE]: Define.
74
ace9b298
JR
75 * w32menu.c (current_popup_menu, get_menu_item_info):
76 (set_menu_item_info): New vars.
77 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
78 (w32_menu_show): Set current_popup_menu.
79 (add_menu_item): Allocate new strings for owner-drawn menu items
80 and help strings.
81 Use owner-draw for disabled menu items again.
82 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
83 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
84
85 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
86 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
87 <WM_EXITMENULOOP>: Free menu strings.
88 <WM_MOUSELEAVE>: Stop tracking mouse.
89 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
90
91 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
92 and mouse face.
93
a9549909 942001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
95
96 The following changes add left-fringe and right-fringe
97 frame parameters to adjust fringe widths, or remove one or
98 both fringes.
036e218d 99
9fbc32aa
KS
100 * frame.h (struct frame): Remove trunc_area_pixel_width and
101 trunc_area_cols fields.
102 (Qleft_fringe, Qright_fringe): Declare.
103 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
104
105 * frame.c (Qleft_fringe, Qright_fringe): New vars.
106 (syms_of_frame): Initialize them.
107
108 * window.c (coordinates_in_window): Handle separate left and right
109 fringe widths.
110
111 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
112 and fringe_cols fields.
113 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
114 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
115 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
116 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
117 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
118 (x_compute_fringe_widths): Add prototype.
119
120 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
121 fill fringe evenly with small dashes.
122 (x_draw_fringe_bitmap): Clear background if necessary. Align and
123 clip the new ZV bitmap to avoid jitter between rows.
124 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
125 background. Don't draw fringe bitmaps if fringe width is zero.
126 (x_compute_fringe_widths): New function.
127 (x_new_font, x_set_window_size_1): Use it.
128
129 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
130 (x_set_frame_parameters): Process Process `font' parameter before other
131 parameters as fringe widths depend on it.
132 (x_set_fringe_width): New function.
133 (x_figure_window_size): Use x_compute_fringe_widths.
134 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
135 parameters.
136
137 * widget.c (set_frame_size): Use x_compute_fringe_widths.
138 (EmacsFrameSetCharSize): Ditto.
139
140 * w32term.h: Merged changes from xterm.h.
141 * w32term.c: Merged changes from xterm.c.
142 * w32fns.c: Merged changes from xfns.c.
143
0142178a
PJ
1442001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
145
146 * COPYING: Removed.
147
d4824a5d
DL
1482001-11-29 Dave Love <fx@gnu.org>
149
150 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
151 extra extra slot.
152 (detect_coding_mask): Fix call of detect_coding_iso2022.
153
b1356234
PJ
1542001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
155
156 * fileio.c (file-name-coding-system)
157 (default-file-name-coding-system): Doc fix (links to referenced
158 variables added).
159
3ce081f5
SM
1602001-11-28 Stefan Monnier <monnier@cs.yale.edu>
161
99e380ee
SM
162 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
163 Add dummy uses of gcproN variables.
164
3ce081f5 165 * category.c (describe_category, describe_category_1)
2ad56c09 166 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
167 (syms_of_category): Don't defsubr Sdescribe_categories.
168
66458f32
RS
1692001-11-28 Richard M. Stallman <rms@gnu.org>
170
171 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
172
173 * Makefile.in (lispdir): New variable, referring to build dir.
174 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
175
59a86c99
AI
1762001-11-28 Andrew Innes <andrewi@gnu.org>
177
178 * w32menu.c (w32_menu_display_help): Actually add the new argument
179 OWNER.
180
eb77a5f4
JR
1812001-11-28 Jason Rumney <jasonr@gnu.org>
182
183 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
184 menu items. From David Ponce <dponce@wanadoo.fr>.
185 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
186 conditionally.
187 (w32_menu_display_help): New argument OWNER. Rewritten to store a
188 help event in the owner frame's keyboard buffer.
189
190 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
191 (Fx_show_tip): Don't subtract last width from row width.
192
193 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
194 (w32_read_socket): Use EQ to compare frames.
195
bb313871
GM
1962001-11-28 Gerd Moellmann <gerd@gnu.org>
197
198 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
199 OVERLAPS_P.
200
55b43a63
PJ
2012001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
202
6052529b
PJ
203 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
204 `gcpro3' and `gcpro4'.
205
3ce081f5
SM
206 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
207
2082001-11-28 Stefan Monnier <monnier@cs.yale.edu>
209
210 * ccl.c: Use AREF and ASIZE.
211
2122001-11-27 Stefan Monnier <monnier@cs.yale.edu>
213
214 * lisp.h (run_hook_list_with_args): Remove.
215 (LIST_END_P): Fix call to wrong_type_argument.
216 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 217
111ed14e
SM
2182001-11-26 Stefan Monnier <monnier@cs.yale.edu>
219
9fabb2f5
SM
220 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
221 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
222
223 * eval.c: Use AREF and ASIZE.
224 (Ffetch_bytecode): Add the file name to the error message.
225
226 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
227 which match the end of the file-name.
228 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
229 is not a valid env var, but leave it as is instead.
230
111ed14e
SM
231 * keymap.c (access_keymap): Handle t bindings like nil bindings.
232 Make nil bindings in char-tables transparent.
233 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
234
2fa0eedf
RS
2352001-11-26 Richard M. Stallman <rms@gnu.org>
236
d1420435
RS
237 * textprop.c (set_text_properties_1): Allow START, END in either order.
238 Do nothing if range is empty.
239
2fa0eedf
RS
240 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
241
ebcbef4e
RS
242 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
243 (clean): Not here.
244
5c131048
SM
2452001-11-25 Stefan Monnier <monnier@cs.yale.edu>
246
247 * textprop.c (set_text_properties_1): Clearly mark that the
248 interval should not be empty.
249
250 * intervals.c (graft_intervals_into_buffer):
251 Don't call set_text_properties_1 on an empty interval.
252
96d276c3
RS
2532001-11-25 Richard M. Stallman <rms@gnu.org>
254
6108b49c
RS
255 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
256
96d276c3
RS
257 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
258 don't lose the data in it.
259
5eea19a4
RS
2602001-11-25 Juanma Barranquero <lektu@terra.es>
261
262 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
263
264 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
265
266 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
267
438e57dd
SM
2682001-11-25 Stefan Monnier <monnier@cs.yale.edu>
269
270 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
271
c88e5347
EZ
2722001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
273
274 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
275 Niemitalo <kon@iki.fi>.
276
59ce1461
JR
2772001-11-25 Jason Rumney <jasonr@gnu.org>
278
279 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
280
281 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
282 (Fx_show_tip): Block input during frame creation.
283 (Fx_show_tip, Fx_hide_tip): Enable.
284
8727d588
RS
2852001-11-24 Richard M. Stallman <rms@gnu.org>
286
287 * lread.c (Fload): Detect recursive load error for more than 3
288 nestings of the same file.
289 (Vrecursive_load_depth_limit): Variable deleted.
290 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
291
cc63037e
JR
2922001-11-24 Jason Rumney <jasonr@gnu.org>
293
294 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
295 mouse position if either left or top is not specified.
296
297 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
298 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
299 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
300 (my_create_tip_window): Assign tip_window.
301 (x_create_tip_frame): Use same defaults as X.
302 (compute_tip_xy): Remove unused variable. Use full screen width.
303 (Fx_show_tip): Do not double height. Call ShowWindow directly.
304
305 * w32term.c (x_after_update_window_line): Doc fix.
306 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
307 frames.
308 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
309
310 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
311 for all Windowed systems.
312
deece6f5
EZ
3132001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
314
315 * msdos.c (IT_clear_screen): If the frame's faces are not yet
316 realized, use the initial screen colors to clear the screen.
317
1b944d9c
PJ
3182001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
319
28ff4293
PJ
320 * textprop.c (Fset_text_properties): Remove unused variables
321 `unchanged', `prev_changed', `s' and `len'.
322
56167cc5
PJ
323 * search.c (Freplace_match): Remove unused variable `inslen'.
324
1b944d9c
PJ
325 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
326
ca56d953
JR
3272001-11-22 Jason Rumney <jasonr@gnu.org>
328
329 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
330 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
331 (my_create_tip_window): New function.
332 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
333 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
334
33399dce
JR
3352001-11-20 Jason Rumney <jasonr@gnu.org>
336
337 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
338 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
339
340 * w32fns.c (Vw32_system_coding_system): Remove.
341 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
342
9b46de40
SM
3432001-11-19 Stefan Monnier <monnier@cs.yale.edu>
344
6710ea06
SM
345 * fileio.c (Fwrite_region): Move choose_write_coding_system to
346 after build_annotations.
347
a395ef6a
SM
348 * syntax.c (describe_syntax): Add dummy arg.
349 (describe_syntax_1): Update call to describe_vector.
350
351 * category.c (describe_category): Add dummy arg.
352 (describe_category_1): Update call to describe_vector.
353
354 * keymap.c (Fdescribe_vector): Add `describer' parameter.
355 (describe_command, describe_translation): Add dummy second param.
356 (describe_map): Call elt_describer with two arguments.
357 (describe_vector_princ): Add `fun' parameter.
358 Call it instead of the hardcoded `princ'.
359 (describe_vector): Add arg `args'.
360 Pass it as a new second argument to elt_describer.
361
362 * keymap.h (describe_vector): Update prototype.
363
9b46de40
SM
364 * frame.c: Don't include keymap.h any more.
365 (keys_of_frame): Remove.
366
367 * lisp.h (keys_of_frame): Remove declaration.
368
369 * emacs.c (main): Don't call `keys_of_frame' any more.
370
aff37336
SS
3712001-11-14 Andreas Schwab <schwab@suse.de>
372
373 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
374 if defined, 0 otherwise.
9b46de40 375 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
376 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
377
b9937f07
RS
3782001-11-19 Richard M. Stallman <rms@gnu.org>
379
380 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
381
2cd23960
JR
3822001-11-18 Jason Rumney <jasonr@gnu.org>
383
384 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
385 (x_draw_bar_cursor): If the background color of the glyph under
386 the cursor equals the frame's cursor color, use the glyph's
387 foreground color for drawing the bar cursor.
388 (x_after_update_window_line): Clear internal border in different
389 circumstances.
390 (w32_set_vertical_scroll_bar): Check for width and height > 0.
391 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
392 (x_set_glyph_string_background_width):
393 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
394 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
395 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
396 if cursor_in_non_selected_windows is false.
9b46de40 397 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
398 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
399 Notice if cursor gets overwritten.
400 (notice_overwritten_cursor): Renamed from
401 note_overwritten_text_cursor. Rewritten to take glyph widths
402 into account, and to take X positions as parameters.
403 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
404 around call to x_draw_glyphs.
405 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
406 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
407 color to use for image glyph reliefs.
408 (x_draw_image_relief): Accept zero tool_bar_button_relief.
409 (glyph_rect): Remove unused variable `area'.
410
411 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
412 some items.
413 (x_set_internal_border_width): Set frame garbaged when window
414 doesn't exist yet.
415 (Fx_create_frame): Accept zero tool_bar_button_relief.
416 (x_clear_image_1, four_corners_best, image_background)
417 (image_background_transparent): New functions.
418 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
419 (gs_format): Add `:background' entry.
420 (lookup_image): Set IMG's background color if specified.
421 (pbm_load, xbm_load_image, png_load): Set IMG's background field
422 when appropriate.
423 (x_clear_image_1): Reset `background_valid' and
424 `background_transparent_valid' fields.
425 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
426 calculating it here. Set IMG's background_transparent field.
427 (enum xpm_keyword_index): Add XPM_BACKGROUND.
428 (enum png_keyword_index): Add PNG_BACKGROUND.
429 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
430 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
431 (enum gif_keyword_index): Add GIF_BACKGROUND.
432 (enum gs_keyword_index): Add GS_BACKGROUND.
433 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
434 Pre-calculate image background color where necessary.
9b46de40
SM
435 (x_create_x_image_and_pixmap, xbm_load, gs_load):
436 Use display info's n_cbits entry for screen depth.
2cd23960
JR
437 (Fx_show_tip): Remove unused variables `buffer', `top',
438 `left', `max_width' and `max_height'.
439
440 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
441
a4184c1c
GM
4422001-11-18 Gerd Moellmann <gerd@gnu.org>
443
444 * puresize.h (BASE_PURESIZE): Increase to 750000.
445
f6fa0866
PJ
4462001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
447
448 * frame.c (Fframe_live_p): Doc fix.
449
f4ca4b00
RS
4502001-11-18 Richard M. Stallman <rms@gnu.org>
451
452 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
453 (message_dolog_marker3): New static variables hold three markers.
454 (syms_of_xdisp): Initialize and staticpro them.
455 (message_dolog): Use message_dolog_marker1..3 instead of
456 allocating markers each time. Unchain them when done.
457
f4e25f94
RS
4582001-11-17 Richard M. Stallman <rms@gnu.org>
459
460 * doc.c (Fsnarf_documentation): Doc fix.
461
91c153e2
AS
4622001-11-17 Andreas Schwab <schwab@suse.de>
463
464 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
465
65b7d3e7
RS
4662001-11-17 Richard M. Stallman <rms@gnu.org>
467
468 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
469
6b5f6311
JR
4702001-11-17 Jason Rumney <jasonr@gnu.org>
471
472 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
473
be676094
GM
4742001-11-17 Gerd Moellmann <gerd@gnu.org>
475
476 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
477 with invalid position.
478
032a857d
RS
4792001-11-16 Richard M. Stallman <rms@gnu.org>
480
481 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
482
483 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
484 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
485 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
486
487 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
488
b6270150
SM
4892001-11-16 Stefan Monnier <monnier@cs.yale.edu>
490
491 * fileio.c (build_annotations): Split off the tail.
492 (build_annotations_2): New fun. Extracted from build_annotations.
493 (Fwrite_region): Split the call to build_annotations into two
494 calls to build_annotations and build_annotations_2.
495
792e5cbd
PJ
4962001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
497
98cbb9fa
PJ
498 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
499 clear_waiting_for_input with argument.
500
501 * xterm.h (x_update_cursor): Remove duplicated prototype.
502
b6270150 503 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 504
ea904403 505 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 506
ea904403 507 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 508
fa336b91
SM
5092001-11-16 Stefan Monnier <monnier@cs.yale.edu>
510
511 * fileio.c (choose_write_coding_system): New fun, extracted
512 from Fwrite_region.
513 (Fwrite_region): Use it.
514
515 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
516 (funcall_lambda, run_hook_with_args): Make static and add prototype.
517 (ml_apply, find_handler_clause): Add prototype.
518
077907d4
EZ
5192001-11-16 Eli Zaretskii <eliz@gnu.org>
520
aa2af83a
EZ
521 * config.in: Add #undef HAVE_COFF_H.
522
077907d4
EZ
523 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
524 Required for ISC 4.1.
525
1756e2fb
EZ
5262001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
527
528 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
529 Andrew Wiseman <a.wiseman@btclick.com>.
530
06e8f738
KS
5312001-11-16 Kim F. Storm <storm@cua.dk>
532
533 The following changes are made to clean up the various internal
534 references to the fringes to actually use the term `fringe' for
535 them. Previously, they were called `flags areas', `bitmap areas',
536 `left/right side of windows', or implicitly as `flags' or
537 `bitmaps':
538
539 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
540 Comments fixed. Use renamed symbols.
fa336b91 541
06e8f738 542 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 543
06e8f738
KS
544 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
545 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
546 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 547
06e8f738 548 * msdos.c: Comment fix.
fa336b91 549
06e8f738 550 * w32fns.c: Use renamed symbols.
fa336b91 551
06e8f738
KS
552 * w32term.c: Comment fixes. Use renamed symbols.
553 (fringe_bitmap_type): Renamed from bitmap_type.
554 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
555 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
556 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 557
06e8f738
KS
558 * w32term.h: Comment fixes. Use renamed symbols.
559 (fringes_extra): Renamed from flags_areas_extra.
560 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
561 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
562 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
563 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
564 (FRAME_X_LEFT_FRINGE_WIDTH):
565 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
566 (FRAME_X_RIGHT_FRINGE_WIDTH):
567 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
568
06e8f738 569 * widget.c: Use renamed symbols.
fa336b91 570
06e8f738
KS
571 * window.c: Comment fixes. Use renamed symbols.
572 (coordinates-in-window-p): Doc fix.
fa336b91 573
06e8f738 574 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 575
06e8f738 576 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 577
06e8f738 578 * xfns.c: Use renamed symbols.
fa336b91 579
06e8f738
KS
580 * xterm.c: Comment fixes. Use renamed symbols.
581 (fringe_bitmap_type): Renamed from bitmap_type.
582 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
583 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
584 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
585
586 * xterm.h: Comment fixes. Use renamed symbols.
587 (fringes_extra): Renamed from flags_areas_extra.
588 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
589 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
590 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
591 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
592 (FRAME_X_LEFT_FRINGE_WIDTH):
593 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
594 (FRAME_X_RIGHT_FRINGE_WIDTH):
595 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 596
9ce647f4
JR
5972001-11-15 Jason Rumney <jasonr@gnu.org>
598
599 * w32menu.c (add-menu-item): Make help_echo and radio buttons
600 work for most menu items. From David Ponce
601 <david.ponce@wanadoo.fr>.
602
9b784ab8
GM
6032001-11-15 Gerd Moellmann <gerd@gnu.org>
604
9f7e52b4
GM
605 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
606 Some x_set_* function expect to be called even if old and new
607 value are equal.
608
609 * xdisp.c (build_desired_tool_bar_string): Accept zero
610 tool_bar_button_relief.
611
612 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
613
614 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 615
34e5d0af
GM
616 * xterm.c (x_draw_bar_cursor): If the background color of the
617 glyph under the cursor equals the frame's cursor color, use
618 the glyph's foreground color for drawing the bar cursor.
619
9b784ab8
GM
620 * dispnew.c (direct_output_forward_char): Fix character/byte
621 position comparison.
622
89512fcd
MB
6232001-11-15 Miles Bader <miles@gnu.org>
624
625 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
626 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
627 Update arguments to find_field.
628 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
629 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
630 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
631 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
632
7d18891d
RS
6332001-11-14 Richard M. Stallman <rms@gnu.org>
634
d2936d21
RS
635 * editfns.c (Fpropertize): Allow call with 1 arg.
636
7d18891d
RS
637 * dispextern.h (image_background, image_background_transparent):
638 Conditionalize on HAVE_X_WINDOWS.
639
6402001-11-13 Richard M. Stallman <rms@gnu.org>
641
642 * print.c (Fprin1_to_string): Doc fix.
643
644 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
645
646 * floatfns.c (Fceiling, Ffloor): Doc fixes.
647
648 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
649
650 * fileio.c (Ffile_accessible_directory_p): Doc fix.
651
652 * eval.c (syms_of_eval): Doc fix.
653
654 * coding.c (syms_of_coding): Doc fix.
655
656 * doc.c (Fsnarf_documentation): Doc fix.
657
658 * dispnew.c (syms_of_display): Doc fix.
659
660 * category.c (Fget_unused_category): Doc fix.
661
662 * buffer.c (syms_of_buffer): Doc fixes.
663
9474c847
EZ
6642001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
665
666 * print.c (prin1, print): Doc fix.
667
e3059a5d
PJ
6682001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
669
2b6f3c2b 670 * fontset.h: Remove declarations of variables
e3059a5d
PJ
671 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
672
673 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
674 `Vclip_large_size_font'.
675
b3700ae7
JR
6762001-11-13 Jason Rumney <jasonr@gnu.org>
677
678 * w32fns.c: Doc fix.
679
eae936e2
PJ
6802001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
681
4bb962be
PJ
682 * xfaces.c (Fface_attributes_as_vector): Doc fix.
683
0a332240
PJ
684 * w32fns.c (Fx_synchronize): Reindent.
685
ddb67bdc
PJ
686 * fns.c: Doc fix.
687
3467c402
PJ
688 * emacs.c: Doc fix.
689
690 * coding.c: Doc fix.
691
6e1b91d7
PJ
692 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
693 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
694 `new style' [w/`doc:' keyword].
695
f6e34773
PJ
696 * xmenu.c (x-popup-menu): Reindent.
697 (x-popup-dialog): Likewise.
698
fa336b91 699 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 700
c2552f79
PJ
701 * xdisp.c (Fdump_tool_bar_row): Reindent.
702
94c7167b
PJ
703 * minibuf.c (Fminibuffer_complete_word): Reindent.
704 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 705 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
706 (Fminibuffer_message): Likewise.
707
462a5e3a
PJ
708 * fns.c (Freverse): Reindent.
709
b8de5714
PJ
710 * eval.c (Fif): Reindent.
711 (Fand): Likewise.
712
deb8e082
PJ
713 * editfns.c (Fuser_real_login_name): Reindent.
714 (Finsert_buffer_substring): Likewise.
715 (Fcompare_buffer_substrings): Likewise.
716 (Fsubst_char_in_region): Likewise.
717
bacf09b4
PJ
718 * dispnew.c (Fsit_for): Reindent.
719 (Fframe_or_buffer_changed_p): Likewise.
720 (Finternal_show_cursor_p): Likewise.
721 (syms_of_display): Likewise.
722
eae936e2
PJ
723 * alloc.c (Flist): Reindent.
724 (Fvector): Likewise.
725
1c1d3d69
RS
7262001-11-12 Richard M. Stallman <rms@gnu.org>
727
728 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
729 LeaveNotify events. Only FocusIn and FocusOut do that now.
730 (x_display_and_set_cursor): Do display hollow cursors in active
731 minibuffer windows when they are not selected.
732
b6f4c7ba
JR
7332001-11-12 Jason Rumney <jasonr@gnu.org>
734
735 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
736 * w32term.c: Change doc-string comments to `new style'.
737 [w/`doc:' keyword]. Doc fixes.
738
739 * w32fns.c: Don't define max.
740 (Fx_open_connection): Only execute once.
741
a89f435d
PJ
7422001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
743
744 * ccl.c: Change macros to use do-while block instead of if-else.
745 Use braces to follow GNU Coding Standards.
746
a4cd0cd7
RS
7472001-11-11 Richard M. Stallman <rms@gnu.org>
748
eafb659a
RS
749 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
750
751 * lread.c (read_escape): Use end_of_file_error for reporting eof.
752
a4cd0cd7
RS
753 * insdel.c (replace_range): Use adjust_markers_for_replace
754 instead of adjust_markers_for_delete and adjust_markers_for_insert.
755
756 * intervals.h: Declare set_text_properties and set_text_properties_1.
757
758 * textprop.c (set_text_properties_1): New subroutine
759 broken out of set_text_properties.
760 (set_text_properties): Use set_text_properties_1.
761
762 * intervals.c (graft_intervals_into_buffer):
763 Use set_text_properties_1 to clear out properties.
764
765 * search.c (Freplace_match): Use replace_range to insert
766 and delete. Don't request property inheritance from
767 surrounding text.
768
91823618
JR
7692001-11-10 Jason Rumney <jasonr@gnu.org>
770
771 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
772 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 773 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 774
86928dfb
GM
7752001-11-10 Gerd Moellmann <gerd@gnu.org>
776
fa336b91 777 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
778 instead of malloc/free.
779
40ef1eda
PJ
7802001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
781
ab8469eb
PJ
782 * xfaces.c (merge_face_vectors): Use braces to follow GNU
783 Coding Standards.
784 (Finternal_set_lisp_face_attribute): Likewise.
785
a78e0303
PJ
786 * buffer.c (Fbury_buffer): Likewise.
787
40ef1eda
PJ
788 * indent.c (current_column_1): Remove unused variable `prev_col'.
789
fabf4a91
PJ
790 * coding.c (encode_coding): Use precomputed value of `src'.
791 (encode_coding): Remove unused variable `src_end'.
792 (code_convert_region): Remove unused variables `count'.
793
0c99b139
JR
7942001-11-07 Jason Rumney <jasonr@gnu.org>
795
796 * w32term.c (x_display_and_set_cursor): Do not move system caret
797 if cursor_glyph is NULL.
798
830ddd77
PJ
7992001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
800
801 * keymap.c (access_keymap): Fix compilation error.
802
55c6d645
MB
8032001-11-07 Miles Bader <miles@gnu.org>
804
805 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
806
5de38842
PJ
8072001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
808
7a4564a4
PJ
809 * intervals.c (graft_intervals_into_buffer):
810 Remove #ifdef'd-out code.
811 (graft_intervals_into_buffer): Remove unused variable `middle'.
812
5de38842
PJ
813 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
814 code (eval-current-buffer).
815 Change doc-string comments to `new style' [w/`doc:' keyword].
816
4fa23df5
RS
8172001-11-06 Richard M. Stallman <rms@gnu.org>
818
819 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
820
7a6a97d7
SM
8212001-11-06 Stefan Monnier <monnier@cs.yale.edu>
822
c191d13c
SM
823 * lread.c (read1): Fix behavior with nested backquoting.
824
7a6a97d7
SM
825 * keyboard.c (make_lispy_event): Check integerness and fix
826 Lisp_Object/int mixup.
827
44dc78e0
PJ
8282001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
829
830 * fns.c (copy_hash_table): Remove unused variable `v'.
831
17893c65
PJ
832 * fontset.c (fontset_font_pattern): Remove unused variable
833 `family_registry'.
834
4d994a79
PJ
835 * indent.c (current_column_1): Remove unused variable `prev_col'.
836
d5360cc7
RS
8372001-11-05 Richard M. Stallman <rms@gnu.org>
838
839 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
840
841 * buffer.c (Fkill_buffer): Don't delete auto save file
842 if buffer is modified.
843
96238a5a
AI
8442001-11-05 Andrew Innes <andrewi@gnu.org>
845
846 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
847 CHECK_NUMBER_CDR.
848
d9d54213
RS
8492001-11-05 Richard M. Stallman <rms@gnu.org>
850
851 * unexelf.c (unexec): Minor changes; clean up comments.
852
b116830b
SS
8532001-11-05 Sam Steingold <sds@gnu.org>
854
855 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
856
3297e2a1
AS
8572001-11-05 Andreas Schwab <schwab@suse.de>
858
859 * sound.c (sound_perror): Save errno from being clobbered.
860
9212319f 8612001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
862
863 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
864 the program image directly.
865
7dd73b78
PJ
8662001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
867
868 * buffer.h (Fbuffer_local_value): Add prototype.
869
982f6c7e
RS
8702001-11-04 Richard M. Stallman <rms@gnu.org>
871
d31053f9
RS
872 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
873 and CHECK_BUFFER.
874
875 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
876 (record_char): Likewise.
877
878 * keyboard.c (make_lispy_event): Don't insist a drag event must
879 move to a different buffer position. Instead, check for moving at
880 least double_click_fuzz.
881
882 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
883
884 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
885
982f6c7e
RS
886 * indent.c (current_column_1, Fmove_to_column): Separate the code
887 for display-table glyphs from the code buffer text, to fix
888 bugs in the former.
889
830047fd
RS
8902001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
891
892 * buffer.c (Fbuffer_local_value): New function.
c191d13c 893 (syms_of_buffer): Defsubr it.
b116830b 894
830047fd
RS
895 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
896 value of `cursor-in-non-selected-windows'.
897
898 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
899 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
900 (syms_of_xdisp): Initialize it.
b116830b 901
2df5238c
PJ
9022001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
903
4e397688
PJ
904 * xfns.c (Fx_create_frame): Doc fix.
905
48b0f3ae
PJ
906 * coding.c: Change doc-string comments to `new style' [w/`doc:'
907 keyword].
908
2df5238c
PJ
909 * eval.c (top_level_value, top_level_set): Remove commented and
910 #ifdef'd-out code.
911 (Fdefvar): Fix usage in doc-string.
912
3ecaf7e5
RS
9132001-11-03 Richard M. Stallman <rms@gnu.org>
914
915 * xfns.c: Include unistd.h, if it exists.
916
917 * editfns.c: Move the include of ctype.h after unistd.h.
918
919 * gmalloc.c: Test BROKEN_PROTOTYPES.
920
8db2e33b
KR
9212001-11-03 Ken Raeburn <raeburn@gnu.org>
922
923 * lisp.h (CHECK_STRING_CAR): New macro.
924 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
925 treating XCAR and XCDR as lvalues.
926 (openp): Use CHECK_STRING_CAR.
927 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
928
aed29b97
EZ
9292001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
930
931 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 932 (SIGMASKTYPE): Define.
aed29b97
EZ
933
934 * syssignal.h (sigunblock): Don't define if already defined.
935
6cb16f95
PJ
9362001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
937
16b45be4
EZ
938 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
939 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
940 Fix typos in comments.
941
020f9b38
PJ
942 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
943 and #ifdef'd-out code.
944 Fix and reindent comments.
945
c191d13c 946 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 947
6cb16f95
PJ
948 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
949 argument `i' in macros.
950
951 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
952 `i' in macros.
953
16b45be4
EZ
954 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
955 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
956 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
957 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
958 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
959 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
960 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
961 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
962 in macros.
963
964 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
965 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
966 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
967 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
968 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
969 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
970 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
971 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
972 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
973 (remove unused second argument).
974
7e9d3c2f
SM
9752001-11-02 Stefan Monnier <monnier@cs.yale.edu>
976
977 * syntax.c (describe_syntax): New wrapper.
978 (Finternal_describe_syntax_value): Rename from describe_syntax.
979 Don't insert space at front and \n at the end.
980 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
981
982 * regex.c (re_wctype): Try to fix some warnings.
983 (regcomp, regexec): Don't forget the __restrict.
984
e6bff182
RS
9852001-11-02 Richard M. Stallman <rms@gnu.org>
986
987 * textprop.c (Fget_char_property): Doc fix.
988
9ba48103
PJ
9892001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
990
991 * process.c (Fstart_process): Add usage to doc-string.
992
993 * data.c (Fsetq_default): Ditto.
994
995 * callint.c (Finteractive): Ditto.
996
c22e59e1
SM
9972001-11-01 Stefan Monnier <monnier@cs.yale.edu>
998
999 * macros.c: Don't include keymap.h any more.
1000
9271ed2c
RS
10012001-11-01 Richard M. Stallman <rms@gnu.org>
1002
e6bff182
RS
1003 * data.c (Fmake_local_variable): Doc fix.
1004
1005 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1006 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1007
9271ed2c
RS
1008 * keymap.c (Fdescribe_buffer_bindings): Print character property
1009 bindings along with or instead of the buffer local map.
1010 Make the overriding maps override what they should.
1011
8b8bd9c6
PJ
10122001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1013
1014 * window.c (grow_mini_window): Fix typo in comment.
1015
27188d11
GM
10162001-11-01 Gerd Moellmann <gerd@gnu.org>
1017
7b49b9d2
GM
1018 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1019 (XTset_vertical_scroll_bar): Likewise.
1020
43f7c3ea
GM
1021 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1022 instead of IMAGE_BACKGROUND.
c22e59e1 1023
b350c2e5
GM
1024 * xfns.c (four_corners_best): Reindent.
1025
c22e59e1 1026 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1027 Handle :box so that it is possible to specify sexprs.
1028
d576358b
PJ
10292001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1030
1031 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1032 (Fface_font): Ditto.
1033 (Finternal_set_alternative_font_registry_alist): Ditto.
1034 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1035
1036 * xfns.c (x-get-resource): Reindent.
1037
bf00d461
EZ
10382001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1039
1040 * s/hpux11.h: New file.
1041
4e10df59
PJ
10422001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1043
2b209b97
PJ
1044 * emacs.c (USAGE1): Show command line option --no-window-system
1045 instead of --no-windows in usage.
1046 (standard_args): Rename --no-windows to --no-window-system.
1047 (bug_reporting_address): Follow Emacs coding conventions.
1048
9dbc9081
PJ
1049 * eval.c (Fcommandp): Doc fix.
1050 Change doc-string comments to `new style' [w/`doc:' keyword].
1051
4e10df59
PJ
1052 * frame.c (Fframe_live_p): Doc fix.
1053
1054 * buffer.c (selective-display-ellipses): Doc fix.
1055
dd387b25
GM
10562001-10-31 Gerd Moellmann <gerd@gnu.org>
1057
fe957e65
GM
1058 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1059
dd387b25
GM
1060 * xfaces.c (realize_x_face): If C is not a single-byte character,
1061 set the face's colors_copied_bitwise_p instead of the defaulted_p
1062 members which have a different meaning.
1063 (free_face_colors): Do nothing for a face whose colors have been
1064 copied bitwise.
1065
c22e59e1 1066 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1067
2e1280f8
PJ
10682001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1069
687784e8
PJ
1070 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1071 [w/`doc:' keyword].
2e1280f8 1072
b9d9a9b9
GM
10732001-10-31 Gerd Moellmann <gerd@gnu.org>
1074
1075 * fns.c (require_unwind): Return Lisp_Object.
1076
48400103
PJ
10772001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1078
fa1361cb
PJ
1079 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1080 (last-input-char): Revert doc-string to be the same as the
1081 doc-string of `last-input-event'.
1082
48400103
PJ
1083 * xdisp.c: Fix typos in comments.
1084
eafa3196
GM
10852001-10-31 Gerd Moellmann <gerd@gnu.org>
1086
1087 * window.c (grow_mini_window): Handle case that the root
1088 window is already smaller than the nominal mininum height.
1089
747d3f2a
SM
10902001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1091
bf9bb76f
SM
1092 * emacs.c (main): Don't call keys_of_macros any more.
1093
1094 * lisp.h (keys_of_macros): Remove.
1095
1096 * macros.c (keys_of_macros): Remove.
1097
747d3f2a
SM
1098 * xfaces.c (Fface_attribute_relative_p): Declare args.
1099
5e905a57
JR
11002001-10-30 Jason Rumney <jasonr@gnu.org>
1101
1102 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1103 (enum_font_cb2): Ignore fonts with vertical orientation.
1104
3a426197
RS
11052001-10-30 Richard M. Stallman <rms@gnu.org>
1106
1107 * keyboard.c (Finput_pending_p): Doc fix.
1108
a742d646
GM
11092001-10-30 Gerd Moellmann <gerd@gnu.org>
1110
259cf6bc
GM
1111 * xterm.c (x_after_update_window_line): Don't run the code
1112 clearing in borders for rows whose visible height is 0.
1113
3f99f948
GM
1114 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1115 resized_p flag is set. If not set, use the much less flickering
1116 method previously used.
1117
1118 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1119
1120 * frame.h (struct frame) <resized_p>: New member.
1121
b4a3be43
GM
1122 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1123 as large as the number of bytes to convert.
747d3f2a 1124
a742d646
GM
1125 * lread.c (to_multibyte): New function.
1126 (read1): Use it.
1127
cacbb9e9
EZ
11282001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1129
1130 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1131
99cb6b2f
GM
11322001-10-30 Gerd Moellmann <gerd@gnu.org>
1133
327f42ee 1134 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1135 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1136 if the row's fill_line_p is set and drawing the last glyph with
1137 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1138
99cb6b2f
GM
1139 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1140
8e8223e2
SM
11412001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1142
1143 * xmenu.c: Include coding.h and charset.h.
1144 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1145 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1146 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1147 Explicitly set wv->help. Use `TRUE' rather than `True'.
1148 (menu_help_callback): Use empty_string.
1149
1150 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1151 (Fx_popup_dialog): Explicitly init f.
1152 (w32_menu_display_help): Use empty_string.
1153
4d083a8f
RS
11542001-10-29 Richard M. Stallman <rms@gnu.org>
1155
b2304472
RS
1156 * fns.c (Frequire): Detect recursive try to require the same
1157 feature 3 or more levels deep, and get error.
1158 (require_unwind): New subroutine.
1159 (require_nesting_list): New variable.
1160 (syms_of_fns): Init and staticpro it.
1161
4d083a8f
RS
1162 * print.c (print_object): Clarify indication of insertion type.
1163
2fe41216
EZ
11642001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1165
90480000
EZ
1166 * coding.c (syms_of_coding): Document that locale-coding-system is
1167 used for decoding input on X.
1168
2fe41216
EZ
1169 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1170
74e79967
PJ
11712001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1172
1173 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1174 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1175
60ebcfe8
GM
11762001-10-29 Gerd Moellmann <gerd@gnu.org>
1177
9a7bdceb
GM
1178 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1179 use NO_CURSOR if cursor_in_non_selected_windows is false.
1180
3f08fcd2
GM
1181 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1182 the slant attribute if FRAME is t.
1183
0ccfdad2
GM
1184 * xfns.c (x_set_internal_border_width): Set frame garbaged
1185 when X window doesn't exist yet.
1186
ef253080
GM
1187 * xterm.c (x_after_update_window_line): Clear internal border
1188 in different circumstances.
b116830b 1189
60ebcfe8
GM
1190 * xterm.c (XTread_socket) <KeyPress>: Don't use
1191 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1192 <handa@etl.go.jp>.
1193
73d25f9c
EZ
11942001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1195
1196 * m/ibms390.h: New file. From Adam Thornton
1197 <athornton@sinenomine.net>.
1198
cac1daf0
GM
11992001-10-28 Gerd Moellmann <gerd@gnu.org>
1200
053b3256 1201 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1202
cac1daf0
GM
1203 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1204 a loop counter.
1205
13b1a09c
PJ
12062001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1207
186486eb
PJ
1208 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1209
4707d2d0
PJ
1210 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1211 keyword].
1212 Fix typos in comments.
b116830b 1213
d883731c
PJ
1214 * emacs.c (bug_reporting_address): New function.
1215 Use it when displaying usage message.
1216
04012254
PJ
1217 * minibuf.c (read_minibuf): Remove unused external declaration of
1218 variable `Qread_only'.
1219
13b1a09c
PJ
1220 * keymap.c (access_keymap): Remove unused variable `charset'.
1221
5bbf4378
MB
12222001-10-28 Miles Bader <miles@gnu.org>
1223
1224 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1225 Remove #ifdef'd-out code.
1226 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1227 (syms_of_xfaces): Initialize them.
1228
1ce1e4ee
JR
12292001-10-27 Jason Rumney <jasonr@gnu.org>
1230
1231 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1232 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1233 position using the system caret.
1234
1235 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1236 (w32_system_caret_height, w32_system_caret_x)
1237 (w32_system_caret_y): New variables for tracking system caret.
1238 (w32_initialize): Initialize them.
c2d53558 1239 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1240
c2d53558
SM
1241 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1242 New messages types.
1ce1e4ee
JR
1243
1244 * w32term.c (note_mouse_highlight): Clear old help_echo.
1245
4e30ce42
PJ
12462001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1247
bb4600a4
PJ
1248 * xterm.c: Fix typo in a comment.
1249
7db35a48
PJ
1250 * emacs.c: Fix typos in comments.
1251 Remove unnecessary spaces.
1252 Change doc-string comments to `new style' [w/`doc:' keyword].
1253 (USAGE2): Fix typos in usage string.
1254
a7248e4f
PJ
1255 * xterm.c: Fix typo in a comment.
1256
4e30ce42
PJ
1257 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1258 emacs.c.
1259
62725a92
GM
12602001-10-27 Gerd Moellmann <gerd@gnu.org>
1261
798dbe1f 1262 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1263 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1264 farther backward when target_y was not reached.
1265
62725a92
GM
1266 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1267 Display errno only if non-zero.
1268 (sound_warning): New function.
1269 (vox_configure): Don't treat failing to set sample rate as error.
1270 (various places): Improve error messages.
1271
d4e34d24
EZ
12722001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1273
944e6f60
EZ
1274 * fileio.c (Faccess_file): Run the argument filename through
1275 Fexpand_file_name, before using it.
1276
d4e34d24
EZ
1277 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1278 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1279
38d2af0c
GM
12802001-10-26 Gerd Moellmann <gerd@gnu.org>
1281
da80a8d5
GM
1282 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1283
38d2af0c
GM
1284 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1285 Fix clearing in the case of scroll bars on the right.
c2d53558 1286
56f508dd
EZ
12872001-10-26 Juanma Barranquero <lektu@terra.es>
1288
1289 * w32gui.h (XImage): Add a dummy typedef.
1290
fbd5ceb2
GM
12912001-10-26 Gerd Moellmann <gerd@gnu.org>
1292
c2d53558 1293 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1294
b23236fb
EZ
12952001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1296
1297 * frame.c (Fframe_parameter): Fix last change.
1298
5d991fc4
EZ
1299 * fileio.c: Revert last change (which removed old commented-out
1300 version of expand-file-name). Add a comment that explains why
1301 this old version should not be removed.
1302
879eadc3
GM
13032001-10-25 Gerd Moellmann <gerd@gnu.org>
1304
75700ff2
GM
1305 * frame.c (Fframe_parameter): Fix a bug whereby some
1306 ``artificial'' frame parameters, like `minibuffer' were not
1307 obtained by calling Fframe_parameters.
1308
dfe92a6a
GM
1309 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1310 cursor differently.
1311
879eadc3
GM
1312 * xdisp.c (move_it_vertically_backward): Compute line height
1313 differently. Add heuristic to try to be more compatible to 20.x.
1314
e1010ebe
SM
13152001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1316
d73a471b
SM
1317 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1318
d6da5a06
GM
1319 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1320 boolean.
e1010ebe 1321
f66bd220
MB
13222001-10-25 Miles Bader <miles@gnu.org>
1323
1324 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1325 BG is a pointer to a structure, not a structure.
1326 (gif_format, png_format): Add missing commas.
1327
d436d538
RS
13282001-10-24 Richard M. Stallman <rms@gnu.org>
1329
1330 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1331 (syms_of_xfaces): Defsubr it.
d436d538 1332
075c507b
PJ
13332001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1334
1335 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1336 variable `area'.
1337
d492b584
PJ
13382001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1339
c2d53558 1340 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1341
e2a57b34
MB
13422001-10-25 Miles Bader <miles@gnu.org>
1343
1344 * dispextern.h (struct image): Add `background',
1345 `background_valid', and `background_transparent' fields.
1346 (image_background, image_background_transparent): New declarations.
1347 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1348 * xfns.c (image_background, image_background_transparent)
1349 (four_corners_best): New functions.
c2d53558 1350 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1351 (gs_format): Add `:background' entry.
1352 (lookup_image): Set IMG's background color if specified.
1353 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1354 when appropriate.
1355 (x_clear_image_1): Reset `background_valid' and
1356 `background_transparent_valid' fields.
1357 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1358 calculating it here. Set IMG's background_transparent field.
1359 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1360 (enum png_keyword_index): Add PNG_BACKGROUND.
1361 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1362 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1363 (enum gif_keyword_index): Add GIF_BACKGROUND.
1364 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1365 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1366 Pre-calculate image background color where necessary.
1367 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1368 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1369 color to use for image glyph reliefs.
1370
b547b6e8
GM
13712001-10-24 Gerd Moellmann <gerd@gnu.org>
1372
d9e3b8c6
GM
1373 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1374 in full-width rows.
c2d53558 1375
b547b6e8
GM
1376 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1377 Fix clearing of area not covered by scroll bar.
1378
2beb36f9
PJ
13792001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1380
1381 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1382 and `real_start'.
c2d53558 1383 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1384 (glyph_rect): Remove unused variable `area'.
1385
76cb5e06
GM
13862001-10-24 Gerd Moellmann <gerd@gnu.org>
1387
bdbdebff 1388 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1389
1390 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1391 (row_containing_pos): Take additional argument DY.
1392 Treat rows ending in middle of char differently.
62e33982
GM
1393 (display_line): Handle tabs on window systems differently.
1394
1395 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1396 with additional argument.
1397
1398 * dispextern.h (row_containing_pos): Adjust prototype.
1399
76cb5e06
GM
1400 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1401 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1402 (try_window_id, try_window_reusing_current_matrix)
1403 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1404 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1405
996fee11
PJ
14062001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1407
c9e60620
PJ
1408 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1409 gnuemacs).
1410 (HAVE_BOXES): Fix typo in comment.
1411 (push_menu_pane): Fix typo in comment.
1412
3b552d56
PJ
1413 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1414 of `Qwhen'.
1415 (single_display_prop_string_p): Remove unused local declarations
1416 of `Qwhen' and `Qmargin'.
1417 (string_buffer_position): Remove unused variable `around'.
1418 (store_frame_title): Remove unused variable `width'.
1419
15c565ac
PJ
1420 * window.c: Don't define max.
1421 (coordinates_in_window): Remove unused variable `uy'.
1422
a8818eb9
PJ
1423 * widget.c: Don't define max.
1424
996fee11
PJ
1425 * process.c: Don't define max.
1426 (create_process): Remove unused variable `buffer'.
1427
496e1a5b
GM
14282001-10-23 Gerd Moellmann <gerd@gnu.org>
1429
c2d53558 1430 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1431
5905ae8b
EZ
14322001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1433
1434 * xfaces.c (Finternal_set_lisp_face_attribute)
1435 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1436 frame is on a windowed display.
1437
24db49fb
GM
14382001-10-23 Gerd Moellmann <gerd@gnu.org>
1439
c2d53558
SM
1440 * dispnew.c (sync_window_with_frame_matrix_rows):
1441 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1442 of marginal areas.
1443
c2d53558 1444 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1445
f0487f05
EZ
14462001-10-23 Andreas Schwab <schwab@suse.de>
1447
1448 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1449 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1450
f0a48a01
GM
14512001-10-23 Gerd Moellmann <gerd@gnu.org>
1452
c2d53558 1453 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1454 REAL_END. Notice if cursor gets overwritten.
1455 (notice_overwritten_cursor): Take X positions as parameters.
1456 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1457 around call to x_draw_glyphs.
1458
a50a10a0
PJ
14592001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1460
fc11dff0
PJ
1461 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1462 instead of C) and usage.
a50a10a0 1463
fc11dff0
PJ
1464 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1465 of C) and usage.
a50a10a0
PJ
1466
1467 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1468 `left', `max_width' and `max_height'.
1469
8738febd
GM
14702001-10-23 Gerd Moellmann <gerd@gnu.org>
1471
1472 * xdisp.c (display_line): For a tab continued to the next line,
1473 set row's ends_in_middle_of_char_p.
1474
653c329b
GM
14752001-10-22 Gerd Moellmann <gerd@gnu.org>
1476
1477 * xdisp.c (display_line): Fix computation of continuation lines
1478 width for TABs.
1479
f958c5ac
PJ
14802001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1481
7ba51063
PJ
1482 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1483 `Qlaplace'.
1484
f958c5ac
PJ
1485 * fileio.c: Remove unused code.
1486
eb360291
MB
14872001-10-22 Miles Bader <miles@gnu.org>
1488
1489 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1490 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1491 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1492
98515cf0
JR
14932001-10-21 Jason Rumney <jasonr@gnu.org>
1494
1495 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1496
93026d88
EZ
14972001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1498
1499 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1500 (Finsert_string): Avoid the multi-line string literals warning.
1501
c9a95b79
MB
15022001-10-22 Miles Bader <miles@gnu.org>
1503
1504 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1505 (Fdocumentation): Don't use it.
1506 (syms_of_doc): Don't initialize it.
1507
1508 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1509 * print.c (Fwith_output_to_temp_buffer): Likewise.
1510 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1511 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1512 (Fsave_restriction): Likewise.
c2d53558
SM
1513 * eval.c (Frun_hooks, Frun_hook_with_args)
1514 (Frun_hook_with_args_until_failure)
1515 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1516 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1517 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1518 (Funwind_protect, Fcondition_case): Likewise.
1519 * coding.c (Ffind_operation_coding_system): Likewise.
1520 * keyboard.c (Ftrack_mouse): Likewise.
1521
a3b10252
MB
15222001-10-21 Miles Bader <miles@gnu.org>
1523
c2d53558 1524 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1525 (Fmake_hash_table): Add usage: string to doc string.
1526 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1527 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1528 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1529 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1530 (Fml_prefix_argument_loop): Likewise.
1531
c6f73eec
PJ
15322001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1533
c2d53558 1534 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1535
c6f73eec
PJ
1536 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1537 style' [w/`doc:' keyword].
1538
1539 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1540 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1541 comments to `new style' [w/`doc:' keyword].
1542
3cf3436e
JR
15432001-10-21 Jason Rumney <jasonr@gnu.org>
1544
1545 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1546
c169b8f1
JR
1547 * w32term.c (remember_mouse_glyph): New function.
1548 (w32_mouse_position): Use it.
1549 (note_mouse_movement): If the mouse moved off the glyph, remember
1550 its new position.
c2d53558 1551
4fdd691b
JR
1552 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1553 (w32_display_info): Add mouse_face_overlay.
1554
c169b8f1
JR
1555 * w32term.c (notice_overwritten_cursor): Renamed from
1556 note_overwritten_text_cursor. Rewritten to take glyph widths into
1557 account.
1558 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1559 (fast_find_string_pos): New function.
1560 (fast_find_position): Return the correct vpos. Add parameter
1561 STOP. In the final row, stop before glyphs having STOP as object.
1562 Don't consider glyphs that are not from a buffer.
1563 (fast_find_position) [0]: Add a presumably more correct version
1564 for after 21.1.
1565 (expose_window_tree, expose_frame): Don't compute intersections here.
1566 (expose_window): Do it here instead.
1567 (expose_window_tree, expose_window, expose_line): Return 1 when
1568 overwriting mouse-face.
1569 (expose_window): If W is the window currently being updated, mark
1570 the frame garbaged.
1571 (expose_frame): If mouse-face was overwritten, redo it.
1572 (x_use_underline_position_properties): New variable.
1573 (syms_of_xterm): DEFVAR_BOOL it.
1574 (x_draw_glyph_string): Add comment to use it in future.
1575 (x_draw_glyph_string): Restore clipping after drawing box.
1576 Fix a computation of the underline position.
1577 (w32_get_glyph_string_clip_rect): Minor cleanup.
1578 (x_fill_stretch_glyph_string): Remove an assertion.
1579 (x_produce_glyphs): Don't convert multibyte characters
1580 to unibyte characters in unibyte buffers.
1581 (cursor_in_mouse_face_p): New function.
1582 (x_draw_stretch_glyph_string): Use it to choose a different GC
1583 when drawing a cursor within highlighted text. Don't draw
1584 background again if it has already been drawn.
1585 (x_draw_glyph_string_box): Don't draw a full-width
1586 box just because the glyph row's full_width_p flag is set.
1587 (x_draw_glyphs): Fix computation of rightmost x for
1588 full-width rows.
1589 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1590 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1591 change bottom shadow accordingly. Some cleanup.
1592 (x_update_window_end): Handle overwritten mouse face
1593 also for tool bar windows.
1594 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1595 DRAW is DRAW_IMAGE_RAISED.
1596 (clear_mouse_face): Return 1 if text with mouse face was
1597 actually redrawn. Make the function static. Reset
1598 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1599 optimize away highlighting if we pass over that same overlay again.
1600 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1601 to detect a case where we have to highlight a different region
1602 despite not having left the currently highlighted region.
1603 Set mouse_face_overlay in the x_display_info. Avoid changing the
1604 mouse pointer shape when show_mouse_face has already done it, or
1605 there is no need. Handle mouse-face and help-echo in strings.
1606 (glyph_rect): New function.
1607 (w32_mouse_position): Use it to raise the threshold for mouse
1608 movement event generation.
1609 (w32_initialize_display_info): Initialize the x_display_info's
1610 mouse_face_overlay.
1611 (w32_set_vertical_scroll_bar): Don't clear a zero height
1612 or width area.
1613 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1614 a widget to zero height.
1615
3cf3436e 1616 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1617 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1618 equivalents in menu_items.
1619 (w32_menu_show): Don't overwrite an item's name with its key
1620 description in case the description is a multibyte string.
1621 (single_submenu): Some cleanup.
1622
1623 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1624 (postprocess_image): New function.
1625 (lookup_image): Call it for all image types except PostScript.
1626 (x_kill_gs_process): Call postprocess_image.
1627 (tiff_error_handler, tiff_warning_handler): New functions.
1628 (tiff_load): Install them as handlers.
1629 (x_kill_gs_process): Recognize if someone has cleared the image
1630 cache under us.
1631 (valid_image_p): Protect better against invalid image
1632 specifications. Previous code could signal an error.
1633 (Fx_hide_tip, Fshow_tip): Doc fix.
1634 (Fv_max_tooltip_size): New variable.
1635 (syns_of_xfns): DEFVAR_LISP it.
1636 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1637 window buffer to *tip* right after creating the frame. Set frame's
1638 window_width. Use a maximum tooltip size specified by
1639 Vx_max_tooltip_size, if that has valid contents.
1640 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1641 Make sure the tooltip is completely visible.
1642 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1643 (Fx_create_frame): Adjust the frame's height for presence
1644 of the tool bar before calling x_figure_window_size.
1645 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1646 when the window gets smaller.
1647 (x_set_foreground_color): Set frame's cursor_pixel.
1648 (x_set_foreground_color, x_set_background_color): Cleaned up.
1649 (x_set_font): Handle case of x_new_fontset returning the same name
1650 as before, although there was a change in fontsets.
1651
386ca361
MB
16522001-10-21 Miles Bader <miles@gnu.org>
1653
c2d53558 1654 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1655 (Flogxor): Add usage: string to doc string.
1656 * charset.c (Fstring): Likewise.
1657 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1658 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1659
14ff1ee0
PJ
16602001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1661
03be2694
PJ
1662 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1663
1664 * alloc.c: Reindent DEFUNs with doc: keywords.
1665
1666 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1667
14ff1ee0
PJ
1668 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1669 keyword].
1670
71431a0e
GM
16712001-10-20 Gerd Moellmann <gerd@gnu.org>
1672
6aa97356 1673 * (Version 21.1 released.)
71431a0e 1674
39f624fa
PJ
16752001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1676
c2d53558 1677 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1678
1679 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1680 0 because unused.
1681
1682 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1683 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1684 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1685
abcce93a
MB
16862001-10-20 Miles Bader <miles@gnu.org>
1687
1688 The following changes remove the glyph_row `inverse_p' field,
1689 which is never set anymore, due to other changes:
1690
1691 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1692 (reassert_line_highlight, change_line_highlight): Declarations removed.
1693 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1694 (line_hash_code, row_equal_p, fake_current_matrices)
1695 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1696 (update_frame_line, update_frame_line, update_frame_line):
1697 Don't use `inverse_p' field.
1698 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1699 change_line_highlight_hook.
1700 (XTreassert_line_highlight, x_change_line_highlight):
1701 Functions removed.
c2d53558 1702 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1703 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1704 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1705 `inverse_p' field.
c2d53558 1706 * w32term.c (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 (w32_reassert_line_highlight, x_change_line_highlight):
1709 Functions removed.
1710 * w32console.c (reassert_line_highlight, change_line_highlight):
1711 Functions removed.
1712 (initialize_w32_display): Don't set reassert_line_highlight_hook
1713 or change_line_highlight_hook.
1714 (hl_mode): Function removed.
c2d53558
SM
1715 (reset_terminal_modes, set_terminal_modes, update_begin)
1716 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1717 (clear_frame, ins_del_lines): Don't call it.
1718 * termhooks.h (reassert_line_highlight_hook)
1719 (change_line_highlight_hook): Declarations removed.
1720 * term.c (reassert_line_highlight_hook)
1721 (change_line_highlight_hook): Variables removed.
1722 (reassert_line_highlight, change_line_highlight): Functions removed.
1723 * msdos.c (IT_reassert_line_highlight)
1724 (IT_change_line_highlight): Functions removed.
1725 (internal_terminal_init): Don't set reassert_line_highlight_hook
1726 or change_line_highlight_hook.
1727 (highlight): Variable removed.
c2d53558 1728 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1729 (IT_set_terminal_modes): Don't set or use it.
1730
1731 The following changes remove inverse-video support for terminals
1732 that use a `magic cookie' standout mode. Due to changes in the
1733 way mode-lines are displayed, such support no longer works
1734 anyway, and it's probable that almost no one uses such terminals
1735 anymore:
1736
1737 * term.c (standout_requested): Variable removed.
1738 (update_end, highlight_if_desired): Don't use it.
1739 (chars_wasted, copybuf): Variables removed.
1740 (write_standout_marker): Function removed.
c2d53558 1741 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1742 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1743 Don't use `chars_wasted' or `copybuf'.
1744 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1745 Set `costs_set' to true.
1746 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1747 `chars_wasted'.
1748 (clear_end_of_line): Function removed.
1749 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1750 (clear_to_end): Call `clear_end_of_line' instead of
1751 `clear_end_of_line_raw'.
54800acb
MB
1752 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1753 (term_init): Don't set them.
1754 Turn off any standout/underline modes that require magic cookies.
c2d53558 1755 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1756 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1757 Remove special processing for magic-cookie standout modes.
1758 (turn_off_face, turn_on_face): Remove special processing for
1759 underline magic-cookie glitch.
abcce93a 1760
0b5f679f
RS
17612001-10-19 Richard M. Stallman <rms@gnu.org>
1762
1763 * eval.c (syms_of_eval): Doc fixes.
1764
5a4a5bd4
GM
17652001-10-19 Gerd Moellmann <gerd@gnu.org>
1766
1767 * xdisp.c (redisplay_internal): Don't clear echo area if the
1768 mini-window is selected.
1769
79f1f96c
MB
17702001-10-19 Miles Bader <miles@gnu.org>
1771
b57c2708
MB
1772 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1773 doesn't take precedence if the affected property's value is nil.
1774
1775 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1776
79f1f96c
MB
1777 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1778 with fields and suggest using `forward-line' to avoid them.
1779 * editfns.c (Fline_beginning_position, Fline_end_position):
1780 Clarify documentation.
1781
ef879104
SM
17822001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1783
1784 * keymap.c (current_minor_maps): `override' only shadows its
1785 correspondent in minor-mode-map-alist, not the whole tail.
1786
97f4db8c
AI
17872001-10-18 Andrew Innes <andrewi@gnu.org>
1788
1789 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1790 optimization. The fontp->encoding array was not being initialized
1791 correctly when compiled with optimizations by MSVC.
1792
e6b70fd8
GM
17932001-10-18 Gerd Moellmann <gerd@gnu.org>
1794
30903479 1795 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1796
0e804d38
AI
17972001-10-17 Andrew Innes <andrewi@gnu.org>
1798
1799 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1800
1801 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1802 font_info.charset field.
1803
1804 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1805 rather than working it out by calling w32_codepage_for_font for
1806 every glyph.
1807
66e5868a
AI
18082001-10-17 Andrew Innes <andrewi@gnu.org>
1809
1810 * w32term.c (w32_read_socket): Determine clipping rectangle for
1811 the entire frame, including areas covered by scrollbars and the
1812 menubar. This avoids internal arguments about whether a frame is
1813 fully obscured or not.
1814
15b00083
GM
18152001-10-17 Gerd Moellmann <gerd@gnu.org>
1816
23e8bd86
GM
1817 * xdisp.c (try_window_id): Undo last change. Give up if
1818 window ends in strings.
30903479 1819
9c6ba6d1 1820 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1821 end if the rest of the window after the window end was already blank.
23e8bd86 1822
30903479 1823 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1824 for the release of 21.1.
1825
30903479 1826 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1827
945220bd
MB
18282001-10-17 Miles Bader <miles@gnu.org>
1829
1830 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1831 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1832 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1833 Change doc-string comments to `new style' [w/`doc:' keyword].
1834 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1835 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1836 out make-docfile.
1837
14242528
MB
18382001-10-16 Miles Bader <miles@gnu.org>
1839
1840 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1841
3ddf952f
GM
18422001-10-16 Gerd Moellmann <gerd@gnu.org>
1843
1844 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1845 *scratch*.
1846
f3fbd155
KR
18472001-10-16 Ken Raeburn <raeburn@gnu.org>
1848
1849 Avoid the assumption that car and cdr slots of cons cells are
1850 addressable lvalues; this allows for easier experimentation with
1851 other lisp implementations that may not permit such accesses for
1852 various reasons. Not quite complete -- buffer.c still needs some
1853 work, and w32/mac files need rechecking -- so compile-time
1854 enforcement is left disabled for now.
1855
1856 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1857 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1858 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1859 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1860 (XSETCAR, XSETCDR): New macros.
1861 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1862 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1863 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1864 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1865 XSETCDR.
1866 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1867 * buffer.c (record_buffer, Fbury_buffer)
1868 (swap_out_buffer_local_variables, recenter_overlay_lists)
1869 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1870 fields of a cons cell respectively.
1871 * callint.c (quotify_args, Fcall_interactively): Likewise.
1872 * ccl.c (Fregister_code_conversion_map): Likewise.
1873 * coding.c (detect_coding_system): Likewise.
1874 * composite.c (get_composition_id, make_composition_value_copy):
1875 Likewise.
30903479
SM
1876 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1877 (swap_in_symval_forwarding, set_internal, Fset_default)
1878 (Fmake_variable_buffer_local, Fmake_local_variable)
1879 (Fmake_variable_frame_local): Likewise.
f3fbd155 1880 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1881 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1882 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1883 * minibuf.c (get_minibuffer): Likewise.
1884 * search.c (Fmatch_data): Likewise.
1885 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1886 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1887 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1888 Likewise.
1889 * w32term.c (x_delete_display): Likewise.
1890 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1891 Likewise.
c2d53558 1892 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1893 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1894 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1895 (Fread_file_name): Use XSETCAR.
1896 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1897 CHECK_NUMBER_CDR.
1898 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1899 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1900 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1901 CHECK_NUMBER_CDR.
1902 * keyboard.c (read_char): Alter list traversal to avoid taking the
1903 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1904 (parse_menu_item): Use XSETCAR and XSETCDR.
1905 (reach_char_x_menu_prompt): Use XSETCAR.
1906 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1907 (Fcommand_execute): Use XSETCDR.
1908 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1909 (openp): Change list traversal to avoid using XCAR as lvalue.
1910 (read_list): Use XSETCDR.
1911 * process.c (wait_reading_process_input): Change wait_for_cell
1912 handling to avoid taking addresses of cons cell slots.
30903479
SM
1913 * xselect.c (x_own_selection, x_handle_selection_clear)
1914 (x_clear_frame_selections): Use XSETCDR.
1915 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1916 (x_handle_property_notify, x_get_foreign_selection)
1917 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1918
502150e5
PJ
19192001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1920
018ba359
PJ
1921 * buffer.c: Put doc strings in comments.
1922
30903479 1923 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1924
b56ba8de
SS
19252001-10-15 Sam Steingold <sds@gnu.org>
1926
1927 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1928
6a0b793a
PJ
19292001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1930
30903479
SM
1931 * process.c (process-inherit-coding-system-flag)
1932 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1933 in comment.
1934
a1f17501 1935 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1936 arguments. Put doc strings in comments.
a65da641
PJ
1937
1938 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1939
aa601ad0
GM
19402001-10-15 Gerd Moellmann <gerd@gnu.org>
1941
30903479 1942 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1943
aa601ad0
GM
1944 * window.c (select_window_1): Unfreeze window start. Remove a
1945 doubled test for WINDOW being live.
1946
288148a1
PJ
19472001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1948
dd8d1e71
PJ
1949 * fns.c (Fmapconcat): Fix typo in a doc string.
1950
288148a1
PJ
1951 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1952
9f5eb4a3
GM
19532001-10-15 Gerd Moellmann <gerd@gnu.org>
1954
1955 * xterm.c (x_draw_glyph_string): Restore clipping after
1956 drawing box.
1957
dbae44c8
PJ
19582001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1959
30903479 1960 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1961
0c88c937
SM
19622001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1963
56378db4
GM
1964 * indent.c (skip_invisible): Use new retval of
1965 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1966
845e4cf4
SM
1967 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1968 If a parent is reached and noinherit is set, exit immediately.
1969 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1970
0c88c937
SM
1971 * s/ms-w32.h (EXEC_SUFFIXES):
1972 * s/msdos.h (EXEC_SUFFIXES):
1973 * process.h (EXEC_SUFFIXES): Remove.
1974
1975 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1976 (decode_suffixes): Remove.
1977
1978 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1979 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1980 (invisible_ellipsis_p): Remove.
0c88c937
SM
1981
1982 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1983 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1984 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1985 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1986 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1987
d19be8a9
PJ
19882001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1989
04d7d066
PJ
1990 * lisp.h (Ftop_level): Add prototype.
1991
d624284c
PJ
1992 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1993 (XTread_socket): Improve style of comments to follow other
1994 comments.
1995
a87414f9
PJ
1996 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1997 is already prototyped in included lisp.h).
1998
d19be8a9
PJ
1999 * frame.c (Fset_mouse_position): Improve style of comment to
2000 follow other comments.
2001 (Fset_mouse_pixel_position): Improve style of comment to follow
2002 other comments.
2003 (Fmake_frame_visible): Doc fix and typo in comment.
2004 (Fmake_frame_invisible): Doc fix and typo in comment.
2005 (Ficonify_frame): Fix typo in comment.
2006
c061c855
GM
20072001-10-14 Gerd Moellmann <gerd@gnu.org>
2008
37f6b5b6 2009 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2010 * term.c, alloc.c: Put doc strings in comments.
c061c855 2011
e641b454
GM
20122001-10-13 Gerd Moellmann <gerd@gnu.org>
2013
2014 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2015 Provide definitions for doc strings in comments.
2016
2017 * fns.c: Put doc strings in comments.
2018
51724e26
EZ
20192001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2020
2021 * dired.c (file_name_completion): Ignore a candidate directory if
2022 it matches an element in completion-ignored-extensions that ends
2023 in a slash.
2024 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2025 feature in the doc string.
2026 (Ffile_name_completion): Ditto.
2027
be5fc59b
SM
20282001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2029
5a1373f3
SM
2030 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2031
2032 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2033
2034 * lisp.h (Fprovide): Update prototype.
2035 (Ffeaturep, invisible_p): Remove.
2036
bbc4a3d3 2037 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2038 (DOLIST, LOOP_PROPVAL): New macros.
2039 (invisible_p, invisible_ellipsis_p): Use them.
2040 (invisible_noellipsis_p): New function.
2041 (syms_of_xdisp): Use empty_string.
2042
2043 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2044
2045 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2046 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2047
2048 * print.c (Fwith_output_to_temp_buffer): Align with
2049 internal_with_output_to_temp_buffer.
2050 (print_preprocess): Use traverse_intervals_noorder.
2051 (print_object): Update call to traverse_intervals.
2052
2053 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2054 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2055
2056 * intervals.c (traverse_intervals_noorder): New function.
2057 (search_for_interval, count_intervals): Use it.
2058 (traverse_intervals): Use less stack space and drop `depth' arg.
2059
2060 * fns.c (Ffeaturep): Add new `subfeature' arg.
2061 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2062 (Qsubfeatures): New var.
2063 (syms_of_fns): Initialize it.
2064
026f408d
SM
2065 * keymap.c (Fkey_description): Use empty_string.
2066 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2067 (syms_of_keymap): Setup inheritance between maps.
2068 Don't export Sdescribe_bindings_internal any more.
2069
be5fc59b
SM
2070 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2071
3365175e
GM
20722001-10-12 Gerd Moellmann <gerd@gnu.org>
2073
2074 * xterm.c (notice_overwritten_cursor): Renamed from
2075 note_overwritten_text_cursor. Rewritten to take glyph widths into
2076 account.
2077
2ab7765c
EZ
20782001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2079
2080 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2081 multi-line strings without a trailing "\n\".
2082
311346bb
PJ
20832001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2084
2085 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2086 defined.
2087
2168e04d
SM
20882001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2089
026f408d
SM
2090 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2091
c0ec53ad
SM
2092 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2093 * w32proc.c (sys_spawnve):
2094 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2095 * w32.c (check_windows_init_file):
2096 * sound.c (Fplay_sound):
026f408d 2097 * emacs.c (init_cmdargs):
c0ec53ad
SM
2098 * process.c (Fstart_process): Update calls to openp.
2099
2100 * callproc.c (Vexec_suffixes): New var.
2101 (Fcall_process): Update call to openp.
2102 (decode_suffixes): New function.
2103 (syms_of_callproc): Init exec-suffixes.
2104
2105 * lread.c (Vload_suffixes, default_suffixes): New vars.
2106 (openp): Take a lisp list of suffixes.
2107 Check for file-name-handlers even if the file was absolute already.
2108 (syms_of_lread): Declare load-suffixes.
2109 (Fload): Fix up call to openp.
2110 Don't bother checking for file-name-handler at the very beginning.
2111
f6333468
SM
2112 * keymap.h (Fcopy_keymap): Don't export.
2113
2114 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2115 (Vload_suffixes, Vexec_suffixes): Declare.
2116 (openp): Update prototype.
f6333468
SM
2117
2118 * emacs.c (empty_string): New var.
2119 (syms_of_emacs): Initialize it.
2120
2121 * search.c (wordify): Use it.
2122
2123 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2124 selected window if it's not displayed there. Handle the case
2125 when the window is dedicated.
2126 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2127
2128 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2129
2168e04d
SM
2130 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2131 Remove left_ok and right_ok.
2132 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2133 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2134 new meaning of b_property.
2135
2136 * syntax.c (update_syntax_table): Simplify.
2137 (Fforward_comment): Don't skip quoted chars when going backward.
2138
13d95cc0
GM
21392001-10-11 Gerd Moellmann <gerd@gnu.org>
2140
beb0990f
GM
2141 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2142 in case I is of some unsigned type, in which case
2143 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2144 comparison becomes bogus.
2145
cb938d46
GM
2146 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2147 (Fuser_full_name): Fix bug treating a float as a fixnum.
2148
2149 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2150
2151 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2152
13d95cc0
GM
2153 * lisp.h (circular_list_error): Add prototype.
2154
2155 * data.c (Qcircular_list): New variable.
2156 (circular_list_error): New function.
2157 (syms_of_data): Initialize it Qcircular_list.
2158
e35f6ff7
SM
21592001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2160
2161 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2162 casefiddle.c, buffer.c: Include keymap.h.
2163
619632ac
GM
21642001-10-10 Gerd Moellmann <gerd@gnu.org>
2165
2166 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2167 options. From Dave Love <d.love@dl.ac.uk>.
2168
5e5388f6
GM
21692001-10-09 Gerd Moellmann <gerd@gnu.org>
2170
2171 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2172 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2173
14a3dff7
GM
2174 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2175 unsigned char.
2176 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2177
76ba8daf
AI
21782001-10-08 Andrew Innes <andrewi@gnu.org>
2179
2180 * lisp.h [max]: Undef min and max before redefining them.
2181
2182 * w32gui.h: Do not undef min and max.
2183
2184 * w32heap.h: Do not undef min and max.
2185
2186 * s/ms-w32.h: Do not undef min and max.
2187
166253cb
SM
21882001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2189
2190 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2191
0c4d9527
SS
21922001-10-08 Sam Steingold <sds@gnu.org>
2193
2194 * keymap.c (current-active-maps): Quote newlines (compilation error).
2195
14bfa771
EZ
21962001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2197
2198 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2199 bindings.elc, since otherwise doc strings in bindings.el get wrong
2200 offsets in etc/DOC.
2201
bdb7aa47
SM
22022001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2203
9985827f
SM
2204 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2205
2206 * keyboard.h (map_prompt): Remove.
2207
2208 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2209 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2210
bdb7aa47
SM
2211 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2212
2213 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2214
2215 * keyboard.c (map_prompt): Remove.
2216 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2217 Use Fkeymap_prompt.
2218
2219 * keymap.h: New file. Extracted from lisp.h.
2220
9985827f
SM
2221 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2222 (accessible_keymaps_1): New function.
2223 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2224 (Fwhere_is_internal): Use Fcurrent_active_maps.
2225 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2226 Insert in current buffer rather than standard-output.
2227 Don't call `help-mode'. Export to elisp.
2228 (describe_buffer_bindings): New wrapper.
2229 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2230 and Sdescribe_buffer_bindings.
2231
402c9a51
GM
22322001-10-08 Gerd Moellmann <gerd@gnu.org>
2233
9985827f 2234 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2235 Remove code setting signal handler.
2236
9985827f 2237 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2238 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2239
3fe81fdf
PJ
22402001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2241
2242 * keyboard.c: Don't define min/max.
2243
55fa7820
GM
22442001-10-08 Gerd Moellmann <gerd@gnu.org>
2245
9985827f 2246 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2247 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2248 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2249 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2250 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2251 Don't define min/max.
2252
2253 * lisp.h (min, max): New macros.
2254
55fa7820
GM
2255 * puresize.h (BASE_PURESIZE): Increase to 725000.
2256
1aad31e4
PJ
22572001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2258
9180dc8c
PJ
2259 * xfaces.c (free_frame_menubar): Add prototype.
2260
01f67d2c
PJ
2261 * lisp.h (init_window): Add prototype.
2262
2263 * editfns.c: Include ctype.h.
2264
2265 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2266 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2267 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2268 variable `sb'.
2269
5f351ff1
PJ
2270 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2271 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2272 `popup_activated_flag' and `title'.
2273
479dfe87
PJ
2274 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2275
dff49fc8
PJ
2276 * emacs.c (main): Remove extra `;'.
2277
248ac615
PJ
2278 * atimer.h (struct atimer): Fix typos in a comment.
2279
2280 * atimer.c: Fix typo.
2281
af232c7d
PJ
2282 * Makefile.in: Fix typo.
2283
2284 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2285
d876f455
MB
22862001-10-07 Miles Bader <miles@gnu.org>
2287
2288 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2289
0037e2f2
KR
22902001-10-07 Ken Raeburn <raeburn@gnu.org>
2291
b056f36d
KR
2292 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2293 Lisp_Object.
2294
0037e2f2
KR
2295 * lisp.h (Ffield_end): Declare.
2296
1a4372ef
GM
22972001-10-07 Gerd Moellmann <gerd@gnu.org>
2298
a4a74e8c
GM
2299 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2300
2301 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2302
2303 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2304
2305 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2306
1a4372ef
GM
2307 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2308 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2309
2310 * alloc.c (inhibit_garbage_collection): Simplify.
2311 (Fmemory_use_counts): Ditto.
2312
9985827f 2313 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2314 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2315 most-negative-fixnum.
2316
9985827f 2317 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2318 (FIXNUM_OVERFLOW_P): New macros.
2319
4650e362
MB
23202001-10-06 Miles Bader <miles@gnu.org>
2321
2322 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2323 scroll_bar_bottom_shadow_pixel fields.
2324 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2325 for the shadows, and tell the toolkit about them if we succeed.
2326 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2327 Free scroll-bar shadow colors.
2328 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2329 Free scroll-bar shadow colors when the background color changes.
2330 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2331 Initialize scroll-bar shadow-color fields.
2332
ace64e0a
GM
23332001-10-05 Gerd Moellmann <gerd@gnu.org>
2334
2335 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2336
ec66bdc7
MB
23372001-10-05 Miles Bader <miles@gnu.org>
2338
9985827f
SM
2339 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2340 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2341 New functions (were in simple.el).
9985827f 2342 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2343 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2344 (syms_of_minibuf): Initialize them.
2345
a0fb4492
GM
23462001-10-05 Gerd Moellmann <gerd@gnu.org>
2347
2348 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2349 (tiff_load): Install them as error and warning handler.
2350
0bcf87c1
AI
23512001-10-04 Andrew Innes <andrewi@gnu.org>
2352
2353 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2354 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2355 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2356 (x_to_w32_charset): Handle private format for unknown charsets.
2357 Handle wildcards in charset spec, by ignoring them.
2358 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2359 "*-" prefix from charset.
2360 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2361 handle the truncated font spec form constructed by font_list_1, so
2362 that we correctly identify the charset fields. Don't remove "*-"
2363 prefix from charset.
2364 (w32_list_synthesized_fonts): Fix argument to alloca.
2365
c89e4bc5
GM
23662001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2367
2368 * window.h (MINI_WINDOW_P): Use NILP.
2369
2370 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2371
2372 * termhooks.h (struct input_event): Use proper type for `kind'.
2373
23742001-10-04 Gerd Moellmann <gerd@gnu.org>
2375
2376 This handles unknown keysyms better than before. For example,
2377 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2378 Emacs formerly completely ignored F5. With the change, it derives
2379 a key symbol from the name of the X keysym, `ccaron' in this case.
2380 Reported by Martin Buchholz.
2381
2382 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2383 unknown keysyms.
2384
2385 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2386 that EVENT->code isn't a function key, use the keysym's name.
2387
23882001-10-04 Gerd Moellmann <gerd@gnu.org>
2389
2390 FOREACH is a macro that should make it easier to loop over Lisp
2391 lists with checks for cycles and proper lists.
2392
2393 * lisp.h (LIST_END_P, FOREACH): New macros.
2394
23952001-10-04 Gerd Moellmann <gerd@gnu.org>
2396
2397 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2398 called for a lost connection. Prevent dumping core in this case.
2399 Instead print the X error, and exit. On user request.
2400
2401 * xterm.c (error_msg): New variable.
2402 (x_fatal_error_signal): New function.
2403 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2404 as fatal_error_signal_hook around the call to XtCloseDisplay.
2405
2406 * emacs.c (fatal_error_signal_hook): New variable.
2407 (fatal_error_signal): Call that function.
2408
24092001-10-04 Gerd Moellmann <gerd@gnu.org>
2410
2411 With this, Emacs prints how much pure storage it will
2412 approximately need in case pure storage overflows while dumping.
2413
2414 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2415 New variables.
2416 (init_alloc_once): Initialize new variables.
2417 (PURE_POINTER_P): Use new variables.
2418 (pure_alloc): If pure storage overflows, allocate from the heap.
2419 (check_pure_size): New function.
2420 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2421
2422 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2423 (check_pure_size): Add prototype.
2424
2425 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2426
24272001-10-04 Gerd Moellmann <gerd@gnu.org>
2428
2429 This adds a post-gc-hook that's run with GC inhibited.
2430 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2431
2432 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2433 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2434 (Fgarbage_collect): Run post-gc-hook.
2435
24362001-10-04 Gerd Moellmann <gerd@gnu.org>
2437
2438 This adds `defvaralias' and `indirect-variable'. Changes not
2439 directly related to this feature are there to gain the same
2440 performance again as before variable aliases.
2441
2442 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2443 code to get and set symbol values, to take defvaralias into account.
2444
2445 (Note: the new `constant' bit-flag in symbols would make it
2446 possible to define arbitrary read-only variables, e.g. with
2447 `defconst'.)
2448
2449 Documentation is in lispref/variables.texi. Added to NEWS.
2450
2451 * lisp.h (enum symbol_interned): New enumeration.
2452 (struct Lisp_Symbol): Remove member `obarray', add
2453 `indirect_variable', `constant', and `interned'.
2454 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2455 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2456 (indirect_variable): Add prototype.
2457
2458 * print.c (print_preprocess, print_object): Test internedness of
2459 symbols differently.
2460
2461 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2462 bit-fields.
2463 (init_obarray): Likewise for t and nil.
2464
2465 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2466 (Fdefvaralias): New function.
2467 (specbind): Simplify the test if symbol is a constant.
2468 (syms_of_eval): Defsubr Fdefvaralias.
2469
2470 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2471 (Qcyclic_variable_indirection): New variable.
2472 (Fkeywordp): Check for internedness differently.
2473 (Fmakunbound): Simplify the test if symbol is a constant.
2474 (indirect_variable, Findirect_variable): New functions.
2475 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2476 aliased symbol.
2477 (let_shadows_buffer_binding_p): Check for variable aliases.
2478 (set_internal): Simplify the test if SYMBOL is a constant.
2479 If SYMBOL has a buffer-local value and is an alias, use the aliased
2480 symbol instead.
2481 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2482 Sindirect_variable.
2483
2484 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2485 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2486 set directly.
2487
2488 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2489
2490 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2491 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2492 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2493
ab952a4f
GM
24942001-10-04 Gerd Moellmann <gerd@gnu.org>
2495
2496 * Branch for 21.1.
b56ba8de 2497
ba88ff28
MB
24982001-10-03 Miles Bader <miles@gnu.org>
2499
2500 * callproc.c (syms_of_callproc): Explicitly state in the
2501 documentation for `process-environment' that earlier entries take
2502 precedence over later ones.
2503
ae1a9581
MB
25042001-10-02 Miles Bader <miles@gnu.org>
2505
2506 * textprop.c (Fnext_char_property_change)
2507 (Fprevious_char_property_change): Remove reference to non-existant
2508 argument OBJECT from doc-string.
2509
257e3f57
GM
25102001-10-01 Gerd Moellmann <gerd@gnu.org>
2511
2512 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2513 (try_window_id): Skip back over lines ending in a newline from a
2514 string.
2515
2516 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2517 New bit flag
2518
c1f29759
RS
25192001-10-01 Richard M. Stallman <rms@gnu.org>
2520
2521 * search.c (Freplace_match): Doc fix.
2522
c30dce3d
AI
25232001-09-28 Andrew Innes <andrewi@gnu.org>
2524
2525 * w32menu.c (set_frame_menubar): Take into account that
2526 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2527 <raeburn@gnu.org>.
2528
03be5931
EZ
25292001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2530
2531 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2532
75bec752
PJ
25332001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2534
2535 * s/gnu-linux.h: Fix a typo in comment.
2536
83100e0a
AS
25372001-09-28 Andreas Schwab <schwab@suse.de>
2538
2539 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2540 nocombreloc, in case -z combreloc is the default.
2541
a74b48cf
GM
25422001-09-28 Gerd Moellmann <gerd@gnu.org>
2543
2544 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2545 really going on here.
2546
09c4719e
SM
25472001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2548
2549 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2550
f7d5d963
EZ
25512001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2552
2553 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2554 utf-8, menu-bar, and latin-N.
2555 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2556 unconditionally now.
2557 (lisp): Add latin-N, since they are preloaded.
2558
9240e746
GM
25592001-09-27 Gerd Moellmann <gerd@gnu.org>
2560
14531065
GM
2561 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2562 to the left. Some cleanup.
2563
9240e746
GM
2564 * xdisp.c (display_mode_element): One more case where a string's
2565 multibyteness should be used for display.
2566
edd1e654
GM
25672001-09-26 Gerd Moellmann <gerd@gnu.org>
2568
b02439c8
GM
2569 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2570 reading at EOF.
2571
032906b1 2572 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2573 of the only temporarily set echoing flag for deciding when
032906b1
GM
2574 the cancel echoing.
2575
2576 * keyboard.c (echo_kboard): Make externally visible.
2577
2578 * lisp.h (echo_kboard): Declare extern.
2579
cb617e7c 2580 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2581 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2582 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2583 this round of redisplay if make_cursor_line_fully_visible fails.
2584 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2585 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2586
2587 * dispextern.h (required_matrix_width, required_matrix_height):
2588 Add prototypes.
2589
09c4719e
SM
2590 * dispnew.c (required_matrix_width, required_matrix_height):
2591 New functions.
cb617e7c 2592 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2593 (allocate_matrices_for_frame_redisplay: Use them.
2594 Remove parameters CH_DIM.
cb617e7c 2595
edd1e654
GM
2596 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2597 and selected_window to the frame of the window whose mode-lines
2598 are displayed, and to the window itself.
2599 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2600 here.
edd1e654 2601
924b604c
GM
26022001-09-25 Gerd Moellmann <gerd@gnu.org>
2603
daba7643
GM
2604 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2605 the image cache under us.
2606
b7a22712 2607 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2608 with a string value, use that string's multibyteness for displaying.
b7a22712 2609
ad648212
GM
2610 * keyboard.c (read_char): Don't clear a message for a switch-frame
2611 event. From Stefan Monnier <monnier@cs.yale.edu>.
2612
9f8531e5
GM
2613 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2614 version for after 21.1.
2615
2616 * xdisp.c (row_containing_pos): Make externally visible.
2617
2618 * dispextern.h (row_containing_pos): Add prototype.
2619
924b604c
GM
2620 * process.c (send_process): Disable composition if from_byte < 0.
2621 From Kenichi Handa <handa@etl.go.jp>.
2622
6f3f0db4
GM
26232001-09-24 Gerd Moellmann <gerd@gnu.org>
2624
c69c0ebc
GM
2625 * xterm.c (refreshicon): Function removed.
2626
d1182bc4
GM
2627 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2628
2629 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2630
2631 * xterm.c (toplevel): Remove includes in #if 0.
2632
6f3f0db4
GM
2633 * process.c (sigchld_handler) [LINUX]: Don't return from
2634 the signal handler at the end of the loop.
2635
59957f85
GM
26362001-09-21 Gerd Moellmann <gerd@gnu.org>
2637
09c4719e
SM
2638 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2639 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2640
a0528984
EZ
26412001-09-21 Markus Rost <rost@math.ohio-state.edu>
2642
2643 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2644
db92b288
GM
26452001-09-20 Gerd Moellmann <gerd@gnu.org>
2646
3fed8ad5
GM
2647 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2648 since this function can be called during GC.
2649
db92b288
GM
2650 * callproc.c (Fcall_process): Handle errors from pipe(2).
2651 (child_setup): Delete code in #ifdef vipc.
2652
7121b85a
GM
26532001-09-19 Gerd Moellmann <gerd@gnu.org>
2654
72f62cb5
GM
2655 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2656 (display_mode_element): Display the string from decode_mode_spec
2657 depending on its multibyteness.
2658
a2697022
GM
2659 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2660
7121b85a
GM
2661 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2662
bfc97351
GM
26632001-09-18 Gerd Moellmann <gerd@gnu.org>
2664
c9063433
GM
2665 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2666 recursive_edit_unwind.
2667 (recursive_edit_unwind): Set kboard state according to
2668 SINGLE-KBOARD.
2669
3fbdba3e
GM
2670 * buffer.c (modify_overlay): Don't do nothing if START == END;
2671 This can still be a modification, for example when an overlay has
2672 a before-string or after-string.
2673 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2674 an overlay with before-string or after-string.
2675
1270031d
GM
2676 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2677 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2678
bfc97351
GM
2679 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2680 first_unchanged_at_end_row is in front of
2681 last_unchanged_at_beg_row. This code should be removed after the
2682 release of 21.1.
2683
d8a973aa
GM
26842001-09-17 Gerd Moellmann <gerd@gnu.org>
2685
e18c8b8d
GM
2686 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2687 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2688
d8a973aa
GM
2689 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2690 versions >= 2.95.
2691
ed7d6ba4
EZ
26922001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2693
2694 * dired.c (Ffile_attributes): Doc fix.
2695
551629f9
GM
26962001-09-14 Gerd Moellmann <gerd@gnu.org>
2697
2698 * fileio.c (Ffile_symlink_p): Fix last change.
2699
2700 * filelock.c (current_lock_owner): Fix last change.
2701
4c8c7926
GM
27022001-09-13 Gerd Moellmann <gerd@gnu.org>
2703
620c4704
GM
2704 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2705 take that to mean that the buffer is too small.
2706
81c3310d
GM
2707 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2708 that to mean that the buffer is too small.
2709
06fd3792
GM
2710 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2711 current buffer's multibyteness when discarding the iterator's
2712 stack.
2713
4c8c7926
GM
2714 * xfns.c (Fx_window_property): Handle case that property gets
2715 deleted between the two calls to XGetWindowProperty.
2716
9a72e4c1
GM
27172001-09-11 Gerd Moellmann <gerd@gnu.org>
2718
bd819d14 2719 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2720
a41edd99
GM
2721 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2722 in addition to read-only.
2723
2724 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2725 to t in addition to read-only.
2726
2727 * lisp.h (Qinhibit_modification_hooks): Declare.
2728
2729 * insdel.c (Qinhibit_modification_hooks): New variable.
2730 (syms_of_insdel): Initialize and staticpro it.
2731
d4881c6a
GM
2732 * textprop.c (verify_interval_modification): Don't run
2733 modification-hooks if inhibit_modification_hooks.
2734
2735 * dispnew.c (set_window_cursor_after_update): Fix code
2736 finding glyph row containing cursor when cursor_in_echo_area
2737 is >= 0.
2738
9a72e4c1
GM
2739 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2740 (add_to_log): Use bcopy instead of strcpy.
2741 (init_from_display_pos): Use an explicit loop over bytes in
2742 overlay strings instead of calling index.
2743
f4a374a1
GM
27442001-09-10 Gerd Moellmann <gerd@gnu.org>
2745
300e57bd
GM
2746 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2747
2748 * dispnew.c (direct_output_for_insert): Don't change IT's
2749 stop_charpos to something in front of its current position.
2750
f4a374a1
GM
2751 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2752 `format'.
2753
7e4cbc91
RS
27542001-09-10 Richard M. Stallman <rms@gnu.org>
2755
2756 * frame.c (Fmouse_position): Doc fix.
2757
6afad91e
GM
27582001-09-07 Gerd Moellmann <gerd@gnu.org>
2759
2760 * xdisp.c (init_from_display_pos): Don't compare the result
2761 of calling index with NULL.
2762
f76e0368
GM
27632001-09-06 Gerd Moellmann <gerd@gnu.org>
2764
2765 * xfns.c (x_set_background_color): Don't change the colors
2766 of the X window of scroll bar widgets.
2767
9ead1b60
AI
27682001-09-05 Andrew Innes <andrewi@gnu.org>
2769
2770 * w32fns.c (w32_createwindow): Undo last change.
2771
c3b497b3
GM
27722001-09-05 Gerd Moellmann <gerd@gnu.org>
2773
08e1d6df
GM
2774 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2775
c3b497b3
GM
2776 * xdisp.c (string_buffer_position): Use *single_char_property*
2777 functions instead of the *single_property* functions.
b56ba8de 2778
8f860180
AI
27792001-09-04 Andrew Innes <andrewi@gnu.org>
2780
9a72e4c1
GM
2781 * w32term.c (w32_read_socket): Add more information to debugging
2782 output.
8f860180
AI
2783
2784 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2785 from Emacs frames, so that calls to GetClipBox in w32term.c
2786 correctly report when part of a frame is visible (including
2787 scrollbars, etc). This prevents repeated redrawing of frames when
2788 only a scrollbar is visible.
2789 (w32_wnd_proc): Add more frame information to debugging output.
2790
2ee1aa00
SM
27912001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2792
2793 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2794
e3b22517
GM
27952001-09-03 Gerd Moellmann <gerd@gnu.org>
2796
7e376260
GM
2797 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2798 help-echo for a string which doesn't have help-echo itself, use
2799 get-char-property to obtain the help-echo from the string's buffer
2800 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2801 have mouse-face, look ``under'' the string for mouse-face from an
2802 overlay.
2803 (fast_find_position): Add parameter STOP. In the final row, stop
2804 before glyphs having STOP as object. Don't consider glyphs that
2805 are not from a buffer.
2806
e3b22517
GM
2807 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2808
9a249bba
EZ
28092001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2810
2811 * fns.c (Fmd5): Doc fix.
2812
c9979669
GM
28132001-08-31 Gerd Moellmann <gerd@gnu.org>
2814
2815 * composite.c (update_compositions): Do nothing if
2816 inhibit-modification-hooks is set.
2817
9584e63a
GM
28182001-08-30 Gerd Moellmann <gerd@gnu.org>
2819
986ec8f2 2820 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2821 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2822 glyph matrices etc. in a core dump.
2823
92a25631
GM
2824 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2825 (syms_of_xdisp): Initialize them.
2826 (handle_single_display_prop): Don't change point, bind `object',
2827 `position', and `buffer-position' instead to the object having the
2ee1aa00 2828 `display' property, position in the object and position in the buffer.
92a25631 2829
9584e63a
GM
2830 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2831 of the buffer if REPLACE is non-nil.
2832
d38633a3
GM
28332001-08-29 Gerd Moellmann <gerd@gnu.org>
2834
2835 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2836
f4fccc1e
EZ
28372001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2838
2839 * w32term.c (x_set_glyph_string_background_width)
2840 (show_mouse_face): Track the last changes in xterm.c.
2841
eaaa65b0
GM
28422001-08-28 Gerd Moellmann <gerd@gnu.org>
2843
7b0870b2
GM
2844 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2845 string's background width so that multi-line mouse-face is drawn
2846 to the right edge of the window.
2847 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2848 glyphs.
2849
6b6e2422 2850 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2851 before inserting/writing glyphs.
6b6e2422 2852
eaaa65b0
GM
2853 * xdisp.c (display_mode_element): Use string_byte_to_char to
2854 determine character positions in strings, use chars_in_text
2855 instead of strwidth.
2856 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2857 a matrix as parameter; this is easier to use from GDB.
2858
9ad62cf8
MB
28592001-08-28 Miles Bader <miles@gnu.org>
2860
2ee1aa00
SM
2861 * textprop.c (Fprevious_single_char_property_change)
2862 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2863
32171635
GM
28642001-08-27 Gerd Moellmann <gerd@gnu.org>
2865
47d57b22
GM
2866 * fileio.c (Finsert_file_contents): Allocate, restore, and
2867 free composition data in the case of REPLACE not being nil.
2868
2869 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2870 there exist overlay strings with newlines at POS.
2871 (text_outside_line_unchanged_p): Return 0 if changes start at
2872 START and overlays exist at START. Likewise for END.
2873 (try_window_id): Give up if init_to_row_end returns 0.
2874
32171635
GM
2875 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2876 unconditionally.
2877
e1249666
GM
28782001-08-24 Gerd Moellmann <gerd@gnu.org>
2879
33954c45
GM
2880 * keymap.c (access_keymap): Return the cdr of the binding of
2881 a generic character instead of its definition (KEY . BINDING).
2882
e1249666
GM
2883 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2884 to 0 also in the REPLACE case.
2885
fb4c6c96
AC
28862001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2887
2888 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2889 open to determine whether file is readable (as for DOS_NT).
2890
59ecf80b
GM
28912001-08-23 Gerd Moellmann <gerd@gnu.org>
2892
2893 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2894 coding.type is coding_type_no_conversion or coding_type_raw_text,
2895 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2896 non-nil instead of just setting enable_multibyte_characters in the
2897 buffer to nil.
2898
40e33037
GM
28992001-08-22 Gerd Moellmann <gerd@gnu.org>
2900
374388c3
GM
2901 * dispextern.h (struct face_cache): Add member
2902 menu_face_changed_p.
2903
2904 * xfaces.c (menu_face_changed_default): New variable.
2905 (menu_face_changed_count): Variable removed.
2906 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2907 the menu_face_changed_default flag, otherwise set the FRAME's
2908 menu_face_changed_p flag if the `menu' face has been changed.
2909 Prevent calling set_font_frame_param if FRAME is t.
2910 (make_face_cache): Initialize cache's menu_face_changed_p
2911 from menu_face_changed_default.
2912 (realize_basic_faces): Look into the frame's face cache to
2913 determine if the menu appearance needs updating.
2914
40e33037
GM
2915 * keymap.c (access_keymap): Fix last change to not consider
2916 IDX when it has modifiers.
2917
859ea4b8
GM
29182001-08-21 Gerd Moellmann <gerd@gnu.org>
2919
2920 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2921 . BINDING) exists, where GENERIC-CHAR is the generic character of
2922 the charset of IDX, return BINDING unless there exists a binding
2923 for IDX itself.
2924
e8660d73
GM
29252001-08-16 Gerd Moellmann <gerd@gnu.org>
2926
cca1b1d7
GM
2927 * xrdb.c (SYSV): Don't define on Solaris 2.
2928 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2929
e8660d73 2930 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2931 of the screen line, not text line, containing IT's current position.
e8660d73 2932
93aba6fc
GM
29332001-08-15 Gerd Moellmann <gerd@gnu.org>
2934
288d4e06
GM
2935 * window.c (window_scroll_pixel_based): Don't recenter if
2936 PT is partially visible in the window.
2937
3452efc2
SM
2938 * xterm.c (expose_window_tree, expose_window, expose_line):
2939 Return 1 when overwriting mouse-face.
82f053ab
GM
2940 (expose_frame): If mouse-face was overwritten, redo it.
2941
93aba6fc
GM
2942 * xfaces.c (x_update_menu_appearance): Don't call
2943 set_frame_menubar, let the next redisplay do it.
2944
858a55c1
AI
29452001-08-14 Andrew Innes <andrewi@gnu.org>
2946
2947 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2948 drawing glyph string.
2949
3a990b67
EZ
29502001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2951
2952 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2953 running HI-UX/MPP.
2954
04386463
GM
29552001-08-14 Gerd Moellmann <gerd@gnu.org>
2956
2957 * xfaces.c (x_update_menu_appearance): Save and restore value of
2958 interrupt_input_blocked.
2959
3e6385a4
GM
29602001-08-13 Gerd Moellmann <gerd@gnu.org>
2961
b0e619b4
GM
2962 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2963 a line start, move back to the line start.
3452efc2 2964
0de73d5a
GM
2965 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2966 exactly when a mini-buffer is active.
2967
3e6385a4
GM
2968 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2969 in units of 1/8 character on non window-system frames.
2970 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2971
d1b5f629
EZ
29722001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2973
2974 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2975 a doc string.
2976
eaa2319f
GM
29772001-08-09 Gerd Moellmann <gerd@gnu.org>
2978
8e3189f0
GM
2979 * keyboard.c (Vpre_help_message): New variable.
2980 (syms_of_keyboard): Initialize and staticpro it.
2981 (show_help_echo): Record current message before displaying a
2982 help-echo, and restore that message when clearing the help.
2983
eaa2319f
GM
2984 * xfns.c (x_create_im): Remove prototype.
2985
2986 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2987
2988 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2989
eaa2319f
GM
29902001-08-08 Gerd Moellmann <gerd@gnu.org>
2991
2992 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2993 windows whose height has changed, disable partially visible lines.
eaa2319f 2994
17fdcfc8
GM
29952001-08-07 Gerd Moellmann <gerd@gnu.org>
2996
22d01aed 2997 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2998 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2999
17fdcfc8
GM
3000 * xdisp.c (start_display): Don't try to determine the continuation
3001 lines width if lines are truncated. It's superfluous and leads to
3002 incorrect results if POS is not visible in the window after
3003 reseating the iterator at the previous line start.
3004
8e3fe78e
GM
30052001-08-06 Gerd Moellmann <gerd@gnu.org>
3006
3007 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3008
98a8938c
GM
30092001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3010
3011 * alloc.c (init_stack): Remove declaration.
3012
18f9986a
GM
30132001-08-03 Gerd Moellmann <gerd@gnu.org>
3014
5e1f85e0
GM
3015 * keyboard.c (read_key_sequence): Check that key is an integer
3016 before comparing it with quit_char.
3017 (add_command_key): Use larger_vector.
3018 (read_char_x_menu_prompt): Instead of converting symbol and
3019 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3020 which cannot be confused with valid events.
5e1f85e0
GM
3021 (read_char): When reading from Vunread_command_events, check for
3022 events of the form (EVENT . disabled) instead of
3023 (EVENT . nil).
3024
18f9986a
GM
3025 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3026 a float, determine the max height from the frame's height.
3027
fbc7f2a6
GM
30282001-08-02 Gerd Moellmann <gerd@gnu.org>
3029
3030 * xdisp.c (redisplay_internal): Take message_cleared_p into
3031 account only if minibuf_level == 0.
3032
81b1a79d
GM
30332001-08-01 Gerd Moellmann <gerd@gnu.org>
3034
e5c60873
GM
3035 * xdisp.c (redisplay_internal): Add a check for the last
3036 displayed message.
3452efc2 3037
6e019995
GM
3038 * xdisp.c (message_cleared_p): New variable.
3039 (clear_message): Set message_cleared_p when clearing the current
3040 message.
3041 (redisplay_internal): Look at message_cleared_p to capture
3042 the case that the echo area should be cleared.
3043
308a74d8
GM
3044 * keyboard.c (command_loop_1): Fix spelling of
3045 resize_echo_area_exactly.
3046
3452efc2 3047 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3048
3049 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3050
81b1a79d
GM
3051 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3052 current matrix when the window gets smaller.
3053
ada329e6
EZ
30542001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3055
3056 * print.c (strout): Cast the character passed to insert_char to
3057 unsigned char, to avoid sign extension when it is promoted to int.
3058
ed86208c
GM
30592001-07-31 Gerd Moellmann <gerd@gnu.org>
3060
3061 * fileio.c (Finsert_file_contents): Don't treat a return value
3062 of 0 from emacs_read as an IO error.
3063
6594ac22
GM
30642001-07-30 Gerd Moellmann <gerd@gnu.org>
3065
cef68af5
GM
3066 * keyboard.c (abs): New macro.
3067 (double_click_fuzz): New variable.
3068 (make_lispy_event): Use it to determine what makes a double-click.
3069 (syms_of_keyboard): DEFVAR_INT it.
3070
6594ac22
GM
3071 * xmenu.c (set_frame_menubar): Take into account that
3072 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3073 <raeburn@gnu.org>.
3074
75c5350a
GM
30752001-07-27 Gerd Moellmann <gerd@gnu.org>
3076
3077 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3078
3079 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3080 of row's visible height.
3081
3082 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3083 deal with the first overlay string having an image `display' property.
3084 (try_window_reusing_current_matrix, compute_line_metrics):
3085 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3086 row is invisible above and part of the row is at the same time
3087 invisible below the window.
3088
ac49effe
GM
30892001-07-26 Gerd Moellmann <gerd@gnu.org>
3090
3091 * xfns.c (x-show-tip): Doc fix.
3452efc2 3092
ac49effe
GM
3093 * xfns.c (Vx_max_tooltip_size): New variable.
3094 (syms_of_xfns): DEFVAR_LISP it.
3095 (Fx_show_tip): Set frame's window_width to the width of the
3096 window. Use a maximum tooltip size specified by
3097 Vx_max_tooltip_size, if that has valid contents.
3098 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3099
8c3b00cb
AI
31002001-07-26 Andrew Innes <andrewi@gnu.org>
3101
3102 * w32term.c (x_display_list): New variable.
3103 (w32_term_init): Set it.
3104
3105 * w32term.h (x_display_list): New extern.
3106
16098288
GM
31072001-07-26 Gerd Moellmann <gerd@gnu.org>
3108
3109 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3110 is non-nil, instead of when redisplaying_p is non-zero.
3111 See comment there.
16098288
GM
3112 (mark_window_display_accurate_1): Add an assertion.
3113
64c5be50
GM
31142001-07-25 Gerd Moellmann <gerd@gnu.org>
3115
e743f599
GM
3116 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3117
563b384d
GM
3118 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3119 events so that we get a chance of processing expose events.
3120
64c5be50
GM
3121 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3122
296808a5
GM
31232001-07-24 Gerd Moellmann <gerd@gnu.org>
3124
3125 * xfns.c (valid_image_p): Protect better against invalid image
3126 specifications. Previous code could signal an error.
3127
5247262a
GM
31282001-07-23 Gerd Moellmann <gerd@gnu.org>
3129
3452efc2 3130 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3131 presence of display table entries.
3132 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3133
dd42b31a
GM
3134 * dispnew.c (adjust_glyph_matrix): In the optimization for
3135 windows whose height has changed, use the new window height
3136 to compute which rows to invalidate.
3137
9e5a7f2a
GM
3138 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3139 (MAX_10_EXP): New macro.
3140 (Fformat): Use it.
3141
5247262a
GM
3142 * coding.c (code_convert_region): Handle the multibyte case if
3143 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3144
177ab8ce
GM
31452001-07-20 Gerd Moellmann <gerd@gnu.org>
3146
6e07c0a5
GM
3147 * dispextern.h (struct face): Change type of `stipple' to
3148 int; it's an ID.
3149
177ab8ce
GM
3150 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3151
b5b80599
GM
31522001-07-19 Gerd Moellmann <gerd@gnu.org>
3153
4e2a256b
GM
3154 * dispnew.c (update_window): Don't set the cursor at the end
3155 of the update if display update has been paused.
3156
3452efc2 3157 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3158
c1fd9232
KR
31592001-07-18 Ken Raeburn <raeburn@gnu.org>
3160
3161 * fns.c (Fset_char_table_default): Check that a charset is defined
3162 before checking its dimension.
3163
928a85c1
KR
31642001-07-17 Ken Raeburn <raeburn@gnu.org>
3165
3166 * coding.c (setup_coding_system): Don't do any designation based
3167 on reg_bits if charset is not yet defined.
3168
fb4c6c96 3169 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3170 pointer, using eassert.
3171
de11c1ea
GM
31722001-07-17 Gerd Moellmann <gerd@gnu.org>
3173
3452efc2
SM
3174 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3175 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3176
467f1209
GM
31772001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3178
3179 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3180
c3d6be34
GM
31812001-07-16 Gerd Moellmann <gerd@gnu.org>
3182
c1d61a7d
GM
3183 * fileio.c (unwind_read): Function removed.
3184 (read_non_regular, read_non_regular_quit): New functions.
3185 (Finsert_file_contents): When reading from non-regular files,
3186 arrange to catch a `quit' and terminate the loop. Rearrange
3187 code so that a `quit' when reading from a regular file doesn't
3188 insert text in the buffer.
3189
c3d6be34
GM
3190 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3191 Clear faces afterwards.
3192 (clear_font_table): Take a x_display_info parameter. Don't free
3193 fonts being the default font of any frame on the given display.
3194
e06aa1f9
GM
31952001-07-13 Gerd Moellmann <gerd@gnu.org>
3196
3197 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3198 instead of CHAR_STRING which can signal an error.
3199
3200 * charset.c (char_to_string_1): Extracted from char_to_string.
3201 Return -1 instead of signaling an error.
3202 (char_to_string): Use it.
3203
3204 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3205
176c92e6
SM
32062001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3207
3208 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3209 is t, don't try to append anything to it.
3210
1c56232f
EZ
32112001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3212
3213 * dired.c (file_name_completion): Pass dp->d_name to
3214 Fstring_match, not elt, which is always nil here.
3215
1d2b2268
GM
32162001-07-12 Gerd Moellmann <gerd@gnu.org>
3217
3218 * xselect.c (x_decline_selection_request): Handle errors
3219 caused by receivers that have vanished.
3220
3221 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3222 ignoring events on foreign windows in #if 0. Always dispatch
3223 the event after checking it with x_handle_property_notify.
3224
3225 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3226 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3227 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3228 (toplevel): Add prototypes for file-local functions.
3229 (x_atom_to_symbol): Remove DPYINFO parameter.
3230
fe5a0162
SM
32312001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3232
3233 * w32menu.c (menubar_selection_callback, w32_menu_show):
3234 Initialize `entry' to nil.
3235 (w32_dialog_show): Remove unused `save_wv' variable.
3236 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3237
a777242c
GM
32382001-07-11 Gerd Moellmann <gerd@gnu.org>
3239
8ee5b6a3
GM
3240 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3241
d0e2444e
GM
3242 * fileio.c (unwind_read): Print a message when discarding inserted
3243 text or switching the buffer to unibyte. Change parameter.
3244 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3245
a777242c
GM
3246 * fileio.c (unwind_read): New function.
3247 (Finsert_file_contents): Record it as unwind-function for
3248 the case that reading is interrupted by C-g.
3249
ae794295
GM
32502001-07-10 Gerd Moellmann <gerd@gnu.org>
3251
fe5a0162 3252 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3253 update when scrolling_window returns 0.
3254
6b05fae3
GM
3255 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3256
3257 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3258 for the case that x_decode_color signals an error.
6b05fae3 3259
ae794295
GM
3260 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3261
bb6e8cee
GM
32622001-07-09 Gerd Moellmann <gerd@gnu.org>
3263
3264 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3265 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3266 around ioctls.
3267
36b40a8a
EZ
32682001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3269
24b97d4b
EZ
3270 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3271 doc string line for dos-timezone-offset.
3272
36b40a8a
EZ
3273 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3274 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3275 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3276 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3277
3278 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3279
0967b4b0
GM
32802001-07-05 Gerd Moellmann <gerd@gnu.org>
3281
f25cfe53
GM
3282 * sound.c: Include Emacs' header files with #include "...".
3283
0967b4b0
GM
3284 * eval.c (specbind): Additionally record the buffer that was
3285 current when a buffer-local or frame-local variable was bound.
3286
c347a1c3
GM
32872001-07-04 Gerd Moellmann <gerd@gnu.org>
3288
3289 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3290 to unibyte characters in unibyte buffers.
3291
6332ca8a
GM
32922001-07-03 Gerd Moellmann <gerd@gnu.org>
3293
38472d44
GM
3294 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3295 the frame on the binding stack. Change format of entries for
3296 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3297 (unbind_to): Handle unbinding a frame-local variable.
3298
6332ca8a 3299 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3300 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3301 (dump_glyph_row): Print row's continuation_lines_width.
3302 (try_window_id): Take the shortcut if ZV is visible in the
3303 window, but there are actually no changes at ZV.
3304
63d1b174
GM
33052001-07-02 Gerd Moellmann <gerd@gnu.org>
3306
4c175203
GM
3307 * xterm.h (x_free_dpy_colors): Add prototype.
3308
3309 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3310 right number of arguments.
3311
0b54ce28
GM
3312 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3313 ($(lwlibdir)TAGS): New target.
4c175203 3314 (TAGS): Fix dependency list.
0b54ce28 3315
63d1b174
GM
3316 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3317 with input blocked.
3318
d827466c
GM
33192001-06-30 Gerd Moellmann <gerd@gnu.org>
3320
3321 * emacs.c (main): Remove extern declaration for sys_nerr, which
3322 isn't used and causes a compilation error with GCC 3.0 on
3323 FreeBSD 4.3.
3324
b5cb1ada
GM
33252001-06-27 Gerd Moellmann <gerd@gnu.org>
3326
a5d3ec3f 3327 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3328 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3329 (toplevel): Include <signal.h> and syssignal.h.
3330
b5cb1ada
GM
3331 * sound.c (vox_configure, vox_close): Turn off atimers
3332 around ioctls.
3333
d9bad487
GM
33342001-06-26 Gerd Moellmann <gerd@gnu.org>
3335
fdbb67fe
GM
3336 * keyboard.c (read_char) <non_reread>: Record the previous idle
3337 start time before calling timer_stop_idle.
3338 (read_char) <reread_first>: After processing a help-echo event,
3339 restore the previous idle start time.
3340
d9bad487
GM
3341 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3342 the start of invisible text.
3343 (setup_for_ellipsis): New function.
3344 (next_overlay_string): After all overlay strings have been
3345 processed, display an ellipsis if necessary.
3346 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3347 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3348
3349 * dispextern.h (struct iterator_stack_entry): Add member
3350 display_ellipsis_p.
3351
2b9c25e0
GM
33522001-06-25 Gerd Moellmann <gerd@gnu.org>
3353
80de57df
GM
3354 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3355 on the value of the wait-for-wm frame parameter.
3356
3357 * xterm.h (struct x_output): Add member wait_for_wm.
3358
3359 * xfns.c (Qwait_for_wm): New variable.
3360 (x_frame_parms): Add entry for `wait-for-wm".
3361 (x_set_wait_for_wm): New function.
3362 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3363 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3364
2b9c25e0
GM
3365 * xdisp.c (try_window_id) <all changes below window end>: Don't
3366 take this shortcut if ZV is visible in the window.
3367 (try_window_id): When checking for window start being in changed
3368 text, don't check that the buffer's size has changed.
3369
f772775c
RS
33702001-06-23 Richard M. Stallman <rms@gnu.org>
3371
3372 * minibuf.c (Fcompleting_read): Doc fix.
3373
fa9090b8
GM
33742001-06-19 Gerd Moellmann <gerd@gnu.org>
3375
3376 * composite.c (Ffind_composition_internal): Accept ZV
3377 and a string's end position as POS.
3378
f6f1beba
GM
33792001-06-18 Gerd Moellmann <gerd@gnu.org>
3380
3381 * composite.c (Ffind_composition_internal): Check POS
3382 for validity.
3383
0ae83348
EZ
33842001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3385
3386 * editfns.c (Fmessage_box): If the frame is not under a window
3387 system, output the message in the echo area.
3388
e4cdc335
RS
33892001-06-14 Richard M. Stallman <rms@gnu.org>
3390
3391 * xdisp.c (try_window_id): When EOB is visible, don't treat
3392 insertion at EOB as if it were "off the bottom of the screen."
3393
a55a5f3c
AI
33942001-06-11 Andrew Innes <andrewi@gnu.org>
3395
3396 * w32proc.c (create_child): Add new parameter is_gui_app.
3397 (w32_executable_type): Add new parameter is_gui_app.
3398 (sys_spawnve): Use it.
3399 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3400 SIGQUIT. This matches better how the signals are interpreted by
3401 MSVC compiled programs.
3402 (syms_of_ntproc): Update docstring.
3403
1b85dc1c
SM
34042001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3405
3406 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3407 well otherwise note_mouse_highlight might optimize away highlighting
3408 if we pass over that same overlay again.
3409
b75f8eab
EZ
34102001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3411
3412 * lread.c (Fload): Document that the argument is run via
3413 substitute-in-file-name.
3414
94843cc1
GM
34152001-05-31 Gerd Moellmann <gerd@gnu.org>
3416
b14659e6
GM
3417 * Makefile.in (bootstrap-doc): New target.
3418 (bootstrap-emacs): Depend on it.
3419
0894672f
GM
3420 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3421 auto-save-list-file-name when shutting down Emacs, because
3422 creating the directory might signal an error, and leaves
3423 Emacs in a strange state.
3424
94843cc1
GM
3425 * term.c: (tty_cursor_hidden): New variable.
3426 (update_begin): Don't call tty_hide_cursor. Clean up.
3427 (update_end, set_terminal_window, set_scroll_region): Clean up.
3428 (ring_bell, reset_terminal_modes): Clean up.
3429 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3430 on tty_cursor_hidden.
3431 (write_glyphs): Call tty_hide_cursor.
3432
db3a49a6
SM
34332001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3434
3435 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3436
8bd189fb
GM
34372001-05-30 Gerd Moellmann <gerd@gnu.org>
3438
6f1be3b9
GM
3439 * xfns.c (enum image_value_type): New enumerator
3440 IMAGE_STRING_OR_NIL_VALUE.
3441 (parse_image_spec): Handle it.
3442 (xbm_format, pbm_format): Use it for :foreground and :background.
3443 (xbm_load, pbm_load): Check for nil color names.
3444
8bd189fb
GM
3445 * xterm.c (note_mouse_highlight): If an overlapping overlay
3446 exists, but we find that we highlight the same overlay as before,
3447 don't do the highlighting again.
3448
7bdba03c
GM
34492001-05-29 Gerd Moellmann <gerd@gnu.org>
3450
4c329aa8
GM
3451 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3452 Protect unibyte strings created by replacing their multibyte
3453 equivalents in menu_items.
3454
e15e2828
GM
3455 * keymap.c (Fsingle_key_description): NUL-terminate the string
3456 buffer before calling build_string.
3457
7bdba03c
GM
3458 * callproc.c (Fcall_process): Deal with decode_coding returning
3459 CODING_FINISH_INCONSISTENT_EOL.
3460
89c8dc6c
GM
34612001-05-28 Gerd Moellmann <gerd@gnu.org>
3462
db3a49a6 3463 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3464 an item's name with its key description in case the description
3465 is a multibyte string.
3466
3467 * keymap.c (Fsingle_key_description): Create a multibyte string
3468 only if necessary.
3469
eb04d6cd
GM
3470 * macros.c (Fstart_kbd_macro): Doc fix.
3471
8bd6307f
GM
3472 * xterm.c (cursor_in_mouse_face_p): New function.
3473 (x_draw_stretch_glyph_string): Use it to choose a different GC
3474 when drawing a cursor within highlighted text.
3475
e26c4089
GM
3476 * editfns.c (char_property_eq): Put in #if 0.
3477
3478 * indent.c (string_display_width): Put in #if 0.
3479
3480 * lread.c (Fload): Remove unused label.
3481
89c8dc6c
GM
3482 * termcap.c (speeds): Put in #if 0.
3483
9a1211f2
GM
34842001-05-18 Gerd Moellmann <gerd@gnu.org>
3485
29148a3f
GM
3486 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3487
9a1211f2
GM
3488 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3489 transformation matrix by 10.
3490
09393d07
GM
34912001-05-16 Gerd Moellmann <gerd@gnu.org>
3492
3493 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3494 only if it's equal to the former foreground pixel color.
db3a49a6 3495 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3496 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3497
460e6bae
GM
34982001-05-16 Dave Love <fx@gnu.org>
3499
3500 * insdel.c (signal_before_change, signal_after_change): Consider a
3501 local change hook which changes the buffer.
99c78ce8
GM
3502
3503 * process.c (read_process_output): Don't call signal_after_change
3504 and update_compositions after insert_from_string_before_markers.
3505
dbcf3c03
GM
35062001-05-16 Gerd Moellmann <gerd@gnu.org>
3507
a90b3d3c
GM
3508 * xfaces.c (split_font_name): Use the right field when
3509 checking for `[...]' syntax.
3510
1b7818b4
GM
3511 * buffer.c (copy_overlays): New function.
3512 (clone_per_buffer_values): Use it.
3513
3514 * buffer.h (OVERLAY_PLIST): New macro.
3515
9bae8781
GM
3516 * keymap.c (Fsingle_key_description): Replace a build_string with
3517 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3518
dbcf3c03
GM
3519 * fontset.c (Ffontset_info): Check that face is non-null
3520 before accessing its fields.
3521
8a1ae4dd
GM
35222001-05-15 Gerd Moellmann <gerd@gnu.org>
3523
18a0a39e
GM
3524 * keyboard.c (read_key_sequence): Prevent generating a fake
3525 prefix key twice.
3526
e335b66a
GM
3527 * xfaces.c (split_font_name): Handle `[...]' for the right
3528 font name fields.
3529
8a1ae4dd
GM
3530 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3531 of CCL_STAT_INVALID_CMD.
3532
3cf80731
SM
35332001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3534
33568849
SM
3535 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3536 in <var> has no default value yet.
3537
3cf80731
SM
3538 * xfaces.c (try_alternative_families): First try the FAMILY.
3539 And if nothing is found in the end, try again with scalable fonts.
3540 (try_font_list): Let try_alternative_families do a bit more of
3541 the work. Only use FAMILY if it is not nil.
3542 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3543
933b0249
GM
35442001-05-14 Gerd Moellmann <gerd@gnu.org>
3545
58e5af83
GM
3546 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3547 pointer shape when show_mouse_face has already done it.
33568849 3548
58e5af83 3549 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3550 full-width rows.
3551
7b16a6bf
GM
3552 * xfaces.c (split_font_name): Make sure to leave the loop
3553 with the right value of `i'.
3cf80731 3554
933b0249
GM
3555 * xfaces.c (split_font_name): Handle matrix transformations
3556 in the pixel and point size fields of XLFD font names.
3557 (xlfd_point_size): Likewise.
3558
dddcbf00
EZ
35592001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3560
3cf80731 3561 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3562 (x_to_w32_font): Add prototype.
3563
7689ef0b
EZ
3564 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3565 redefining, to avoid compiler warnings.
3566
e7c15bba
EZ
3567 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3568
dddcbf00
EZ
3569 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3570 (w32_get_bdf_glyph): Cast between unsigned char and char when
3571 passing arguments to subroutines, to shut up compiler warnings.
3572 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3573 GET_HEX_VAL.
3574
3575 * xfaces.c: Include keyboard.h before frame.h, not after it.
3576
3577 * widget.c: Include keyboard.h before frame.h.
3578
3579 * w32term.h (struct image, struct face): Forward declaration, to
3580 avoid compiler warnings.
3581
7bd2d083
GM
35822001-05-11 Gerd Moellmann <gerd@gnu.org>
3583
47e72862
GM
3584 * keyboard.c (read_key_sequence): Don't modify events when
3585 generating fake prefix keys (mode-line, scroll-bar, ...) since
3586 this prevents proper processing of such events when pushed back
3587 into unread-command-events.
3588
dd5f324b
GM
3589 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3590 actually redrawn. Make the function static.
3591 (note_mouse_highlight): Fix a case where the mouse cursor
3592 was changed back to the text cursor.
3593
3594 * xterm.h (clear_mouse_face): Remove prototype.
3595
d88a79d4
GM
3596 * xdisp.c (try_window_id): Fix the fix and set the right
3597 window_end_vpos.
3598
3599 * xdisp.c (try_window_id): Fix computation of window end in the
3600 case that lines were deleted at the end of the window. Add some
3601 more debug_method_adds.
0416532f 3602
7bd2d083
GM
3603 * xfaces.c (try_alternative_families): New function.
3604 (try_font_list): Use it. If ATTRS specifies a family, check
3605 fonts from that family first.
3606 (choose_face_font): Remove code setting the family part of
3607 the pattern to nil.
3608
23fca891
GM
36092001-05-10 Gerd Moellmann <gerd@gnu.org>
3610
ff9aa2ca
GM
3611 * xdisp.c (try_window_id): Fix case of all changes before
3612 the window start.
7b2654b5 3613
23fca891
GM
3614 * xdisp.c (try_window_id): Add some xasserts.
3615
e9726794
GM
36162001-05-09 Gerd Moellmann <gerd@gnu.org>
3617
3618 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3619
9e53a675
GM
36202001-05-09 Dave Love <fx@gnu.org>
3621
3622 * xdisp.c (GIVE_UP): Fix for K&R C.
3623
0d487c52
GM
36242001-05-09 Gerd Moellmann <gerd@gnu.org>
3625
fe88d421
GM
3626 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3627
0d487c52
GM
3628 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3629 back to the text cursor shape without need.
3630
1e9fc92e
GM
36312001-05-07 Gerd Moellmann <gerd@gnu.org>
3632
a2a6232e
GM
3633 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3634
3635 * dispextern.h (inverse_video): Declare extern.
3636
1e9fc92e
GM
3637 * keyboard.c (delete_kboard): Handle the case that selected_frame
3638 has been deleted in the course of x_connection_closed.
3639
12949a7f
EZ
36402001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3641
7b2654b5
SM
3642 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3643 Fix the change from 2001-04-30.
12949a7f 3644
2fa2f461
GM
36452001-05-03 Gerd Moellmann <gerd@gnu.org>
3646
a779d213
GM
3647 * xfns.c (file_dialog_unmap_cb): New function.
3648 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3649 where a dialog is closed via the window manager.
3650
7b2654b5 3651 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3652 the window start or all below the window end mostly rewritten.
3653 (redisplay_window): Move the tests if try_window_id is
3654 applicable to try_window_id.
3655 (GIVE_UP): New macro.
3656
3356df63
GM
36572001-05-02 Gerd Moellmann <gerd@gnu.org>
3658
a39202f6 3659 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3660 currently being updated, mark the frame garbaged.
3661 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3662 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3663
3356df63
GM
3664 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3665 again if it has already been drawn.
3666
a9d2fd1d
SM
36672001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3668
3669 * syntax.c (update_syntax_table): Check that oldi has the same
3670 properties as old_prop before deciding not to invalidate.
3671
c95fc5f1
GM
36722001-04-30 Gerd Moellmann <gerd@gnu.org>
3673
a9793e45
GM
3674 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3675 read-only text that is so because of text properties.
3676
c95fc5f1 3677 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3678 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3679 windows that are components of a Lucid menu bar.
3680
5a5d9185
GM
36812001-04-27 Gerd Moellmann <gerd@gnu.org>
3682
3683 * term.c (turn_on_face): Fix reverse video handling on terminals
3684 that don't support colors.
3685
ba973f7a
GM
36862001-04-26 Gerd Moellmann <gerd@gnu.org>
3687
3688 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3689 a non-buffer.
3690
8c56a983
GM
36912001-04-25 Gerd Moellmann <gerd@gnu.org>
3692
a728644c
GM
3693 * term.c (toggle_highlight): New function.
3694 (turn_on_face): Change handling of reverse video.
3695
7b2654b5
SM
3696 * process.c (wait_reading_process_input):
3697 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3698
bfd8410f
GM
3699 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3700 of the number of overlays to check.
3701
be2488ca
GM
3702 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3703
8c56a983
GM
3704 * xdisp.c (try_window_id): Fix a case where window_end_pos
3705 and window_end_bytepos were not adjusted.
3706
522d42f7
GM
37072001-04-23 Gerd Moellmann <gerd@gnu.org>
3708
3709 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3710 zero instead of -1.
3711
78c1afb6
EZ
37122001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3713
a9d2fd1d
SM
3714 * process.c (wait_reading_process_input) [!subprocesses]:
3715 Don't reference waiting_for_user_input_p, it's not defined in the
3716 branch without async subprocesses support.
78c1afb6 3717
a2fab450
GM
37182001-04-19 Gerd Moellmann <gerd@gnu.org>
3719
a122a38e
GM
3720 * keyboard.c (delete_kboard): Prevent a dangling reference
3721 from current_kboard to KB, which is freed.
3722
a9d2fd1d
SM
3723 * process.c (wait_reading_process_input):
3724 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3725 read_key_sequence aware of buffer changes from under it.
3726
0f8d6dc7
GM
37272001-04-18 Gerd Moellmann <gerd@gnu.org>
3728
eeffb293
GM
3729 * xfaces.c (Qscalable_fonts_allowed): New variable.
3730 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3731 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3732 removed.
eeffb293 3733 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3734 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3735 for scalable-fonts-allowed to t.
eeffb293 3736
0f8d6dc7
GM
3737 * fileio.c (Finsert_file_contents): If the file size returned from
3738 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3739 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3740
eec2d1de
EZ
37412001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3742
3743 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3744 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3745 (__memalign_hook): Make the two prototypes consistent.
3746
f4f480bd
GM
37472001-04-17 Gerd Moellmann <gerd@gnu.org>
3748
3749 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3750 matrix of mini-windows.
3751
52283633
SM
37522001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3753
3754 * intervals.c (find_interval): Don't rebalance during signal handling.
3755
ec2423c9
GM
37562001-04-11 Gerd Moellmann <gerd@gnu.org>
3757
30cb0001 3758 * fns.c: Include blockinput.h.
52283633 3759
ec2423c9
GM
3760 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3761
719d83ad
GM
37622001-04-10 Gerd Moellmann <gerd@gnu.org>
3763
60f8d735
GM
3764 * fns.c (Fcompare_strings): Fix return values.
3765
afffeb57
GM
3766 * window.c (window_scroll): Change the meaning of N to mean
3767 N screen-fulls or N lines.
3768 (window_scroll_pixel_based, window_scroll_line_based)
3769 (scroll_command, Fscroll_other_window): Change accordingly.
3770
52283633
SM
3771 * window.c (window_scroll_pixel_based, Frecenter):
3772 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3773 height of the window.
3774
3775 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3776 instead of using it.last_visible_y for the height of the window.
52283633 3777
719d83ad 3778 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3779 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3780
3781 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3782 able to write to hidden and system files. From Dan Holmsand
3783 <dan@eyebee.com>.
719d83ad 3784
8ddf3ee1
GM
3785 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3786 Holmsand <dan@eyebee.com>.
719d83ad 3787
522ed7fb
GM
37882001-04-09 Gerd Moellmann <gerd@gnu.org>
3789
9170e5d4
GM
3790 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3791
522ed7fb
GM
3792 * window.c (window_internal_height): Return 1 less if the
3793 window has a header line.
3794
3795 * xdisp.c (try_window_id): When scrolling on a terminal, take
3796 the change of window_internal_height into account.
3797
ceeb3d7d
EZ
37982001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3799
3800 * gmalloc.c (align): If the argument SIZE would overflow
3801 __malloc_ptrdiff_t, fail right away.
3802
63685b9d
GM
38032001-04-06 Gerd Moellmann <gerd@gnu.org>
3804
3805 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3806 Make sure the tooltip is completely visible.
3807 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3808
3809 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3810
3811 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3812
3ffb33bb
DL
38132001-04-06 Dave Love <fx@gnu.org>
3814
52283633
SM
3815 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3816 Fix test of `from'.
3ffb33bb 3817
869fb12c
GM
38182001-04-06 Gerd Moellmann <gerd@gnu.org>
3819
52283633 3820 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3821
869fb12c
GM
3822 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3823
441bf856
GM
38242001-04-05 Gerd Moellmann <gerd@gnu.org>
3825
4d664b04
GM
3826 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3827
52283633 3828 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3829
30ca89f5
GM
3830 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3831 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3832
3833 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3834 shell widget's position only if it is non-null.
3835
52283633
SM
3836 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3837 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3838
81a81c0f
GM
3839 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3840 FILENAME to bring it in synch with the documentation.
3841
441bf856
GM
3842 * xfaces.c (realizing_basic_faces_p): Renamed from
3843 realize_default_face_p.
3844 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3845 (realize_default_face): Don't set the flag.
3846
702a1e8e
GM
38472001-04-04 Gerd Moellmann <gerd@gnu.org>
3848
1013f4e3
GM
3849 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3850
52283633
SM
3851 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3852
1013f4e3
GM
3853 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3854 the buffer that was used for echoing.
3855
702a1e8e
GM
3856 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3857 (first_font_matching): Removed unused function.
3858 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3859 (may_use_scalable_font_p): Remove parameter FONT; rename
3860 parameter NAME to FONT.
3861 (x_face_list_fonts): Fix missing bounds check.
3862 (realizing_default_face_p): New variable.
3863 (realize_default_face): Set and clear that flag.
3864 (x_face_list_fonts): When called during the realization of the
3865 default face, and no matching fonts are found when ignoring
3866 scalable fonts and fonts matching a regexp from
3867 face-ignored-fonts, try without ignoring fonts.
3868
f9dbcda4
GM
38692001-04-03 Gerd Moellmann <gerd@gnu.org>
3870
ad18ffb1
GM
3871 * xfns.c (postprocess_image): New function.
3872 (lookup_image): Call it for all image types except PostScript.
3873 (x_kill_gs_process): Call postprocess_image.
3874
f9dbcda4
GM
3875 * xterm.c (x_use_underline_position_properties): New variable.
3876 (x_draw_glyph_string): Use it.
3877 (syms_of_xterm): DEFVAR_BOOL it.
3878
651f03b6
GM
38792001-04-02 Gerd Moellmann <gerd@gnu.org>
3880
3881 * xterm.c (x_alloc_nearest_color_1): New function.
3882 (x_alloc_nearest_color): Use it.
3883 (x_color_cells): Take a Display as argument, instead of a frame.
3884 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3885 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3886 (x_initialize): Register cvt_string_to_pixel as resource converter
3887 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3888
73d75a62
GM
38892001-03-30 Gerd Moellmann <gerd@gnu.org>
3890
b2046df8
GM
3891 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3892 (set_iterator_to_next): If a string from a display property ends,
3893 consider the case that this might also be the end of an
3894 overlay string having the display property.
3895
52283633 3896 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3897
87d8eba4
GM
3898 * xdisp.c (reseat_to_string): Undo last change.
3899
73d75a62
GM
3900 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3901 matrix of a window when the header line changes, when
3902 new rows are allocated, or when the width changes.
3903
911a2406
EZ
39042001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3905
52283633 3906 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3907
aea51abe
EZ
39082001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3909
3910 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3911 deprecated.
3912
176bc847
GM
39132001-03-29 Gerd Moellmann <gerd@gnu.org>
3914
ed31fabf
GM
3915 * data.c (Fsubr_interactive_form): New function.
3916 (syms_of_data): Defsubr it.
3917
176bc847
GM
3918 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3919 (live_float_p, live_misc_p): Return 1 only if the offset of the
3920 pointer in its block is >= 0.
3921
e59d0e9d
GM
39222001-03-28 Paul Eggert <eggert@twinsun.com>
3923
3924 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3925 microseconds calcuation. Avoid double-rounding problem.
3926 In doc string, warn that the result is approximate.
3927
f827b862
GM
39282001-03-28 Gerd Moellmann <gerd@gnu.org>
3929
30a3f61c
GM
3930 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3931 bind `inhibit-eval-during-redisplay' to t.
3932
3933 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3934
3935 * xdisp.c (inhibit_eval_during_redisplay)
3936 (Qinhibit_eval_during_redisplay): New variables.
3937 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3938 don't eval, return nil instead.
3939 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3940 Initialize Qinhibit_eval_during_redisplay.
3941
e719f5ae
GM
3942 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3943 the iterator's multibyte_p flag.
3944
deb2613a
GM
3945 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3946 instead of setting it to zero; it's incremented for each frame
3947 where the menu face is changed.
3948
52283633
SM
3949 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3950 change bottom shadow accordingly.
3951
3952 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3953 intersections here.
3954 (expose_window): Do it here instead.
52283633 3955 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3956
f827b862
GM
3957 * bytecode.c (BYTE_CODE_QUIT): New macro.
3958 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3959
4bde0ebb
GM
39602001-03-27 Gerd Moellmann <gerd@gnu.org>
3961
607ec83c
GM
3962 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3963 Give up if matrix starts in an ellipsis.
3964 (init_from_display_pos): Do nothing if POS doesn't specify
3965 a dpvec_index but the iterator has such a position.
3966
0245398f
GM
3967 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3968
aba25348
GM
3969 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3970 x/y position is (0, 0) after destroying the menu bar, restore
3971 its original position.
3972
4bde0ebb
GM
3973 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3974 (init_from_display_pos): Use it.
3975 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3976
8cdb267e
GM
39772001-03-26 Gerd Moellmann <gerd@gnu.org>
3978
3979 * xdisp.c (try_window_id): Undo last change.
3980
9948db79
EZ
39812001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3982
3983 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3984
3985 * buffer.c (syms_of_buffer): Doc fix.
3986
2eddf899
GM
39872001-03-26 Gerd Moellmann <gerd@gnu.org>
3988
3989 * xfaces.c (x_update_menu_appearance): Use local variable
3990 popup_path for setting font resources.
3991
6c145d35
EZ
39922001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3993
6a65b1b5
EZ
3994 * frame.c (Fframe_list): Don't reference tip_frame if
3995 HAVE_WINDOW_SYSTEM is not defined.
3996
6c145d35
EZ
3997 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3998 <wl@gnu.org>.
3999
d74c1900
GM
40002001-03-25 Gerd Moellmann <gerd@gnu.org>
4001
20fbd925
GM
4002 * xdisp.c (init_from_display_pos): Test invisible property
4003 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4004
927c5b3b
GM
4005 * xdisp.c (redisplay_internal) <update one window>: Make sure
4006 last_arrow_position and last_arrow_string are set.
4007
d74c1900
GM
4008 * frame.c (Fframe_list): Don't return a tooltip frame.
4009
091f8878
GM
40102001-03-23 Gerd Moellmann <gerd@gnu.org>
4011
52283633
SM
4012 * xdisp.c (mark_window_display_accurate_1): New function,
4013 extracted from mark_window_display_accurate.
4014 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4015 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4016 (mark_window_display_accurate): Use it.
4017 (redisplay_internal): Use it for the selected window.
4018 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4019 for the selected frame.
4020
ac90c44f
GM
4021 * xdisp.c Use make_number, for readability.
4022 (try_window_id): Disable rows below the window end.
4023 (try_window_reusing_current_matrix): Use cursor_row_p.
4024 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4025 of rows.
4026 (init_from_display_pos): If POS specifies a position in a display
4027 vector, maybe get the iterator set up for that ellipsis.
43c09969 4028
091f8878
GM
4029 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4030
991786dd
EZ
40312001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4032
4033 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4034
6c29b43c
GM
40352001-03-23 Gerd Moellmann <gerd@gnu.org>
4036
4037 * xfaces.c (x_update_menu_appearance): Use a different path
4038 for Lucid popup menus.
4039
d8731202
SM
40402001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4041
4042 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4043
4044 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4045 (string_buffer_position): Use `make_number'.
4046
f61a541b
GM
40472001-03-22 Gerd Moellmann <gerd@gnu.org>
4048
3c9e997b
GM
4049 * xfaces.c (x_update_menu_appearance): Renamed from
4050 x_set_menu_face_resources. Use different resources for popups.
4051
4052 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4053 (GC_CHECK_STRING_BYTES): Don't define.
4054
364cd450
GM
4055 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4056 Removed, together with subroutines.
4057 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4058 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4059
d8731202
SM
4060 * dispextern.h (x_set_menu_resources_from_menu_face):
4061 Remove prototype.
364cd450 4062
d8731202 4063 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4064 Remove calls to x_set_menu_resources_from_menu_face.
4065
d8731202
SM
4066 * xfaces.c (xm_set_menu_resources_from_menu_face):
4067 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4068
4069 * xmenu.c: Include widget.h.
4070 (single_submenu): Return int. Some cleanup.
4071 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4072
140330de
GM
40732001-03-21 Gerd Moellmann <gerd@gnu.org>
4074
4075 * xterm.c (x_update_window_end): Handle overwritten mouse face
4076 also for tool bar windows.
4077 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4078 DRAW is DRAW_IMAGE_RAISED.
4079
1741905c
GM
40802001-03-20 Gerd Moellmann <gerd@gnu.org>
4081
fa88947e
GM
4082 * print.c (syms_of_print): Doc fixes.
4083
1741905c
GM
4084 * fns.c (Fmd5): Doc fix.
4085
ade0bee1
GM
40862001-03-19 Gerd Moellmann <gerd@gnu.org>
4087
357e7376
GM
4088 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4089 Clear area of the frame not occupied by the scroll bar.
4090
c2c097cc
GM
4091 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4092 tip frame's root window buffer to *tip* right after creating
4093 the frame.
4094
ade0bee1
GM
4095 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4096 is an integer don't have to be for space characters.
4097
88c6e37e
GM
40982001-03-16 Gerd Moellmann <gerd@gnu.org>
4099
52283633
SM
4100 * indent.c (current_column, current_column_1, Fmove_to_column)
4101 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4102
c62eed76
KH
41032001-03-15 Kenichi Handa <handa@etl.go.jp>
4104
4105 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4106 drawing glyph string.
4107
c899e7e6
GM
41082001-03-15 Gerd Moellmann <gerd@gnu.org>
4109
d0bbfc99
GM
4110 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4111 (command_loop_1): Undo last change.
4112
03d1a189
GM
4113 * xterm.c (fast_find_position): Return the correct vpos.
4114
c899e7e6 4115 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4116 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4117 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4118 Call store_symval_forwarding with BUF null.
4119 (set_internal): Call store_symval_forwarding with the BUF
4120 parameter passed to set_internal. Formerly, the value was always
4121 set in the current buffer; the buffer recorded in specbind for
4122 this case wasn't used.
4123 (arith_driver): Reindent.
4124
52283633
SM
4125 * buffer.c (swap_out_buffer_local_variables):
4126 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4127
4128 * lisp.h (store_symval_forwarding): Change prototype.
4129
4130 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4131
57ac7c81
GM
41322001-03-14 Gerd Moellmann <gerd@gnu.org>
4133
697617d9
GM
4134 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4135 FOR_DELETION. Avoid resizing the mini-window of the selected
4136 frame if FOR_DELETION is set.
4137 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4138 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4139 signature.
4140
4141 * window.c (Fset_window_configuration): Change call to
4142 do_switch_frame to new format.
4143
4144 * keyboard.c (quit_throw_to_read_char): Change call to
4145 do_switch_frame to new format.
4146
4147 * lisp.h (do_switch_frame): Change prototype.
4148
819dce0f
GM
4149 * frame.c (Fframe_parameters): In the `buffer-list' frame
4150 parameter, store the buffer list of FRAME, not the list of the
4151 selected frame.
4152
57ac7c81
GM
4153 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4154 box just because the glyph row's full_width_p flag is set.
4155
65008712
GM
41562001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4157
4158 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4159 skip the padding blanks inserted in extend_face_to_end_of_line,
4160 before checking for trailing whitespace.
4161
159cf431
GM
41622001-03-13 Gerd Moellmann <gerd@gnu.org>
4163
52283633 4164 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4165 Remove special handling for LessTif/Motif.
4166 (toplevel): Don't include Xm/Xm.h.
4167
52283633
SM
4168 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4169 Remove workaround code for LessTif; it doesn't work anymore.
4170
2564ea1b 4171 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4172 Xm/ScrollBarP.h.
afcdc0a1 4173
52283633
SM
4174 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4175 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4176 contemporary LessTif.
4177
52283633
SM
4178 * xfaces.c (xm_set_menu_resources_from_menu_face):
4179 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4180
159cf431
GM
4181 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4182 removing button grabs.
4183
c6f7429a
KH
41842001-03-13 Kenichi Handa <handa@etl.go.jp>
4185
cb82d767
KH
4186 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4187 and clip-large-size-font as obsolete.
4188
c6f7429a
KH
4189 * lread.c (read_multibyte): Check the validity of multibyte
4190 sequence. If invalid, return the first byte.
4191
760cefb5
GM
41922001-03-12 Gerd Moellmann <gerd@gnu.org>
4193
4194 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4195 before running the command; timer functions or process
4196 filters may have set it.
4197
5141f9d0
EZ
41982001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4199
4200 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4201 Doc fix.
4202
b6a15240
GM
42032001-03-12 Gerd Moellmann <gerd@gnu.org>
4204
4205 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4206 to sprintf.
4207
95522746
GM
42082001-03-09 Gerd Moellmann <gerd@gnu.org>
4209
db14cfc5
GM
4210 * dispextern.h (string_buffer_position): Add prototype.
4211
52283633 4212 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4213 (single_display_prop_string_p): New functions.
4214
4215 * xterm.c (note_mouse_highlight): If there's no help-echo on
4216 a string, look at the buffer text ``under'' it.
4217
4218 * keyboard.c (make_lispy_event): Add string info to the event,
4219 analogous to what's done on mode lines.
4220 (read_key_sequence): For a click on a string, consider `local-map'
4221 and `keymap' of that string.
4222
52283633
SM
4223 * keyboard.c (make_lispy_event, make_lispy_movement):
4224 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4225
4226 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4227
4228 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4229 POS; return void.
4230
95522746
GM
4231 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4232 flags argument to emacs_open; it seems to conflict with O_EXCL.
4233
898a399d
KH
42342001-03-09 Kenichi Handa <handa@etl.go.jp>
4235
28cd4910
KH
4236 * composite.h (struct composition): Change types of members;
4237 glyph_len to unsigned, width to unsigned short.
898a399d 4238
4cdf6a6c
AI
42392001-03-08 Andrew Innes <andrewi@gnu.org>
4240
4241 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4242 menu titles.
4243
129004d3
GM
42442001-03-08 Gerd Moellmann <gerd@gnu.org>
4245
221dd3e7
GM
4246 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4247 instead of nil.
4248
52283633 4249 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4250 help-echo in strings.
4251 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4252 (fast_find_string_pos): New function.
4253
52283633
SM
4254 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4255 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4256
4257 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4258 Handle `mouse-face'.
4259
4260 * dispextern.h (face_at_string_position): Change prototype.
4261
52283633 4262 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4263
129004d3
GM
4264 * keyboard.c (make_lispy_event): Avoid generating drag events
4265 if the mouse hasn't actually moved to another buffer position.
52283633 4266
80c8ab8c
DL
42672001-03-08 Dave Love <fx@gnu.org>
4268
129004d3 4269 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4270
989521fd
GM
42712001-03-08 Gerd Moellmann <gerd@gnu.org>
4272
4273 * process.c (Fset_process_window_size): Fix a typo.
4274
bb5c338d
KH
42752001-03-08 Kenichi Handa <handa@etl.go.jp>
4276
4277 * coding.c (detect_coding_sjis): Do more rigid check.
4278 (detect_coding_big5): Likewise.
4279 (decode_coding_sjis_big5): Likewise.
4280 (Fdetect_coding_region): Call detect_coding_system with tailing
4281 anchor byte `\0' for more rigid detection.
52283633 4282 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4283 (Fdetect_coding_string): Likewise.
4284
8b8f9197
SM
42852001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4286
4287 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4288 a string before extracting its data.
4289
3bdf2660
GM
42902001-03-07 Gerd Moellmann <gerd@gnu.org>
4291
4292 * window.c (Frecenter): Rewrite code handling negative values
4293 of ARG on graphical frames.
4294
42952001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4296
4297 * window.c (displayed_window_lines): If W->start is outside the
4298 accessible portion of the buffer, call start_display with BEGV or
4299 ZV instead of W->start.
4300
471f86b9
GM
43012001-03-07 Gerd Moellmann <gerd@gnu.org>
4302
2ab62c6c
GM
4303 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4304
471f86b9
GM
4305 * process.c (Fset_process_filter): Don't crash if the input
4306 file descriptor of PROCESS is closed.
4307 (Fset_process_window_size): Likewise.
4308
101922c3
GM
43092001-03-06 Kenichi Handa <handa@etl.go.jp>
4310
4311 * xterm.c (XTflash): Make the timeout of select shorter, and call
4312 select repeatedly until the desired time expires.
4313
45d051a7
GM
43142001-03-06 Gerd Moellmann <gerd@gnu.org>
4315
4316 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4317
4318 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4319
4320 * lisp.h (Vwindow_list): Declare extern.
4321
8f372c46
EZ
43222001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4323
4324 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4325
f16a7aa5
GM
43262001-03-06 Gerd Moellmann <gerd@gnu.org>
4327
157ae273
GM
4328 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4329 to detect a case where we have to highlight a different region
4330 despite not having left the currently highlighted region.
4331 Set mouse_face_overlay in the x_display_info.
45d051a7 4332 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4333
4334 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4335
4336 * buffer.c (mouse_face_overlay_overlaps): New function.
4337
4338 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4339 (Qmouse_face): Declare extern.
4340
f16a7aa5
GM
4341 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4342 if face_change_count is non-zero.
4343
827afcac
KH
43442001-03-06 Kenichi Handa <handa@etl.go.jp>
4345
4346 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4347 that the source is unibyte.
4348
14c7242e
DL
43492001-03-05 Dave Love <fx@gnu.org>
4350
827afcac 4351 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4352
c28b847b
GM
43532001-03-05 Gerd Moellmann <gerd@gnu.org>
4354
4355 * minibuf.c (read_minibuf): Clean up the binding stack if
4356 called noninteractively.
4357
b86644f2
KH
43582001-03-05 Kenichi Handa <handa@etl.go.jp>
4359
4360 * coding.c (syms_of_coding): Docstring modified.
4361
203682cc 43622001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4363
4364 * charset.c (char_to_string): If a single byte char has modifier
4365 bits that can't be reflected to the character code, ignore them
45d051a7 4366 instead of signaling an error.
b86644f2 4367
e30bd7b7
EZ
43682001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4369
4370 * s/msdos.h: Update copyright notice.
4371
4372 * dosfns.h: Update copyright notice.
4373
4374 * dosfns.c: Update copyright notice.
4375
4376 * msdos.c: Update copyright notice.
4377
b52b65bd
GM
43782001-03-02 Gerd Moellmann <gerd@gnu.org>
4379
4380 * xterm.c (glyph_rect): New function.
4381 (XTmouse_position): Use it to raise the threshold for mouse
4382 movement event generation.
4383
53c4b1e6
EZ
43842001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4385
4386 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4387 specifies (reverse . t), reverse the initial screen colors.
4388 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4389 but we are reversing the colors, set bg_set, not fg_set.
4390 Likewise for setting background-color and reversing: set fg_set.
4391 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4392 in effect.
4393
4394 * xfaces.c (Finternal_set_lisp_face_attribute)
4395 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4396 parameters alist.
4397
f964b4d7
GM
43982001-03-02 Gerd Moellmann <gerd@gnu.org>
4399
ef53d75e
GM
4400 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4401 to a single slash in the middle of file names.
4402
52283633 4403 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4404 Accept only alphanumeric time zone names.
4405
f964b4d7
GM
4406 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4407 or width area.
4408 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4409 a widget to zero height.
52283633 4410
c3c45f65
GM
44112001-03-01 Gerd Moellmann <gerd@gnu.org>
4412
4413 * window.c (Fwindow_end): Call move_it_past_eol only if
4414 ending up on a partially visible line.
4415
028d739a
DL
44162001-03-01 Dave Love <fx@gnu.org>
4417
4418 * ccl.c (Fccl_execute): Doc fix.
4419
57c5889c
GM
44202001-03-01 Gerd Moellmann <gerd@gnu.org>
4421
35f59f6b
GM
4422 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4423 of the tool bar before calling x_figure_window_size.
4424
f84ff02c
GM
4425 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4426 NULL after destroying it, otherwise XTread_socket can access a
4427 destroyed widget when input is unblocked.
4428
8b8f9197 4429 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4430
57c5889c
GM
4431 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4432 same name as before, although there was a change in fontsets.
4433
224227d1
KR
44342001-02-28 Ken Raeburn <raeburn@gnu.org>
4435
4560730a
KR
4436 * lisp.h (Fframe_parameter): Declare.
4437
224227d1 4438 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4439 Lisp_Object.
224227d1 4440
ece93c02
GM
44412001-02-28 Gerd Moellmann <gerd@gnu.org>
4442
11ef99b9
GM
4443 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4444 NULL instead.
4445
4446 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4447 NULL instead.
4448
ece93c02
GM
4449 * alloc.c (toplevel): Include process.h.
4450 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4451 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4452 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4453 (allocate_vector, allocate_hash_table, allocate_window)
4454 (allocate_frame, allocate_process, allocate_other_vector):
4455 New functions.
ece93c02
GM
4456 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4457 (mark_maybe_pointer): New function.
52283633 4458 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4459 remain and not Lisp_Objects.
4460 (min_heap_address, max_heap_address): New variables.
4461 (mem_find): Return MEM_NIL if START is below min_heap_address or
4462 above max_heap_address.
4463 (mem_insert): Compute min_heap_address and max_heap_address.
4464
4465 * process.c (make_process): Use allocate_process.
4466
4467 * frame.c (make_frame): Use allocate_frame.
4468
4469 * window.c (make_window, make_dummy_parent): Use allocate_window.
4470 (Fcurrent_window_configuration): Use allocate_other_vector.
4471
4472 * lisp.h (allocate_vectorlike): Remove prototype.
4473 (allocate_vector, allocate_other_vector, allocate_frame)
4474 (allocate_window, allocate_process, allocate_hash_table):
4475 Add prototypes.
4476
4477 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4478 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4479
063af457
KH
44802001-02-27 Kenichi Handa <handa@etl.go.jp>
4481
4482 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4483 treat the produced bytes as a valid multibyte sequence.
4484
4485 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4486 (ccl_driver) <CCL_WriteMultibyteChar2>:
4487 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4488 <ccl_finish>: Set ccl->eight_bit_control properly.
4489
4490 * ccl.h (struct ccl_program): New member eight_bit_control.
4491
f58c6494
SM
44922001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4493
4494 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4495 accessible_keymaps_char_table.
4496 (accessible_keymaps_char_table): Obey `is_metized'.
4497 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4498 Lisp_Object.
4499
c596c392
GM
45002001-02-26 Gerd Moellmann <gerd@gnu.org>
4501
4502 * dispnew.c: Check HAVE_TERM_H before including term.h.
4503
425de386
AI
45042001-02-24 Andrew Innes <andrewi@gnu.org>
4505
4506 * makefile.w32-in: Update copyright notice.
4507
2ba11bbd
SM
45082001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4509
4510 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4511
66c56ed1
KH
45122001-02-24 Kenichi Handa <handa@etl.go.jp>
4513
4c1593ce
KH
4514 * Makefile.in (lisp): Add international/utf-8.elc.
4515
66c56ed1
KH
4516 * fontset.c (Fnew_fontset): Fix handling of the case that an
4517 element of FONTLIST is a cons of family and registry.
4518
796ead7e
JR
45192001-02-23 Jason Rumney <jasonr@gnu.org>
4520
4521 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4522 to height unconditionally.
4523
4524 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4525 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4526 (x_insert_glyphs): Call window_box_left to obtain the left
4527 x-coordinate of the area to shift.
4528
4529 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4530 safe_run_hooks.
4531
f6839838
AI
45322001-02-22 Andrew Innes <andrewi@gnu.org>
4533
52283633 4534 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4535 ($(BLD)\dispnew.obj):
4536 ($(BLD)\editfns.obj):
4537 ($(BLD)\fileio.obj):
4538 ($(BLD)\filelock.obj):
4539 ($(BLD)\keyboard.obj):
4540 ($(BLD)\w32proc.obj):
4541 ($(BLD)\process.obj):
4542 ($(BLD)\sysdep.obj): Ditto.
4543
4544 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4545 header files.
52283633
SM
4546 ($(BLD)/dispnew.$(O)):
4547 ($(BLD)/editfns.$(O)):
4548 ($(BLD)/fileio.$(O)):
4549 ($(BLD)/filelock.$(O)):
4550 ($(BLD)/keyboard.$(O)):
4551 ($(BLD)/w32proc.$(O)):
4552 ($(BLD)/process.$(O)):
f6839838
AI
4553 ($(BLD)/sysdep.$(O)): Ditto.
4554
c224f70b
GM
45552001-02-22 Gerd Moellmann <gerd@gnu.org>
4556
51695746
GM
4557 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4558 at the start of the function, check that the \n in it->c is
4559 from the iterator's current position.
52283633 4560
a61b7058
GM
4561 * xdisp.c (handle_single_display_prop): Add parameter
4562 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4563 properties which replace the display of text with something else.
4564 (handle_display_prop): Call handle_single_display_prop with
4565 additional argument saying if we already replaced text display
4566 with something else. Use AREF.
52283633 4567 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4568 (decode_mode_spec_coding): Use AREF and ASIZE.
4569
3473f362
GM
4570 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4571 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4572 * vmstime.h: Files removed.
52283633 4573
2bb58df3
GM
4574 * unexencap.c, unexfx2800.c: Files removed.
4575
c224f70b
GM
4576 * dispnew.c (direct_output_for_insert): Give up if we are showing
4577 a message or just cleared the message because we might need to
4578 resize the echo area window or display an empty echo area.
4579
ffc9ff0c
GM
45802001-02-21 Gerd Moellmann <gerd@gnu.org>
4581
0528abe1
GM
4582 * xdisp.c (redisplay_internal): Do the
4583 mark_window_display_accurate after all windows have been
4584 redisplayed because this call resets flags in buffers which are
4585 needed for proper redisplay.
4586
52283633
SM
4587 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4588 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4589 the old names.
4590
52283633
SM
4591 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4592 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4593
4594 * msdos.h (struct x_output): Rename busy_window to
4595 hourglass_window, busy_p to hourglass_p.
4596
52283633
SM
4597 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4598 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4599
4600 * xfns.c: Rename everything containing *busy_cursor* and similar
4601 to *hourglass*.
4602 (syms_of_w32fns): Rename x-busy-pointer-shape to
4603 x-hourglass-pointer-shape, display-busy-cursor to
4604 display-hourglass, busy-cursor-delay to hourglass-delay.
4605
4606 * w32fns.c: Rename everything containing *busy_cursor* and similar
4607 to *hourglass*.
4608 (syms_of_w32fns): Rename x-busy-pointer-shape to
4609 x-hourglass-pointer-shape, display-busy-cursor to
4610 display-hourglass, busy-cursor-delay to hourglass-delay.
4611
4612 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4613 of its busy_p flag.
4614
4615 * dispextern.h (start_hourglass, cancel_hourglass)
4616 (display_hourglass_p): Renamed from *busy_cursor*.
4617
ab2c5f0a
GM
46182001-02-20 Gerd Moellmann <gerd@gnu.org>
4619
d17e49a8
GM
4620 * keyboard.c (read_char): When an event from unread-command-events
4621 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4622
fa97adf6
GM
4623 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4624 equal to the current buffer.
4625
ab2c5f0a
GM
4626 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4627 nil, otherwise we're left with truncate_lines t when a message
4628 is printed with message-truncate-lines bound to t.
4629
aeac019e
GM
46302001-02-19 Gerd Moellmann <gerd@gnu.org>
4631
c8bc6f65
GM
4632 * window.c (Fmove_to_window_line): Undo last change.
4633 (displayed_window_lines): Call line_bottom_y to determine
4634 the line's bottom position.
4635
4636 * dispextern.h (line_bottom_y): Add prototype.
4637
52283633 4638 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4639 (pos_visible_p): Use it.
4640
980a2d69
GM
4641 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4642 set redisplaying_p to 0 here instead of in Frecursive_edit.
4643 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4644 set redisplaying_p.
4645
52283633 4646 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4647 New variables.
4648 (syms_of_xdisp): Initialize new variables.
4649 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4650 Specbind `inhibit-menubar-update' when updating the menu bar.
4651
65048e97
GM
4652 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4653 safe_run_hooks.
4654
4655 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4656 safe_run_hooks.
4657
a57c4026
GM
4658 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4659 is null.
4660
aeac019e
GM
4661 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4662 to the start of the file.
4663
76846b31
GM
46642001-02-16 Gerd Moellmann <gerd@gnu.org>
4665
f3f053f3 4666 * window.c (set_window_buffer): Fix last change.
52283633 4667
f3f053f3
GM
4668 * window.c (set_window_buffer): Set window's vscroll to 0.
4669
dad75588
GM
4670 * window.c (coordinates_in_window): Increase width of area
4671 where the vertical line can be dragged.
4672
c220b753
GM
4673 * xterm.c (x_set_glyph_string_background_width): Extend the
4674 background face to the end of the drawing area in the text
4675 area, only.
4676
c56b1c1b
GM
4677 * xdisp.c (handle_single_display_prop): Set iterator's position
4678 to where the `display' property starts, like for images.
4679 (dump_glyph): New function.
4680 (dump_glyph_row): Use it. Dump info about marginal areas.
4681
4682 * dispnew.c (direct_output_for_insert): Recognize more cases where
4683 glyphs can be written instead of being inserted.
4684
4685 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4686 the left x-coordinate of the area to shift.
4687
76846b31
GM
4688 * dired.c (directory_files_internal): Set result list to nil
4689 before retrying.
4690
0fc71a77
KH
46912001-02-15 Kenichi Handa <handa@etl.go.jp>
4692
4693 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4694 invalid multibyte sequence, treat *SRC as a character of
4695 eight-bit-graphic.
4696
25078b54
EZ
46972001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4698
4699 * textprop.c (Fset_text_properties): Doc fix.
4700
8399f8a0
GM
47012001-02-15 Gerd Moellmann <gerd@gnu.org>
4702
4703 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4704
9a2a6f73
DL
47052001-02-14 Dave Love <fx@gnu.org>
4706
4707 * coding.c: Doc and message fixes.
4708
bf853fee
AI
47092001-02-14 Andrew Innes <andrewi@gnu.org>
4710
4711 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4712 Emacs frame above the screen size.
4713
78c663d8
GM
47142001-02-14 Gerd Moellmann <gerd@gnu.org>
4715
4716 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4717
7cc9f69f
GM
47182001-02-13 Gerd Moellmann <gerd@gnu.org>
4719
0a411995
GM
4720 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4721 case that TO ends up beyond ZV after running before-change-functions.
4722
5ddc1b75
GM
4723 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4724 the selected window if it is showing the buffer in question.
4725
7cc9f69f
GM
4726 * dired.c (directory_files_internal): Initialize errno.
4727 (toplevel): Include errno.h.
4728
2e6621ca
GM
47292001-02-13 Kenichi Handa <handa@etl.go.jp>
4730
4731 * xfaces.c (best_matching_font): New parameter width_ratio.
4732 Multiply avgwidth by width_ratio.
4733 (choose_face_font): Call best_matching_font with width_ratio
4734 calculated from the column width of C.
4735
60222d69
AI
47362001-02-12 Andrew Innes <andrewi@gnu.org>
4737
4738 The following changes are to draw box lines inside characters area
4739 if line-width is negative.
52283633 4740
60222d69
AI
4741 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4742 face->box_line_width is negative.
4743 (x_produce_stretch_glyph): Likewise.
4744 (x_produce_glyphs): Likewise.
4745 (x_estimate_mode_line_height): Likewise.
4746 (x_draw_glyph_string_background): Likewise.
4747 (x_draw_glyph_string_foreground): Likewise.
4748 (x_draw_composite_glyph_string_foreground): Likewise.
4749 (x_draw_glyph_string_box): Likewise.
4750 (x_draw_image_foreground): Likewise.
4751 (x_draw_image_relief): Likewise.
4752 (x_draw_image_foreground_1): Likewise.
4753 (x_draw_image_glyph_string): Likewise.
4754
9804b846
KH
47552001-02-09 Kenichi Handa <handa@etl.go.jp>
4756
4757 The following changes are to draw box lines inside characters area
4758 if line-width is negative.
52283633 4759
9804b846
KH
4760 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4761 face->box_line_width is negative.
4762 (x_produce_stretch_glyph): Likewise.
4763 (x_produce_glyphs): Likewise.
4764 (x_estimate_mode_line_height): Likewise.
4765 (x_draw_glyph_string_background): Likewise.
4766 (x_draw_glyph_string_foreground): Likewise.
4767 (x_draw_composite_glyph_string_foreground): Likewise.
4768 (x_draw_glyph_string_box): Likewise.
4769 (x_draw_image_foreground): Likewise.
4770 (x_draw_image_relief): Likewise.
4771 (x_draw_image_foreground_1): Likewise.
4772 (x_draw_image_glyph_string): Likewise.
4773
4774 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4775 and :line-width can be negative.
52283633 4776 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4777
49be9f70
JR
47782001-02-09 Jason Rumney <jasonr@gnu.org>
4779
4780 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4781 characters the same as ASCII and latin-1.
4782 (x_display_and_set_cursor): Check for the focus frame's selected
4783 window instead of selected_window.
4784 (x_after_update_window_line): Don't clear if frame's internal
4785 border width is zero.
4786 (x_new_font): Don't change a tooltip's size.
4787 (w32_initialize): Set char_ins_del_ok to 1.
4788
4789 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4790 (x_set_font): If font hasn't changed, avoid recomputing
4791 faces and other things.
52283633
SM
4792 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4793 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4794 (x_create_tip_frame): Prevent changing the tooltip's
4795 background color by specifying a color for the default font
4796 in .Xdefaults.
4797 (Qcancel_timer): New variable.
4798 (syms_of_w32fns): Initialize and staticpro it.
4799 (Fx_hide_tip, Fx_show_tip): Use it.
4800 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4801 the timer.
4802 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4803
4804 * w32.c (init_environment): Duplicate local string before putenv.
4805
555e35d2
SZ
48062001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4807
4808 * charset.c (Fstring): A typo.
4809
19c92c94
KH
48102001-02-09 Kenichi Handa <handa@etl.go.jp>
4811
e47a1c33
KH
4812 * charset.c (Fstring): If all arguments are less than 256, return
4813 a unibyte string.
4814
4815 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4816 return a unibyte string.
4817
19c92c94
KH
4818 * coding.c (code_convert_region): After detecting a coding, if
4819 nothing found, set coding->composing to COMPOSITION_NO.
4820 (decode_coding_string): Likewise.
4821
d8e675f5
SM
48222001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4823
4824 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4825 to avoid overflow.
4826
bd503487
KH
48272001-02-07 Kenichi Handa <handa@etl.go.jp>
4828
4829 * charset.c (parse_str_to_multibyte): New function.
4830
4831 * charset.h (parse_str_to_multibyte): Extern it.
4832
4833 * print.c (print_string): If we are going to print a unibyte
4834 string into a multibyte buffer, convert the string to multibyte by
4835 str_to_multibyte.
4836
a8370d72
AI
48372001-02-06 Andrew Innes <andrewi@gnu.org>
4838
4839 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4840 been created. It seems we can get sent window messages such as
4841 WM_ERASEBKGND before we properly update a frame.
4842
c363a1d6
GM
48432001-02-06 Gerd Moellmann <gerd@gnu.org>
4844
4845 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4846 Avoid some unnecessary cursor positioning.
4847
a08332c0
GM
48482001-02-05 Gerd Moellmann <gerd@gnu.org>
4849
52283633 4850 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4851 (LFACE_AVGWIDTH): New macro.
4852 (LFACEP): Use AREF.
4853 (check_lface_attrs): Check LFACE_AVGWIDTH.
4854 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4855 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4856 (merge_face_vectors): Check LFACE_AVGWIDTH.
4857 (Finternal_make_lisp_face): Use AREF.
4858 (xm_set_menu_resources_from_menu_face)
4859 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4860 (Finternal_lisp_face_empty_p): Use AREF.
4861 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4862 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4863 Compare average widths..
4864 (best_matching_font): Arrange for comparing average widths.
4865
52283633
SM
4866 * dispextern.h (enum lface_attribute_index):
4867 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4868
5cb3c8d4
DL
48692001-02-05 Dave Love <fx@gnu.org>
4870
4871 * puresize.h: Revert last change following loadup.el change.
4872
193fba87
AI
48732001-02-05 Andrew Innes <andrewi@gnu.org>
4874
4875 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4876 invocation of temacs, to work with Windows 2000.
4877 (bootstrap-emacs): Ditto.
4878
e16f52ce
GM
48792001-02-05 Gerd Moellmann <gerd@gnu.org>
4880
7a58ab59
GM
4881 * xterm.c (x_display_and_set_cursor): Check for the focus
4882 frame's selected window instead of selected_window.
4883
e89aaabd
GM
4884 * xdisp.c (try_scrolling): If point is in the line below the
4885 window, make sure to move the iterator at least a canonical
4886 char height down.
4887
52283633 4888 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4889
789ce875
KH
48902001-02-05 Kenichi Handa <handa@etl.go.jp>
4891
52283633
SM
4892 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4893 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4894 (ccl_driver): If the CCL program is terminated because of
4895 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4896 destination instead of throwing them away.
4897
20b28f82
GM
48982001-02-02 Gerd Moellmann <gerd@gnu.org>
4899
79fb38c0
GM
4900 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4901 faces and other things.
4902
20b28f82
GM
4903 * xdisp.c (get_next_display_element): Fix case of empty
4904 display table entry.
4905
5a72551e
EZ
49062001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4907
eb24d0bf
EZ
4908 * editfns.c (Fconstrain_to_field): Doc fix.
4909
6a3f48c7
EZ
4910 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4911 into `thoroughly', to make it consistent with the doc string.
4912
5a72551e
EZ
4913 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4914
01acdb05
GM
49152001-02-01 Gerd Moellmann <gerd@gnu.org>
4916
0353b28f
GM
4917 * search.c (search_buffer): Call set_search_regs with a byte
4918 position, not a character position.
4919
01acdb05
GM
4920 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4921 minibuffer-only,
4922
e86b5133
EZ
49232001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4924
4925 * frame.c (Fmodify_frame_parameters): Doc fix.
4926
7442878f
GM
49272001-01-31 Gerd Moellmann <gerd@gnu.org>
4928
01acdb05
GM
4929 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4930 identifier which is not reserved by Standard C.
52283633 4931
7442878f
GM
4932 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4933
4934 * window.c (enum window_part): New enumeration.
4935 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4936 Qright_bitmap_area.
4937 (coordinates_in_window): Return an enumerator from enum
4938 window_part. Fix handling of right scroll bar.
4939 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4940 `right-fringe' instead of `left-bitmap-area' and
4941 `right-bitmap-area'. Use enumerators from enum window_part
4942 instead of hard-coded integers.
52283633
SM
4943 (check_window_containing, window_from_coordinates):
4944 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4945 (syms_of_window): Replace Qleft_bitmap_area and
4946 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4947
7c132cba
EZ
49482001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4949
4950 * editfns.c (Fformat_time_string): Doc fix.
4951
c359dd9e
SM
49522001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4953
4954 * keymap.c (Fwhere_is_internal): Use the first valid binding
4955 if no ascii binding is found (when firstonly is t).
4956
ce070307
GM
49572001-01-31 Gerd Moellmann <gerd@gnu.org>
4958
b4f30ec5
GM
4959 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4960 instead of Finteractive_p.
4961
4962 * lisp.h (interactive_p): Add prototype.
4963
4964 * eval.c (interactive_p): New function.
4965 (Finteractive_p): Use it.
4966
ce070307
GM
4967 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4968
f57b6e64
DL
49692001-01-31 Dave Love <fx@gnu.org>
4970
d61c7afe
DL
4971 * .gdbinit (hook-run): Define to run xreload.
4972
f57b6e64
DL
4973 * textprop.c (Fset_text_properties): Fix newline in doc string.
4974
eef93f99
GM
49752001-01-30 Gerd Moellmann <gerd@gnu.org>
4976
52283633
SM
4977 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4978 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4979
4980 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4981 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4982 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4983
4984 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4985 height.
4986
d9c1f6f9
DL
49872001-01-30 Dave Love <fx@gnu.org>
4988
4989 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4990 AFTER_POTENTIAL_GC.
4991
e8f044a0
GM
49922001-01-29 Gerd Moellmann <gerd@gnu.org>
4993
52283633
SM
4994 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4995 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4996
8e1db7b3
EZ
49972001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4998
4999 * textprop.c (Fset_text_properties): Doc fix.
5000
4eefd9d2
GM
50012001-01-29 Gerd Moellmann <gerd@gnu.org>
5002
5003 * xdisp.c (forward_to_next_line_start): Remove xassert.
5004
fccb8288
EZ
50052001-01-29 Jason Rumney <jasonr@gnu.org>
5006
4eefd9d2 5007 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5008 returning without releasing it.
5009
76581eab
KH
50102001-01-29 Kenichi Handa <handa@etl.go.jp>
5011
5012 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5013 for '^', '$', and '\0'.
5014
83a96b4d
AC
50152001-01-28 Andrew Choi <akochoi@i-cable.com>
5016
5604ec34
AC
5017 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5018 regex for '^', '$', and '\0'.
5019
83a96b4d
AC
5020 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5021 only if current_sblock has been initialized.
5022
5023 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5024 terminal frame even if it is the only visible frame.
5025
c09a6440
KH
50262001-01-28 Kenichi Handa <handa@etl.go.jp>
5027
5028 * fontset.c (font_family_registry): Even if FONTNAME conform to
5029 XLFD, if it specifies other fields than family and registry,
52283633 5030 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5031 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5032 a signle byte character. Don't set FAMILY part to nil here.
5033 It is handled by the caller choose_face_font.
c09a6440
KH
5034 (Fnew_fontset): Call font_family_registry with FORCE 0.
5035 (Fset_fontset_font): Likewise.
5036
4dcd74e6
GM
50372001-01-27 Gerd Moellmann <gerd@gnu.org>
5038
5039 * xdisp.c (display_line): Don't treat a newline as fitting
5040 on the line.
5041
d2906bf8
GM
50422001-01-26 Gerd Moellmann <gerd@gnu.org>
5043
0130fe1a
GM
5044 * window.c (size_window): Set the window's orig_top to nil when
5045 changing heights, so that a future shrink_mini_window won't
5046 restore a bogus height.
5047
550f0e6a
GM
5048 * frame.c (do_switch_frame): If selected frame has a mini-window,
5049 resize that to exact size.
5050
b7b20fbd
GM
5051 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5052
a47b7816
GM
5053 * xdisp.c (display_line): Simplify check for glyphs fitting
5054 entirely in the line.
5055
d2906bf8
GM
5056 * xfns.c (xic_style): New variable.
5057 (create_frame_xic): Move static variable to global scope for
550f0e6a 5058 the case that `static' gets defined away.
d2906bf8 5059
73df2b1e
KH
50602001-01-26 Kenichi Handa <handa@etl.go.jp>
5061
5062 * coding.c (decode_coding): Set a flag for inhibiting
5063 inconsistent eol.
5064 (code_convert_region): Always set saved_coding_symbol.
5065 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5066 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5067
6613cfc4
GM
50682001-01-25 Gerd Moellmann <gerd@gnu.org>
5069
c5e6e06b
GM
5070 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5071 XClearArea.
5072
5073 * xterm.c (x_after_update_window_line): Don't clear if frame's
5074 internal border width is zero.
5075 (x_clear_area): New function.
5076 (x_after_update_window_line, x_clear_end_of_line)
5077 (x_scroll_bar_create, x_scroll_bar_set_handle)
5078 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5079 instead of XClearArea.
5080
5081 * xterm.h (x_clear_area): Add prototype.
5082
6613cfc4
GM
5083 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5084 which doesn't seem necessary anymore with Lesstif 0.92.
5085
650cc6cc
DL
50862001-01-25 Dave Love <fx@gnu.org>
5087
34ac3367
DL
5088 * puresize.h (BASE_PURESIZE): Up to 720000.
5089
650cc6cc
DL
5090 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5091
5e37dc22
GM
50922001-01-25 Gerd Moellmann <gerd@gnu.org>
5093
e1e441f9
GM
5094 * xdisp.c (echo_area_display): Don't call redisplay_internal
5095 when Emacs is shutting down. We can't run hooks etc. that
5096 would be necessary to do a redisplay.
5097
5e37dc22
GM
5098 * lread.c (read_integer): Use type EMACS_INT instead of int.
5099
0fb94c7f
EZ
51002001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5101
5102 * ccl.c (ccl_driver): Fix last change.
5103
e3778624
KH
51042001-01-25 Kenichi Handa <handa@etl.go.jp>
5105
5106 * ccl.h (sturct ccl_program): New member suppress_error.
5107
bb264518 5108 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5109 insert error message to the output.
5110 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5111
5112 * coding.h (struct coding_system): New member suppress_error.
5113
5114 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5115 (Fset_terminal_coding_system_internal): Set the member
5116 suppress_error to 1.
5117 (Fset_safe_terminal_coding_system_internal): Likewise.
5118
245ed2b1
SM
51192001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5120
5121 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5122 as if it was a `charset'.
5123
f9aaedb6
GM
51242001-01-24 Gerd Moellmann <gerd@gnu.org>
5125
5126 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5127 value in where_is_cache; the next lookup in the cache returns
5128 something bogus if we do.
5129
c3902c3e
EZ
51302001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5131
5132 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5133 if HAVE_WINDOW_SYSTEM isn't defined.
5134
3497f73e
GM
51352001-01-24 Gerd Moellmann <gerd@gnu.org>
5136
e7e41584
GM
5137 * fns.c (sweep_weak_table): Fix code taking items out of
5138 the hash collision chain. Some cleanup.
5139
3497f73e
GM
5140 * xterm.c (x_new_font): Don't change a tooltip's size.
5141
5142 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5143 background color by specifying a color for the default font
5144 in .Xdefaults.
5145
3d48e687
KH
51462001-01-24 Kenichi Handa <handa@etl.go.jp>
5147
96531b20
KH
5148 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5149 a workaround for SunOS 4's cc.
5150 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5151 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5152 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5153 statement.
3d48e687 5154
a30629d2
GM
51552001-01-23 Gerd Moellmann <gerd@gnu.org>
5156
5157 * xterm.c (x_set_window_size_1): New function extracted from
5158 x_set_window_size.
5159 (x_set_window_size): Use it.
5160 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5161 doesn't have a widget, like tooltips.
5162
5a43decf
EZ
51632001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5164
52283633 5165 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5166
b0e98867
KH
51672001-01-23 Kenichi Handa <handa@etl.go.jp>
5168
5169 * fns.c (Fset_char_table_default): Fix to make sub char-table
5170 correctly.
5171
50606b4c
GM
51722001-01-22 Gerd Moellmann <gerd@gnu.org>
5173
cb2ddc53 5174 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5175 a desired tool bar string, even if there are no tool bar items.
5176
57c28064
GM
5177 * xdisp.c (Ftool_bar_lines_needed): New function.
5178 (syms_of_xdisp): Defsubr it.
5179
50606b4c
GM
5180 * editfns.c (Fformat): Don't extend text properties from arguments
5181 to padding chars in the result.
5182
2f169c38
EZ
51832001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5184
5185 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5186
0f32f023
AI
51872001-01-20 Andrew Innes <andrewi@gnu.org>
5188
52283633 5189 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5190 (w32_initialize): Don't set term hooks that aren't actually needed
5191 in windowed mode.
5192
5193 * xfaces.c (realize_default_face):
5194 (realize_face):
5195 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5196
5197 * xdisp.c (handle_single_display_prop): Remove references to
5198 FRAME_W32_CONSOLE_P.
5199
52283633 5200 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5201
5202 * frame.h (output_method): Remove output_w32_console method.
5203 (FRAME_W32_CONSOLE_P): Remove macro.
5204
5205 * frame.c (Qw32_console): Remove variable.
5206 (Fframep): Remove references to it.
5207 (syms_of_frame): Ditto.
5208 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5209
5210 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5211 redefinition.
5212
7173eada
KH
52132001-01-20 Kenichi Handa <handa@etl.go.jp>
5214
5215 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5216
755b45ce
AI
52172001-01-19 Andrew Innes <andrewi@gnu.org>
5218
5219 * w32.c (init_environment): Add a version-independent site-lisp
5220 directory to EMACSLOADPATH, after the version dependent one.
5221
0a949811
GM
52222001-01-19 Gerd Moellmann <gerd@gnu.org>
5223
8501998a
GM
5224 * editfns.c (Fbuffer_substring): Doc fix.
5225
52283633
SM
5226 * xdisp.c (message_dolog, message2, message2_nolog):
5227 Rename parameter LEN to NBYTES.
0a949811 5228
e6ebcbbe
KH
52292001-01-19 Kenichi Handa <handa@etl.go.jp>
5230
200ecca2
KH
5231 * charset.c (strwidth): Use c_string_width.
5232 (c_string_width): New function.
5233 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5234 Caller changed.
5235
5236 * charset.h (c_string_width, lisp_string_width): Extern them.
5237
52283633 5238 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5239
e6ebcbbe
KH
5240 * indent.c (check_composition): Check validity of composition.
5241
200ecca2
KH
5242 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5243 characters by calling c_string_width.
5244 (x_consider_frame_title): Get byte length of frame tile string
5245 correctly.
5246 (display_mode_element): Pay attention to width of non-ASCII
5247 characters by calling strwidth.
5248
8692ca92
GM
52492001-01-18 Gerd Moellmann <gerd@gnu.org>
5250
8962e303
GM
5251 * xfns.c (Qcancel_timer): New variable.
5252 (syms_of_xfns): Initialize and staticpro it.
5253 (Fx_hide_tip, Fx_show_tip): Use it.
5254 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5255 the timer.
5256 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5257
91523be9
GM
5258 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5259
5260 * window.h (WINDOW_LIVE_P): New macro.
5261
b0b7ed0e
GM
5262 * window.c (window_size_fixed): New variable.
5263 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5264 the doc string.
5265
06bccf8e
GM
5266 * eval.c (specbind): If binding a per-buffer variable which
5267 doesn't have a buffer-local value in the current buffer, change
5268 the global value by changing the value of the symbol bound in all
5269 buffers not having their own value, to make it consistent with
5270 what happens with other buffer-local variables.
5271
8692ca92
GM
5272 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5273
5274 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5275 when searching for a newline.
5276
bb3a3b50
KH
52772001-01-18 Kenichi Handa <handa@etl.go.jp>
5278
5279 * xdisp.c (display_string): Fix previous change.
5280
c2cc16fa
JR
52812001-01-18 Jason Rumney <jasonr@gnu.org>
5282
5283 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5284 GLYPH_DEBUG is defined.
5285 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5286 true for images with `:ascent 100'.
5287 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5288 meantime, use face MOUSE_FACE_ID.
5289 If first glyph isn't a character glyph, use the ASCII NUL
5290 character to determine the face.
5291 (expose_area): Do not treat left margin specially.
5292 (note_mode_line_highlight): If no local_map, check global keymap.
5293 (note_mouse_highlight): Initialize overlay.
52283633 5294 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5295 (show_scroll_bars): Remove unused function.
5296 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5297 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5298 Clip to row.
52283633 5299 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5300 (x_free_frame_resources): Unload relief colors.
5301
9c11f79e
GM
53022001-01-17 Gerd Moellmann <gerd@gnu.org>
5303
3aec8722 5304 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5305 get_next_display_element when the newline is already found.
5306 This may change the iterator's position, when its current position is
3aec8722
GM
5307 equal to the iterator's stop_charpos.
5308
f3ffc2c3
GM
5309 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5310 zero, use this method only at the end of a line.
5311
52283633 5312 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5313 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5314 if SCALABLE_FONTS_P is set.
52283633 5315
d26d6fd9
GM
5316 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5317 so that scalable fonts are included.
5318
9c11f79e
GM
5319 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5320 In the cache, use a key containing the information if scalable
5321 fonts are included.
5322 (x_load_font): Adapt to change of keys in the font cache.
5323
53242001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5325
d26d6fd9
GM
5326 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5327 XListFonts to take advantage of font caching.
5328
9c11f79e
GM
5329 * xterm.c (x_list_fonts): Ensure caching font information when
5330 called for a null frame, which is the case frequently when Emacs
5331 starts.
5332
51446987
GM
53332001-01-17 Gerd Moellmann <gerd@gnu.org>
5334
f864120f
GM
5335 * xfns.c (QCconversion): Replaces QCalgorithm.
5336
5337 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5338
5339 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5340 of :algorithm.
52283633 5341
e37d1417
GM
5342 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5343 not everything could be displayed.
5344
51446987
GM
5345 * line.h, x-list-font.c: Files removed because unused.
5346
9ad4f3e5
AI
53472001-01-17 Andrew Innes <andrewi@gnu.org>
5348
5349 * dired.c (directory_files_internal): Convert result from readdir
5350 to a unibyte string initially, to avoid possible misinterpretation
5351 of some bytes as the internal form of Emacs characters.
5352
2eda09b5
KH
53532001-01-17 Kenichi Handa <handa@etl.go.jp>
5354
5355 * fns.c (concat): Be sure to avoid putting the same `composition'
5356 property on the adjacent regions.
5357
826f3788
GM
53582001-01-16 Gerd Moellmann <gerd@gnu.org>
5359
52283633 5360 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5361 (Fscroll_right, Fscroll_left): Set it here instead, if called
5362 interactively.
5363
d57b83b3
GM
5364 * buffer.c (Fset_buffer_modified_p): Set buffer's
5365 prevent_redisplay_optimizations_p flag.
5366
826f3788 5367 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5368 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5369 with additional arg.
5370
5371 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5372 Change prototype.
826f3788 5373
826f3788
GM
5374 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5375 FROM_WHERE, for debugging.
5376
261d788b
KH
53772001-01-16 Kenichi Handa <handa@etl.go.jp>
5378
5379 * ccl.c (Fregister_ccl_program): Handle the return value of
5380 resolve_symbol_ccl_program correctly.
52283633 5381 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5382
bccee4f2
GM
53832001-01-15 Gerd Moellmann <gerd@gnu.org>
5384
e4ded23c
GM
5385 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5386 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5387
5388 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5389 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5390 the display; we didn't open it.
5391
bccee4f2
GM
5392 * dispnew.c (save_or_restore_current_matrices): Function removed.
5393 (save_current_matrix, restore_current_matrix): New functions.
5394 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5395 restore the frame's current matrix. Due to the glyph pointer
5396 setup done in adjust_glyph_matrix, there is no easy way to make
5397 saving the current matrix in the desired matrix generally correct,
5398 so don't try it.
5399
ebeccffa
KH
54002001-01-15 Kenichi Handa <handa@etl.go.jp>
5401
5402 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5403 truncation glyphs.
5404 (display_line): Optimize for wide characters.
e4ded23c 5405 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5406 partially. On ttys, produce more than one truncation glyph for
5407 multi-column characters that don't fit on the line.
5408
64388126
KH
54092001-01-13 Kenichi Handa <handa@etl.go.jp>
5410
52283633
SM
5411 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5412 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5413
8edb0a6f
JR
54142001-01-13 Jason Rumney <jasonr@gnu.org>
5415
5416 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5417 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5418 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5419 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5420
52283633
SM
5421 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5422 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5423 (x_draw_image_glyph_string): Adapt to change of image margins.
5424
5425 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5426 variables.
5427
5428 * w32bdf.c (search_file_line, get_cached_font_char)
5429 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5430
5431 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5432
5433 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5434 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5435 (Fw32_send_sys_command): Remove unused variables.
5436 (w32_msg_pump): Add parentheses.
5437
5438 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5439 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5440 Add parentheses.
5441
4956d1ef
GM
54422001-01-12 Gerd Moellmann <gerd@gnu.org>
5443
b30623be
GM
5444 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5445 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5446 being a pair of margins.
5447 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5448 to DEFVAR_LISP. Extend doc.
5449
5450 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5451 margins.
5452 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5453 pair of integers `(X . Y)', use X for the horizontal and Y for the
5454 vertical margin.
5455 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5456 (parse_image_spec): Check it.
52283633
SM
5457 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5458 (tiff_format, gif_format, gs_format):
5459 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5460
52283633
SM
5461 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5462 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5463 (x_draw_image_glyph_string): Adapt to the change of image margins.
5464
5465 * dispextern.h (struct image): Replace member `margin' with
5466 `hmargin' and `vmargin'.
5467
4554cc79
GM
5468 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5469 and GLYPHS.
5470
5471 * dispnew.c (update_text_area): Put code which decrements the
5472 stop position when the row's face extends to the end of the
3bffc665 5473 line in #if 0.
4554cc79 5474
3cccce8d
GM
5475 * xfns.c (x_set_mouse_color): Fix color allocation.
5476
4956d1ef
GM
5477 * keyboard.c: Call get_local_map with new argument list.
5478
5479 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5480
5481 * intervals.h (enum map_property): Removed.
5482 (get_local_map): Change prototype.
5483
5484 * keymap.c: Call get_local_map with new argument list.
5485 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5486
2c2ff7f2
GM
54872001-01-11 Gerd Moellmann <gerd@gnu.org>
5488
a23887b9
GM
5489 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5490 of the size needed for the tool bar string. For the last image,
5491 use a `display' property that reaches to the end of the string.
5492
a7ee2d2e
GM
5493 * xselect.c (selection_request_dpyinfo): New variable.
5494 (x_handle_selection_request): Set it.
5495 (x_selection_request_lisp_error): Don't call
5496 x_decline_selection_request if selection request's display has
5497 been closed.
5498
52283633
SM
5499 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5500 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5501
457b792c
GM
55022001-01-10 Dave Love <fx@gnu.org>
5503
5504 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5505 ${SOME_MACHINE_LISP}, not ${lisp}.
5506
c1efd260
GM
55072001-01-10 Gerd Moellmann <gerd@gnu.org>
5508
52283633
SM
5509 * xdisp.c (display_line): On ttys, produce more than one truncation
5510 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5511
ac95a621
GM
5512 * xselect.c (x_reply_selection_request): Add a comment.
5513
c1efd260
GM
5514 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5515 XkbGetNames instead of XkbGetKeyboard.
5516
1bfb1345
DL
55172001-01-10 Dave Love <fx@gnu.org>
5518
5519 * sysdep.c (random): Revert the declaration.
5520
38119822
GM
55212001-01-09 Gerd Moellmann <gerd@gnu.org>
5522
52283633
SM
5523 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5524 Call function string_bytes.
35f464a7
GM
5525 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5526
5527 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5528 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5529 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5530 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5531 the current sblock.
5532 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5533 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5534 after sweeping strings, and at the end.
5535 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5536
38119822
GM
5537 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5538 ensure that pop_message is called.
5539
5540 * keyboard.c (Fexecute_extended_command): Use a
5541 record_unwind_protect to ensure that pop_message is called.
5542
5543 * lisp.h (push_message_unwind): Add prototype.
5544
5545 * xdisp.c (push_message_unwind): New function.
5546
5547 * fileio.c (do_auto_save_unwind): Do the pop_message here
5548 instead of in Fdo_auto_save.
5549 (Fdo_auto_save): Don't call pop_message.
5550
f47a9ec4
KR
55512001-01-08 Ken Raeburn <raeburn@gnu.org>
5552
5553 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5554 in inner block.
5555
a758f97d
GM
55562001-01-08 Gerd Moellmann <gerd@gnu.org>
5557
6d0afc03
GM
5558 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5559 when increasing window's vscroll.
5560
a758f97d
GM
5561 * macros.c (Qkbd_macro_termination_hook): New variable.
5562 (syms_of_macros): Initialize and staticpro it.
5563 (pop_kbd_macro): Run kbd-macro-termination-hook.
5564
5565 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5566
1bfb1345 55672001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5568
5569 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5570 arglist, for documentation's sake.
5571
0dac6924
AI
55722001-01-06 Andrew Innes <andrewi@gnu.org>
5573
5574 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5575 of *.pdb.
5576
8182406a
AI
55772001-01-05 Andrew Innes <andrewi@gnu.org>
5578
5579 * term.c (update_end): Don't check updating_frame; for some reason
5580 this can be 0 sometimes, such as after dismissing a popup menu,
5581 and isn't necessary given the explicit frame argument.
5582
3828218c
GM
55832001-01-05 Gerd Moellmann <gerd@gnu.org>
5584
5585 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5586 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5587
2f5ded21
GM
55882001-01-04 Gerd Moellmann <gerd@gnu.org>
5589
52283633 5590 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5591
5592 * xfns.c (x_create_tip_frame): Preserve the value of
5593 face_change_count around the creation of the tip frame.
52283633 5594
2f5ded21
GM
5595 * xfns.c (last_show_tip_args): New variable.
5596 (compute_tip_xy): New function.
5597 (Fx_show_tip): Reuse an existing tip frame, if possible.
5598 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5599
dfad65fa
DL
56002001-01-04 Dave Love <fx@gnu.org>
5601
64d4ec0f
DL
5602 * editfns.c (Fformat): Doc fix.
5603
dfad65fa
DL
5604 * systime.h (set_file_times): Prototype.
5605
5606 * widget.h (EmacsFrameSetCharSize_): Prototype.
5607
5608 * sysdep.c (random, srandom): Declare explicitly.
5609
5610 * dispextern.h (move_it_vertically_backward): Declare.
5611
85fe3b5e
GM
56122001-01-04 Gerd Moellmann <gerd@gnu.org>
5613
0f2ac578
GM
5614 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5615 like in Fx_create_frame.
5616
482cca61
GM
5617 * xfaces.c (set_font_frame_param): Don't do anything for
5618 non-graphical frames.
5619
85fe3b5e
GM
5620 * window.c (Fdelete_other_windows): Set window's window_end_valid
5621 to nil when changing the window's start. Don't change the
5622 window's start when its top position hasn't changed. If we do,
5623 this will set the window's optional_new_start, which act's like a
5624 force_start during redisplay with C-x 1 M-> under particular
5625 circumstances (see report from Per Starback to emacs-pretest-bug
5626 from 2000-12-13.).
5627
3e99d3b4
GM
56282001-01-03 Gerd Moellmann <gerd@gnu.org>
5629
a77dc1ec
GM
5630 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5631 short cut at the start of the function. Add an assertion.
5632 (reseat_at_next_visible_line_start): Add an assertion.
5633
2f3cad6c
GM
5634 * window.c (Frecenter): When changing the window start, set the
5635 window's window_end_valid to nil.
5636 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5637
5638 * dispextern.h (move_it_past_eol): Add prototype.
5639
5640 * xdisp.c (move_it_past_eol): New function.
5641
3e99d3b4
GM
5642 * window.c (Fwindow_end): Doc fix.
5643
56442001-01-03 Dave Love <fx@gnu.org>
5645
52283633 5646 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5647
bafb434c
GM
56482001-01-03 Gerd Moellmann <gerd@gnu.org>
5649
5650 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5651 the enabled_p flag of the glyph row at window_end_vpos to 0.
5652 (handle_single_display_prop): Fix last change.
5653
5297fb00
RS
56542001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5655
5656 * window.c (Frecenter): Doc fix.
5657
13d6a61c
AI
56582001-01-02 Andrew Innes <andrewi@gnu.org>
5659
5660 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5661
5662 * frame.h (output_method): Add output_w32_console method.
5663 (FRAME_W32_CONSOLE_P): New macro.
5664
5665 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5666 use output_w32_console method.
5667 (Qw32_console): New Lisp_Object.
5668 (Fframep): Return it.
5669 (syms_of_frame): Init it.
52283633 5670 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5671
5672 * xfaces.c (realize_default_face): Set face foreground and
5673 background to unspecified for w32_console frames.
5674 (realize_face): Realize face cache for w32_console frames.
5675 (realize_tty_face): Accept w32_console frames.
5676
52283633 5677 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5678 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5679 necessary, even if running interactively.
5680
5681 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5682 w32_console frames.
5683
52283633
SM
5684 * w32term.c (x_update_begin):
5685 (x_update_end):
5686 (x_clear_frame):
5687 (x_ins_del_lines):
5688 (x_change_line_highlight):
5689 (x_delete_glyphs):
5690 (w32_ring_bell):
5691 (x_update_begin):
5692 (x_update_end):
5693 (w32_reassert_line_highlight):
5694 (w32_frame_rehighlight):
13d6a61c
AI
5695 (w32_frame_raise_lower): Do nothing if not w32 frame.
5696
5697 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5698
5699 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5700 system doesn't tell us directly.
5701 (Fx_display_visual_class): Implement properly.
5702
d6bb0c0d
GM
57032001-01-02 Gerd Moellmann <gerd@gnu.org>
5704
5705 * window.c (Frecenter): Handle centering in graphical frames
5706 specially. Centering on the basis of line counts doesn't work
5707 reliably with variable-height lines.
52283633 5708
315f5865
EZ
57092001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5710
5711 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5712 and al[].
5713
52283633 5714 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5715 (update_compositions): Remove unused variable `hook'.
5716
5717 * intervals.c (get_local_map): Remove unused variable `tem'.
5718
5719 * doprnt.c (doprnt1): Remove unused variable `size'.
5720
5721 * fns.c (Flength): Remove unused variable `tail'.
5722 (Fdelete): Remove unused variable `size'.
5723
5724 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5725 and `gcpro2'.
5726
52283633 5727 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5728
5729 * data.c (find_symbol_value): Remove extra 3rd argument in the
5730 call to swap_in_symval_forwarding.
5731
52283633 5732 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5733
5734 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5735 (trivial_regexp_p): Remove unused variable `c'.
5736 (boyer_moore): Remove unused variable `k'.
5737
5738 * indent.c (current_column): Remove unused variable `stopchar'.
5739 (Fcompute_motion): Remove unused variable `contin'.
5740
5741 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5742
5743 * dired.c (directory_files_internal): Fix a typo in a comment.
5744 Remove an unused variable `handler'.
52283633 5745 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5746 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5747 on BSD4_2.
5748
52283633 5749 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5750
5751 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5752 and `buf'.
5753 (Fmarker_insertion_type): Remove unused variable `buf'.
5754
5755 * insdel.c (make_gap): Remove unused variable `result'.
5756
52283633 5757 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5758 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5759 (menu_bar_items): Remove unused function-scope variable `tem'.
5760
5761 * fontset.c (fontset_ref): Remove unused variable `i'.
5762 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5763 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5764 (make_fontset_for_ascii_face): Remove unused variable `name'.
5765 (fs_load_font): Remove unused variable `font_idx'.
52283633 5766 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5767 (list_fontsets): Remove unused variable `tail'.
5768 (Fnew_fontset): Remove unused variables `family' and `registry'.
5769 (accumulate_font_info): Remove unused variable `tmp'.
5770 (Ffontset_font): Remove unused variable `id'.
5771 (syms_of_fontset): Remove unused variable `i'.
5772
5773 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5774 to x_term_init.
5775 (lookup_image): Remove unused variable `file'.
5776 (xbm_load): Remove unused variables `bitmap_data', `height', and
5777 `width'. Remove function-local variable `i', leave the
5778 block-local one.
5779 (gif_load): Remove unused variable `inc'.
5780
52283633 5781 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5782 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5783 leave only the one in the inner block.
5784
5785 * xfaces.c (face_fontset, realize_default_face): Remove unused
5786 variable `fontset'.
5787 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5788
5789 * term.c (encode_terminal_code): Remove unused variable `c'.
5790
5791 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5792 char *' instead of `char *'.
5793
5794 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5795 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5796 (Fchar_category_set): Remove unused variables `val', `charset',
5797 `c1' and `c2'.
5798
52283633
SM
5799 * coding.c (detect_coding_iso2022, setup_coding_system):
5800 Remove unused variable `i'.
315f5865
EZ
5801 (detect_coding_mask): Remove unused variable `idx'.
5802 (detect_coding): Remove unused variable `i'.
5803 (ccl_coding_driver): Remove unused variable `result'.
5804 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5805 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5806 (encode_coding_string): Remove unused variables `gcpro1' and
5807 `saved_coding_symbol'.
5808 (Ffind_coding_systems_region_internal): Remove function-local
5809 variable args[], leave only the block-local one.
5810 (code_convert_region1): Remove unused variable `len'.
5811
5812 * charset.c (char_printable_p): Remove unused variable `chars'.
5813 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5814 (str_to_multibyte): Remove unused variable `c'.
5815
5816 * window.c (size_window): Remove block-local variable `min_size'.
5817
5818 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5819 `header_line_height'.
5820 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5821 enum display_element_type.
5822
1a8a9daf
GM
58232001-01-02 Gerd Moellmann <gerd@gnu.org>
5824
6dde6abc 5825 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5826 statements that call X. Save away the error message in a local copy.
5827
1883b2c6
GM
5828 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5829 the start.
5830
a13be207
GM
5831 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5832 in or at the start of invisible text.
5833
1a8a9daf
GM
5834 * dispnew.c (update_window): Don't check_current_matrix_flags.
5835
3608c0f9
JR
58362001-01-01 Jason Rumney <jasonr@gnu.org>
5837
5838 * w32fns.c (x_figure_window_size): Do not allow new_height and
5839 new_width of frame to override specified values.
5840
abb1acc4
KH
58412000-12-30 Kenichi Handa <handa@etl.go.jp>
5842
52283633 5843 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5844
762a68ec
GM
58452000-12-29 Gerd Moellmann <gerd@gnu.org>
5846
52283633 5847 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5848 (update_window) [GLYPH_DEBUG]: Call it.
5849 (scrolling_window): Prevent including current rows which are below
5850 what's displayed in the window.
5851
5852 * xdisp.c (try_window_reusing_current_matrix)
5853 <new start <= old start>: Disable rows in the current matrix
5854 which are below the window after scrolling.
52283633 5855
762a68ec
GM
5856 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5857 is zero. It's not worth the complexity.
5858 (invisible_text_between_p): Put in #if 0 because unused.
5859
2d5912c1
GM
58602000-12-28 Gerd Moellmann <gerd@gnu.org>
5861
46f6a258
GM
5862 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5863 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5864
89f93679
GM
5865 * keyboard.c (echo_char): If C is an integer, always call
5866 push_key_description. Former code could signal an invalid
5867 character error.
5868
5869 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5870 If set, print multibyte text.
5871 (Fsingle_key_description): Call push_key_description with
5872 FORCE_MULTIBYTE set.
5873 (describe_buffer_bindings): Likewise.
5874
5875 * lisp.h (push_key_description): Add prototype.
5876
c06017fb
GM
5877 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5878 around the call to redisplay_internal.
5879
f1d2ce7f
GM
5880 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5881
2d5912c1
GM
5882 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5883
9371f831
KH
58842000-12-28 Kenichi Handa <handa@etl.go.jp>
5885
5886 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5887 (ccl_driver): New local variable `extra_bytes'.
5888
5889 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5890
52283633
SM
5891 * coding.c (setup_coding_system):
5892 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5893 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5894
0c80628a
KH
58952000-12-28 Kenichi Handa <handa@etl.go.jp>
5896
5897 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5898 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5899 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5900 (decode_composition_emacs_mule): New function.
5901 (decode_coding_emacs_mule): Decode composition sequence by calling
5902 decode_composition_emacs_mule.
5903 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5904 (encode_coding_emacs_mule): Changed from macro to function.
5905 If a text contains compositions, encode them correctly.
0c80628a
KH
5906 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5907 that decoding and encoding are required.
5908
3e32cc27
GM
59092000-12-27 Gerd Moellmann <gerd@gnu.org>
5910
5e25feee
GM
5911 * xfaces.c (PT_PER_INCH): New macro.
5912 (xlfd_point_size): Compute real point size from font's pixel size.
5913 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5914 instead of 72.
5915
892d8fcd
GM
5916 * .gdbinit: Comment out the line pointing to the Lesstif source
5917 directory.
5918
12c8b416
GM
5919 * window.c (Frecenter): Use displayed_window_lines instead
5920 of window_internal_height.
5921
6061fbf0
GM
5922 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5923 instead of x-toolkit-scroll-bars-p.
5924 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5925
5926 * w32term.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.
52283633 5929
3e32cc27
GM
5930 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5931 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5932 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5933 New variables.
5934 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5935 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5936 (build_frame_matrix_from_leaf_window): Remove unused code.
5937 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5938 redisplay history.
5939 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5940 (update_window) [GLYPH_DEBUG]: Likewise.
5941 (syms_of_display): Defsubr dump-redisplay-history.
5942
31798cfe
GM
59432000-12-23 Gerd Moellmann <gerd@gnu.org>
5944
f717c2ba
GM
5945 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5946 the end of the prompt. Set echo_after_prompt to the offset
5947 of echoptr in echobuf.
5948
aeb2b8fc
GM
5949 * xdisp.c (init_from_display_pos): Pop until the iterator's
5950 stack is empty; there may be frames for stretch or images
5951 on the stack.
5952
31798cfe
GM
5953 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5954 (save_or_restore_current_matrix): New function for the same
5955 purpose, but more efficient.
5956 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5957
f8156156
EZ
59582000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5959
5960 * xdisp.c (syms_of_xdisp): Fix last change.
5961
bdd6d4e8
GM
59622000-12-23 Gerd Moellmann <gerd@gnu.org>
5963
5964 * xdisp.c (syms_of_xdisp): Doc fix.
5965
5966 * xdisp.c (redisplay_window): Remove label restore_buffers;
5967 use finish_scroll_bars instead to make sure that scroll bars
5968 are redeemed. If we don't do this, flickering can result from
5969 scroll bars being destroyed and recreated.
5970
9436cdf9
JR
59712000-12-22 Jason Rumney <jasonr@gnu.org>
5972
5973 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5974 in the wrong colors when the foreground is not black.
5975 (expose_window): Don't redraw the window that's currently being
5976 updated.
5977
951f9df5
GM
59782000-12-22 Gerd Moellmann <gerd@gnu.org>
5979
856ff7a7
GM
5980 * window.c (size_window): When setting the window's too_small_ok
5981 flag, compare old size with minimum size depending on WIDTH_P,
5982 don't compare with window_min_width.
52283633 5983
951f9df5
GM
5984 * window.c (delete_window): Simplify somewhat.
5985 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5986 freeing window matrices. The flag windows_or_buffers_changed is
5987 set, so the next redisplay will consider all windows; this should
5988 suffice.
5989
886bc933
KH
59902000-12-22 Kenichi Handa <handa@etl.go.jp>
5991
5992 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5993
5994 * ccl.h (struct ccl_program): New member cr_consumed.
5995
5996 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5997 (CCL_READ_CHAR): Handle EOL conversion here.
5998 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5999
177f4e88
GM
60002000-12-21 Gerd Moellmann <gerd@gnu.org>
6001
52283633 6002 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6003
6004 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6005 otherwise tabs of different size compare equal.
6006
6007 * callint.c (Fcall_interactively): Prevent a compiler warning.
6008
6009 * print.c (print_unwind): Return nil.
6010 (PRINTDECLARE): Initialize all local variables.
6011 (print_preprocess): Add a default case.
6012
8e15274f
GM
6013 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6014
6015 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6016
52283633 6017 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6018 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6019
6020 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6021
6022 * dispnew.c (ensure_frame_matrix): Removed.
6023 (save_frame_matrix, restore_frame_matrix): New functions.
6024 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6025
6026 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6027 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6028
99012074
AI
60292000-12-21 Andrew Innes <andrewi@gnu.org>
6030
6031 * w32term.c (x_update_begin): Regenerate the palette here, rather
6032 than for each window.
6033
6034 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6035 palette is NULL, since this corrupts memory! Also get
6036 display_info reference from frame.
6037
29ef7d2d
JR
60382000-12-21 Jason Rumney <jasonr@gnu.org>
6039
6040 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6041
6042 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6043 to avoid returning without releasing it.
3e27fa1f 6044
3f9d67a6
KH
60452000-12-21 Kenichi Handa <handa@etl.go.jp>
6046
587fc3f9
KH
6047 * keymap.c (push_key_description): Don't convert eight-bit-control
6048 and eight-bit-graphic to multibyte character.
6049
3f9d67a6
KH
6050 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6051 generic character and CODE1 is nil, return the smallest character
6052 in CHARSET.
6053
774ba8c9
DL
60542000-12-20 Dave Love <fx@gnu.org>
6055
6056 * s/osf5-0.h (NSIG): Don't redefine.
6057
88416888
SM
60582000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6059
6060 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6061 excluding menu-bar and tool-bar.
6062 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6063 (menu_item_p): Remove.
6064 (where_is_internal_1): Don't ignore menu-items.
6065
a6426c6f
GM
60662000-12-20 Gerd Moellmann <gerd@gnu.org>
6067
03ff8aab
GM
6068 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6069 into account.
6070
6071 * window.c (make_window): Initialize window's min_hscroll.
6072 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6073 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6074 to zero.
6075 (struct saved_window): New member min_hscroll.
6076 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6077 (Fset_window_configuration): Set window's min_hscroll.
6078 (save_window_save): Save window's min_hscroll.
6079 (compare_window_configurations): Compare min_hscroll values.
6080
6081 * window.h (struct window): New member min_hscroll.
6082
6083 * keyboard.c (echo_prompt): Prevent a compiler warning.
6084
8de4aaf8
GM
6085 * xdisp.c (try_cursor_movement): Fix last change. The real
6086 condition is that PT is at the end of the row, and should
6087 be displayed at the start of the next row.
52283633 6088
3f7e3031
GM
6089 * xdisp.c (try_cursor_movement): If we end on a partially
6090 visible line, end we already decided to scroll, return -1.
6091
a6426c6f
GM
6092 * dispextern.h (ensure_frame_matrix): Add prototype.
6093
6094 * window.c (delete_window, Fsplit_window)
6095 (Fset_window_configuration): Call ensure_frame_matrix.
6096
52283633
SM
6097 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6098 New functions.
a6426c6f
GM
6099 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6100 completed, call fake_current_matrices instead of marking frame
6101 garbaged.
6102
57fa2774
JR
61032000-12-20 Jason Rumney <jasonr@gnu.org>
6104
6105 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6106
d925df90
EZ
61072000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6108
6109 * fns.c (Frequire): Doc fix.
6110
7b93a85b
GM
61112000-12-19 Gerd Moellmann <gerd@gnu.org>
6112
52283633 6113 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6114
c74e645b
GM
6115 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6116 currently displaying a message.
6117
7b93a85b
GM
6118 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6119 xterm.h.
6120 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6121
90d97e64
AI
61222000-12-18 Andrew Innes <andrewi@gnu.org>
6123
6124 * w32.c (w32_strerror): New function.
6125
6126 * w32.h (w32_strerror): New extern.
6127
6128 * w32fns.c (Fw32_shell_execute): Use it.
6129
91c9e6ce
GM
61302000-12-18 Gerd Moellmann <gerd@gnu.org>
6131
6132 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6133
6f4745e2
EZ
61342000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6135
6136 * msdos.c (IT_set_face): Obey inverse_video.
6137
c9e088ce
KH
61382000-12-18 Kenichi Handa <handa@etl.go.jp>
6139
6140 * dired.c (directory_files_internal): Always return decoded filenames.
6141
c3695f5f
GM
61422000-12-18 Gerd Moellmann <gerd@gnu.org>
6143
52d8e4ff
GM
6144 * xterm.c (x_connection_closed): Prevent being called recursively
6145 because of an error condition in XtCloseDisplay.
52283633 6146
62be9979
GM
6147 * xdisp.c (init_iterator): If noninteractive, and the frame's
6148 face cache is null, make one.
6149
52283633 6150 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6151
c3695f5f
GM
6152 * process.c (wait_reading_process_input): Check for pending
6153 input when running timers.
6154
78555fbe
EZ
61552000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6156
52283633 6157 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6158
b2b36264
KH
61592000-12-18 Kenichi Handa <handa@etl.go.jp>
6160
6161 * process.c (read_process_output): Don't run a filter if the code
6162 decoder produces nothing but carryover.
6163
9c543fbf
AI
61642000-12-17 Andrew Innes <andrewi@gnu.org>
6165
6166 * w32.c (sys_rename): Only check errno against EEXIST, and not
6167 EACCES, when determining whether rename failed because the target
6168 exists. This was resulting in indefinite looping on Windows 9x if
6169 the source file was locked by another process.
6170
6171 * w32fns.c (Ffile_system_info): New function.
6172 (syms_of_w32fns): Defsubr it.
6173
10c2b5a8
GM
61742000-12-17 Gerd Moellmann <gerd@gnu.org>
6175
b0228ace
GM
6176 * window.c (coordinates_in_window): Fix computation for
6177 position on vertical line between mode lines.
6178
10c2b5a8
GM
6179 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6180 Don't alter tip_frame or tip_window.
6181 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6182 was deleted.
6183
c844a81a
GM
6184 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6185 Don't alter tip_frame or tip_window.
6186 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6187 was deleted.
6188
6c825f8e
EZ
61892000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6190
6191 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6192 be consistent with the doc string. Reported by NAKAJIMA Mikio
6193 <minakaji@osaka.email.ne.jp>.
6194
af4bb4c8
KH
61952000-12-16 Kenichi Handa <handa@etl.go.jp>
6196
6197 * xfaces.c (Vface_ignored_fonts): New variable.
6198 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6199 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6200
8062e53a
GM
62012000-12-15 Gerd Moellmann <gerd@gnu.org>
6202
e87b8809
GM
6203 * dispnew.c (update_window): Detect pending input every nth line
6204 updated, i.e. do it depending on real work done, and not on the
6205 vpos of the line.
6206
6207 * xterm.c (expose_window): Don't redraw the window that's
6208 currently being updated.
6209
a6768cc5
GM
6210 * window.c (Fset_window_point): Remove test for
6211 cursor_in_non_selected_windows.
6212
4ea7fdca
GM
6213 * lread.c (read1): Recognize end of file after `\\'.
6214
8062e53a
GM
6215 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6216 not unwind_create_frame.
6217
bb7959c1
GM
62182000-12-15 Dave Love <fx@gnu.org>
6219
6220 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6221 bcopy & al.
6222
6223 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6224
ced04c42
KH
62252000-12-15 Kenichi Handa <handa@etl.go.jp>
6226
c5443913
KH
6227 * coding.c (setup_coding_system): Clear all members of the struct
6228 coding_system at first.
bc137305
KH
6229 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6230 argument.
6231 (code_convert_region): Don't override coding->src_multibyte and
6232 coding->dst_multibyte.
c5443913 6233
ced04c42
KH
6234 * fns.c (Fmd5): Docstring improved.
6235
c2d7f289
MB
62362000-12-15 Miles Bader <miles@gnu.org>
6237
6238 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6239 are actually marked as mode-lines; otherwise use
6240 estimate_mode_line_height.
6241
9d7d9263
GM
62422000-12-14 Gerd Moellmann <gerd@gnu.org>
6243
6244 * editfns.c (Fformat): Prevent a buffer overrun when the format
6245 specifies a precision.
6246
7cf0153a
EZ
62472000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6248
6249 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6250 argument is outside the range [2..3].
6251
1de0f662
AI
62522000-12-14 Andrew Innes <andrewi@gnu.org>
6253
6254 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6255 nothing to do. Bind inhibit-quit.
6256 (tip_frame): Make it a Lisp_Object.
6257 (x_create_tip_frame): Set tip_frame after it has been added to
6258 Vframe_list.
6259 (Fx_show_tip): Don't set tip_frame here.
52283633 6260 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6261 (unwind_create_frame, unwind_create_tip_frame): New functions.
6262 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6263 while a frame is only partially constructed.
6264
6265 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6266 (x_free_frame_resources): New function.
6267 (x_destroy_window): Use it.
6268
02387dcc
GM
62692000-12-14 Gerd Moellmann <gerd@gnu.org>
6270
6271 * xfns.c (Fx_backspace_delete_keys_p): New function.
6272 (syms_of_xfns): Defsubr it.
6273
6274 * config.in (HAVE_XKBGETKEYBOARD): Add.
6275
0544ef49
KH
62762000-12-14 Kenichi Handa <handa@etl.go.jp>
6277
98d62747
KH
6278 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6279 Always store string in multibyte representation in echobuf.
6280 (echo_char): Always store string in multibyte representation in
6281 echobuf.
6282 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6283 (read_key_sequence): Adjusted for the change of echo_prompt.
6284
a20193cd
KH
6285 * fns.c (Fmd5): Docstring improved.
6286
191b83b6
KH
6287 * lisp.h (detect_coding_system): Prototype adjusted.
6288
0544ef49
KH
6289 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6290 (detect_coding_emacs_mule, detect_coding_iso2022,)
6291 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6292 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6293 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6294 (detect_coding_mask, detect_coding_system): New argument
6295 MULTIBYTEP. Callers changed.
1da1bb05
KH
6296 (decode_coding_string): Set coding->src_multibyte and
6297 coding->dst_multibyte before calling detect_coding and detect_eol.
6298 Update them after some coding system is detected.
52283633 6299
d5b3eb1b
SM
63002000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6301
6302 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6303
6304 * keyboard.c (menu_bar_items, tool_bar_items):
6305 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6306
f7f8bb69
GM
63072000-12-13 Gerd Moellmann <gerd@gnu.org>
6308
52283633 6309 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6310 New variables.
6311 (unwind_create_frame, unwind_create_tip_frame): New functions.
6312 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6313 while a frame is only partially constructed.
6314
6315 * xterm.h (x_free_frame_resources): Declare.
6316
6317 * xterm.c (x_free_frame_resources): New function.
6318 (x_destroy_window): Use it.
6319
e10da507
GM
6320 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6321 don't interrupt the update for pending input initially, i.e.
6322 update at least some lines.
6323
6324 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6325
d5b3eb1b 6326 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6327
6328 * xfns.c (gray_bitmap_bits): Declare `char *'.
6329
90aa2856
GM
63302000-12-12 Gerd Moellmann <gerd@gnu.org>
6331
6332 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6333 lines start with a relief line.
6334
a308c9cd
DL
63352000-12-12 Dave Love <fx@gnu.org>
6336
6337 * window.c (Fdisplay_buffer): Doc fix.
6338 (Fwindow_list): Remove unused var.
6339
6340 * buffer.h (mmap_set_vars): Declare.
6341
6342 * window.h (Fset_window_point): Declare.
6343
d575011f
EZ
63442000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6345
bf6282d2 6346 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6347 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6348 variable `area'. When looking for a row under (X,Y), give up if some
6349 of the previous rows is not enabled.
d575011f 6350
ecf4d726
GM
63512000-12-12 Gerd Moellmann <gerd@gnu.org>
6352
2ebf6139
GM
6353 * window.c (Fset_window_point): If displaying cursors in windows
6354 other than the selected window, make sure redisplay updates
6355 other windows to show the new value of point in the window.
6356
6357 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6358
bfdb75ee
GM
6359 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6360 the buffer is the sole visible buffer when in the mini-buffer.
6361
52283633 6362 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6363 Bind `inhibit-read-only' to t.
6364 (unwind_with_echo_area_buffer): Use AREF.
6365
c0006262
GM
6366 * xfns.c (Fx_hide_tip): Simplified.
6367
52283633
SM
6368 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6369 instead of `1'.
e9a59cad 6370
ecf4d726
GM
6371 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6372
e5959a9a
GM
63732000-12-11 Gerd Moellmann <gerd@gnu.org>
6374
a3642e49 6375 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6376
44b5a125
GM
6377 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6378 nothing to do. Bind inhibit-quit.
6379 (tip_frame): Make it a Lisp_Object.
6380 (x_create_tip_frame): Set tip_frame after it has been added to
6381 Vframe_list.
6382 (Fx_show_tip): Don't set tip_frame here.
6383
6384 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6385
6386 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6387 Lisp_Object.
6388
6389 * dispextern.h: Change external declaration of tip_frame.
6390
d990421f
GM
6391 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6392 return an empty string.
6393
4db87380
GM
6394 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6395 of the window's update_mode_line flag, since the former is set by
6396 force-mode-line-update, not the latter. This makes
6397 column-number-mode slightly faster.
52283633 6398
e5959a9a
GM
6399 * xdisp.c (try_window_id) <all changes above window start>:
6400 Set the cursor.
6401
169fe44e
GM
64022000-12-11 Paul Eggert <eggert@twinsun.com>
6403
6404 * config.in (HAVE_FTELLO): Remove.
6405 (HAVE_FSEEKO): Add.
6406 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6407 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6408 HAVE_FTELLO.
6409 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6410 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6411
59ec59ae
MB
64122000-12-11 Miles Bader <miles@gnu.org>
6413
6414 * window.c (displayed_window_lines): Don't round up when
6415 converting empty space at bottom to lines.
ff904dd6
MB
6416 Handle non-newline-terminated final lines properly.
6417 (Fwindow_text_height): New function (used to be in lisp).
6418 (syms_of_window): Initialize it.
59ec59ae 6419
42ebfa31
SM
64202000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6421
6422 * syntax.c (scan_lists): Check that the right quote char has the
6423 right Sstring syntax when jumping over strings.
6424 (init_syntax_once): Use Smax rather than 13.
6425
5cdb3cf3
MB
64262000-12-09 Miles Bader <miles@gnu.org>
6427
6428 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6429 with PARTIALLY, inverting the sense.
6430 (window_scroll_pixel_based): Scroll partially visible lines into
6431 place if we hit the beginning or end of the buffer.
a12167c5
MB
6432 (displayed_window_lines): Don't include partially visible lines.
6433 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6434
842b2a94
GM
64352000-12-08 Gerd Moellmann <gerd@gnu.org>
6436
6437 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6438
6439 * tparam.c (tparam1): Change the way buffers are reallocated to be
6440 portable and less obfuscated.
6441
6442 * termcap.c (tgetent): Change the way buffers are reallocated to
6443 be portable and less obfuscated.
6444
6445 * macros.c (store_kbd_macro_char): Change the way buffers are
6446 reallocated to be portable and less obfuscated.
6447
6448 * lread.c (read1): Change the way buffers are reallocated to be
6449 portable and less obfuscated.
6450
6451 * doc.c (Fsubstitute_command_keys): Change the way buffers
6452 are reallocated so that it is portable.
6453
137cad7c
EZ
64542000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6455
6456 * dosfns.c (Ffile_system_info): New function.
6457 (syms_of_dosfns): Defsubr it.
6458
5c7f629c
SM
64592000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6460
6461 * alloc.c (gc_sweep): Add comment.
6462
959e647d
GM
64632000-12-07 Gerd Moellmann <gerd@gnu.org>
6464
52283633
SM
6465 * sound.c (vox_configure): Change order of ioctls.
6466 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6467 Ignore errors when changing volume.
6468 (vox_close): Don't reset the device.
6469
926b7e5e
GM
6470 * process.c (read_process_output): Make sure the process marker's
6471 position is valid when the process buffer is changed in
6472 after-change functions. W3 does that.
52283633 6473
959e647d
GM
6474 * xfns.c (x_free_gcs): New function.
6475
6476 * xterm.h (x_free_gcs): Add prototype.
6477
6478 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6479 freeing GCs here.
6480
6481 * xterm.c (x_destroy_window): Call x_free_gcs so that
6482 resources of non-toolkit X windows will be freed.
6483
478ea067
AI
64842000-12-07 Andrew Innes <andrewi@gnu.org>
6485
6486 * w32fns.c (xlfd_charset_of_font): Fix last change.
6487
fbee3231
DL
64882000-12-06 Dave Love <fx@gnu.org>
6489
67292061
DL
6490 * md5.h (__P): Don't define -- it comes from config.h.
6491
fbee3231
DL
6492 * strftime.c: Change some #if foo to #ifdef foo.
6493
4ee87dbb
AI
64942000-12-06 Andrew Innes <andrewi@gnu.org>
6495
6496 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6497
52283633 6498 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6499 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6500 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6501
9765b4a4
GM
65022000-12-06 Gerd Moellmann <gerd@gnu.org>
6503
d285b373
GM
6504 * alloc.c (gc_sweep): Prevent symbols read during loadup
6505 from being freed.
6506
384333ee
GM
6507 * xdisp.c (underlying_face_id): New function.
6508 (handle_face_prop, face_before_or_after_it_pos): Use it
6509 to determine the face ``under'' a string. Let strings inherit
6510 the face of the buffer under them.
6511
6512 * xfaces.c (face_at_string_position): Update function comment.
52283633 6513
d4b72d58
GM
6514 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6515 matrix if the window's left position has changed; we need to
6516 redraw it in this case.
6517
6518 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6519
e1d05387
GM
6520 * window.c (coordinates_in_window): Check mouse on mode-line or
6521 header-line first.
6522
eb1b0c74
GM
6523 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6524 advertized by the function documentation.
6525
d94d636f
GM
6526 * window.c (syms_of_window): Doc fix.
6527
3887b449
GM
6528 * sound.c (vox_configure): Set volume for left and right channel.
6529 (sound_cleanup): Return nil.
6530
efc8f57a
GM
6531 * xdisp.c (move_it_by_lines): Fix paren typo.
6532
9765b4a4
GM
6533 * xterm.c (x_load_font): Don't use the font's max_bounds for
6534 computing the height of the font. If max_bounds' ascent or
6535 descent are greater than the font's ascent or descent, this means
6536 glyphs overlap, which should be handled now by redisplay.
6537
6529ed87
GM
6538 * window.c (Veven_window_heights): New variable.
6539 (syms_of_window): DEFVAR_LISP it.
6540 (Fdisplay_buffer): Check Veven_window_heights before evening the
6541 window heights.
52283633 6542
0eb2ecde
MB
65432000-12-06 Miles Bader <miles@gnu.org>
6544
6545 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6546 update `default-frame-alist' instead of setting no frame parameters.
6547
03d7a167
KH
65482000-12-06 Kenichi Handa <handa@etl.go.jp>
6549
6550 * composite.c (update_compositions): Fix typo (use the correct
6551 variable).
6552
5f8803c2
JR
65532000-12-05 Jason Rumney <jasonr@gnu.org>
6554
6555 * md5.h: Remove underscores from function declarations.
6556 (__attribute__, __alignof__) [!__GNUC__]: Define.
6557
6558 * md5.c: Delay include of md5.h until after namespace cleaning.
6559
c28a075b
JR
6560 * makefile.w32-in (fns.o): Depend on md5.h
6561 (md5.o): New target.
6562 (sunfns.o): Remove.
6563
6564 * makefile.nt: Likewise.
6565
ff3c7056
JR
65662000-12-05 Jason Rumney <jasonr@altavista.net>
6567
6568 * w32term.c (expose_area): Complete last change.
6569
0c21eeeb
KR
65702000-12-05 Ken Raeburn <raeburn@gnu.org>
6571
6572 * minibuf.c: Include intervals.h.
6573
f201d732
JR
65742000-12-05 Jason Rumney <jasonr@gnu.org>
6575
6576 * w32term.c (x_produce_glyphs): If a font for a component of
6577 a composition is not found, use 1 pixel dot ascent and 0 dot
6578 descent value to avoid displaying terribly tall empty boxes.
6579 (expose_area): Pass x-coordinate relative to the exposed
6580 area to x_draw_glyphs instead of a window-relative coordinate.
6581
21999ab9
GM
65822000-12-05 Gerd Moellmann <gerd@gnu.org>
6583
4d2036e4
GM
6584 * xdisp.c (next_element_from_ellipsis): Save face before selective
6585 display in saved_face_id, and set face_before_selective_p.
6586 (reseat_1): Reset face_before_selective_p.
6587 (append_space, extend_face_to_end_of_line): If iterator's
6588 face_before_selective_p is set, use the face from saved_face_id.
6589 (extend_face_to_end_of_line): For tty frames, make sure to
6590 use the right face id when producing spaces at the end of
6591 the line.
6592
6593 * dispextern.h (struct it): Add face_before_selective_p.
6594
52be17cc
GM
6595 * keyboard.c (record_char): Don't record identical help-echo
6596 events in recent_keys.
6597
8a4f36cc
GM
6598 * xterm.c [USE_X_TOOLKIT]: Close the display.
6599 (xim_close_dpy): Handle case that the display has been closed.
6600
57d6e381
GM
6601 * xterm.c (x_destroy_window): Reset the frame's X window after
6602 destroying it.
6603
21999ab9
GM
6604 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6605 variable window_width.
6606 (line_draw_cost): Fix code skipping over spaces at the end of the
6607 line when must_write_spaces is not set.
6608 (scrolling_window): Fix code inserting runs in list of all runs.
6609
91372bb7
KH
66102000-12-05 Kenichi Handa <handa@etl.go.jp>
6611
6612 * coding.c (setup_coding_system): Be sure to initialize
6613 coding->category_idx.
6614
6c083b4c
GM
66152000-12-04 Gerd Moellmann <gerd@gnu.org>
6616
0c68ce6f 6617 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6618
6452929e
GM
6619 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6620 area to x_draw_glyphs instead of a window-relative coordinate.
6621
d7f31e22
GM
6622 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6623 error in the message.
6624
ae18aa3b
GM
6625 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6626 timer after having read a key. It's not good for code reading
6627 several keys in a loop, like an input method.
6628
caa15ef7
GM
6629 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6630 record undo information for format-decode.
6631
6632 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6633 current buffer is read-only, not if it isn't.
6634
6c083b4c
GM
6635 * keyboard.c (record_char): Record `help-echo' input events
6636 in recent_keys only if they display some help. Don't record
6637 `help-echo' events as macro char.
6638
caa15ef7
GM
66392000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6640
6641 * editfns.c (save_excursion_restore): Don't move point
6642 in another window if it is showing the wrong buffer.
6643 Avoid the call to Fwindow_live_p, for speed.
6644
5a13529b
KH
66452000-12-04 Kenichi Handa <handa@etl.go.jp>
6646
e225faa7
KH
6647 * xfaces.c (struct font_name): New member registry_priority.
6648 (split_font_name): Initialize the above member to zero.
6649 (concat_font_list): New function.
6650 (font_list): Include fonts of all alternative registries.
6651 (FONT_POINT_SIZE_QUANTUM): New macro.
6652 (better_font_p): Ignore point size difference less than
6653 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6654
e89648b4
KH
6655 * xterm.c (x_produce_glyphs): If a font for a component of
6656 a composition is not found, use 1 pixel dot ascent and 0 dot
6657 descent value to avoid displaying terribly tall empty boxes.
6658
5a13529b
KH
6659 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6660
d7935eb6
KR
66612000-12-03 Ken Raeburn <raeburn@gnu.org>
6662
6663 * coding.h (code_convert_string1): Declare.
6664
6665 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6666
52283633 6667 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6668
0dd5e255
JR
66692000-12-02 Jason Rumney <jasonr@gnu.org>
6670
6671 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6672 correctly for single byte character case.
6673 (w32_per_char_metric): Do not try to make any assumptions about
6674 the metrics of BDF fonts.
250cfece 6675 (x_estimate_mode_line_height): If `mode-line' face
52283633 6676 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6677 (note_mouse_highlight): Change the cursor shape on the vertical
6678 border between windows [not enabled].
6679
6680 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6681
6682 * w32fns.c (Fx_create_frame): Reintroduce the call to
6683 face-set-after-frame-defaults.
6684 (Vx_window_horizontal_drag_shape): New variable.
6685 (syms_of_xfns): DEFVAR_LISP it.
6686 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6687 enabled].
0dd5e255 6688
b5d8d2ca
GM
66892000-12-02 Simon Josefsson <simon@josefsson.org>
6690
6691 * fns.c (Fmd5): Use a different logic to decide the coding system
6692 to use.
6693
6694 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6695
fbb87147
EZ
66962000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6697
52283633 6698 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6699
447e9da0
GM
67002000-12-01 Gerd Moellmann <gerd@gnu.org>
6701
7708ced0
GM
6702 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6703 height for YNegative.
6704 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6705 height; also see comment there.
6706
447e9da0
GM
6707 * window.c (coordinates_in_window): Handle computations for
6708 positions on the vertical bar and fringes differently for
6709 window-system frames. Consider some pixels near the vertical bar
6710 as on the bar if the frame doesn't have vertical scroll bars.
6711 Associate positions between mode or header lines with the
6712 right window, the left one.
6713
86d1db20
JR
67142000-12-01 Jason Rumney <jasonr@gnu.org>
6715
6716 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6717
6718 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6719 invalid frame.
6720
a1d58e5b
GM
67212000-12-01 Gerd Moellmann <gerd@gnu.org>
6722
52283633 6723 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6724 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6725 (save_window_save, Fset_window_configuration): Save/restore
6726 window's orig_top and orig_height.
6727
89c609af
JR
67282000-12-01 Jason Rumney <jasonr@gnu.org>
6729
4d177746 6730 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6731
89c609af
JR
6732 * w32fns.c (x_set_cursor_color): Fix last change.
6733
eccc05db
GM
67342000-11-30 Gerd Moellmann <gerd@gnu.org>
6735
31b6671b
GM
6736 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6737 sure that the next redisplay displays the minibuffer, so that
6738 the cursor will be replaced with what the minibuffer wants.
6739
eccc05db
GM
6740 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6741 #ifndef instead of using #if.
6742 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6743 USE_TOOLKIT_SCROLL_BARS is defined.
6744
162de750
JR
67452000-11-30 Jason Rumney <jasonr@gnu.org>
6746
6747 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6748 x_display_cursor.
6749
693c4692
GM
67502000-11-30 Gerd Moellmann <gerd@gnu.org>
6751
6752 * fns.c (Fmd5): Doc fix.
6753
b5d8d2ca 67542000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6755
6756 * fns.c (Fmd5): New function.
6757 (syms_of_fns): Defsubr md5.
6758
6759 * Makefile.in (obj): Add md5.o
6760
b02cd40b
GM
67612000-11-30 Gerd Moellmann <gerd@gnu.org>
6762
edfb795e
GM
6763 * md5.h, md5.c: New files, taken from glibc.
6764
df3aedcf
GM
6765 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6766
b02cd40b 6767 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6768 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6769
8b5176cd
SM
67702000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6771
6772 * eval.c (Frun_hooks): Allow 0 arguments.
6773
346598f1
GM
67742000-11-29 Gerd Moellmann <gerd@gnu.org>
6775
f9396e03
GM
6776 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6777 is over the menu bar widget, say it's not on the frame.
6778
4a967a9b
GM
6779 * xfns.c (Fx_create_frame): Reintroduce the call to
6780 face-set-after-frame-defaults.
6781
346598f1
GM
6782 * eval.c (Fsignal): Reset handling_signal.
6783
222456a1
JR
67842000-11-28 Jason Rumney <jasonr@gnu.org>
6785
6786 * w32menu.c (add_menu_item): Reset menu item text when changing
6787 type to radio button.
6788
8049ddc0
GM
67892000-11-28 Gerd Moellmann <gerd@gnu.org>
6790
346598f1 6791 * xselect.c: Update copyright.
f4f4ee4d 6792
bebe4a2c
GM
6793 * window.c (coordinates_in_window): If on a mode or header line,
6794 but sufficiently close to its start, return ``on vertical
6795 border''. This gives us a way to drag windows horizontally when
6796 using toolkit scroll bars.
6797
6798 * xterm.c (note_mouse_highlight): Change the cursor shape
6799 on the vertical border between windows.
6800
6801 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6802
6803 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6804 (syms_of_xfns): DEFVAR_LISP it.
6805 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6806
8d2c2642
GM
6807 * textprop.c (text_read_only): New function.
6808 (verify_interval_modification): Use it instead of signaling
6809 `text-read-only'. This makes it easier to catch this error
52283633 6810 with a breakpoint.:
8d2c2642 6811
52283633 6812 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6813 not end of line, which includes CR.
6814
5a2bae6c
KH
68152000-11-28 Kenichi Handa <handa@etl.go.jp>
6816
6817 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6818 include no-conversion.
6819
ae31f84d
JR
68202000-11-27 Jason Rumney <jasonr@gnu.org>
6821
6822 * w32fns.c (w32_load_system_font): Always mark font as double byte
6823 if codepage is unicode.
6824
67f1cf4c
GM
68252000-11-27 Gerd Moellmann <gerd@gnu.org>
6826
4a74d071 6827 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6828 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6829
902ae620
GM
6830 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6831 `vertical-line', `mode-line' and `header-line' events.
6832
6833 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6834 of a character, a TAB for instance. This is easier than to set
6835 up the iterator exactly, and it's not a frequent case, so the
6836 additional effort wouldn't really pay off.
6837
c1e279c2
AC
68382000-11-26 Andrew Choi <akochoi@i-cable.com>
6839
67f1cf4c 6840 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6841 init_window_once.
6842
a609568a
JR
68432000-11-25 Jason Rumney <jasonr@gnu.org>
6844
52283633
SM
6845 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6846 Args to window_from_coordinates should be pixel coordinates.
48b21762 6847
a609568a
JR
6848 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6849 redisplay handles them properly.
6850
a658d039
MB
68512000-11-25 Miles Bader <miles@gnu.org>
6852
6853 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6854
d3416cca
JR
68552000-11-24 Jason Rumney <jasonr@gnu.org>
6856
6857 * w32.c (init_environment): Set LANG environment variable based on
6858 locale settings, if not set.
6859
6860 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6861 making tool bar smaller. When clearing the frame, also
6862 clear current matrices. Clear frame when tool bar disappears.
6863 Don't use more lines for the tool-bar than is available.
6864 (x_change_window_heights): New function.
6865
ba193890
GM
68662000-11-24 Gerd Moellmann <gerd@gnu.org>
6867
2be8f184
GM
6868 * xdisp.c (init_from_display_pos): If POS says we're already after
6869 an overlay string ending at POS, make sure to pop the iterator
6870 because it will be in front of that overlay string. When POS is
6871 ZV, we've thereby also ``processed'' overlay strings at ZV.
6872
ba193890
GM
6873 * xfaces.c (lface_from_face_name): Function comment fix.
6874
1862a24e
MB
68752000-11-24 Miles Bader <miles@gnu.org>
6876
6877 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6878 apply `mode-line-inverse-video' -- zero means force display using
6879 the default face, non-zero means display using the specialized face.
6880 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6881
f07fa1b8
KH
68822000-11-23 Kenichi Handa <handa@etl.go.jp>
6883
6884 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6885 hard coded `4'.
6886
2bcdf662
EZ
68872000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6888
6889 * coding.c (decode_coding_emacs_mule): Fix the case of
6890 CODING_EOL_LF, which used uninitialized value of c.
6891
ba8299ff
SM
68922000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6893
6894 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6895
f4117c4d
GM
68962000-11-22 Gerd Moellmann <gerd@gnu.org>
6897
03e757c1
GM
6898 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6899 buffer object.
6900
f4117c4d
GM
6901 * frame.h (struct frame): Replace desired_tool_bar_items,
6902 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6903 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6904
6905 * frame.c (make_frame): Change initialization of tool bar
6906 items accordingly.
6907
6908 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6909 Change references to members deleted from struct frame to use the
f4117c4d
GM
6910 new ones.
6911
6912 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6913 references to members deleted from struct frame to use the new ones.
f4117c4d 6914
52283633 6915 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6916
6917 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6918
6919 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6920 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6921 from struct frame to use the new ones.
6922
f8e2f3f2
MB
69232000-11-23 Miles Bader <miles@gnu.org>
6924
6925 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6926 the face's inverse-video attribute, rather than overriding it.
6927
60e8e0a5
GM
69282000-11-22 Gerd Moellmann <gerd@gnu.org>
6929
6930 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6931 making tool bar smaller.
6932
92dd1b29
DL
69332000-11-22 Dave Love <fx@gnu.org>
6934
6935 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6936
e672fdce
MB
69372000-11-22 Miles Bader <miles@gnu.org>
6938
3a17d6cc
MB
6939 * keyboard.c (Vminibuffer_message_timeout): New variable.
6940 (command_loop_1): Use it to determine message timeout.
6941 (syms_of_keyboard): Initialize it.
6942
60e8e0a5 6943 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6944
e9655d81
KH
69452000-11-22 Kenichi Handa <handa@etl.go.jp>
6946
6947 * sysdep.c: Move the code for declaring h_errno after #include
6948 <netdb.h>.
6949
77270fac
GM
69502000-11-21 Gerd Moellmann <gerd@gnu.org>
6951
cd913aae
GM
6952 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6953 the menu bar when the tooltip is unmapped.
6954
77270fac
GM
6955 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6956 sole visible buffer when we're currently in the mini-buffer, and
6957 give up if so.
52283633 6958
556635d6
JR
69592000-11-21 Jason Rumney <jasonr@gnu.org>
6960
6961 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6962 put on the clipboard.
6963 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6964 copy of what Emacs last put there. If they are the same, do not
52283633 6965 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6966
5b7bde64
MB
69672000-11-22 Miles Bader <miles@gnu.org>
6968
6969 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6970 (syms_of_minibuf): Initialize it.
6971 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6972 to prompt, don't make read-only.
6973
ff23e1dd
GM
69742000-11-21 Gerd Moellmann <gerd@gnu.org>
6975
52283633
SM
6976 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6977 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6978
7aaf4388
GM
6979 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6980
f5f47add 6981 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6982
ff23e1dd
GM
6983 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6984
37c35586
KH
69852000-11-21 Kenichi Handa <handa@etl.go.jp>
6986
6987 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6988 ... #endif scope.
6989
ff9ab414
GM
69902000-11-20 Gerd Moellmann <gerd@gnu.org>
6991
52283633 6992 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6993 screen supports it.
6994
29a01b72
GM
6995 * s/gnu-linux.h: Don't use `#cpu'.
6996
09dfdf85
GM
6997 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6998 not defined in mman.h.
6999
52283633 7000 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7001 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7002 and store an index in the XClientMessageEvent. Storing a
7003 Lisp_Object or pointer can fail on a 64 bit system, since X only
7004 transfers 32 bits.
52283633
SM
7005 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7006
81459ac9
DL
70072000-11-20 Dave Love <fx@gnu.org>
7008
7009 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7010
56c13ae6
GM
70112000-11-20 Gerd Moellmann <gerd@gnu.org>
7012
7013 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7014
495a6df3
KH
70152000-11-20 Kenichi Handa <handa@etl.go.jp>
7016
2bcf3714
KH
7017 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7018 by WIDTH.
7019
495a6df3
KH
7020 * alloc.c (make_string): Fix previous change. Be sure to make
7021 unibyte string correctly.
7022
6d950f4c
GM
70232000-11-19 Gerd Moellmann <gerd@gnu.org>
7024
39b39373
GM
7025 * window.c (Fwindow_list): Change parameter list to be XEmacs
7026 compatible.
7027 (window_list_1): New function.
7028 (window_loop): Use it instead of Fwindow_list.
7029
b95b34e5
GM
7030 * sysdep.c (emacs_ospeed): New variable.
7031 (toplevel): Don't declare ospeed extern.
7032 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7033
7034 * termcap.c (ospeed): Remove.
7035 (tputs) [!emacs]: Remove unused code.
7036 (tgetent): Avoid a compiler warning.
7037
e83dc917
GM
7038 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7039 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7040 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7041
7042 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7043 removed.
7044 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7045 Take the X display as additional argument.
7046 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7047 `Widget' is a pointer type that's not easily stored in Lisp_Object
7048 form in a portable way.
52283633 7049
6d950f4c
GM
7050 * dispnew.c (update_text_area): Fix last change.
7051
e47306e6
GM
70522000-11-18 Gerd Moellmann <gerd@gnu.org>
7053
fb3cd89b
GM
7054 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7055
7056 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7057 clear current matrices.
7058
edaa9aed
GM
7059 * buffer.c (mmap_enlarge): Don't print a message on stderr
7060 if mapping new memory at the end of the existing region fails.
7061
e47306e6
GM
7062 * dispnew.c (update_text_area): Don't skip over equal glyphs
7063 when the last current glyph overlaps the glyph to its right.
7064
509633e3
MB
70652000-11-18 Miles Bader <miles@gnu.org>
7066
7067 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7068 lines that *end* with "..." too (that's the most common case!).
7069
d392e9c5
GM
70702000-11-18 Gerd Moellmann <gerd@gnu.org>
7071
67988445
GM
7072 * xdisp.c (resize_mini_window): Temporarily change to the
7073 mini-window's buffer if necessary.
1bfdbe43 7074
d392e9c5
GM
7075 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7076 the tooltip obscures less text under it.
7077
70782000-11-17 Gerd Moellmann <gerd@gnu.org>
7079
7080 * puresize.h (BASE_PURESIZE): Increase to 700000.
7081
92bb977f
JR
70822000-11-18 Jason Rumney <jasonr@gnu.org>
7083
7084 * w32term.c (w32_draw_bitmap): Use face to set colors.
7085
26fbf20b
DL
70862000-11-17 Dave Love <fx@gnu.org>
7087
7088 * lread.c (Fload): Fix #ifdef for pcc.
7089
100b593b
GM
70902000-11-17 Gerd Moellmann <gerd@gnu.org>
7091
7092 * xdisp.c (pos_visible_p): Compute the default character height
7093 differently.
7094
a288d0d1
GM
70952000-11-16 Gerd Moellmann <gerd@gnu.org>
7096
cac94de6 7097 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7098 knowing the line's height; use the default font's height in that case.
cac94de6 7099
a288d0d1
GM
7100 * xfaces.c (weight_table): Add `demi' with the same meaning as
7101 `demibold'.
7102
981fb6f6
KH
71032000-11-16 Kenichi Handa <handa@etl.go.jp>
7104
2cca872d 7105 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7106 (clear_glyph_row): Delete local static variable null_row.
7107
e5fa381b
JR
71082000-11-15 Jason Rumney <jasonr@gnu.org>
7109
7110 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7111 (w32_alloc_lighter_color): Use new brightness calculations from
7112 xterm.c. Scale delta to be in the range expected by W32.
7113 (w32_draw_relief_rect): Use frame relief colors.
7114
8e42f043
GM
71152000-11-15 Gerd Moellmann <gerd@gnu.org>
7116
6d133d1f
GM
7117 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7118 (Qinhibit_default_face_x_resources): New variable.
7119 (syms_of_frame): Initialize it.
7120 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7121
7122 * xdisp.c (pos_visible_p): Improve function comment.
7123
7124 * lisp.h (BINDING_STACK_SIZE): New macro.
7125
8e42f043
GM
7126 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7127 reading the directory if readdir returns null and errno is EAGAIN
7128 or EINTR.
7129
e8c87124
SM
71302000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7131
7132 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7133 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7134 Set amount_to_scroll to max of dx and scroll_step so that
7135 scroll-conservatively doesn't defeat scroll-step>1.
7136 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7137 scroll-conservatively for line-at-a-time scrolling.
7138
5f0c971d
GM
71392000-11-14 Gerd Moellmann <gerd@gnu.org>
7140
7141 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7142 extra argument.
7143
7144 * xdisp.c (current_mode_line_height, current_header_line_height):
7145 New variables.
7146 (init_xdisp): Initialize them.
7147 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7148 and use exact mode line heights if it is set.
7149
7150 * lisp.h (pos_visible_p): Change prototype.
7151
7152 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7153 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7154 and current_header_line_height first.
52283633
SM
7155 (current_mode_line_height, current_header_line_height):
7156 Declare extern.
5f0c971d 7157
d7361edf
MB
71582000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7159
7160 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7161 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7162 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7163
ee5e440a
MB
71642000-11-14 Miles Bader <miles@gnu.org>
7165
7166 * xterm.c (x_alloc_lighter_color): Include an additive component
7167 too for dark colors, because FACTOR isn't enough.
7168 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7169 New macros.
7170
5ca020fc
GM
71712000-11-13 Gerd Moellmann <gerd@gnu.org>
7172
7173 * keyboard.c (show_help_echo): Call message3_nolog with number of
7174 bytes in the help string as 2nd parameter, instead of the number
7175 of characters.
7176
9d348294
MB
71772000-11-13 Miles Bader <miles@gnu.org>
7178
7179 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7180 (Fload): Use new openp return protocol.
7181 Don't try to use Vload_source_file_function to load .elc files.
7182 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7183 openp return protocol.
7184 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7185
1729bb9a
KH
71862000-11-11 Kenichi Handa <handa@etl.go.jp>
7187
4e677396
KH
7188 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7189
7190 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7191 Defined these macros.
7192 (NLIST_STRUCT): Avoid re-defining it.
7193
1729bb9a
KH
7194 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7195 -I/usr/contrib/X11R6/include.
7196 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7197
a82fe213
JR
71982000-11-10 Jason Rumney <jasonr@gnu.org>
7199
7200 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7201
7202 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7203 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7204
7205 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7206 (Qw32_charset_vietnamese): New symbol.
7207 (xlfd_charset_of_font): New function.
7208 (w32_load_system_font): Use it.
7209 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7210 when Vw32_charset_info_alist is nil to ensure default face always
7211 has font. Use Fcar and Fcdr for safety.
7212 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7213 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7214 pseudo-codepages for special cases.
7215 (w32_to_x_font): New parameter to allow charset portion to be
7216 specified where there is many to one mapping. Callers changed.
7217 (w32_list_fonts): Avoid listing fonts that won't display.
7218
52d89894
GM
72192000-11-10 Gerd Moellmann <gerd@gnu.org>
7220
7221 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7222 (font_list_1): Renamed from font_list.
7223 (font_list): New function, trying alternative registries from
7224 Vface_alternative_font_registry_alist.
7225 (Finternal_set_alternative_font_registry_alist): New function.
7226 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7227 Vface_alternative_font_registry_alist.
7228 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7229
651cd3da
KR
72302000-11-09 Ken Raeburn <raeburn@gnu.org>
7231
7232 * lisp.h (Flooking_at): Declare.
7233
388ac098
GM
72342000-11-09 Gerd Moellmann <gerd@gnu.org>
7235
778fbc46 7236 * dired.c (directory_files_internal): Fix a braino.
52283633 7237
388ac098
GM
7238 * dired.c (directory_files_internal): Add missing GCPRO's.
7239 Some cleanup.
7240
ecaedde1
GM
72412000-11-08 Gerd Moellmann <gerd@gnu.org>
7242
f7eb32aa
GM
7243 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7244 (resize_mini_window): Return quickly if Vresize_mini_window is
7245 nil. Don't return if Vmax_mini_window_height is nil.
7246
7247 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7248 (syms_of_xdisp): Initialize them.
7249 (resize_mini_window): Act according to the setting of
7250 Vresize_mini_window.
7251 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7252
ecaedde1
GM
7253 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7254 scroll bar widget after configuring it, so that it will appear at
7255 the right position from the start.
7256 (XTredeem_scroll_bar): Cleaned up.
7257
3747ef2c
KH
72582000-11-08 Kenichi Handa <handa@etl.go.jp>
7259
7260 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7261 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7262 division by two.
7263
7264 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7265
03391420
DL
72662000-11-07 Dave Love <fx@gnu.org>
7267
7758f1c1 7268 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7269
7270 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7271
b5de343d
GM
72722000-11-07 Gerd Moellmann <gerd@gnu.org>
7273
acad3c0b
GM
7274 * window.c (Fset_window_configuration): Don't try to preserve
7275 point in the current buffer, if that buffer is displayed in more
7276 than one window.
7277
b5de343d
GM
7278 * xfaces.c (lookup_named_face): If default face isn't realized,
7279 try to realize it. Return -1 if not successful.
7280 (Fx_list_fonts): Handle case that face cannot be determined.
7281 (Fface_font): Likewise.
7282
cdb1fe49
GM
72832000-11-06 Gerd Moellmann <gerd@gnu.org>
7284
7285 * window.c (displayed_window_lines): Detect partially
7286 visible lines at the bottom correctly.
7287
d3a67486
SM
72882000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7289
7290 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7291 when ensuring we don't do visit in indirect buffer.
7292
ff8dd5d5
KH
72932000-11-06 Kenichi Handa <handa@etl.go.jp>
7294
7295 * composite.h (compose_chars_in_text): Add prototype.
7296
7297 * composite.c (Vcomposition_function_table): New variable.
7298 (Qcomposition_function_table): New variable.
7299 (run_composition_function): Call
7300 Vcompose_chars_after_function with three arguments.
7301 (compose_chars_in_text): New function.
7302 (syms_of_composite): Modified the doc-string of
7303 Vcompose_chars_after_function. Declare composition-function-table
7304 as a lisp variable, and initialize it.
7305
7306 * xfns.c (x_encode_text): Suppress producing escape sequences for
7307 composition.
7308
7309 * xselect.c: Include composite.h.
7310 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7311
d1145f85
AI
73122000-11-05 Andrew Innes <andrewi@gnu.org>
7313
7314 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7315
7316 * sysdep.c (read_input_waiting): Remove extraneous argument to
7317 read_socket_hook.
7318
7319 * w32fns.c (Fx_server_version): Include w32_build_number in the
7320 return list.
7321
7322 * w32heap.c (w32_build_number): New variable.
7323 (cache_system_info): Set it.
7324
7325 * w32heap.h (w32_build_number): Add extern.
7326
7327 * emacs.c (syms_of_emacs): Update docstring for
7328 system-configuration, to reflect the actual usage on MS-Windows.
7329
e85ee976
GM
73302000-10-31 Gerd Moellmann <gerd@gnu.org>
7331
26dcb81b
GM
7332 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7333 process idle timers while waiting for another event.
7334
52283633 7335 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7336 the default face are colored.
7337
e85ee976
GM
7338 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7339 window height hasn't changed.
7340
01b220b6
JR
73412000-10-31 Jason Rumney <jasonr@gnu.org>
7342
7343 * w32term.c (x_produce_glyphs): Handle composite characters.
7344 (x_draw_glyph_string_foreground)
7345 (x_draw_composite_glyph_string_foreground): Restore old font.
7346
4e6b7204
MB
73472000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7348
7349 * minibuf.c (read_minibuf): Reset the undo history just before
7350 starting the recursive-edit.
7351
d4358b37
GM
73522000-10-30 Gerd Moellmann <gerd@gnu.org>
7353
563f68f1
GM
7354 * xfaces.c (menu_face_change_count): New variable.
7355 (Finternal_set_lisp_face_attribute): Increment it for changes
7356 of the `menu' face.
7357 (realize_basic_faces): Reflect changes in the `menu' faces
7358 in menu bars.
7359
82e274d1
GM
7360 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7361 dy obtained from the iterator's y-position after moving from
7362 scroll_margin_pos to PT; see comment there.
52283633 7363
0dbf9fd2
GM
7364 * xdisp.c (safe_eval_handler): Call add_to_log.
7365
906b3b14
GM
7366 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7367 is not a symbol or string.
7368
d4358b37
GM
7369 * xdisp.c (echo_area_display): Don't perform a display update from
7370 inside redisplay. The update will happen anyway at the end of
7371 redisplay, and it can confuse redisplay (GC messages while
7372 redisplaying, for instance.)
7373
70c825df
SM
73742000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7375
cf9b4b0b
SM
7376 * xrdb.c (x_load_resources): Use the class name in the defaults.
7377
70c825df
SM
7378 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7379 (regex_compile): Catch bogus \(\1\).
7380
a1d34b1e
GM
73812000-10-30 Gerd Moellmann <gerd@gnu.org>
7382
cae71efe
GM
7383 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7384 RGB values.
52283633 7385
35efe0a1
GM
7386 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7387 we have a color cache, check that the cached color equals the
7388 allocated color. If not, clear the color cache.
7389
1d3baf74
GM
7390 * window.c (displayed_window_lines): Change buffers if necessary.
7391 Fix computation of displayed lines.
7392
a1d34b1e
GM
7393 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7394 update_menu_bindings to DEFVAR_BOOL.
7395
70737ea9
KH
73962000-10-30 Kenichi Handa <handa@etl.go.jp>
7397
70c825df 7398 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7399
fa0cb51d
KH
7400 * puresize.h (BASE_PURESIZE): Increase to 680000.
7401
70737ea9
KH
7402 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7403
0e4c08e8
JR
74042000-10-29 Jason Rumney <jasonr@gnu.org>
7405
7406 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7407
7408 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7409 (w32_cache_char_metrics): Handle possibility that 'x' does not
7410 exist in a BDF font.
7411 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7412
7413 * w32bdf.h (bdffont): Add nchars.
7414
7415 * w32bdf.c (set_bdf_font_info): Set it.
7416 (w32_BDF_TextOut): Swap byte order of double byte characters.
7417 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7418
45b84006
EZ
74192000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7420
7421 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7422 don't override the colors in frame's param_alist, unless they are
7423 unspecified.
7424
7425 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7426 reverse the effect of the highlight flag.
7427
caf9deee
KR
74282000-10-27 Ken Raeburn <raeburn@gnu.org>
7429
7430 * window.h (Fwindow_live_p): Declare.
7431
ae0b9b46
KR
7432 * undo.c (record_delete): Check that last_undo_buffer is really a
7433 buffer before applying XBUFFER to it.
7434
7435 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7436 Faref.
7437
02067692
SM
74382000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7439
7440 * lisp.h (KEYMAPP): New macro.
7441 (get_keymap): Remove.
7442 (get_keymap_1): Rename get_keymap.
7443
7444 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7445
7446 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7447
7448 * xmenu.c (single_submenu): Use KEYMAPP.
7449 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7450 Use KEYMAPP rather than Fkeymapp.
7451
7452 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7453
7454 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7455 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7456 Use KEYMAPP rather than Fkeymapp.
7457 (single_submenu): Use KEYMAPP.
7458 (w32_menu_show, w32_dialog_show): Use TRUE.
7459
7460 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7461
7462 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7463 (Fkeymapp): Use KEYMAPP.
7464 (get_keymap): Rename from get_keymap_1. Remove old def.
7465 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7466 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7467 (Fminor_mode_key_binding): Don't raise an error if the binding
7468 is not a keymap.
7469 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7470 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7471
7472 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7473 Allow Vspecial_event_map to be autoloaded.
7474 (menu_bar_items): Fetch the keymap rather than using keymapp.
7475 (menu_bar_one_keymap): No need to follow func-indirect any more.
7476 (parse_menu_item): get_keymap_1 -> get_keymap.
7477 (tool_bar_items): Fetch the keymap rather than using keymapp.
7478 (read_key_sequence): Use KEYMAPP.
7479
7480 * intervals.c (get_local_map): Use get_keymap rather than following
7481 function-indirections explicitly.
7482
7483 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7484
f9d80af3
JR
74852000-10-27 Jason Rumney <jasonr@gnu.org>
7486
7487 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7488 point, as Windows has oversized fonts.
7489
7490 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7491
a3ba27da
GM
74922000-10-27 Gerd Moellmann <gerd@gnu.org>
7493
7494 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7495 (freehook, reallochook): Handle null pointer arguments.
7496 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7497
aa3b80cc
SM
74982000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7499
7500 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7501 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7502 Giving in to popular pressure to shut up the compiler with casts.
7503
e24e84cc
GM
75042000-10-27 Gerd Moellmann <gerd@gnu.org>
7505
7506 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7507 signed value, and use a default value computed from the font's
7508 maximum descent.
7509
05ea7ef2
MB
75102000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7511
7512 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7513 that specify a negative underline position can still use underlines.
7514
7515 * window.c (Fpos_visible_in_window_p): Make POS default to
7516 WINDOW's point, not the current buffer's point.
7517
0b95284b
DL
75182000-10-26 Dave Love <fx@gnu.org>
7519
7520 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7521 when it's necessary.
7522
6c5b90af
GM
75232000-10-26 Gerd Moellmann <gerd@gnu.org>
7524
8b6d9dc9
GM
7525 * window.c (size_window): Compute size difference from sum of old
7526 child window sizes instead of from parent's size.
7527
6bc92b2e
GM
7528 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7529 Handle obscured lines at the top of the window.
7530
7531 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7532 down after the last error condition check.
7533
6c5b90af
GM
7534 * frame.c (Fdelete_frame): Run delete-frame-hook.
7535
42f92d4d
KH
75362000-10-26 Kenichi Handa <handa@etl.go.jp>
7537
7538 * coding.c (decode_coding): Fix previous change (check also
7539 CODING_MODE_LAST_BLOCK).
7540
d97151cb
SM
75412000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7542
e7efc503
SM
7543 * regex.c: More `unsigned char' -> `re_char' changes.
7544 Also change several `int' into `re_wchar_t'.
7545 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7546 (PUSH_FAILURE_POINTER): Don't cast any more.
7547 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7548 We want GCC to complain, since this piece of code makes
7549 re_match non-reentrant, which *should* be fixed.
7550 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7551 (EXTEND_BUFFER): Use RETALLOC.
7552 (SET_LIST_BIT): Don't cast.
7553 (re_wchar_t): New type.
7554 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7555 that those two functions will always properly return.
7556 (IMMEDIATE_QUIT_CHECK): Cast to void.
7557 (analyse_first): Use recursion rather than an explicit stack.
7558 (re_compile_fastmap): Can't fail anymore.
7559 (re_search_2): Don't check re_compile_fastmap for failure.
7560 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7561 Now also sets the new value (passed in a new argument).
7562 (re_match_2_internal): Use it.
7563 Also, use a new var `reg' of type size_t when looping through regs
7564 rather than reuse the inappropriate `mcnt'.
7565
d97151cb
SM
7566 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7567 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7568 (where_is_internal): Renamed from Fwhere_is_internal.
7569 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7570 (Fwhere_is_internal): New function wrapping where_is_internal.
7571 (where_is_internal_1): Handle the case where we're filling the cache.
7572 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7573
d5789b65
MB
75742000-10-25 Miles Bader <miles@gnu.org>
7575
7576 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7577
4ecda532
GM
75782000-10-25 Gerd Moellmann <gerd@gnu.org>
7579
7580 * window.c (pos_fully_visible_p): Removed.
7581 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7582 if position is visible and/or fully visible.
7583
7584 * lisp.h (pos_visible_p): Add prototype.
7585
7586 * xdisp.c (pos_visible_p): New function.
7587
68c3a137
KH
75882000-10-25 Kenichi Handa <handa@etl.go.jp>
7589
7590 * process.c (send_process): If OBJECT is t, it means that the data
7591 is from C string, but we should encode it. Before calling
7592 setup_raw_text_coding_system, be sure to flush out data by the
7593 previous coding system.
7594
7ae1c032
MB
75952000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7596
ff4dcd4b
MB
7597 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7598 assignment of startpos to prev when startpos == pos.
7599
7ae1c032
MB
7600 * editfns.c (find_field): Set the field stickiness correctly from
7601 overlay fields. Use renamed `text_property_stickiness'.
7602 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7603 Only check text properties, not overlays.
7ae1c032
MB
7604 * textprop.c (get_char_property_and_overlay): New function.
7605 (Fget_char_property): Use it.
7606 * intervals.h (get_char_property_and_overlay): Add declaration.
7607
49801145
SM
76082000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7609
7610 * keymap.c: Use AREF, ASET and ASIZE macros.
7611 (Fmake_sparse_keymap): Docstring fix.
7612 (synkey): Remove.
7613 (shadow_lookup): Move up.
7614 Handle the case where lookup-key returns an integer.
7615 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7616 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7617 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7618 Simplify/rewrite the keymap-finding code.
7619 Add check for command shadowing, using shadow_lookup.
7620
39e776cd
SM
76212000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7622
7623 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7624 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7625 a symbol.
7626
2488aba5
AI
76272000-10-24 Andrew Innes <andrewi@gnu.org>
7628
7629 * dired.c (directory_files_internal_unwind): New function.
7630 (directory_files_internal): Use it to ensure closedir is called
7631 even if expand-file-name or file-attributes throw, eg. because of
7632 a user interrupt. Also enable immediate_quit while calling
7633 re_search, so that matching can be interrupted as well.
7634
b94fdf61
AI
76352000-10-24 Andrew Innes <andrewi@gnu.org>
7636
7637 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7638 NT-Emacs only.
7639 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7640 so that re_search functions only quit when callers expect them to.
7641
76422000-10-24 Kenichi Handa <handa@etl.go.jp>
7643
7644 * regex.c (regex_compile): Change the way of handling a range from
7645 a char less than 256 to a char not less than 256.
7646
1946f901
GM
76472000-10-24 Gerd Moellmann <gerd@gnu.org>
7648
7ae2f10f
GM
7649 * window.c (size_window): Prevent setting window's width or
7650 height to a negative value (esp. with XSETFASTINT).
7651
5dcab13e
GM
7652 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7653 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7654 (protect_malloc_state) [GC_MALLOC_CHECK &&
7655 GC_PROTECT_MALLOC_STATE]: New function.
7656 (PROTECT_MALLOC_STATE): New macro.
7657 (__malloc_initialize, morecore, _malloc_internal)
7658 (_free_internal) _realloc_internal): Use it to make _heapinfo
7659 read-only outside of gmalloc.
7660
63e1b552
GM
7661 * keymap.c: Update copyright.
7662
1946f901
GM
7663 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7664 a symbol.
7665
4fa09beb
GM
76662000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7667
7668 * filelock.c (unlock_all_files): Use unlock_file to expand each
7669 buffer's file_truename before trying remove its lock file.
7670
23afac01
EZ
76712000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7672
7673 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7674 or CRLF, decode EOLs.
7675
04448b95
KH
76762000-10-24 Kenichi Handa <handa@etl.go.jp>
7677
7678 * window.c (Fdisplay_buffer): Fix doc.
7679
3090a5a5
JR
76802000-10-23 Jason Rumney <jasonr@gnu.org>
7681
7682 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7683 ASCII font of default fontset on Windows.
7684
7685 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7686 xterm.c comment below).
7687
7688 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7689
a83fee2c
GM
76902000-10-23 Gerd Moellmann <gerd@gnu.org>
7691
7692 * xterm.c (x_connection_closed): Reset handling_signal.
7693
52283633 7694 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7695
6ffdb539
MB
76962000-10-23 Miles Bader <miles@gnu.org>
7697
7698 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7699 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7700 maintain old behavior.
7701 * minibuf.c (Fminibuffer_complete): Likewise.
7702
7f1c969b
MB
77032000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7704
7705 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7706 that when a font can't be exactly centered, it errs up rather than
7707 down.
7708
23afac01 77092000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7710
52283633 7711 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7712
1a578e9b
AC
77132000-10-23 Andrew Choi <akochoi@i-cable.com>
7714
7715 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7716
7717 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7718 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7719
7720 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7721 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7722 syms_of_search, x_term_init, and init_keyboard before calling
7723 init_window_once. Also, call syms_of_xmenu.
7724
7725 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7726 default fontset to Monaco.
7727
7728 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7729 NewMacWindow and DisposeMacWindow.
7730 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7731 instead of calling NewMacWindow and setting fields of
7732 f->output_data.mac directly. Call init_frame_faces.
7733 (Fdelete_frame) [macintosh]: Remove unused code.
7734 (Fmodify_frame_parameters) [macintosh]: Call
7735 x_set_frame_parameters instead of mac_set_frame_parameters.
7736
7737 * frame.h [macintosh]: Define menu_bar_lines field in struct
7738 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7739
7740 * keyboard.c [macintosh]: Include macterm.h.
7741 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7742 and menu_bar_activate_event type events as for X and NT.
7743 (make_lispy_event) [macintosh]: Construct lisp events of type
7744 MENU_BAR_EVENT as for X and NT.
7745
7746 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7747 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7748 (sys_subshell) [macintosh]: Remove definition entirely.
7749 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7750 Vwindow_system_version here. Remove initialization of
7751 Vx_bitmap_file_path.
7752 (read_input_waiting): Correct the number of parameters passed to
7753 read_socket_hook.
7754 Move all Macintosh functions to mac/mac.c.
7755
7756 * term.c [macintosh]: Include macterm.h.
7757
7758 * window.c [macintosh]: Include macterm.h.
7759
7760 * xdisp.c [macintosh]: Include macterm.h. Declare
7761 set_frame_menubar and pending_menu_activation.
7762 (echo_area_display) [macintosh]: Do not return if terminal frame
7763 is the selected frame.
7764 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7765 Allow only the selected frame to set menu bar.
7766 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7767 calling FRAME_EXTERNAL_MENU_BAR (f).
7768 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7769
7770 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7771 and check_x. Declare XCreateGC. Define x_create_gc and
7772 x_free_gc. Initialize font_sort_order.
7773 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7774 but call x_list_fonts instead of w32_list_fonts.
7775 (Finternal_face_x_get_resource) [macintosh]: Do not call
7776 display_x_get_resource.
7777 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7778 (realize_x_face) [macintosh]: Load the font if it is specified in
7779 ATTRS.
52283633 7780 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7781
1ffbabe3
SM
77822000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7783
7784 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7785 is nil: since we go to the end of submap anyway, we'd end up
7786 setting nil to nil.
7787 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7788 doesn't obey autoload.
7789
bed43f1d
EZ
77902000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7791
1ffbabe3 7792 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7793
ea4233a7
JR
77942000-10-21 Jason Rumney <jasonr@gnu.org>
7795
7796 * w32term.c (w32_cache_char_metrics): Double check that font is
7797 really fixed pitch before trusting tmPitchAndFamily.
7798
f3d3c491
AI
77992000-10-21 Andrew Innes <andrewi@gnu.org>
7800
7801 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7802
7803 * w32term.h: Extern decl for w32_cache_char_metrics.
7804
7805 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7806
7807 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7808 (w32_unload_font): Free per_char array if present.
7809
7810 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7811 cached information in emulated XFontStruct to handle common cases
7812 quickly. Do not allocate XCharStruct for return.
7813 (w32_native_per_char_metric): New function.
7814 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7815 allocating one.
7816 (x_produce_glyphs): Don't get an HDC. Change calls to
7817 w32_per_char_metric to match arg change above. Remove calls to
7818 free results.
7819 (w32_get_glyph_overhangs): Ditto.
7820 (w32_cache_char_metrics): New function.
7821
7822 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7823 ($(BLD)/casefiddle.$(O)): Remove compile command.
7824 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7825 ($(BLD)/dispnew.obj):
7826 ($(BLD)/keyboard.obj):
7827 ($(BLD)/w32inevt.obj):
7828 ($(BLD)/w32bdf.obj):
7829 ($(BLD)/alloc.obj):
7830 ($(BLD)/buffer.obj):
7831 ($(BLD)/editfns.obj):
7832 ($(BLD)/emacs.obj):
7833 ($(BLD)/fileio.obj):
7834 ($(BLD)/fns.obj):
7835 ($(BLD)/indent.obj):
7836 ($(BLD)/insdel.obj):
7837 ($(BLD)/intervals.obj):
7838 ($(BLD)/minibuf.obj):
7839 ($(BLD)/print.obj):
7840 ($(BLD)/scroll.obj):
7841 ($(BLD)/sysdep.obj):
7842 ($(BLD)/textprop.obj):
7843 ($(BLD)/widget.obj):
f3d3c491
AI
7844 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7845 ($(BLD)/term.obj): Add dependency on dispextern.h.
7846
52283633
SM
7847 * makefile.nt ($(BLD)\dispnew.obj):
7848 ($(BLD)\keyboard.obj):
7849 ($(BLD)\w32inevt.obj):
7850 ($(BLD)\w32bdf.obj):
7851 ($(BLD)\alloc.obj):
7852 ($(BLD)\buffer.obj):
7853 ($(BLD)\editfns.obj):
7854 ($(BLD)\emacs.obj):
7855 ($(BLD)\fileio.obj):
7856 ($(BLD)\fns.obj):
7857 ($(BLD)\indent.obj):
7858 ($(BLD)\insdel.obj):
7859 ($(BLD)\intervals.obj):
7860 ($(BLD)\minibuf.obj):
7861 ($(BLD)\print.obj):
7862 ($(BLD)\scroll.obj):
7863 ($(BLD)\sysdep.obj):
7864 ($(BLD)\textprop.obj):
7865 ($(BLD)\widget.obj):
f3d3c491
AI
7866 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7867 ($(BLD)\term.obj): Add dependency on dispextern.h
7868
18ad4821
EZ
78692000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7870
7871 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7872 with an additional argument of Qt.
7873
de54681a
MB
78742000-10-21 Miles Bader <miles@gnu.org>
7875
7876 * window.c (pos_fully_visible_in_window_p): New function.
7877 (Fpos_visible_in_window_p): Add FULLY argument.
7878 Use pos_fully_visible_in_window_p.
7879 (window_scroll_pixel_based, window_scroll_line_based): Update
7880 calls to Fpos_visible_in_window_p.
7881 * lisp.h (Fpos_visible_in_window_p): Update prototype
7882
13c844fb
GM
78832000-10-20 Gerd Moellmann <gerd@gnu.org>
7884
7885 * alloc.c (toplevel): Conditionalize compilation of mem_*
7886 functions differently.
52283633 7887
d9506268
JR
78882000-10-20 Jason Rumney <jasonr@gnu.org>
7889
7890 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7891 mem_init where it used to be. mem_z etc not defined otherwise.
7892
8094989b
GM
78932000-10-20 Gerd Moellmann <gerd@gnu.org>
7894
7895 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7896 GC_MALLOC_CHECK.
7897 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7898 structure definition and related variabled to the top of the file.
7899 Include this code when GC_MALLOC_CHECK is defined.
7900 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7901 register/unregister allocated region.
7902 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7903 which isn't allocated.
7904 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7905 something which is already in use.
7906 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7907 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7908 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7909 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7910
7911 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7912 _malloc_internal instead of malloc.
7913 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7914 of free.
7915
ea456eb4
AI
79162000-10-20 Andrew Innes <andrewi@gnu.org>
7917
7918 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7919 Windows.
7920 (my_strftime) <macro>: Don't use macro arg list when redefining as
7921 _strftime_copytm.
7922 (my_strftime) <function>: Supply 0 as ut argument.
7923
e64c3a75
JR
79242000-10-19 Jason Rumney <jasonr@altavista.net>
7925
7926 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7927 including dispextern.h, as it stops faces from working.
7928
7929 * w32fns.c (Fx_create_frame): Don't bother calling
7930 face-set-after-frame-default since the caller does it for us
7931 anyway. Clean up calls to x_get_arg to be consistent with X.
7932
7933 * w32term.c (x_produce_glyphs): Handle
7934 unibyte_display_via_language_environment correctly.
7935 (w32_draw_box_rect): Fix the calculation of width and height.
7936
7937 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7938 as it has stopped working.
7939 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7940 menu-bar.
7941
17401c97
GM
79422000-10-19 Gerd Moellmann <gerd@gnu.org>
7943
7944 * eval.c (skip_debugger): Prevent a compiler warning.
7945 (Fcondition_case): Likewise.
7946 (Fbacktrace_frame): Use a null interactive spec.
7947
773272d8
KH
79482000-10-19 Kenichi Handa <handa@etl.go.jp>
7949
7950 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7951
a42943e9
GM
79522000-10-18 Gerd Moellmann <gerd@gnu.org>
7953
e50517d9
GM
7954 * strftime.c: Sync with glibc, file version 1.78.
7955 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7956 should no longer be used according to ISO 8601.
7957
9035a35a
GM
7958 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7959 no map for meta_prefix_char, don't try to use it as a keymap.
7960 Instead, if T_OK is non-zero, look up a default binding, if any,
7961 otherwise, if T_OK is zero, return nil.
7962
a42943e9
GM
7963 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7964 (x_to_xcolors, png_load): Use x_query_color.
7965
52283633
SM
7966 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7967 New functions.
a42943e9
GM
7968 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7969 which can be slow.
7970 (x_copy_color, x_alloc_lighter_color): Likewise.
7971
7972 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7973 (x_query_color, x_query_colors): Add prototype.
7974
7975 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7976 check_string_bytes only if not noninteractive, increase count to 50.
7977
00de2987
MB
79782000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7979
7980 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7981 markers correctly.
7982
54918e2b
GM
79832000-10-17 Gerd Moellmann <gerd@gnu.org>
7984
1f0b3fd2
GM
7985 * alloc.c (pure_bytes_used): Renamed from pureptr.
7986 (ALIGN): New macro.
7987 (pure_alloc): New function.
7988 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7989 Use it.
7990 (Fpurecopy): Use PURE_POINTER_P.
7991
68c5d1db
GM
7992 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7993 PT has moved backward.
52283633 7994
9a038881
GM
7995 * xdisp.c (cursor_row_p): Take continued lines into account.
7996
361b097f
GM
7997 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7998 string's size_byte.
7999 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8000 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8001 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8002 string allocated.
8003
54918e2b
GM
8004 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8005 of selective display off while searching for the next line start.
8006
03ed0806
KH
80072000-10-17 Kenichi Handa <handa@etl.go.jp>
8008
8009 * Makefile.in (term.o): Depend on dispextern.h.
8010
7e05cdaf
SM
80112000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8012
8013 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8014
a6801fd1
GM
80152000-10-16 Gerd Moellmann <gerd@gnu.org>
8016
483de32b
GM
8017 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8018 the iterator at the beginning, so that they can be set later on,
8019 for instance in reseat_at_next_visible_line_start, without being
8020 overwritten.
8021
a6801fd1
GM
8022 * xfns.c (pbm_format): Add :foreground and :background keywords.
8023 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8024 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8025
dbf1fcc1
EZ
80262000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8027
8028 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8029
52283633 8030 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8031
8032 * msdos.c (IT_set_face): Compare highlighted face with the default
8033 face, and invert colors if these faces' colors are identical.
8034 (Fmsdos_remember_default_colors): Don't swap foreground and
8035 background colors in initial_colors[].
8036 (IT_set_frame_parameters): Don't swap frame's foreground and
8037 background pixels. If ALIST includes "(reverse . t)", swap
8038 foreground-color and background-color properties in frame's
8039 param_alist. If the original frame's param_alist doesn't specify
8040 the colors, store unspecified-fg and unspecified-bg, reversed if
8041 required.
8042
8043 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8044 the colors are unspecified and reversed, reverse fore- and back-
8045 ground in the returned value.
8046 (Fframe_parameter): Ditto.
8047
b41fe2c3 80482000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8049
3a6b59d9
GM
8050 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8051 get_last_unchanged_at_beg_row.
8052 (find_first_unchanged_at_end_row): Renamed from
8053 get_first_unchanged_at_end_row.
8054 (find_first_unchanged_at_end_row): Convert assertions to
8055 unconditional tests which abort. When looking for a row in
8056 unchanged text, don't go further back than first_text_row.
8057
b41fe2c3
GM
8058 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8059 Don't add in the last line's height when deciding if the new
8060 position is below the scroll margin.
9d1af64f 8061
b41fe2c3 80622000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8063
8064 * editfns.c (Fconstrain_to_field): Check carefully for field
8065 boundaries if either OLD_POS or NEW_POS has a non-nil field
8066 property, even if they're the same.
8067
c412cb7b
KH
80682000-10-16 Kenichi Handa <handa@etl.go.jp>
8069
8070 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8071 height for XFillRectangle.
8072
5586f3eb
SM
80732000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8074
8075 * syntax.c (Fstring_to_syntax): New function extracted from
8076 Fmodify_syntax_entry.
8077 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8078 (skip_chars, Fforward_comment): Remove unused variables.
8079 (syms_of_syntax): Add defsubr for string-to-syntax.
8080 (describe_syntax): Add code for comment and string fences.
8081
db785038
SM
80822000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8083
8084 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8085 Do the meta->esc mapping. Call get_keyelt before returning.
8086 Start scanning from the second element (the first is always `keymap')
8087 to make it easier to detect when we reach a parent map.
8088 Handle the case of inheriting from a symbol whose function is a map.
8089 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8090 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8091 (get_keyelt, Flookup_key): Update call to access_keymap.
8092 Remove the meta->esc mappings.
8093 (define_as_prefix): Delete old disabled code.
8094 (menu_item_p): New function.
8095 (where_is_internal_1): Skip over the few remaining menu items.
8096 * lisp.h (access_keymap): Update prototype.
8097 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8098 Update call to access_keymap.
8099 (follow_key, read_key_sequence): Update calls to access_keymap.
8100 Remove the meta->esc mappings.
8101
cafafe0b
GM
81022000-10-13 Gerd Moellmann <gerd@gnu.org>
8103
a2e2a7f6
GM
8104 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8105 with additional argument.
8106
cafafe0b
GM
8107 * xdisp.c (cursor_row_p): New function.
8108 (try_cursor_movement, display_line): Use it.
52283633 8109
cafafe0b
GM
8110 * xdisp.c (append_space): Also save/restore iterator's current
8111 character and its length.
8112
8113 * xdisp.c (init_from_display_pos): Add an assertion.
8114 (handle_stop): Don't set iterator's add_overlay_start.
8115 (handle_invisible_prop): Likewise.
8116 (load_overlay_strings): If text under an overlay is invisible,
8117 take both before- and after-strings into account when the iterator
8118 is positioned either at the start or at the end of the overlay.
8119 (forward_to_next_line_start): Rewritten.
8120 (reseat_at_next_visible_line_start): Rewritten.
8121 (set_iterator_to_next): Add parameter RESEAT_P.
8122
8123 * dispextern.h (struct it): Remove member add_overlay_start.
8124 (set_iterator_to_next): Change prototype.
8125
c744452b
KH
81262000-10-13 Kenichi Handa <handa@etl.go.jp>
8127
8128 * coding.c (code_convert_region): Be sure to initialize
8129 coding->category_idx.
e4a3f4e1
KH
8130 (decode_coding_string): Set coding->src_multibyte and
8131 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8132 (encode_coding_string): Set coding->src_multibyte and
8133 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8134
321fd26f
SM
81352000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8136
8137 * xfns.c (Fx_create_frame): Don't bother calling
8138 face-set-after-frame-default since the caller does it for us anyway.
8139
76832439
EZ
81402000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8141
8142 * window.c (coordinates_in_window): Fix detection of vertical line
8143 on character terminals.
8144
2483cf58
GM
81452000-10-12 Gerd Moellmann <gerd@gnu.org>
8146
8147 * editfns.c (save_excursion_save): Additionally record the
8148 selected window.
8149 (save_excursion_restore): If buffer was visible in a window, and a
8150 different window was selected, and the old selected window is
8151 still live, restore point in that window.
8152
eb991b25
KH
81532000-10-12 Kenichi Handa <handa@etl.go.jp>
8154
8a0eba09
KH
8155 * xterm.c (x_produce_glyphs): Handle
8156 unibyte_display_via_language_environment correctly.
8157
20401fcc
KH
8158 * regex.c (regex_compile): Change the way of handling a range from
8159 unibyte char to multibyte char.
8160
8161 * syntax.c (skip_chars): Change the way of handling a range from
8162 unibyte char to multibyte char.
8163
eb991b25
KH
8164 * process.c (read_process_output): Cancel previous change.
8165
365dd325
EZ
81662000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8167
c1b096cb
EZ
8168 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8169
365dd325
EZ
8170 * charset.c (Ffind_charset_string): Doc fix.
8171 (Ffind_charset_region): Doc fix.
8172
eb483c2b
KH
81732000-10-11 Kenichi Handa <handa@mule.m17n.org>
8174
8175 * process.c (read_process_output): Fix previous change. Adjust
8176 multibyteness of text to insert in a buffer by
52283633 8177 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8178
b40bfb99
AS
81792000-10-10 Andreas Schwab <schwab@suse.de>
8180
8181 * alloc.c (mark_object): Remove all workarounds installed on
8182 1993-08-08.
8183
caff31d4
KH
81842000-10-10 Kenichi Handa <handa@etl.go.jp>
8185
52283633 8186 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8187 (base64_encode_1): Make it work for a text of multibyte form.
8188 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8189 case. Don't call str_to_multibyte because base64_decode_1
8190 produces correct multibyte form for eight-bit codes.
52283633 8191 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8192 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8193 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8194 codes.
8195
8196 * charset.h (CHAR_STRING): Optimized for single byte characters.
8197
cba026ef
AS
81982000-10-09 Andreas Schwab <schwab@suse.de>
8199
8200 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8201 -1 after socket is closed, to fall through to error processing.
8202
1e21fe48
EZ
82032000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8204
8205 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8206 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8207 background-color, change also the colors of the default face for
8208 this frame.
8209
a640322e
EZ
82102000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8211
8212 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8213 them extern (they are defined on xfaces.c).
8214 (syms_of_msdos): Don't intern and don't staticpro
8215 Qbackground_color and Qforeground_color.
8216
a115794c
EZ
82172000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8218
8219 * frame.c (Fframe_parameter): For non-windowed frames, if
8220 f->param_alist says foreground or background color is unspecified,
8221 call tty_color_name to return the color name computed from the
8222 frame's current colors.
8223
f5533b63
DL
82242000-10-06 Dave Love <fx@gnu.org>
8225
8226 * terminfo.c (ospeed): Don't declare.
8227
8228 * sysdep.c: Don't include string.h.
8229 (h_errno): Declare conditional also on TRY_AGAIN.
8230
8231 * charset.c (Ffind_charset_string): Doc fix.
8232
52283633 8233 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8234 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8235 error messages.
8236
2b06561a
DL
82372000-10-05 Dave Love <fx@gnu.org>
8238
8239 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8240 position like menu-bar.
8241
ca839c85
GM
82422000-10-05 Gerd Moellmann <gerd@gnu.org>
8243
8244 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8245
8246 * xdisp.c (handle_single_display_prop): Use safe_call1.
8247 (safe_call): Renamed from call_function.
8248 (safe_call1): New function.
8249 (handle_fontified_prop): Use safe_call1 instead of call1.
8250 (safe_eval): Renamed from eval_form.
8251 (safe_eval_handler): Renamed from eval_handler.
8252 (handle_single_display_prop, display_mode_element): Use safe_eval
8253 instead of eval_form.
8254
8255 * xfaces.c (merge_face_heights): Use safe_call instead of
8256 call_function.
8257
8258 * keyboard.c (show_help_echo): Use safe_call instead of
8259 call_function; use safe_eval instead of eval_form.
8260
8261 * lisp.h (safe_call): Renamed from call_function.
8262 (safe_eval): Renamed from eval_form.
8263 (safe_call1): Add prototype.
8264
a3489ece
MB
82652000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8266
8267 * xfns.c (image_ascent): Rearrange ascent calculation for the
8268 has-a-font case.
8269
35810b6f
SM
82702000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8271
8272 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8273 (where_is_internal_1): Don't bother ignoring menu-items any more.
8274
3dc78168
GM
82752000-10-04 Gerd Moellmann <gerd@gnu.org>
8276
8277 * keyboard.c (update_menu_bindings): New variable.
8278 (parse_menu_item): Use AREF. If update_menu_bindings
8279 is 0, don't update menu bindings.
8280 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8281
1efc2bb9
EZ
82822000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8283
8284 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8285 to `mark_object'.
8286
3f679f55
SM
82872000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8288
8289 * syntax.c (forw_comment): Match nestedness of ender/starter.
8290 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8291 (prev_char_comstart_first): Remove.
8292 (back_comment): Check two-char comment markers more carefully
8293 to better handle overlapping cases like *//* or /* */* */ ...
8294 Match nestedness of ender/starter.
8295
2021ab61
DL
82962000-10-02 Dave Love <fx@gnu.org>
8297
8298 * config.in (HAVE_GAI_STRERROR): Add undef.
8299
8300 * process.c (Fopen_network_stream): Use it.
8301
8302 * m/alpha.h (NO_REMAP): Don't define.
8303
64e6cc18
GM
83042000-10-02 Gerd Moellmann <gerd@gnu.org>
8305
8306 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8307 return with a string converted to an integer or vice versa when
8308 Vmocklisp_arguments is t.
8309 (Fsignal): Likewise. The function can return for `quit'.
8310 (struct gcpro): Declare member `var' to point to a volatile
8311 Lisp_Object.
8312
8313 * eval.c (error): Prevent compiler warning.
8314
b1904cd9
SM
83152000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8316
8317 * keymap.c (keymap_memberp): New function.
8318 (Fset_keymap_parent): Use it.
8319 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8320 Use keymap_memberp to avoid creating cycles.
8321 (access_keymap): Use KEYMAPP.
8322
71c9ec51
GM
83232000-09-30 Gerd Moellmann <gerd@gnu.org>
8324
8325 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8326 gai_strerror. Make sure xerrno is set if connect fails. Improve
8327 error recovery.
71c9ec51 8328
c70c6b58
JR
83292000-09-29 Jason Rumney <jasonr@gnu.org>
8330
8331 * w32term.c (w32_char_font_type, w32_encode_char)
8332 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8333 (w32_bdf_per_char_metric): New function.
8334 (w32_per_char_metric): Use it.
8335 (x_draw_glyph_string_background): Always draw background for BDF
8336 glyphs.
8337
8338 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8339 GDI object which is a scarce resource.
8340
8341 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8342 (get_quoted_string): Fix limit on memchr search.
8343 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8344 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8345 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8346 (get_cached_font_char, cache_char_offset): Use macro
8347 BDF_CODEPOINT_RANGE_COVER_P.
8348 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8349 (clear_cached_bitmap_slots): New function.
8350 (GET_HEX_VALUE): G-Z, g-z are not hex.
8351 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8352 (get_bitmap_with_cache): Use new cache implementation.
8353 (create_offscreen_bitmap): New function.
8354 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8355
8356 * w32term.c (x_produce_glyphs): If the distance from the current
8357 position to the next tab stop is less than a canonical character
8358 width, use the tab stop after that.
8359 (x_draw_glyphs): Handle case START and END are out of bounds more
8360 carefully.
8361 (x_clear_mouse_face): Block/unblock input.
8362 (x_display_and_set_cursor): Don't show a hollow box cursor for
8363 buffers whose cursor_type is nil.
8364
fe01239f
GM
83652000-09-29 Gerd Moellmann <gerd@gnu.org>
8366
52283633 8367 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8368
8369 * dispextern.h (updating_frame): Declare extern.
8370
e7c52f1f
AS
83712000-09-29 Andreas Schwab <schwab@suse.de>
8372
8373 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8374
de6e1f7c
GM
83752000-09-29 Gerd Moellmann <gerd@gnu.org>
8376
25126faa
GM
8377 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8378 use its function definition.
8379 (tool_bar_items): Likewise.
8380
de6e1f7c 8381 * lisp.h (fatal): Declare NO_RETURN.
52283633 8382
454ee39b
KH
83832000-09-29 Kenichi Handa <handa@etl.go.jp>
8384
8385 * keymap.c: Remove the line "#undef NULL".
8386
96301c5f
GM
83872000-09-28 Gerd Moellmann <gerd@gnu.org>
8388
52283633 8389 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8390
efffeeb4
DL
83912000-09-28 Dave Love <fx@gnu.org>
8392
ecb8b666
DL
8393 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8394
dc3cd20f
DL
8395 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8396
8397 * .gdbinit (xreload): Note its need on GNU/Linux.
8398
efffeeb4
DL
8399 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8400 r_alloc, r_alloc_free.
8401
8610d903
KH
84022000-09-28 Kenichi Handa <handa@etl.go.jp>
8403
8404 * syntax.c (skip_chars): Handle negation correctly.
8405
8901d1ac
GM
84062000-09-27 Gerd Moellmann <gerd@gnu.org>
8407
6f22f1ad
GM
8408 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8409 with non-zero FORCE_P argument.
8410
52283633 8411 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8412 Add assertions.
8413
8414 * xdisp.c (window_box_height): Add an assertion.
8415
8416 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8417 tool-bar than is available.
8418 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8419
36f1966f
DL
84202000-09-27 Dave Love <fx@gnu.org>
8421
efffeeb4 8422 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8423
31d929e5
GM
84242000-09-26 Gerd Moellmann <gerd@gnu.org>
8425
c98863bf
GM
8426 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8427 instead of BITS_PER_INT.
8428 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8429 EMACS_UINT, respectively.
8430 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8431
8432 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8433
8434 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8435
77072ab1
GM
8436 * window.c (freeze_window_starts): Construct last argument for
8437 foreach_window differently.
8438
8439 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8440
8441 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8442 EMACS_UINT instead of `int' and `unsigned int'.
8443 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8444
8445 * frame.h (struct frame): Make the `nothing' member of union
8446 output_data an EMACS_INT.
8447
52283633 8448 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8449 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8450 size in the sdata structure.
8451 (SDATA_NBYTES, SDATA_DATA): New macros.
8452 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8453 differently for the different layout of the sdata structure.
8454 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8455 in sdata.
8456 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8457 Check that size recorded in the string size and size recorded in
8458 the sdata structure agree.
8459
3e60b029
DL
84602000-09-25 Dave Love <fx@gnu.org>
8461
8462 * buffer.c: Include stdio.h.
8463
8464 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8465
3e60b029
DL
8466 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8467
8468 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8469 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8470 (__malloc_extra_blocks): Declare as __malloc_size_t.
8471
8ff16b4e
GM
84722000-09-25 Gerd Moellmann <gerd@gnu.org>
8473
755a2ccd
GM
8474 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8475
d8b4516f
GM
8476 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8477 (read_char): If help-echo is showing, preserve the echo area
8478 when redisplaying.
8479
8480 * xdisp.c (help_echo_showing_p): New variable.
8481 (set_message): Reset it to 0.
8482 (init_xdisp): Initialize help_echo_showing_p.
8483
8484 * dispextern.h (help_echo_showing_p): Declare extern.
8485
8486 * config.in: Fix typo in __GNUC_MINOR__.
8487
8488 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8489
b11af2dd
GM
8490 * s/freebsd.h (POSIX_SIGNALS): Define.
8491
8ff16b4e
GM
8492 * xterm.c (x_clear_mouse_face): Block/unblock input.
8493
844eb643
DL
84942000-09-24 Dave Love <fx@gnu.org>
8495
8496 * fns.c (base64_encode_1): Fix last change.
8497
b30ab1b3
GM
84982000-09-22 Gerd Moellmann <gerd@gnu.org>
8499
8500 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8501
8502 * xdisp.c (try_window_reusing_current_matrix): More fixes
8503 for the case window has a header-line.
8504
c6cbe5f0
DL
85052000-09-22 Dave Love <fx@gnu.org>
8506
4c7c1f3f
DL
8507 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8508 a doc string.
8509
8510 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8511
c6cbe5f0
DL
8512 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8513
550a625e
GM
85142000-09-21 Gerd Moellmann <gerd@gnu.org>
8515
4c7c1f3f 8516 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8517 for GCC >= 2.5.
8518
52283633
SM
8519 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8520 Declare NO_RETURN.
fca99116 8521
80d26f99
GM
8522 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8523 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8524 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8525 warnings.
52283633 8526
80d26f99
GM
8527 * marker.c (byte_char_debug_check): Return void.
8528
623a0aae
GM
8529 * xfns.c (Fx_create_frame): Set default frame parameter value
8530 for tool-bar-lines to 1.
8531
8532 * dispnew.c (scrolling_window): Compare y-positions of rows
8533 equal at the start. Some simplification.
8534
8535 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8536 reused rows' y-position in the case window has a header-line, and
8537 new window start is greater than old window start.
8538
42ac0ae5
GM
8539 * process.c (process_sent_to): New variable.
8540 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8541 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8542 Declare more parameters volatile.
8543
550a625e
GM
8544 * lread.c (Vrecursive_load_depth_limit): New variable.
8545 (Fload): Check recursive loads whose recursion depth exceeds
8546 Vrecursive_load_depth_limit.
8547 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8548
8320414c
GM
85492000-09-20 Gerd Moellmann <gerd@gnu.org>
8550
f46c275e
GM
8551 * fileio.c (Fread_file_name): Doc fix.
8552
8553 * editfns.c (Fmessage_or_box): Doc fix.
8554
8555 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8556
b7e11c5b 8557 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8558
8320414c
GM
8559 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8560 symbols are specified, add color translations to the cache.
52283633 8561 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8562 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8563 xpm_cache_color.
8564 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8565 structures to xpm_init_color_cache.
8566
da1608d9
GM
85672000-09-19 Gerd Moellmann <gerd@gnu.org>
8568
52283633 8569 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8570
6badfa25
AI
85712000-09-19 Andrew Innes <andrewi@gnu.org>
8572
8573 * makefile.nt (bootstrap-emacs): Don't change directory.
8574
3a5f42bb
KH
85752000-09-19 Kenichi Handa <handa@etl.go.jp>
8576
1b7649bd
KH
8577 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8578
3a5f42bb
KH
8579 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8580 If output buffer is too small, signal an appropriated error.
8581
9f83cf0b
DL
85822000-09-18 Dave Love <fx@gnu.org>
8583
52283633 8584 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8585 (current_active_maps): Remove redundant get_local_map call.
8586
28c7826c
GM
85872000-09-18 Gerd Moellmann <gerd@gnu.org>
8588
5cefa566
GM
8589 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8590 cursor for buffers whose cursor_type is nil.
52283633 8591
6fed3546
GM
8592 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8593 a feature to implement that is already implemented.
8594 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8595 warnings.
8596
8597 * xfns.c (x_clear_image_1): New function.
8598 (x_clear_image): Use it.
52283633 8599 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8600
05b1f851
GM
8601 * dispnew.c (update_window): Move test for invisible lines
8602 at the top to update_window_line.
8603 (update_window_line): Handle invisible lines here.
8604
f4779de9
GM
8605 * xfns.c (clear_image_cache): Clear current matrices of all
8606 frames sharing an image cache. Block input while freeing
8607 images. Fix timestamp comparison.
8608 (x_clear_image): Also free the mask.
8609
28c7826c
GM
8610 * xfns.c (lookup_image): Block input while loading the image so
8611 that we won't get interrupted in a state where the image isn't yet
8612 set up completely.
8613 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8614 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8615 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8616 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8617
b7412313
GM
86182000-09-16 Gerd Moellmann <gerd@gnu.org>
8619
8620 * dispnew.c (update_window): Make sure to make desired rows
8621 current even if they are completely invisible at the top
8622 of a window.
8623
47e351a3
GM
86242000-09-15 Gerd Moellmann <gerd@gnu.org>
8625
7f8f1edc
GM
8626 * xfns.c (lookup_image): Build mask before applying an algorithm.
8627 Recognize algorithm `disabled'.
8628 (cross_disabled_images): New variable.
8629 (COLOR_INTENSITY): New macro.
8630 (x_detect_edges): Use COLOR_INTENSITY.
8631 (x_disable_image): New function.
8632 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8633
8634 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8635 disabled state, don't apply an image transformation algorithm if
8636 the user specified an image for the disabled state. Use
28c7826c 8637 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8638 user hasn't specified an image.
8639
ebb8f116
GM
8640 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8641 allocation functions with the XPM lib.
8642 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8643 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8644 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8645 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8646 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8647 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8648 functions, if possible, because these handle color allocation
8649 failure more gracefully.
8650 (Fimage_mask_p): New function.
8651
47e351a3
GM
8652 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8653 (Qedge_detection, Qheuristic): New symbols.
8654 (syms_of_xfns): Initialize new symbols.
8655 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8656 `algorithm (edge-detection ...)'.
8657 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8658 (tiff_format, gif_format, gs_format): Add `:mask'.
8659 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8660 (GIF_MASK, GS_MASK): New enumerators.
8661 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8662 (emboss_matrix, laplace_matrix): New variables.
8663 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8664 (x_edge_detection): New functions.
8665 (x_laplace): Rewritten in terms of x_detect_edges.
8666 (x_build_heuristic_mask): If image has a mask, free it.
8667
fe83b953
AI
86682000-09-14 Andrew Innes <andrewi@gnu.org>
8669
8670 * makefile.w32-in: Revert to Unix line endings.
8671
3021e816
AI
86722000-09-14 Andrew Innes <andrewi@gnu.org>
8673
8674 * makefile.w32-in: Standardize indentation somewhat.
8675 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8676 cater for differences between shells.
8677
8678 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8679
2a32b5ea
GM
86802000-09-14 Gerd Moellmann <gerd@gnu.org>
8681
8682 * xterm.c (x_produce_glyphs): If the distance from the current
8683 position to the next tab stop is less than a canonical character
8684 width, use the tab stop after that.
8685
b4331e96
DL
86862000-09-14 Dave Love <fx@gnu.org>
8687
8688 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8689
ef9e4345
GM
86902000-09-14 Gerd Moellmann <gerd@gnu.org>
8691
085536c2
GM
8692 * xdisp.c (handle_fontified_prop): While running fontification
8693 functions, bind `fontification-functions' and
8694 `after-change-functions' to nil.
8695
ef9e4345
GM
8696 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8697 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8698
8699 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8700
8701 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8702 USE_MMAP_FOR_BUFFERS.
8703
8704 * insdel.c (make_gap): Use enlarge_buffer_text.
8705
8706 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8707 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8708 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8709 from former r_alloc_* functions in ralloc.c.
52283633 8710 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8711 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8712 (mmap_init) [REL_ALLOC_MMAP]: New function.
8713 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8714 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8715 BUFFER_FREE.
8716
8717 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8718 (enlarge_buffer_text): Add prototype.
8719
8720 * ralloc.c: Remove everything having to do with the use of mmap.
8721
f8608968
GM
87222000-09-13 Gerd Moellmann <gerd@gnu.org>
8723
2a494b2d
GM
8724 * sound.c (Fplay_sound): Doc fix.
8725
8c907a56
GM
8726 * keyboard.c: Avoid some more compiler warnings.
8727 (parse_tool_bar_item): Ignore cached key bindings.
8728
f8608968
GM
8729 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8730 and allocation of Lisp data.
8731
6ab70e9a
GM
87322000-09-12 Gerd Moellmann <gerd@gnu.org>
8733
d12d0a9b
GM
8734 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8735 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8736 defaults first.
8737
6ab70e9a
GM
8738 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8739
63c36c3c
KH
87402000-09-12 Miyashita Hisashi <himi@meadowy.org>
8741
8742 * ccl.c: Comment fixed.
8743 (MAX_MAP_SET_LEVEL): Increased to 30.
8744 (PUSH_MAPPING_STACK): Enclose with do-while block.
8745 (POP_MAPPING_STACK): Likewise.
8746 (stack_idx_of_map_multiple): New variable.
8747 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8748 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8749 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8750 (ccl_driver) <CCL_MapSingle>: Likewise.
8751 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8752 with the case where looking up process reaches to the end of
8753 map-set, and call CCL programs as the above change.
8754
7ee3bd7b
GM
87552000-09-11 Gerd Moellmann <gerd@gnu.org>
8756
8ec8a5ec
GM
8757 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8758 that might be clobbered by longjmp.
8759 (check_x_display_info, x_decode_color, create_frame_xic)
8760 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8761 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8762
f74b0705
GM
8763 * lread.c (init_lread): Set Vloads_in_progress to nil.
8764 (Fload): Show list of recursively loaded files, when signaling an
8765 error.
8766
7ee3bd7b
GM
8767 * lread.c (Vloads_in_progress): New variable.
8768 (record_load_unwind): New function.
8769 (Fload): Check for recursive loads.
8770 (syms_of_lread): Initialize Vloads_in_progress.
8771 (read_integer, read1): Avoid some compiler warnings.
8772
8773 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8774 compiler warnings.
8775
974e1e5b
MB
87762000-09-11 Miles Bader <miles@gnu.org>
8777
8778 * editfns.c (Fbuffer_string): Doc fix.
8779
9824c4e3
GM
87802000-09-10 Gerd Moellmann <gerd@gnu.org>
8781
8782 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8783
6a72fdd1
KR
87842000-09-09 Ken Raeburn <raeburn@gnu.org>
8785
8786 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8787 whether to include other header files.
8788
28e6fb66
GM
87892000-09-09 Gerd Moellmann <gerd@gnu.org>
8790
52283633 8791 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8792 by Fmemq as a boolean.
28e6fb66 8793
7f8b6551
SM
87942000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8795
8796 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8797
a8710abf
GM
87982000-09-08 Gerd Moellmann <gerd@gnu.org>
8799
d1a02881
GM
8800 * ralloc.c (mmap_fd): Remove initializer which can make it
8801 read-only in a dumped Emacs.
8802 (mmap_fd_1): New variable.
8803 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8804 restore it from there.
8805 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8806 unconditionally so that mmap_fd can be initialized there.
8807 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8808 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8809 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8810
c454aac1
GM
8811 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8812
8813 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8814 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8815
fc653ef2
GM
8816 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8817
3015eec0
GM
8818 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8819 inheritance.
8820
bfe0ee88
GM
8821 * xdisp.c (try_window_id): When trying to locate cursor in
8822 unchanged rows at the top, handle the case that we can't find it.
8823
a8710abf
GM
8824 * xterm.c (x_draw_glyphs): Handle case START and END are out
8825 of bounds more carefully.
8826
6b7d4ae4
DL
88272000-09-08 Dave Love <fx@gnu.org>
8828
423193c5
DL
8829 * s/sol2.h (REL_ALLOC_MMAP): Define.
8830 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8831
8832 * ralloc.c: Don't include string.h (redundant).
8833 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8834 [!MAP_ANON]: Include fcntl.h.
8835 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8836 (r_alloc, r_re_alloc, r_alloc_free)
8837 (mmap_enlarge, mmap_set_vars): Use it.
8838 (r_alloc_init_fd): New function.
8839 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8840 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8841 malloc type.
8842
8843 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8844 Remove vm-limit.o.
8845
6b7d4ae4
DL
8846 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8847 change to __NetBSD__.
8848
44d31981
KH
88492000-09-08 Kenichi Handa <handa@etl.go.jp>
8850
8851 * search.c (compile_pattern): Check the multibyteness of cached
8852 string and PATTERN.
8853
aad40737
MB
88542000-09-08 Miles Bader <miles@gnu.org>
8855
8856 * xfaces.c (default_face_vector): Function removed.
8857 (Finternal_merge_in_global_face): Restore old global/local
8858 attribute override order. Use inline loop instead of calling
8859 default_face_vector.
8860
91a211b5
GM
88612000-09-07 Gerd Moellmann <gerd@gnu.org>
8862
8863 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8864 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8865 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8866 where necessary, in case POINTER_TYPE is `void'.
8867
03419440
EZ
88682000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8869
8870 * frame.c (make_terminal_frame): Initialize frame foreground and
8871 background colors to unspecified, for the initial instance of an
8872 MSDOS frame.
8873
f46f845b
GM
88742000-09-07 Gerd Moellmann <gerd@gnu.org>
8875
24f76fbf
GM
8876 * ralloc.c (mmap_find): Fix overlap computation.
8877 (mmap_enlarge): Compute nbytes before trying to find an
8878 overlapping region.
8879
f46f845b
GM
8880 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8881 instead of `!='.
8882
8883 * lread.c (syms_of_lread): Change value of regexp
8884 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8885
8886 * xmenu.c (xdialog_show): When looking up the selection in
8887 menu_items, take `quote' boundaries into account; this corresponds
8888 to a nil ITEM in x-popup-dialog.
8889
3c014385
KH
88902000-09-07 Kenichi Handa <handa@etl.go.jp>
8891
fd6f711b
KH
8892 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8893 not 0x81.
8894 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8895
3c014385 8896 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8897 encoding, not decoding. Fix the handling of latin-jisx0201.
8898 Check for the charset katakana-jisx0201 too.
3c014385 8899 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8900 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8901
0da3ecef
GM
89022000-09-07 Gerd Moellmann <gerd@gnu.org>
8903
ab0ee409
GM
8904 * xfaces.c (Vparam_value_alist): New variable.
8905 (syms_of_xfaces): Initialize it.
8906 (Finternal_set_lisp_face_attribute): Avoid more consing.
8907
8908 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8909 specially.
8910 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8911 (Qbackground_mode): New variable.
8912 (syms_of_frame_1): Initialize Qbackground_mode.
8913
8914 * lisp.h (Qdisplay): Declare extern.
1091dd67 8915
0da3ecef
GM
8916 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8917 change face on all frames, and change the default for new frames.
8918
b14654b9
DL
89192000-09-07 Dave Love <fx@gnu.org>
8920
8921 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8922
d24fd56f
KH
89232000-09-07 Kenichi Handa <handa@etl.go.jp>
8924
794f3670
KH
8925 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8926
0fddd0dc
KH
8927 * charset.c: Include composite.h
8928 (lisp_string_width): New function.
8929 (Fstring_width): Call lisp_string_width instead of strwidth.
8930
8931 * Makefile.in (charset.o): Depends on composite.h.
8932
d24fd56f
KH
8933 * process.c (read_process_output): Before inserting the decoded
8934 text in the buffer, adjust the multibyteness.
8935
fa0b693c
GM
89362000-09-06 Gerd Moellmann <gerd@gnu.org>
8937
52283633 8938 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8939 buffer's text buffer is null, map new memory.
8940
0a58f946
GM
8941 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8942 POINTER_TYPE and size_t.
8943 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8944 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8945 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8946 [REL_ALLOC_MMAP]: New macros.
8947 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8948 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8949 [REL_ALLOC_MMAP]: New functions.
8950
8951 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8952 before and after unexec.
8953
8954 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8955 text buffers if necessary.
8956
8957 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8958 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8959 in prototypes.
8960
fa0b693c
GM
8961 * config.in (HAVE_MMAP): Add #undef.
8962
877055f6
GM
89632000-09-05 Gerd Moellmann <gerd@gnu.org>
8964
08ba3862
GM
8965 * frame.c (Qdisplay_type): New variable.
8966 (syms_of_frame_1): Initialize it.
8967 (Fframe_parameter): New function that avoids consing.
8968 (syms_of_frame): Defsubr it.
8969
66ffe51c
GM
8970 * buffer.c (Fother_buffer): Consider buffers as invisible when
8971 they are displayed in a window on an invisible frame.
8972
877055f6
GM
8973 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8974 get-largest-window always return nil.
8975
bb970e67
GM
89762000-09-04 Gerd Moellmann <gerd@gnu.org>
8977
8978 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8979 variable; recognize Emacs 19 elc files.
8980
7a3d0e0e
MB
89812000-09-04 Miles Bader <miles@gnu.org>
8982
8983 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8984 before initially popping up the menu, so the menu doesn't flash
52283633 8985 when the face settings are significantly different from the defaults.
7a3d0e0e 8986
14473664
SM
89872000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8988
8989 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8990 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8991 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8992 (BIT_UNIBYTE): Remove.
8993 (re_match_2_internal): Delete corresponding code and streamline the
8994 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8995 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8996 (re_wctype_t): New type.
8997 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8998 (regex_compile): Use them and fix handling of overly long char classes.
8999
c1174479
AI
90002000-09-03 Andrew Innes <andrewi@gnu.org>
9001
f8803e97
AI
9002 * makefile.w32-in: Change to DOS line endings.
9003
c1174479
AI
9004 * s/ms-w32.h (ORDINARY_LINK): New define.
9005
9006 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9007 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9008
9009 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9010 (distclean): Delete them here instead.
9011
44ef7cf6
AI
9012 * w32proc.c (compare_env): Convert to uppercase for comparison,
9013 not lowercase, to match how the native Windows shell works.
9014
49b3bd82
JR
90152000-09-03 Jason Rumney <jasonr@gnu.org>
9016
9017 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9018 CVS changes the line-ends when checking in/out on DOS/Windows.
9019
9020 * makefile.nt (emacs): Do not change directory to run temacs, as
9021 the load-path is set relative to current directory.
9022
a3d35a39
MB
90232000-09-03 Miles Bader <miles@gnu.org>
9024
9025 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9026
d276b0cf
GM
90272000-09-02 Gerd Moellmann <gerd@gnu.org>
9028
715e84c9
GM
9029 * xdisp.c (redisplay_mode_lines): New function.
9030 (display_mode_lines): Return number of mode lines displayed.
9031 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9032 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9033
8892f40b
GM
9034 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9035 string.h and strings.h.
9036 (index) [HAVE_INDEX]: Add prototype.
9037
d276b0cf
GM
9038 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9039 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9040
9041 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9042 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9043
38404229
GM
90442000-09-01 Gerd Moellmann <gerd@gnu.org>
9045
9046 * lread.c (read1): Accept `?' as symbol constituent, for
9047 compatiblity with XEmacs.
9048
c0f9ea08
SM
90492000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9050
9051 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9052 (struct re_pattern_buffer): Remove newline_anchor.
9053 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9054 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9055 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9056 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9057 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9058 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9059 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9060 Get rid of references to newline_anchor.
9061 (regcomp): Allocate and precompute a fastmap.
9062
8c0f83fe
GM
90632000-08-31 Gerd Moellmann <gerd@gnu.org>
9064
9065 * lread.c (openp): GCPRO local variable `filename'.
9066
4bb91c68
SM
90672000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9068
9069 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9070
9071 * regex.c: Merge some changes from GNU libc. Add prototypes.
9072 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9073 Use memcmp and memcpy instead of bcopy and bcmp.
9074 (init_syntax_once): Use ISALNUM.
9075 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9076 (REG_UNSET_VALUE): Remove. Use NULL instead.
9077 (REG_UNSET, re_match_2_internal): Use NULL.
9078 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9079 New macros.
9080 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9081 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9082 (regex_compile): In handle_interval, return an error rather than try to
9083 unfetch the interval if we can't find the closing brace.
9084 Obey the RE_NO_GNU_OPS syntax bit.
9085 (TOLOWER): New macro.
9086 (regcomp): Use it.
9087 (regexec): Allocate regs.start and regs.end as one block.
9088
5226a931
GM
90892000-08-30 Gerd Moellmann <gerd@gnu.org>
9090
868dd24b
GM
9091 * xdisp.c (echo_area_display): Check display_completed instead
9092 of calling detect_input_pending.
9093
9094 * dispnew.c (update_frame): Only set display_completed here; move
9095 the update_begin and update_end calls here from update_frame_1.
9096 (update_frame_1): Don't set display_completed here, don't call
9097 update_begin/update_end.
9098
5226a931
GM
9099 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9100 instead of store_frame_param.
9101
2a8bd25f
GM
91022000-08-29 Gerd Moellmann <gerd@gnu.org>
9103
9104 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9105 desired window matrix hasn't been displayed, use the current row
9106 instead. Make sure that only those frame rows are updated for
9107 which there exists a corresponding enabled desired row.
52283633 9108
ba3478d9
MB
91092000-08-29 Miles Bader <miles@gnu.org>
9110
9111 * xfaces.c (default_face_vector): New function.
9112 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9113
87d0f685
GM
91142000-08-29 Gerd Moellmann <gerd@gnu.org>
9115
9116 * lread.c (openp): Prevent temporary string passed to
9117 Ffile_readable_p from being garbage collected.
9118
6fa86045
DL
91192000-08-28 Dave Love <fx@gnu.org>
9120
9121 * keymap.c (store_in_keymap): Add `static' to declaration.
9122
bb17930d
GM
91232000-08-28 Gerd Moellmann <gerd@gnu.org>
9124
9125 * emacs.c, callint.c, doc.c, editfns.c
9126 (toplevel) [HAVE_STRING_H]: Include string.h.
9127 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9128 (index): Remove prototypes which might conflict with non-standard
9129 definitions of index/strchr.
9130
9131 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9132 (rindex): Define only if !HAVE_RINDEX.
9133
9134 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9135
9136 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9137
87188200
MB
91382000-08-28 Miles Bader <miles@gnu.org>
9139
9140 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9141 made inconsistent by a font-related attribute in FROM.
9142 (merge_face_inheritance): Add function comment.
9143
41a68aef
KH
91442000-08-28 Kenichi Handa <handa@etl.go.jp>
9145
9146 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9147 the 4th arg (PREV_EVENT) Qt to suppress input method.
9148
f7c436c1
SM
91492000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9150
0b32bf0e
SM
9151 * regex.c: Indent cpp directives and remove parens after `defined'.
9152 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9153 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9154 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9155 (re_compile_pattern): Use size_t for length.
9156 (init_syntax_once): Move to a better place.
9157 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9158 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9159
f7c436c1
SM
9160 * syntax.c (back_comment): Detect cases where a comment-starter is
9161 actually inside another comment as in: /* a // b */ c // d \n.
9162 Make it clear that `comstart_pos' is unused for nested comments.
9163
9164 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9165 (KEYMAPP): New macro.
9166 (Fkeymap_parent, Fset_keymap_parent): Use it.
9167 (fix_submap_inheritance): Mark it static.
9168 (define_as_prefix, describe_buffer_bindings, describe_command)
9169 (describe_translation, describe_map): Complete prototypes.
9170
9171 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9172
9173 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9174 to better match the key-lookup behavior.
9175
6288c62f
GM
91762000-08-27 Gerd Moellmann <gerd@gnu.org>
9177
9178 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9179 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9180
e931344e
EZ
91812000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9182
9183 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9184 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9185 (xterm.o): Depend on coding.h
9186
d10dfeef
KH
91872000-08-26 Kenichi Handa <handa@etl.go.jp>
9188
9189 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9190 the corresponding '#endif'.
9191
2d73e8d3
MB
91922000-08-26 Miles Bader <miles@gnu.org>
9193
9194 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9195 * xfaces.c (QCinherit): New variable.
9196 (syms_of_xfaces): Initialize it.
9197 (LFACE_INHERIT): New macro.
9198 (Finternal_get_lisp_face_attribute)
52283633 9199 (merge_face_vector_with_property)
2d73e8d3
MB
9200 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9201 (check_lface_attrs): Allow new types of face height. Check
9202 inherit attribute.
9203 (CYCLE_CHECK): New macro.
9204 (merge_face_inheritance): New function.
9205 (merge_face_vectors): Merge inherited faces too. Add F and
9206 CYCLE_CHECK arguments.
9207 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9208 (lookup_named_face, lookup_derived_face, realize_named_face)
9209 (face_at_string_position, face_at_buffer_position): Supply
9210 new F and CYCLE_CHECK arguments to merge_face_vectors.
9211 (merge_face_heights): New function.
52283633 9212 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9213 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9214 handle relative face heights.
9215 (lface_same_font_attributes_p): Compare heights using EQ.
9216
6ce974d4
KH
92172000-08-26 Kenichi Handa <handa@etl.go.jp>
9218
9219 * charset.c (char_to_string): Check the character validity.
52283633 9220 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9221
dc1e502d
SM
92222000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9223
9224 * regex.c (PUSH_FAILURE_COUNT): New macro.
9225 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9226 Handle popping of a register's or a counter's data.
9227 (POP_FAILURE_POINT): Use the new name.
9228 (re_match_2_internal): Push counter data on the stack for succeed_n,
9229 jump_n and set_number_at and remove misleading dead code in succeed_n.
9230
bd9d0f3f
GM
92312000-08-25 Gerd Moellmann <gerd@gnu.org>
9232
9233 * xdisp.c (redisplay_internal): If considering all windows on all
9234 frames, update the display for each frame as soon as possible,
9235 instead of first building all desired matrices for all frames, and
9236 then updating them all.
9237 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9238
aa5b8e15
GM
92392000-08-24 Gerd Moellmann <gerd@gnu.org>
9240
17494071
GM
9241 * bytecode.c (mark_byte_stack): Add a comment.
9242
52283633
SM
9243 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9244 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9245 a graphical frame.
9246
c543db81
KH
92472000-08-24 Kenichi Handa <handa@etl.go.jp>
9248
d246d5f5
KH
9249 * minibuf.c (do_completion): Always use compare-string, not
9250 string-equal because the latter doesn't pay attention to
9251 multibyteness of strings.
9252
c543db81
KH
9253 * process.c (create_process): Don't setup raw-text coding here.
9254 (Fopen_network_stream): Don't set coding->src_multibyte and
9255 coding->dst_multibyte here.
9256 (read_process_output): For process filter, return unibyte string
9257 if default-enable-multibyte-characters is nil.
9258 (send_process): If OBJECT is multibyte text, be sure to encoded it
9259 by the specified coding system for the process. Otherwise, setup
9260 raw-text coding.
52283633 9261 (init_process): Don't initialize default-process-coding-system here.
c543db81 9262
9b47cfe0
EZ
92632000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9264
9265 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9266 <scroll-down-aggressively>: Likewise.
9267
f5a36960
KH
92682000-08-23 Kenichi Handa <handa@etl.go.jp>
9269
9270 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9271 zero. Set coding->produced_char correctly.
9272
69a7ffa7
AI
92732000-08-22 Andrew Innes <andrewi@gnu.org>
9274
9275 * makefile.w32-in: New file.
9276
9277 * unexw32.c (unexec): Ignore old_name, and use the actual location
9278 of the current executable instead. Base new_name on this.
9279
9280 * w32proc.c (create_child): Remove reference to security
9281 descriptor, which isn't needed and doesn't compile with mingw32.
9282
9283 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9284 up dllimport attributes.
9285 (x_update_window_end): Update prototype.
9286
9287 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9288 extern, which screws up dllimport attributes.
9289
9290 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9291 up dllimport attributes.
9292
9293 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9294 screws up dllimport attributes.
9295
9296 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9297 up dllimport attributes.
9298 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9299 screws up dllimport attributes.
9300
9301 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9302 up dllimport attributes.
9303
9304 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9305 screws up dllimport attributes.
9306
9307 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9308 screws up dllimport attributes.
9309
9310 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9311 up dllimport attributes.
9312
9313 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9314 unnecessary extern, which screws up dllimport attributes.
9315 (main): Ditto.
9316
9317 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9318 up dllimport attributes.
9319
9320 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9321 unnecessary extern, which screws up dllimport attributes.
9322
9323 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9324 screws up dllimport attributes.
9325
9326 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9327 up dllimport attributes.
9328
9329 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9330
52283633
SM
9331 * w32bdf.c (search_file_line):
9332 (set_bdf_font_info):
9333 (seek_char):
9334 (w32_get_bdf_glyph):
69a7ffa7
AI
9335 (w32_BDF_to_x_font): Fix compile warnings.
9336
52283633 9337 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9338
9339 * w32select.c: Include keyboard.h before frame.h.
9340
9341 * w32fns.c (max): Define macro.
9342 (JOHAB_CHARSET): Define if not known.
9343 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9344 (Fx_show_tip): Synch with X version.
9345
9346 * w32xfns.c: Include keyboard.h before frame.h.
9347
9348 * w32fns.c: Include keyboard.h before frame.h.
9349
9350 * w32term.c: Include keyboard.h before frame.h.
9351
9352 * fontset.c: Include keyboard.h before frame.h.
9353
9354 * w32inevt.c: Include keyboard.h before frame.h.
9355 (MOUSE_MOVED): Define if not known.
9356
9357 * minibuf.c: Include keyboard.h before frame.h.
9358
9359 * keyboard.c: Include keyboard.h before frame.h.
9360
9361 * indent.c: Include keyboard.h before frame.h.
9362
9363 * dispnew.c: Include keyboard.h before frame.h.
9364
9365 * buffer.c: Include keyboard.h before frame.h.
9366
9367 * alloc.c: Include keyboard.h before frame.h.
9368
9369 * print.c: Include keyboard.h before frame.h.
9370
9371 * process.c: Include keyboard.h before frame.h.
9372
9373 * scroll.c: Include keyboard.h before frame.h.
9374
9375 * sysdep.c: Include keyboard.h before frame.h.
9376
9377 * term.c: Include keyboard.h before frame.h.
9378
9379 * window.c: Include keyboard.h before frame.h.
9380
9381 * xdisp.c: Include keyboard.h before frame.h.
9382 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9383
9384 * frame.c: Include keyboard.h before frame.h.
9385
9386 * w32heap.h: Undefine min, max.
9387
9388 * w32gui.h: Undefine min, max.
9389
9390 * unexw32.c: Change PUCHAR to PCHAR.
9391 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9392 (relocate_offset):
9393 (get_section_info):
69a7ffa7
AI
9394 (copy_executable_and_dump_data): Remove unnecessary static defs.
9395 (copy_executable_and_dump_data): Fix compile warnings.
9396
9397 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9398
9399 * w32console.c (min): Define macro.
9400 (clear_frame, write_glyphs): Fix compile warning.
9401
52283633 9402 * w32proc.c (compare_env):
69a7ffa7
AI
9403 (find_child_console): Fix compile warning.
9404
9405 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9406 sys_errlist instead of _sys_errlist.
9407 (get_emacs_configuration_options): New function.
9408
9409 * s/ms-w32.h (sys_nerr): Provide default definition.
9410 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9411 name with _ prepended.
9412 (NSIG): Define if not known.
9413 (get_emacs_configuration): Provide extern declaration.
9414 (get_emacs_configuration_options): Provide extern declaration.
9415 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9416
9417 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9418 (map_w32_filename):
69a7ffa7
AI
9419 (read_unc_volume): Fix compile warning.
9420
9421 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9422 definitions from being used.
9423
9424 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9425
52283633 9426 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9427 (open_unc_volume): Make arg const.
9428
9429 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9430 (read_input_waiting): Remove excess parameter.
9431
9432 * w32.c (init_environment): Call _access.
9433 (check_windows_init_file): Call _close.
9434 (init_user_info): Call _putenv.
9435 (init_environment): Call _putenv and _strdup.
9436 (init_ntproc): Reset volume info cache on startup.
9437
9438 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9439 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9440 cannot override the CRT malloc.
9441
9442 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9443 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9444
9445 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9446 unless we are linking with a static CRT.
9447 (RVA_TO_PTR): Cast result to unsigned char*.
9448
9449 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9450 (add_volume_info): Use xstrdup.
9451
25060080
SM
94522000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9453
9454 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9455 (do_completion, Fminibuffer_complete_word): Use it.
9456 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9457 var so it can take non-boolean values.
9458
6917e6bb
GM
94592000-08-21 Gerd Moellmann <gerd@gnu.org>
9460
acb7cc89 9461 * editfns.c (find_field): Formatting changes.
52283633 9462 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9463 changed to prototypes, some new protypes added, some functions
9464 made static.
9465
9466 * lisp.h (set_time_zone_rule): Add prototype.
9467 (use_dialog_box): External declaration.
9468
0bbfdc25
GM
9469 * keyboard.c (gen_help_event): Add parameter SIZE.
9470 (kbd_buffer_events_waiting): Slightly rewritten.
9471 (clear_event): New function.
9472 (kbd_buffer_get_event): Use it, and clear the input_events of
9473 HELP_EVENTs.
9474 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9475 don't fill the newly created array with nils.
9476 (toplevel): Convert some old-style function forward declarations
9477 to prototypes.
9478
9479 * keyboard.h (gen_help_event): Change prototype.
9480
9481 * xterm.c (XTread_socket): Change calls to gen_help_event.
9482
9483 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9484
6917e6bb
GM
9485 * eval.c (Fmacroexpand): Doc fix.
9486
e5cd3d11
JR
94872000-08-20 Jason Rumney <jasonr@gnu.org>
9488
9489 * w32term.h (x_display_info_for_display): Remove as this function
9490 does not exist on W32.
9491
9492 * w32term.c (help_echo_window): New variable.
9493 (syms_of_w32term): staticpro it.
9494 (note_mode_line_highlight): Set it.
9495 (XTextExtents16): Removed as there is no equivalent on W32.
9496 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9497 the X way of doing this will not work for W32.
9498 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9499 (x_draw_image_foreground): Avoid drawing outside of the clip area
9500 when image doesn't have a mask.
9501 (note_mouse_highlight): Process overlays in the right order of
9502 priority. Set help_echo_window.
9503 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9504 because that's more visible for large images.
9505
9506 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9507 name to single_keymap_panes.
9508 (w32_menu_show): Set wv->title when dealing with titles.
9509 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9510
6e69ab8c
MB
95112000-08-21 Miles Bader <miles@gnu.org>
9512
9513 * minibuf.c (do_completion): Try again if we rewrite the input
9514 string, but no completion was done, so that any completion message
9515 will be correct.
9516
511bd4eb
GM
95172000-08-20 Gerd Moellmann <gerd@gnu.org>
9518
9519 * xfaces.c (lface_equal_p): Compare strings differently.
9520 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9521 (realize_tty_face): Use them.
9522 (syms_of_xfaces): Initialize new variables.
9523 (map_tty_color): New function, extracted from realize_tty_face.
9524 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9525 foreground or background color, store the new color name in the
9526 realized face; previous code trying to do this had no effect.
9527 (realize_tty_face): Use map_tty_color.
9528 (Fclear_face_cache): Set face_change_count and ensure thorough
9529 redisplay.
9530
1433385f
GM
95312000-08-19 Gerd Moellmann <gerd@gnu.org>
9532
511bd4eb
GM
9533 * undo.c (record_first_change, record_marker_adjustment): Don't
9534 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9535
419ac0a2
KH
95362000-08-18 Kenichi Handa <handa@etl.go.jp>
9537
9538 * coding.c (decode_coding_string): Set members consumed,
9539 consumed_char, produced, produced_char of *coding correctly. If
9540 decode_coding doesn't consume any byte, don't try anymore.
9541 (encode_coding_string): Likewise.
9542
7eb9e30d
GM
95432000-08-18 Gerd Moellmann <gerd@gnu.org>
9544
511bd4eb
GM
9545 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9546 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9547
9548 * xdisp.c (redisplay_internal): Compare windows for equality with
9549 EQ, instead of applying XWINDOW to something that might not
9550 be a window.
52283633 9551
dd34a735
KH
95522000-08-18 Kenichi Handa <handa@etl.go.jp>
9553
9554 * fontset.c (Finternal_char_font): Search only the selected frame
9555 for a window of the current buffer.
9556
385ff9e3
GM
95572000-08-18 Gerd Moellmann <gerd@gnu.org>
9558
511bd4eb 9559 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9560 Lisp_Objects.
9561
385ff9e3
GM
9562 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9563 second half of a HELP_EVENT is found at the start of kbd_buffer.
9564
d6abb4c7
MB
95652000-08-18 Miles Bader <miles@gnu.org>
9566
4618074a
MB
9567 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9568
d6abb4c7
MB
9569 * editfns.c (save_restriction_save): Rewrite to use markers.
9570 (save_restriction_restore): Rewrite to understand new form of data
9571 saved by save_restriction_save.
9572 (Fsave_restriction): Remove cautionary note in doc-string.
9573
a7b28523
GM
95742000-08-17 Gerd Moellmann <gerd@gnu.org>
9575
9576 * fileio.c (build_annotations): Add a comment explaining the
9577 return value of format-annotate-function. Replace a spurious call
9578 to Flength with a CONSP test. Call format-annotate-function with
9579 a fifth arg specifying how many times the function is been called
9580 in a row, to let it choose temporary buffers appropriately.
9581
03c9ed77
DL
95822000-08-17 Dave Love <fx@gnu.org>
9583
9584 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9585 declare make_temp_name twice.
9586
52283633 9587 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9588 (unreadpure): Give it an arg.
9589
9590 * unexalpha.c: Prototype fatal_unexec, mark_x,
9591 update_dynamic_symbols. Declare unexec as void.
9592
9593 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9594 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9595
9596 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9597 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9598
9599 * alloca.c: Use #error.
9600 [POINTER_TYPE]: Use it.
9601
9602 * eval.c (Fdefvar): Doc fix.
9603
9604 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9605 INITIALIZE_INTERVAL.
9606
9607 * buffer.h: Avoid DECLARE_INTERVALS.
9608
9609 * config.in: Add size_t.
9610
aae41d97
EZ
96112000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9612
9613 * w16select.c (set_clipboard_data): If there's not enough memory
9614 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9615 expects. In case of other failures, return 3.
9616 (system_error_msg): New error message.
9617 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9618 system_error_msg.
9619
65aa5e85
GM
96202000-08-16 Gerd Moellmann <gerd@gnu.org>
9621
9622 * term.c (write_glyphs): Also turn off inverse video after turning
9623 off other appearances in case TS_exit_attribute_mode is not equal
9624 to TS_end_standout_mode.
9625 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9626 with the same face.
9627 (turn_off_face): Reset standout_mode only if
9628 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9629 is equal to TS_end_standout_mode.
9630
ece23901
KH
96312000-08-16 Kenichi Handa <handa@etl.go.jp>
9632
9d7bcb2e
KH
9633 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9634 sequence at the end of the source block.
9635
ece23901
KH
9636 * ccl.c (Fccl_program_p): Docstring modified.
9637 (Fccl_execute): Likewise.
9638 (Fccl_execute_on_string): Likewise.
9639
5e30eaa2
EZ
96402000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9641
9642 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9643
290602fd
KH
96442000-08-16 Kenichi Handa <handa@etl.go.jp>
9645
9646 The following changes are mainly to fix bugs of
9647 encode/decode-coding-string failing if encoding/decoding return
9648 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9649 variable conversion_buffer.
9650
9651 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9652 decrement dst_end to avoid buffer overflow in the later call of
9653 string_as_multibyte
9654
9655 * coding.h (conversion_buffer_size, conversion_buffer)
9656 (get_conversion_buffer): Extern deleted.
9657
9658 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9659 (conversion_buffer, conversion_buffer_size): Variables deleted.
9660 (get_conversion_buffer): Function deleted.
9661 (struct conversion_buffer): New structure.
9662 (MAX_ALLOCA): New macro.
9663 (allocate_conversion_buffer): New macro.
9664 (extend_conversion_buffer, free_conversion_buffer): New functions.
9665 (ccl_coding_driver): Set coding->result.
9666 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9667 this is the last block of source.
9668 (encode_coding): Likewise. Handle the source block as the last
9669 one only when the whole source text is consumed.
9670 (decode_coding_string): Handle the case that the output buffer is
9671 too small to decode the whole source text. Use
9672 allocate_conversion_buffer, extend_conversion_buffer and
9673 free_conversion_buffer, not get_conversion_buffer.
9674 (encode_coding_string): Likewise.
9675 (init_coding): Function deleted.
52283633 9676 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9677
9678 * emacs.c (main): Don't call init_coding.
9679
52283633 9680 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9681
9682 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9683 (insert_glyphs): Likewise.
9684
9685 * w32console.c (write_glyphs): Use a locally declared
9686 conversion_buffer.
9687
b9f80d41
EZ
96882000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9689
9690 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9691 member of display_info is NULL.
9692
32dc52f7
GM
96932000-08-15 Gerd Moellmann <gerd@gnu.org>
9694
52283633 9695 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9696
32dc52f7 9697 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9698 appearances with capability `me'.
32dc52f7
GM
9699 (write_glyphs): Switch on inverse video before each face change.
9700
4eb22d33
DL
97012000-08-14 Dave Love <fx@gnu.org>
9702
9703 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9704 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9705 (lisp_free): Declare and make static.
9706
9707 * window.c: Fix embedded comment.
9708 (syms_of_window): Fix doc string.
9709
90cbf47e
GM
97102000-08-14 Gerd Moellmann <gerd@gnu.org>
9711
52283633 9712 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9713 make sure to print `C-' before `M-', like in the manual.
9714
440fc135
GM
97152000-08-11 Gerd Moellmann <gerd@gnu.org>
9716
9717 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9718 since they aren't relocated anymore.
52283633 9719 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9720
9721 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9722 partially visible line which is smaller than the window's height.
440fc135 9723
6e264fad
KH
97242000-08-11 Kenichi Handa <handa@etl.go.jp>
9725
9726 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9727 the multibyte form of eight-bit-control characters.
6e264fad
KH
9728 (Fccl_execute_on_string): Initialize ccl->multibyte.
9729
9730 * ccl.h (struct ccl_program): New member multibyte.
9731
9732 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9733
c371f69a
KH
97342000-08-11 Kenichi Handa <handa@etl.go.jp>
9735
9736 * regex.c (regex_compile) <normal_char>: Pay attention to
9737 multibyteness.
9738 (analyse_first) <exactn>: Setup fastmap correctly for
9739 eight-bit-control characters.
9740
97412000-08-11 Kenichi Handa <handa@etl.go.jp>
9742
52283633 9743 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9744
9745 * keyboard.c (make_lispy_event): Handle the new event type
9746 multibyte_char_keystroke.
9747
9748 * xterm.c: Include coding.h.
9749 (XTread_socket): Work around a bug of XmbLookupString. If the
9750 input is from XIM, decode it according to the current locale. In
9751 that case, generate multibyte_char_keystroke events.
9752
b8ddbe71
KH
97532000-08-11 Kenichi Handa <handa@etl.go.jp>
9754
9755 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9756 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9757
47589c8c
GM
97582000-08-10 Gerd Moellmann <gerd@gnu.org>
9759
9760 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9761 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9762 (move_it_in_display_line_to): Record iterator's ascent and descent
9763 before producing glyphs, and restore them when we know the glyph
9764 doesn't fit on the line.
9765 (move_it_to): Restructured so that it's easier to debug. If
9766 moving to a vpos, and not moving to an x or character position,
9767 stop as soon as the specified vpos is reached; don't move further
9768 into that line because that might change the computed line height.
9769 (try_cursor_movement): New function, extracted from the cursor
9770 movement branch of redisplay_window. If ending on a partially
9771 visible line, don't try to scroll if the cursor line is taller
9772 than the window.
9773 (redisplay_window): Use try_cursor_movement.
9774
9775 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9776 because that function doesn't cope with variable-height lines.
9777
9778 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9779 box cursor because that's better visible for large images.
52283633 9780
c51bacd6
MB
97812000-08-10 Miles Bader <miles@gnu.org>
9782
9783 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9784
bea56df7
GM
97852000-08-10 Gerd Moellmann <gerd@gnu.org>
9786
9787 * xdisp.c (Vmessages_buffer_name): New variable.
9788 (message_dolog): Use it.
9789 (syms_of_xdisp): Initialize it.
9790
99cd7364
EZ
97912000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9792
52283633 9793 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9794 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9795 redundant now that keyboard.h is included.
9796
7d093d56
EZ
97972000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9798
9799 * keyboard.c (kbd_buffer_events_waiting): New function.
9800
9801 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9802
9803 * msdos.c: Include keyboard.h.
9804 (XMenuActivate): Empty no_event events from the event buffer. If
9805 no events are left after that, call clear_input_pending.
9806 (mouse_clear_clicks): New function, code moved from mouse_init.
9807 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9808 mouse driver to ``forget'' any past clicks.
9809
9810 * Makefile.in (msdos.o): Depend on keyboard.h.
9811
41e757a6
GM
98122000-08-09 Gerd Moellmann <gerd@gnu.org>
9813
8e7bd231
GM
9814 * lisp.h (input_pending): External declaration.
9815
9816 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9817
8e7bd231
GM
9818 * xdisp.c (echo_area_display): Display thoroughly if input is
9819 pending. Bind redisplay-dont-pause to t during the redisplay.
9820 in case input is pending.
9821
9822 * dispnew.c (Qredisplay_dont_pause): New variable.
9823 (syms_of_display): Initialize and staticpro it.
9824 (update_frame_1): Don't interrupt the display for pending input if
9825 redisplay_dont_pause is set.
52283633 9826
43028b7e
GM
9827 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9828
41e757a6
GM
9829 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9830
2f2174fa
KH
98312000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9832
9833 * callproc.c (Fcall_process): Terminate the unwind-protect around
9834 the post-read-conversion of coding system.
9835
0a6fd67e
MB
9836 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9837 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9838 * buffer.h (overlays_at): Update prototype.
9839 * xdisp.c (next_overlay_change): Update call to overlays_at.
9840 * xfaces.c (face_at_buffer_position): Likewise.
9841 * textprop.c (Fget_char_property): Likewise.
9842 * xterm.c (note_mouse_highlight): Likewise.
9843
0c80756e
MB
9844 * minibuf.c (do_completion): Don't consider a simple change of
9845 case as `completion'.
9846
975f250a
KR
98472000-08-08 Ken Raeburn <raeburn@gnu.org>
9848
52283633 9849 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9850 * undo.c (record_delete): Make sure last_point_position_buffer is
9851 a buffer before comparing pointers.
9852
9853 * coding.h (decode_coding_string): Declare.
9854
9855 * intervals.h (Fprevious_single_char_property_change): Declare.
9856
9857 * textprop.c (Fprevious_single_char_property_change): Don't do
9858 arithmetic directly on lisp objects.
9859
52283633 9860 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9861
9862 * keyboard.h (menu_item_eval_property): Declare.
9863
9864 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9865 reuse as buffer name, instead of recreating (and discarding) every
9866 time a message is logged.
9867 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9868 (current_message_1, truncate_message_1, set_message_1)
9869 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9870 (current_message, truncate_echo_area, display_echo_area)
9871 (resize_echo_area_axactly): Changed calls.
b347b3fd 9872
975f250a 9873 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9874 Lisp object.
975f250a 9875 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9876 must be an integer, not a Lisp object.
975f250a 9877
46dc9912
KH
98782000-08-08 Kenichi Handa <handa@etl.go.jp>
9879
9880 * charset.c (Fchar_width): Doc fix.
9881
9f6d1a6c
GM
98822000-08-08 Gerd Moellmann <gerd@gnu.org>
9883
9884 * charset.c (Fstring_width): Doc fix.
9885
ff3d9573
GM
98862000-08-07 Gerd Moellmann <gerd@gnu.org>
9887
41e757a6 9888 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9889 line, clear ascent and descent members of the iterator structure;
9890 the height of the continued line does not affect the height of the
9891 continuation line.
9892 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9893 line taller than the window.
9894 (redisplay_window) <forced window start>: Handle case that the
9895 middle of the window is not found in any row.
9896 (dump_glyph_row): Show more information.
9897 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9898 first text line in a glyph matrix.
9899
9900 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9901 of the clip area when image doesn't have a mask.
9902
70fc58b3
GM
9903 * fns.c (sweep_weak_table): Fix survival conditions for
9904 key-or-value and key-and-value weakness.
9905
9906 * .gdbinit (xhashtable): New command.
9907
ac0e96ee
GM
9908 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9909 tables out of the list of all weak hash tables.
9910
ff3d9573
GM
9911 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9912 a new buffer is created, make sure echo_area_buffer[] references
9913 the new buffer.
9914
e0d8827b
EZ
99152000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9916
9917 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9918 the doc string.
9919
c6f35378
KH
99202000-08-07 Kenichi Handa <handa@etl.go.jp>
9921
9922 * syntax.c (skip_chars): Fix previous change. Make the handling
9923 of unibyte string consistent with that of regex search.
9924
1fd4c450
GM
99252000-08-05 Gerd Moellmann <gerd@gnu.org>
9926
e49aa397
GM
9927 * xmenu.c (popup_get_selection): Use xfree instead of free.
9928
9929 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9930
9931 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9932
9933 * callproc.c (child_setup): Use xfree instead of free.
9934
9935 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9936 instead of malloc.
9937 (run_mac_command, closedir): Use `xfree' instead of `free'.
9938
9939 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9940
9941 * eval.c (error): Use xfree instead of free.
9942
1fd4c450
GM
9943 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9944
9945 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9946 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9947
82d497fc
KH
99482000-08-05 Kenichi Handa <handa@etl.go.jp>
9949
9950 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9951 conversion.
9952
59f953a2
NF
99532000-08-04 Noah Friedman <friedman@splode.com>
9954
9955 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9956 docstring.
9957
688351f2
GM
99582000-08-04 Gerd Moellmann <gerd@gnu.org>
9959
9960 * syntax.c (skip_chars): Fix typo in error message.
9961
2dad51cc
AS
99622000-08-04 Andreas Schwab <schwab@suse.de>
9963
9964 * m/ia64.h: Moved from s/ia64.h.
9965
99bb2c60
KH
99662000-08-04 Kenichi Handa <handa@etl.go.jp>
9967
082a1df2
KH
9968 * process.c (read_process_output): Big simplification. Handle
9969 composition and post-read-conversion of coding system correctly.
9970 (send_process): Handle composition correctly.
9971
9972 * callproc.c (Fcall_process): Handle post-read-conversion of
9973 coding system if any.
9974
99bb2c60
KH
9975 * coding.c (decode_coding_iso2022): More strict check for handling
9976 single shifting.
082a1df2
KH
9977 (coding_restore_composition): Pay attention to the case that
9978 cmp_data is not set properly (because of invalid code in the
9979 source text).
9980 (run_pre_post_conversion_on_str): Include text properties in the
9981 resulting string.
9982 (decode_coding_string): Set members of coding correctly.
99bb2c60 9983
f4988be7
GM
99842000-08-03 Gerd Moellmann <gerd@gnu.org>
9985
9986 * s/ia64.h: New file.
9987
9988 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9989 Use NULL instead of 0 at the end of variable argument list of
9990 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9991 sizeof (int) < sizeof (void *).
9992
9993 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9994 of variable argument lists of XtVaGetValues and XtVaSetValues.
9995
9996 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9997 variable argument lists of XtVaGetValues and XtVaSetValues.
9998
ead53494
GM
99992000-08-02 Gerd Moellmann <gerd@gnu.org>
10000
10001 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10002 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10003
10004 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10005 prototype.
10006
10007 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10008 in call to Fsingle_key_description.
10009
10010 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10011 Callers changed.
10012
100132000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10014
10015 * window.c (display_buffer_reuse_frames): New variable.
10016 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10017 frames displaying BUFFER.
52283633 10018 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10019
10b0f752
MB
100202000-08-01 Miles Bader <miles@gnu.org>
10021
10022 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10023 when to constrain NEW_POS (they were pretty screwed up before).
10024
16425c4a
EZ
100252000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10026
10027 * msdos.c (run_msdos_command): Save and restore the master
10028 environment, for the case that child_setup signals an error.
10029 When mirroring slashes in DOS shell commands, don't fail when
10030 argv[2] has embedded blanks.
da288c14
EZ
10031 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10032 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10033 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10034
10035 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10036 using alloca; free it after run_msdos_command returns.
10037
27f73852
DL
100382000-07-27 Dave Love <fx@gnu.org>
10039
52283633
SM
10040 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10041 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10042
10043 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10044
c0261b5e
EZ
100452000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10046
10047 * editfns.c (lisp_time_argument): Fix last change.
10048
b548072f
GM
100492000-07-27 Gerd Moellmann <gerd@gnu.org>
10050
3ab82477
GM
10051 * fns.c (Fdelete): Make it work on vectors and strings in addition
10052 to lists.
10053
b548072f
GM
10054 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10055 (syms_of_fns): Initialize new variables.
52283633 10056 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10057 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10058 weakness, with t meaning the same as `key-and-value'.
10059
91ae8751
KH
100602000-07-27 Kenichi Handa <handa@etl.go.jp>
10061
10062 * coding.h (struct coding_system): Member safe_charset deleted.
10063
10064 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10065 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10066 New variables.
91ae8751
KH
10067 (coding_safe_chars): New function.
10068 (CODING_SAFE_CHAR_P): New macro.
10069 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10070 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10071 (detect_coding_iso2022): New local variable safe_chars.
10072 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10073 safe_charsets member of the coding system.
10074 (decode_coding_iso2022): New local variable safe_chars.
10075 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10076 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10077 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10078 (ENCODE_UNSAFE_CHARACTER): New macro.
10079 (encode_coding_iso2022): New local variable safe_chars. Check
10080 unsafe chars.
10081 (setup_coding_system): Delete the code to initialize
10082 coding->safe_charses
10083 (intersection, find_safe_codings): New functions.
10084 (Ffind_coding_systems_region_internal): New function.
10085 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10086 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10087 variable and initialize it.
10088
10089 * fns.c (char_table_ref_and_index): New function.
10090
10091 * lisp.h (char_table_ref_and_index): Add prototype.
10092
34a7a267
SS
100932000-07-26 Sam Steingold <sds@gnu.org>
10094
10095 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10096 (Ffloat_time): New built-in Lisp function.
34a7a267 10097
a95cb10a
GM
100982000-07-26 Gerd Moellmann <gerd@gnu.org>
10099
3353ef5a
GM
10100 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10101 for the character code.
10102
10103 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10104 GNU/Linux.
10105
a95cb10a
GM
10106 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10107 if called for a popup menu.
10108 (xmenu_show): Store help string in widget values.
10109
b4a12321
DL
101102000-07-26 Dave Love <fx@gnu.org>
10111
10112 * syswait.h: Move some definitions.
10113 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10114 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10115 perspicuous definitions.
10116 (WTERMSIG): Fix bit pattern used.
10117
13f5ad37
KH
101182000-07-26 Kenichi Handa <handa@etl.go.jp>
10119
10120 * print.c (print_object): If vector printing is truncated, print
10121 "..." to indicate it as well as the case of list printing.
10122
070fe99c
GM
101232000-07-25 Gerd Moellmann <gerd@gnu.org>
10124
969065c3
GM
10125 * xdisp.c (next_element_from_display_vector): Improve comments.
10126
10127 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10128 for the character code, and the rest for the face id as in 20.x.
10129 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10130
10131 * window.c (window_display_table): Cleaned up.
10132
070fe99c
GM
10133 * syntax.c (Fforward_word): Add last arg nil in call of
10134 Fconstrain_to_field.
10135
bad77ef7
EZ
101362000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10137
969065c3 10138 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10139 identical but for the letter-case, don't call
10140 barf_or_query_if_file_exists.
bad77ef7 10141
c28da489
MB
101422000-07-25 Miles Bader <miles@gnu.org>
10143
10144 * editfns.c (find_field): Honor special `boundary' fields.
10145 (Qboundary): New variables.
10146 (syms_of_editfns): Initialize Qboundary.
10147 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10148 Use scan_buffer instead of find_before_next_newline, because it
10149 allows us to detect the boundary case where there's a newline at
10150 the search limit.
10151 * lisp.h (Fconstrain_to_field): Update external declaration.
10152
e3c31fd5
GM
101532000-07-24 Gerd Moellmann <gerd@gnu.org>
10154
10155 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10156 if that is nil.
c28da489 10157
c66c29a2
DL
101582000-07-24 Dave Love <fx@gnu.org>
10159
10160 * s/sunos4-0.h, s/sol2.h:
10161 (LIBS_TERMCAP): Move from m/sparc.h.
10162
10163 * m/sparc.h (TERMINFO): Moved to system files (probably only
10164 relevant for sunos4 judging by its vintage).
10165 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10166 __arch64__.
10167
fbe0a958
EZ
101682000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10169
10170 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10171 name to single_keymap_panes.
10172
7d88e5c9
AS
101732000-07-24 Andreas Schwab <schwab@suse.de>
10174
10175 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10176
e024b101
GM
101772000-07-24 Gerd Moellmann <gerd@gnu.org>
10178
10179 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10180 parameters instead of using int parameters. Expect FN to accept
10181 EMACS_INT parameters.
10182 (display_echo_area, resize_echo_area_axactly, current_message)
10183 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10184 with new argument list.
10185 (resize_mini_window_1): New callback function.
10186 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10187 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10188
25c1a9ce
KH
101892000-07-24 Kenichi Handa <handa@etl.go.jp>
10190
10191 * fontset.c (fontset_ref): Remove INLINE declaration.
10192 (fontset_ref_via_base): Likewise.
10193 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10194 to downcase.
10195
7f987ac0
EZ
101962000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10197
10198 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10199 correct order of priority. If help echo was found in an overlay,
10200 use that overlay as the object in which the help echo was found.
10201
e2db3069
MB
102022000-07-22 Miles Bader <miles@gnu.org>
10203
10204 * textprop.c (Fprevious_single_char_property_change): The initial
10205 property value should be from the position preceding POSITION, not
10206 following it.
10207
5e3203e4
EZ
102082000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10209
10210 * coding.c (syms_of_coding): Doc fix for
10211 inhibit-iso-escape-detection.
10212
62145073
GM
102132000-07-21 Gerd Moellmann <gerd@gnu.org>
10214
c20aeb83
GM
10215 * xterm.c (note_mouse_highlight): Process overlays in the right
10216 order of priority.
34a7a267 10217
743934db
GM
10218 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10219
10220 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10221 overlay, use that overlay as the object in which the help was found.
743934db 10222
d1dc7e43 10223 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10224
62145073
GM
10225 * window.c (foreach_window): Instead of a fake variable argument
10226 list, take one USER_DATA argument.
10227 (foreach_window_1): Likewise, and call callback functions with two
10228 args, the window and USER_DATA.
10229 (struct check_window_data): New struct.
10230 (check_window_containing): Use it.
10231 (window_from_coordinates): Set up a struct check_window_data for
10232 foreach_window.
10233 (add_window_to_list, freeze_window_start): Change parameters
10234 according to new calling convention.
10235
10236 * window.h (foreach_window): Change prototype.
10237
10238 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10239
102402000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10241
10242 * xmenu.c (menu_help_callback): Call show_help_echo with
10243 additional arguments OBJECT and POS.
10244
11270583
KH
102452000-07-21 Kenichi Handa <handa@etl.go.jp>
10246
07b14857
KH
10247 * data.c (Faset): Allow storing any multibyte character in a
10248 string. Convert unibyte string to multibyte if necessary.
10249
11270583
KH
10250 * xfns.c (x_encode_text): New function.
10251 (x_set_name): Use x_encode_text.
10252 (x_set_title): Likewise.
10253
10254 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10255
10256 * xterm.h (x_encode_text): Add prototype.
10257
bc75b4fd
DL
102582000-07-20 Dave Love <fx@gnu.org>
10259
10260 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10261 xfree, not free.
10262
48c14970
EZ
102632000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10264
10265 * msdos.c (help_echo_window): New variable.
10266 (syms_of_msdos): Initialize and staticpro it.
10267 (IT_note_mode_line_highlight): Set help_echo_window.
10268 (IT_note_mouse_highlight): Ditto.
10269 (dos_rawgetc): Store help_echo_window in the second event produced
10270 for HELP_EVENTs.
10271
10272 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10273 Record the object that generated the help echo and the position of
10274 that object in help_echo_object and help_echo_pos. Record that
10275 some glyphs in a row are displayed in mouse-face.
10276 (IT_update_begin): Don't clear mouse highlight unless one of the
10277 enabled glyph rows is marked as being displayed in mouse-face.
10278 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10279 and position recorded in help_echo_object and help_echo_pos to the
10280 event queue.
10281 (IT_menu_display): Accept a new argument PN: the pane number of
10282 the current menu pane. Record the pane number and the item
10283 number of the item which has associated help string.
10284 (XMenuActivate): Update the prototype for help_callback in
10285 function declaration. Call IT_menu_display with the current menu
10286 pane number as an additional argument. Call help_callback with
10287 two additional arguments: the pane number and the item number of
10288 the menu item associated with the help text.
10289 (help_echo_object, help_echo_pos): New variables.
10290 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10291
10292 * msdos.h (XMenuActivate): Update prototype.
10293
4279296d
GM
102942000-07-19 Gerd Moellmann <gerd@gnu.org>
10295
47db06aa
GM
10296 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10297 Add some more prototypes.
10298
10299 * xterm.c, xterm.h: Add some more prototypes.
10300
10301 * lisp.h (Fnext_single_char_property_change): Add prototype.
10302
10303 * dispnew.c (direct_output_for_insert): Remove confusing
10304 outer local variable mouse_face_overwritten_p.
10305 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10306
4279296d
GM
10307 * alloc.c (allocate_string_data): Don't copy old string contents.
10308
670acd62
KH
103092000-07-19 Kenichi Handa <handa@etl.go.jp>
10310
10311 * coding.c (code_convert_region): Delete text properties before
10312 shrinking the conversion region.
10313
7cea38bc
GM
103142000-07-18 Gerd Moellmann <gerd@gnu.org>
10315
dc1cac59
GM
10316 * dispnew.c (update_text_area): Write the whole row if it
10317 has mouse-face in it.
10318
85a8aca9
GM
10319 * xfaces.c (face-alternative-font-family-alist): Remove
10320 DEFVAR_LISP; staticpro instead.
10321
34a7a267 10322 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10323 new arguments.
10324
10325 * keyboard.c (show_help_echo): Add parameter WINDOW.
10326 (read_char): Call show_help_echo with window extracted from Lisp
10327 help event.
10328 (gen_help_event): Add parameter WINDOW.
10329
10330 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10331
10332 * xterm.c (help_echo_window): New variable.
52283633 10333 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10334 (XTread_socket): Pass help_echo_window to gen_help_event.
10335 (syms_of_xterm): Initialize and staticpro help_echo_window.
10336
f8276b77
DL
103372000-07-18 Dave Love <fx@gnu.org>
10338
52283633 10339 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10340
088831a6
GM
103412000-07-18 Gerd Moellmann <gerd@gnu.org>
10342
3d6cd763
GM
10343 * alloc.c (allocate_string_data): If string had already data
10344 assigned, copy old contents to new string data.
10345
10346 * coding.c (syms_of_coding): Fix typo in spelling of variable
10347 `inhibit-iso-escape-detection'.
10348
088831a6
GM
10349 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10350
10351 * Makefile.in: Add dependencies on dispextern.h.
10352 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10353 `free'; both can conflict with system header files.
10354
bc8a8d55
KH
103552000-07-18 Kenichi Handa <handa@etl.go.jp>
10356
10357 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10358 undefined.
10359
069f5950
DL
103602000-07-18 Dave Love <fx@gnu.org>
10361
10362 * window.c (Fwindow_list): Declare arg `window'.
10363
aa96c820
KH
103642000-07-18 Kenichi Handa <handa@etl.go.jp>
10365
10366 * coding.c (setup_coding_system): Don't override the explicitly
10367 specified designations.
10368
06be8d32
MB
103692000-07-15 Miles Bader <miles@gnu.org>
10370
10371 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10372 from `text_property_eq' and `text_property_stickiness', respectively.
10373 (find_field, Fconstrain_to_field, char_property_eq)
10374 (char_property_stickiness): Changed to call char-property functions
10375 instead of text-property-only ones.
10376
10377 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10378 `next_single_char_property_change'). Do more error checking, and
10379 cleanup limit behavior.
10380 (Fprevious_single_char_property_change): New function.
10381 (syms_of_textprop): Initialize new subrs.
10382
10383 * xdisp.c (display_prop_end, invisible_text_between_p):
10384 Call Fnext_single_char_property_change instead of
10385 next_single_char_property_change.
10386
3fddcdc3
JR
103872000-07-15 Jason Rumney <jasonr@gnu.org>
10388
10389 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10390 after menu is finished with.
10391 (add_menu_item): Only consider wv->title as a menu title.
10392 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10393
10394 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10395 null title.
10396 (FONT_REGEXP): Remove unused macro, and its sub-components.
10397 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10398
10399 * w32term.c (help_echo_object, help_echo_pos): New variables.
10400 (note_mode_line_highlight): Store additional information about the
10401 help-echo in help_echo_object and help_echo_pos. Check both
10402 `local-map' and `keymap' properties for changing the cursor
10403 (note_mouse_highlight): Store additional information about the
10404 help-echo in help_echo_object and help_echo_pos.
10405 (note_tool_bar_highlight): Set help_echo_object to nil and
10406 help_echo_pos to -1.
10407 (w32_read_socket): Use gen_help_event instead of filling
10408 input_events manually.
10409 (syms_of_w32term): Staticpro help_echo_object.
10410 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10411 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10412 (x_clear_mouse_face): New function.
10413 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10414 (x_update_window_begin): No need to turn off the mouse
10415 highlight here.
10416 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10417 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10418 (x_fill_stretch_glyph_string): Consume runs of stretch
10419 glyphs instead of a single one.
10420 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10421 with new argument list.
10422 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10423 (x_append_glyph, x_append_composite_glyph)
10424 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10425 changes in struct glyph starting 1999-12-27. See comments for
10426 xterm.c on 2000-07-05.
10427
178c5d9c
SS
104282000-07-14 Sam Steingold <sds@gnu.org>
10429
10430 * xfaces.c (realize_x_face): Fix the last patch:
10431 check `default_face' before dereferencing.
10432
6fe533f6
DL
104332000-07-14 Dave Love <fx@gnu.org>
10434
069f5950 10435 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10436
dd7b81cf
KH
104372000-07-14 Kenichi Handa <handa@etl.go.jp>
10438
0693904a 10439 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10440 default_face's fontset, not using the default fontset.
0693904a 10441
dd7b81cf
KH
10442 * coding.c (inhibit_iso_escape_detection): New variable.
10443 (syms_of_coding): Make it a Lisp variable.
10444 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10445 nonzero, ignore ISO2022's escape sequence.
10446
d5aa31d8
GM
104472000-07-14 Gerd Moellmann <gerd@gnu.org>
10448
e5acf0ca
GM
10449 * alloca.c (malloc) [emacs]: Define as xmalloc.
10450
bd23a692
GM
10451 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10452 use that instead of the mouse position. Add parameters DX and DY.
10453
10454 * dispextern.h (Fx_show_tip): Adjust number of parameters
10455 in prototype.
10456
9662da0b
GM
10457 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10458 if HELP is a function, call it with OBJECT and POS as parameters
10459 to get the help to display.
10460 (gen_help_event, kbd_buffer_store_help_event): New functions.
10461 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10462 (read_char): Call show_help_echo with new parameters.
10463
178c5d9c 10464 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10465 Add prototypes.
10466
10467 * xterm.c (help_echo_object, help_echo_pos): New variables.
10468 (note_mode_line_highlight): Store additional information about the
10469 help-echo in help_echo_object and help_echo_pos. Check both
10470 `local-map' and `keymap' properties for changing the cursor
10471 (note_mouse_highlight): Store additional information about the
10472 help-echo in help_echo_object and help_echo_pos.
10473 (note_tool_bar_highlight): Set help_echo_object to nil and
10474 help_echo_pos to -1.
10475 (XTread_socket): Use gen_help_event instead of filling
10476 input_events manually.
10477 (syms_of_xterm): Staticpro help_echo_object.
10478
10479 * xmenu.c (menu_highlight_callback): Use
10480 kbd_buffer_store_help_event instead of setting up and input_event
10481 structure manually.
10482
10483 * xdisp.c (eval_form): GCPRO argument sexpr.
10484 (call_function): New function.
10485 (handle_single_display_prop): Use call_function and FUNCTIONP
10486 instead of checking whether if font_height is a symbol and
10487 using eval_form.
10488
10489 * eval.c (internal_condition_case_2): New function.
10490
10491 * lisp.h (FUNCTIONP): New macro.
10492 (internal_condition_case_2, call_function): Add prototypes.
10493
d5aa31d8
GM
10494 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10495 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10496 Always set `arg' member of input_events.
10497 (construct_menu_click): Unused function removed.
10498
10499 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10500
10501 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10502 (construct_drag_n_drop, x_scroll_bar_handle_click)
10503 (w32_read_socket): Always set `arg' member of input_events.
10504
10505 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10506
10507 * lisp.h (eval_form): Add prototype.
10508
10509 * xdisp.c (eval_form): Make it externally visible.
10510
0f1a9b23
GM
105112000-07-13 Gerd Moellmann <gerd@gnu.org>
10512
10513 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10514 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10515 consing. For prefix events, store the frame in the `arg' slot of
10516 the event, otherwise store the key there.
10517 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10518 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10519
10520 * xmenu.c (menu_highlight_callback): Store help string in the
10521 `arg' member of the input event; don't cons.
10522 (menubar_selection_callback): Use the `arg' slot of input events
10523 to queue additional information, instead of consing.
10524
10525 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10526
10527 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10528 TOOL_BAR_EVENTs.
10529 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10530
10531 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10532 input events to queue additional information, instead of consing.
10533
10534 * keyboard.c (kbd_buffer_gcpro): Renamed from
10535 kbd_buffer_frame_or_window. Now used for all Lisp objects
10536 referenced from the input queue.
10537 (kbd_buffer_store_event): Always use structure assignment for
10538 copying input events. Record all Lisp objects referenced from
10539 events in kbd_buffer_gcpro.
10540 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10541 differently from input events. Test for prefix menu_bar_events
10542 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10543 event in kbd_buffer_gcpro to nil.
10544 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10545 frame_or_window is equal to its arg member as prefix events.
10546 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10547 used by an input event to nil.
10548 (init_keyboard): Use two times the size of the input queue
10549 for kbd_buffer_gcpro.
10550 (syms_of_keyboard): Likewise.
10551
52283633
SM
10552 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10553 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10554
10555 * termhooks.h (struct input_event): Add member `arg'.
10556 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10557 (USER_SIGNAL_EVENT): Renamed from user_signal.
10558
10559 * xfaces.c (ASET): Remove definition.
10560
10561 * lisp.h (AREF, ASET, ASIZE): New macros.
10562
10563 * fontset.c (AREF, ASIZE): Remove definitions.
10564
10565 * fns.c (AREF): Remove definition.
178c5d9c 10566
0f1a9b23
GM
10567 * composite.c (AREF): Remove definition.
10568
712eaef2
GM
105692000-07-12 Gerd Moellmann <gerd@gnu.org>
10570
d8ee7803
GM
10571 * dispnew.c (redraw_overlapped_rows): Add missing local.
10572 (scrolling_window): Remove debug code.
10573
712eaef2
GM
10574 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10575 Before scrolling, turn off a mouse-highlight in the window
10576 being scrolled.
10577
10578 * xterm.c (x_update_window_end): Add parameter
10579 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10580 redisplay in XTframe_up_to_date.
10581 (x_clear_mouse_face): New function.
10582 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10583
10584 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10585 current glyph row.
10586 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10587 it when any row is written to that contains glyphs highlighted in
10588 mouse-face.
10589 (update_window): Call the window update end hook with new
10590 parameter MOUSE_FACE_OVERWRITTEN_P.
10591 (direct_output_for_insert): Give up if row contains mouse-face.
10592
10593 * dispextern.h (struct redisplay_interface): Add parameter
10594 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10595 (clear_mouse_face): New function pointer member.
10596
02010917
SM
105972000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10598
10599 * syntax.c (back_comment): Use one switch rather than a few `if's.
10600 Obey open_paren_in_column_0_is_defun_start.
10601 When reverting to the `slow' method, try to nicely handle the case
10602 of nested comments by checking that the comment-starter we found
10603 does indeed match the comment-ender.
10604 (scan_sexps_forward, scan_sexps_forward):
10605 Ignore excessive opening parenthesis rather than throwing an error.
10606
d76c03ea
GM
106072000-07-11 Gerd Moellmann <gerd@gnu.org>
10608
10609 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10610 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10611
10612 * dispnew.c (direct_output_forward_char): Give up if currently
10613 displaying a message instead of the minibuffer contents.
10614
10615 * xterm.c (x_update_window_begin): No need to turn off the mouse
10616 highlight here.
10617 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10618 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10619
10620 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10621 compare the mouse_face_p flags of both rows.
10622
10623 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10624
d55ead18
EZ
106252000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10626
10627 * keyboard.c (show_help_echo): Accept additional parameter
10628 ok_to_overwrite_keystroke_echo.
10629 (read_char): Call show_help_echo with a zero
10630 ok_to_overwrite_keystroke_echo argument.
52283633 10631 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10632 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10633 ok_to_overwrite_keystroke_echo argument.
10634 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10635 non-zero ok_to_overwrite_keystroke_echo argument.
10636
df75b1a3
GM
106372000-07-10 Gerd Moellmann <gerd@gnu.org>
10638
4b92c49a
GM
10639 * xdisp.c (try_window_id): If changes are all below what is
10640 displayed in the window, and point is in the window, we still
10641 might have to find point on the display.
10642
10643 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10644 glyphs instead of a single one.
10645 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10646 with new argument list.
10647 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10648
df75b1a3
GM
10649 * keymap.c (get_keymap_1): Add comment that this function can GC.
10650 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10651 comment that functions can GC.
10652 (Fset_keymap_parent): GCPRO arg KEYMAP.
10653
4314cf3e
EZ
106542000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10655
10656 * msdos.c (XMenuActivate): After exiting the menu, restore the
10657 echo area message and erase it.
10658
ab49ce15
KH
106592000-07-10 Kenichi Handa <handa@etl.go.jp>
10660
10661 * fontset.c (Ffontset_info): Make the return value more compatible
10662 with that of Emacs 20.
10663
090a072f
GM
106642000-07-07 Gerd Moellmann <gerd@gnu.org>
10665
10666 * eval.c (Fsignal): Handle case that backtrace_list is null.
10667
f92de4a6
KH
106682000-07-07 Kenichi Handa <handa@etl.go.jp>
10669
10670 * ccl.c (Fccl_execute): Typo fixed.
10671
dd8888a1
GM
106722000-07-06 Gerd Moellmann <gerd@gnu.org>
10673
e5c81191 10674 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10675
dd8888a1
GM
10676 * window.c (Fwindow_list): Reverse list at the end.
10677 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10678 means allow windows on OWINDOW's frame, only.
10679 (window_loop): Simplified; use Fwindow_list.
10680
10681 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10682
485266d0
GM
106832000-07-05 Gerd Moellmann <gerd@gnu.org>
10684
10685 * xterm.c (XTread_socket): Increment handling_signal at the start,
10686 decrement it at the end.
10687
10688 * eval.c (handling_signal): New variable.
10689 (Fsignal): Abort if handling_signal is non-zero.
10690
10691 * lisp.h (handling_signal): External declaration.
178c5d9c 10692
485266d0
GM
10693 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10694
80fcd514
KR
106952000-07-05 Ken Raeburn <raeburn@gnu.org>
10696
10697 Sound support for NetBSD through "Linux emulation" support:
10698 * config.in (HAVE_SOUNDCARD_H): Undef.
10699 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10700 * Makefile.in (LIBSOUND): New variable.
10701 (LIBES): Include it.
52283633
SM
10702 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10703 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10704 (vox_open): Use DEFAULT_SOUND_DEVICE.
10705 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10706
d5c5cddd
GM
107072000-07-05 Gerd Moellmann <gerd@gnu.org>
10708
10709 * print.c (print_error_message): If Vsignaling_function is set,
10710 show it in *Messages*.
10711
10712 * lisp.h (Vsignaling_function): External declaration.
10713
10714 * eval.c (Vsignaling_function): New variable.
10715 (Fsignal): Compute it.
10716 (syms_of_eval): Staticpro it.
10717
65171e3a
DL
107182000-07-05 Dave Love <fx@gnu.org>
10719
10720 * syswait.h: Use the autoconf recommended approach. Old code
10721 #if'd out in case we need to revert.
10722
178c5d9c 10723 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10724
e2c46326
AI
107252000-07-05 Andrew Innes <andrewi@gnu.org>
10726
10727 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10728 when non-NULL instead of __morecore, to take account of buffer
10729 memory. This also solves a problem with spurious memory warnings
10730 on Windows.
10731
10732 * ralloc.c: Make real_morecore non-static.
10733
10734 * eval.c (internal_condition_case): Comment out abort if
10735 interrupt_input_blocked is not zero.
10736
10737 * makefile.nt: Add support for `bootstrap' and related targets.
10738 Include minimal debug info in emacs.exe in release build.
10739 Remove all dependencies on lisp.h, and fixup some others.
10740
10741 * w32.c (init_environment): Install code from 20.7 for providing
10742 default values for environment variables, based on the
10743 executable's own location.
52283633 10744 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10745 (sys_socket): Install socket inheritance bug fix from 20.7.
10746
10747 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10748 here via blockinput.h).
10749
a027a91b
SM
107502000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10751
e4b31601
SM
10752 * w32menu.c (w32_menu_display_help):
10753 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10754
10755 * keyboard.h (show_help_echo): Declare.
10756
10757 * keyboard.c (show_help_echo): New function, extracted from read_char.
10758 Feval its `msg' argument if it's a cons cell.
10759 (read_char): Use it.
4cf8d9d5 10760 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10761
178c5d9c 10762 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10763 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10764 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10765 (dos_rawgetc):
10766 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10767 (note_tool_bar_highlight, w32_read_socket):
10768 Do not gratuitously ignore non-string `help-echo' properties.
10769
88d75730
GM
107702000-07-05 Gerd Moellmann <gerd@gnu.org>
10771
969f7e79
GM
10772 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10773
71201b00
GM
10774 * window.c (delete_all_subwindows): Reset Vwindow_list.
10775
88d75730
GM
10776 * xterm.c (x_append_glyph, x_append_composite_glyph)
10777 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10778 changes in struct glyph starting 1999-12-27. Some bit-fields of
10779 struct glyph were not set, which made glyphs unequal when compared
10780 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10781 effects were the result. This also depended on the contents of
10782 memory returned by xmalloc. If flickering happens again, activate
10783 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10784 gone with that, chances are that it is caused by something similar.
88d75730
GM
10785
10786 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10787
88d75730
GM
10788 * dispextern.h: Add some comments.
10789
10790 * window.c (add_window_to_list): Add parameter LIST.
10791 (window_list): Order list so that, for each frame, windows are
10792 in canonical order, and so that frames appear in the list in
10793 the order given by Vframe_list.
10794 (next_window): Reverse the handling of NEXT_P.
10795
53654733
GM
107962000-07-04 Gerd Moellmann <gerd@gnu.org>
10797
87efd256
GM
10798 * window.c (Vwindow_list): New variable.
10799 (make_window, delete_window): Set Vwindow_list to nil.
10800 (check_window_containing): New function.
10801 (window_from_coordinates): Rewritten.
10802 (add_window_to_list, window_list, candidate_window_p)
10803 (decode_next_window_args, next_window): New functions.
52283633 10804 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10805 (Fwindow_list): New function.
10806 (Fother_window): Cleaned up.
10807 (foreach_window): Add a longer "variable argument list". Let
10808 callback function return 0 to indicate that cycling over windows
10809 should stop.
10810 (foreach_window_1): Likewise.
10811 (freeze_window_start): Return int.
10812 (init_window): New function.
10813 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10814
10815 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10816 input_event with bzero.
10817 (main): Call init_window.
10818
53654733
GM
10819 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10820 a menu filter.
10821
4a8c194f
KH
108222000-07-04 Kenichi Handa <handa@etl.go.jp>
10823
10824 * composite.h (make_composition_value_copy): Extern it.
10825
10826 * composite.c (make_composition_value_copy): New function.
10827
10828 * editfns.c (Fformat): While copying text properties, make each
10829 composition property value a copy.
10830
10831 * fns.c (concat): While copying text properties, make each
10832 composition property value a copy.
10833
831a6cb0
GM
108342000-07-03 Gerd Moellmann <gerd@gnu.org>
10835
2f516940
GM
10836 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10837
178c5d9c 10838 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10839 marked already.
10840
831a6cb0
GM
10841 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10842 include those frames as candidates which have their focus
10843 redirected to the minibuffer frame.
10844
d9c4f922
SM
108452000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10846
10847 * fns.c (Fputhash): Return `value' rather than nil.
10848
3780bc22
GM
108492000-06-30 Gerd Moellmann <gerd@gnu.org>
10850
97d176db
GM
10851 * frame.c (next_frame): Don't check focus redirection in case
10852 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10853 unless their focus is redirected, which contradicts the
10854 specification of next-frame, and leads to infinite loops in
10855 certain situations when cycling through windows with next-window.
10856
dca9961d
KH
108572000-06-30 Kenichi Handa <handa@etl.go.jp>
10858
10859 * coding.c (code_convert_region): Even if the length of text is
10860 zero, try to convert it if coding->type is coding_type_ccl.
10861 (decode_coding_string, encode_coding_string): Likewise.
10862
d5483ab1
GM
108632000-06-28 Gerd Moellmann <gerd@gnu.org>
10864
af5c25e1 10865 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10866 the display if windows_or_buffers_changed.
af5c25e1
GM
10867
10868 * dispnew.c (struct row_entry): New structure.
10869 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10870 (row_table_size, old_lines, new_lines, old_lines_size)
10871 (new_lines_size, run_pool, runs_size, runs): New variables.
10872 (add_row_entry): New function.
10873 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10874 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10875 holding them in local variables. Use a larger hash table whose
10876 size depends on glyph matrix sizes. Don't use bzero to clear the
10877 hash table; instead, clear used slots only.
10878
10879 * fns.c (next_almost_prime): Make it externally visible.
10880
10881 * lisp.h (next_almost_prime): Add prototype.
10882
d5483ab1
GM
10883 * s/isc4-0.h (sigunblock): Define.
10884
10885 * s/sco5.h (sigunblock): Define.
10886
93e40f40
DL
108872000-06-27 Dave Love <fx@gnu.org>
10888
10889 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10890 (moved to osf5-0.h).
10891 [!NOT_C_CODE]: Protect string.h stuff.
10892
10893 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10894 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10895
3c4b7685
GM
108962000-06-27 Gerd Moellmann <gerd@gnu.org>
10897
97d176db 10898 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10899 below the last line from the needed window height.
10900
32cad0aa
SM
109012000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10902
10903 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10904 (Fwidget_get): Use it.
10905 (syms_of_fns): Defsubr it.
10906
2c69ced2
GM
109072000-06-26 Gerd Moellmann <gerd@gnu.org>
10908
178c5d9c 10909 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10910 display info for XIM.
10911 (xim_open_dpy): Likewise.
10912 (xim_close_dpy): Don't free the display info's XIM.
10913
10914 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10915
10916 * config.in (USE_XIM): New define.
10917
3fc720e4
GM
10918 * keymap.c (get_keyelt): For menu-items containing a `:filter
10919 FILTER', apply FILTER to the menu-item's definition to get the
10920 real definition to use.
10921
10922 * lisp.h (QCfilter): External declaration.
10923
2c69ced2
GM
10924 * xfns.c (Fimage_size): New function.
10925 (syms_of_xfns): Defsubr it.
10926
f978b2a2
AS
109272000-06-26 Andreas Schwab <schwab@suse.de>
10928
10929 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10930 Fstring_as_unibyte.
10931
94cc7892
DL
109322000-06-25 Dave Love <fx@gnu.org>
10933
52283633 10934 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10935
10936 * Makefile.in (blockinput.h): Depend on atimer.h.
10937 (atimer.h): Depend on systime.h.
10938
52283633 10939 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10940
52283633 10941 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10942
10943 * lisp.h (swap_in_global_binding): Declare.
10944
b8c24556
KR
109452000-06-24 Ken Raeburn <raeburn@gnu.org>
10946
10947 * process.c (Fopen_network_stream): Turn off atimers for duration
10948 of call to connect. (Patch from Gerd.)
10949
8cf8560b
DL
109502000-06-23 Dave Love <fx@gnu.org>
10951
511c7541
DL
10952 * ralloc.c: Maybe include unistd.h
10953
8cf8560b
DL
10954 * emacs.c (setgrp): Undefine before defining.
10955 (malloc_warning, set_time_zone_rule, index): Prototype.
10956
10957 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10958 HAVE_STRUCT_TIMEZONE.
10959
10960 * s/osf1.h: Move string.h hack here from alpha.h and make it
10961 conditional.
10962 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10963 _XOPEN_SOURCE.
10964 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10965 (SOCKLEN_TYPE): Don't define.
10966
10967 * m/alpha.h: Remove string.h hack.
10968
10969 * s/osf5-0.h: New file.
10970
10971 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10972 include time.h, done by systime.h.
10973 [__FreeBSD__]: Remove redundant includes.
10974
3fc720e4 10975 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10976 (delete_temp_file): Return Qnil to avoid warning.
10977
10978 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10979
10980 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10981 HAVE_X_WINDOWS.
10982
10983 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10984
10985 * composite.h (compose_text): Declare.
10986
10987 * xterm.c: Don't include sys/types.h unconditionally. Don't
10988 protect its inclusion with !USG (following xmenu.c).
10989
ea055732
GM
109902000-06-23 Gerd Moellmann <gerd@gnu.org>
10991
10992 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10993 in x_create_frame.
10994
74b01b80
EZ
109952000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10996
10997 * coding.c (decode_eol_post_ccl): Special handling for undecided
10998 and inconsistent EOL types.
10999
64f3a166
GM
110002000-06-22 Gerd Moellmann <gerd@gnu.org>
11001
16cf31f7
GM
11002 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11003 trough color and main window's background color.
11004
52283633 11005 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11006
11007 * xterm.h (Xt_app_con): External declaration.
11008
11009 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11010
486a103d
GM
11011 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11012
64f3a166
GM
11013 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11014 (handle_invisible_prop): Record the start of invisible text in
11015 it->add_overlay_start.
11016 (struct overlay_entry): Add member `overlay'.
11017 (handle_overlay_change): Simplify.
11018 (next_overlay_string): After having processed overlay strings at the
11019 end of the buffer, record that fact in
11020 it->overlay_strings_at_end_processed_p.
11021 (compare_overlay_entries): If before- and after-strings come
11022 from the same overlay, let before-strings come first.
11023 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11024 (load_overlay_strings): Take it->add_overlay_start into account
11025 when adding overlay strings.
11026
11027 * dispextern.h (struct it): Add member add_overlay_start.
11028
bb746ea6
DL
110292000-06-22 Dave Love <fx@gnu.org>
11030
11031 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11032
11033 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11034
a8f573f3
KH
110352000-06-22 Kenichi Handa <handa@etl.go.jp>
11036
11037 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11038 is greater than 0.
11039
9f2bbc92
DL
110402000-06-21 Dave Love <fx@gnu.org>
11041
178c5d9c 11042 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11043
3ee5041c
SM
110442000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11045
11046 * syntax.c (back_comment): Simplify string-parity counting (with
11047 the added benefit of handling multiple string-styles as long as
11048 they are not intertwined).
11049 Jump to the slow code as soon as a comment starter is found in
11050 a "string_lossage" position. Fixes the case: " /* " /* " */.
11051
4c343001
DL
110522000-06-21 Dave Love <fx@gnu.org>
11053
11054 * Makefile.in: Use GETLOADAVG_LIBS.
11055
11056 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11057 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11058
e6365855
SM
110592000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11060
11061 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11062 (Fforward_comment, scan_lists):
11063 Check the comstyle of single-char comment-starters.
11064 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11065 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11066 Check the comstyle of single-char comment-starters.
11067 Clarify control-flow around the Scomment case.
e6365855 11068
5700d2cc
DL
110692000-06-20 Dave Love <fx@gnu.org>
11070
d355bd8a
SM
11071 * fns.c (make_hash_table, maybe_resize_hash_table):
11072 Cast arg of next_almost_prime.
5700d2cc 11073
178c5d9c 11074 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11075
11076 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11077 and unistd.h.
11078
4a27bdfb
GM
110792000-06-20 Gerd Moellmann <gerd@gnu.org>
11080
a61d762c 11081 * keyboard.c (adjust_point_for_property): Check if display
52283633 11082 property should be treated as intangible by looking at its value.
a61d762c 11083
178c5d9c 11084 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11085 (display_prop_intangible_p): New functions.
11086
11087 * dispextern.h (display_prop_intangible_p): Add prototype.
11088
11089 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11090
4a27bdfb
GM
11091 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11092 argument to sigprocmask.
11093
11094 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11095 argument to sigprocmask.
11096
11097 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11098 sigprocmask_set, and pass a pointer to it to sigprocmask.
11099
11100 * sysdep.c (sigprocmask_set): New variable.
11101
11102 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11103 report_file_error.
11104
427ec082
SS
111052000-06-20 Sam Steingold <sds@gnu.org>
11106
11107 * xrdb.c: Don't declare xmalloc, xrealloc.
11108
8972fe79 111092000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11110
11111 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11112 (re_comp): Cast gettext return value to avoid complaints when
11113 !HAVE_LIBINTL.
11114
074b6efe
DL
111152000-06-20 Dave Love <fx@gnu.org>
11116
52283633 11117 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11118
5700d2cc 11119 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11120
d355bd8a 11121 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11122
11123 * m/alpha.h: Don't declare xmalloc, xrealloc.
11124
0af4f205
DL
11125 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11126
11127 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11128
11129 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11130
11131 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11132 HAVE_GETWD.
11133
074b6efe
DL
11134 * keyboard.h (poll_for_input_1): Declare.
11135
11136 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11137
11138 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11139
11140 * doprnt.c: Don't declare xmalloc, xrealloc.
11141
11142 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11143 (getenv, ctime, getwd): Removed.
11144 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11145
11146 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11147 x_set_tool_bar_lines.
11148
11149 * config.in: Add HAVE_GETWD. Move some definitions above
11150 machine/system includes.
11151
68a5e97b
KH
111522000-06-20 Kenichi Handa <handa@etl.go.jp>
11153
95417e1e
KH
11154 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11155
68a5e97b
KH
11156 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11157 contain information about ENCODING.
11158
11159 * fontset.c (FONTSET_ASCII): Use the first element of char table
11160 for an ASCII font, not defalt slot.
11161 (fontset_ref_via_base): If FONTSET doesn't contain information for
11162 C, try the default fontset.
11163 (make_fontset): Don't copy the default fontset.
11164 (fontset_font_pattern): Likewise.
11165 (accumulate_font_info): If ELT is nil, use the corresponding
11166 element in the default fontset.
11167
3b4fa1b2
DL
111682000-06-19 Dave Love <fx@gnu.org>
11169
943e731c
DL
11170 * syntax.c (Fparse_partial_sexp): Doc fix.
11171
11172 * regex.h: Test PROTOTYPES as well as __STDC__.
11173
3b4fa1b2
DL
11174 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11175 errno, strerror. Put text after #endif in comment.
11176
52283633 11177 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11178
11179 * xterm.c (x_frame_of_widget): Likewise.
11180
cdf0357b
GM
111812000-06-19 Gerd Moellmann <gerd@gnu.org>
11182
11183 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11184 to Vfundamental_mode_abbrev_table.
11185
11186 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11187 bogus objects are marked. This slows down GC by ~80 percent, but
11188 it might be worth trying when debugging GC-related problems.
11189 This feature requires conservative stack marking to be enabled.
11190
11191 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11192 returns XLookupChars, reset `modifiers' to zero.
11193
998e9f8c
DL
111942000-06-19 Dave Love <fx@gnu.org>
11195
11196 * mktime.c: Unprotoized.
11197
18e21ce8 111982000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11199
11200 * data.c (set_internal): If variable is frame-local,
11201 store the new value immediately into the frame parameter alist.
11202
140c4ac6
KR
112032000-06-19 Ken Raeburn <raeburn@gnu.org>
11204
14358466
KR
11205 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11206 in the custom handler pointer.
11207
140c4ac6
KR
11208 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11209 value, or checks for CHAR_META can fail when Lisp_Object is a
11210 union type.
11211 * keymap.c (get_keyelt): Likewise.
11212
10d7bf84
KH
112132000-06-19 Kenichi Handa <handa@etl.go.jp>
11214
11215 * ccl.h (struct ccl_program): New member eol_type.
11216 (struct ccl_spec): New member cr_carryover.
11217
11218 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11219 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11220
11221 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11222 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11223 (decode_eol_post_ccl): New function.
11224 (decode_coding): Don't detect EOL format here for CCL based coding
11225 systems.
11226 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11227 decode_eol_post_ccl after running the CCL program.
11228 (code_convert_region): Don't detect EOL format here for CCL based
11229 coding systems.
11230 (decode_coding_string): Likewise.
11231
52e386c2
KR
112322000-06-18 Ken Raeburn <raeburn@gnu.org>
11233
11234 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11235 when treating it as an integer.
11236
11237 * coding.h (encode_coding_string): Declare.
11238
11239 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11240 it as an integer.
11241
11242 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11243 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11244 to be passed to get_local_map.
11245
11246 * sound.c (Fplay_sound): Don't call make_number on
11247 Frun_hook_with_args count argument.
11248
11249 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11250 for lisp objects in X event structure data field, when lisp
11251 objects are represented with unions.
11252 (x_scroll_bar_to_input_event): Ditto.
11253
b357b9d4
KR
112542000-06-16 Ken Raeburn <raeburn@gnu.org>
11255
11256 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11257 termination of string. Fix sense of test whether
11258 Vline_number_display_limit is an integer.
b357b9d4 11259
a871441d
GM
112602000-06-16 Gerd Moellmann <gerd@gnu.org>
11261
a9021acd
GM
11262 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11263 only if HAVE_X_WINDOWS.
11264
6344985d
GM
11265 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11266 of titles.
11267
427ec082 11268 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11269 out of bounds.
11270
228b083e
EZ
112712000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11272
11273 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11274 of its headers.
11275
c25b53a2
KH
112762000-06-15 Kenichi Handa <handa@etl.go.jp>
11277
11278 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11279 start of the while loop.
11280
a6981b11
GM
112812000-06-15 Gerd Moellmann <gerd@gnu.org>
11282
e9924e52
GM
11283 * atimer.c (alarm_signal_handler): Add forward declaration.
11284
a6981b11
GM
11285 * data.c (set_internal): Remove debug code.
11286
25fa6deb
GM
112872000-06-14 Gerd Moellmann <gerd@gnu.org>
11288
dce6b995
GM
11289 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11290
9f817ea4
GM
11291 * unexec.c (toplevel) [COFF]: Include coff.h.
11292
11293 * s/lynxos.h: New file.
11294
11295 * keymap.c (Fsingle_key_description): Enclose function key and
11296 event symbol names in angle brackets.
11297
8a4e3c0c
GM
11298 * xdisp.c (setup_echo_area_for_printing): Call
11299 message_log_maybe_newline if message_buf_print is not set.
11300
11301 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11302 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11303 function does something useful even when message_buf_print is
11304 already set.
11305
52283633
SM
11306 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11307 New variables.
25fa6deb
GM
11308 (ensure_echo_area_buffers): Initialize echo buffer's
11309 truncate lines setting to nil.
11310 (with_echo_area_buffer): Don't set the echo buffer's truncate
11311 lines setting here.
8a4e3c0c 11312 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11313 of message_truncate_lines.
11314 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11315 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11316 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11317
11318 * keyboard.c (read_char): Bind message-truncate-lines to t
11319 while displaying a help-echo.
11320
11321 * lisp.h (Qmessage_truncate_lines): External declaration.
11322
163dcff3
GM
113232000-06-13 Gerd Moellmann <gerd@gnu.org>
11324
1681ead6
GM
11325 * xdisp.c (Vline_number_display_limit): Renamed from
11326 line_number_display_limit.
11327 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11328 Extend documentation string. Initialize
11329 Vline_number_display_limit to nil meaning no limit.
11330 (decode_mode_spec): Use Vline_number_display_limit with its new
11331 meaning.
11332
163dcff3
GM
11333 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11334
18e21ce8 113352000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11336
11337 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11338
163dcff3
GM
11339 * xfns.c (x_set_frame_parameters): Comment fix.
11340
11341 * frame.c (store_frame_param): Call swap_in_global_binding if the
11342 variable's current binding was chosen based on this frame.
11343
11344 * data.c (swap_in_global_binding): New function.
11345
a704139d
EZ
113462000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11347
11348 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11349 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11350
9b6610db
EZ
113512000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11352
11353 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11354
c68833d2
JR
113552000-06-12 Jason Rumney <jasonr@gnu.org>
11356
11357 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11358
11359 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11360
11361 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11362
11363 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11364
ed1056b3
GM
113652000-06-12 Gerd Moellmann <gerd@gnu.org>
11366
11367 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11368 (syms_of_xfaces): Defsubr Sdump_colors.
11369 (x_free_colors): Don't treat b&w specially on default visual.
11370 (x_free_dpy_colors): New function.
11371 (free_face_colors): Don't check visual class; it's done
11372 in x_free_colors.
11373
11374 * xterm.c (x_frame_of_widget): New function.
11375 (x_alloc_nearest_color_for_widget): Use it.
11376 (x_copy_dpy_color): New function.
11377 (x_destroy_window): Free various colors.
11378
5050a2ef
KH
113792000-06-12 Kenichi Handa <handa@etl.go.jp>
11380
11381 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11382
11383 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11384
11385 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11386
11387 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11388
11389 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11390
fb1b041d
DL
113912000-06-11 Dave Love <fx@gnu.org>
11392
11393 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11394
ff96b5f4
EZ
113952000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11396
11397 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11398
db8eeecd
GM
113992000-06-11 Gerd Moellmann <gerd@gnu.org>
11400
ed1056b3 11401 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11402 to `XEvent *'.
11403
49b71c5f
KH
114042000-06-10 Kenichi Handa <handa@etl.go.jp>
11405
c479bd55
KH
11406 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11407 (regex_compile): Fix the code for handling the case of single byte
11408 char and multibyte char being mixed in a range within [...].
11409
ff6a65c2
KH
11410 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11411 and dst_multibyte members of coding.
11412
49b71c5f
KH
11413 * charset.c (update_charset_table): Update the table
11414 bytes_by_char_head.
11415 (init_charset_once): Initialize elements of bytes_by_char_head to
11416 1 except for leading codes for private charases.
11417
11418 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11419 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11420
9e80b57d
KR
114212000-06-09 Ken Raeburn <raeburn@gnu.org>
11422
11423 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11424 access the data it doesn't point to.
11425
f83fe4b4
GM
114262000-06-08 Gerd Moellmann <gerd@gnu.org>
11427
11428 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11429 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11430 event queue. This is necessary because Emacs otherwise won't
11431 perform a switch-frame to a new frame until some other event, for
11432 example a keystroke event, forces it to do so. This has various
11433 effects, one visible being that the cursor of a frame created with
11434 C-x 5 2 or switched to with a window manager key binding like
11435 A-TAB stays hollow because selected_window isn't on the newly
11436 focused frame until the switch-frame is performed.
11437
11438 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11439 generating a switch-frame event if necessary.
11440
11441 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11442
11443 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11444 it's an integer.
11445
0890801b
KH
114462000-06-08 Kenichi Handa <handa@etl.go.jp>
11447
52283633 11448 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11449
173cbca8
GM
114502000-06-07 Gerd Moellmann <gerd@gnu.org>
11451
3091c2a6
GM
11452 * window.c (displayed_window_lines): Take empty lines at
11453 the bottom of a window into account.
427ec082 11454
f38952fe
GM
11455 * window.c (displayed_window_lines): New function.
11456 (Fmove_to_window_line): Use displayed_window_lines to determine
11457 the number of lines to move, instead of using the window's height.
11458
11459 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11460 to stop reading, even if the form read sets point to a different
11461 value when evaluated.
11462
427ec082 11463 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11464 put the cursor.
11465
6ba6c818
KH
114662000-06-07 Kenichi Handa <handa@etl.go.jp>
11467
11468 * fileio.c (e_write): Free composition data if stored in
11469 coding->cmp_data.
11470
5f1aea9a
GM
114712000-06-06 Gerd Moellmann <gerd@gnu.org>
11472
666852af
GM
11473 * xdisp.c (display_line): Set row's and iterator's
11474 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11475 Set cursor even if row ends in the middle of a character.
11476 (dump_glyph_row): Print values of new flags.
11477 (redisplay_window) <cursor movement in unchanged window>: When
11478 point has been moved forward, and PT is at the end of the cursor
11479 row, don't place the cursor in the next row if the cursor row ends
11480 in the middle of a character or at ZV.
11481
11482 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11483 (struct glyph_row): Add starts_in_middle_of_char_p and
11484 ends_in_middle_of_char_p.
11485 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11486 ends_in_middle_of_char_p flag.
11487 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11488
d13f3e2e
GM
11489 * term.c (append_glyph): Revert change of 2000-06-06.
11490
11491 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11492 padding glyph not fitting on line as whole character not
11493 fitting on line.
11494
5f1aea9a
GM
11495 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11496 this isn't true for images with `:ascent 100'.
11497
10cda9b0
KH
114982000-06-06 Kenichi Handa <handa@etl.go.jp>
11499
ed00559d
KH
11500 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11501 as modified if it is originally unmodified.
11502
10cda9b0
KH
11503 * term.c (encode_terminal_code): Change the way to check if
11504 terminal coding does any conversion.
11505 (append_glyph): Set glyph->pixel_width correctly.
11506
11507 * xdisp.c (display_line): While checking line continuation, pay
11508 attention to a padding glyph.
11509
1969fae2
GM
115102000-06-05 Gerd Moellmann <gerd@gnu.org>
11511
11512 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11513
162ccef4
DL
115142000-06-05 Dave Love <fx@gnu.org>
11515
f19f32dd
DL
11516 * xdisp.c: Include fontset.h.
11517
11518 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11519
11520 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11521
11522 * dispnew.c: Conditionally include term.h.
11523
11524 * coding.h: Declare code_convert_string_norecord.
11525
11526 * frame.h (struct frame): Use volatile unconditionally.
11527
11528 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11529
11530 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11531
11532 * systime.h: Protect against multiple inclusion.
11533 (timezone) [USG5_4]: Define as time_t.
11534
11535 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11536 (Foptimize_char_table, make_temp_name): Declare.
11537
11538 * Makefile.in (xdisp.o): Depend on fontset.h.
11539
11540 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11541
11542 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11543 (Foptimize_char_table, make_temp_name): Declare.
11544
427ec082 11545 * s/irix4-0.h:
162ccef4
DL
11546 * s/irix5-0.h:
11547 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11548
2082fe81
DL
115492000-06-02 Dave Love <fx@gnu.org>
11550
11551 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11552
dcf671d2
GM
115532000-06-02 Gerd Moellmann <gerd@gnu.org>
11554
11555 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11556 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11557 be freed.
11558
11559 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11560 glyph, use the ASCII NUL character to determine the face.
11561
d42122a3
DL
115622000-06-02 Dave Love <fx@gnu.org>
11563
11564 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11565 (VFORK_RETURN_TYPE): Remove.
427ec082 11566
d42122a3
DL
11567 * config.in: Add NO_MATHERR.
11568
dd432f16
DL
115692000-06-01 Dave Love <fx@gnu.org>
11570
90aa4ea8
DL
11571 * cmds.c (internal_self_insert): Don't check
11572 Vbefore_change_function, Vafter_change_function.
11573
11574 * insdel.c (signal_before_change, signal_after_change): Likewise.
11575
11576 * buffer.c (Vbefore_change_function, Vafter_change_function):
11577 Variables and their initializations deleted.
11578
2330c9d4
DL
11579 * callint.c (Fcall_interactively): Doc fix.
11580
dd432f16
DL
11581 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11582
bf9e8804
DL
115832000-05-31 Dave Love <fx@gnu.org>
11584
11585 * textprop.c: Revert last change -- duplicated.
11586
3694b4ab
GM
115872000-05-31 Gerd Moellmann <gerd@gnu.org>
11588
11589 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11590 in #if 0.
11591
11592 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11593
f14156cd
JR
115942000-05-31 Jason Rumney <jasonr@gnu.org>
11595
8119aab8
JR
11596 * search.c (Fre_search_forward, Fre_search_backward)
11597 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11598
f14156cd
JR
11599 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11600
4aab9be3
JR
116012000-05-30 Jason Rumney <jasonr@gnu.org>
11602
11603 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11604 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11605
52283633 11606 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11607
11608 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11609 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11610 expand a nil default_filename.
11611
11612 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11613 pointer to glyph_to_pixel_coords, not a frame.
11614
11615 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11616 coding.h to dependencies.
11617
11618 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11619
11620 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11621 window pointer to be consistent with w32term.c and xterm.c.
11622
11623 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11624 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11625 (Qline_spacing, Qcenter): New variables.
11626 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11627 (x_set_line_spacing): New function.
52283633 11628 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11629 (x_specified_cursor_type): New function.
11630 (x_set_cursor_type): Use it.
11631 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11632 and icon strings.
11633 (validate_x_resource_name, x_get_resource_string): Measure lengths
11634 of external strings in bytes.
11635 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11636 GetTextExtentPoint32 with NULL title.
11637 (Fx_create_frame): Initialize Qline_spacing.
11638 (w32_load_system_font): Initialize font->double_byte_p.
11639 (x_to_w32_charset): Use Vw32_charset_info_alist.
11640 (Image, busy cursor, tooltip functions): Merged changes from
11641 xfns.c. Not yet functional on Windows.
11642
11643 * w32gui.h (W32FontStruct): Add double_byte_p member.
11644
11645 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11646 (emacs_button_translation): Use it.
11647 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11648 in `mask' to be set.
11649
11650 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11651 menu strings.
11652
11653 * w32term.c: Format and doc changes to bring closer to xterm.c.
11654 (w32_char_font_type): New enum.
11655 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11656 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11657 (w32_encode_char): New function.
11658 (x_encode_char): Removed.
11659 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11660 x_encode_char and w32_font_is_double_byte.
11661 (x_produce_image_glyph): Use image_ascent.
11662 (x_produce_glyphs): Use new version of w32_per_char_metric and
11663 handle NULL return value. Allow extra line spacing.
11664 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11665 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11666 w32_font_type member of glyph instead.
11667 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11668 (fast_find_position): Make sure not to consider rows not visible
11669 in the window.
11670 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11671 w32_menu_display_help with input blocked, as it can abort.
11672 (x_display_and_set_cursor): Choose cursor depending
11673 on buffer-local value of cursor_type.
11674 (x_draw_bar_cursor): Add parameter WIDTH.
11675
11676 * w32term.h (CP_DEFAULT): Define.
11677 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11678
10fc3187
GM
116792000-05-30 Gerd Moellmann <gerd@gnu.org>
11680
11681 * search.c (Fre_search_forward, Fre_search_backward)
11682 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11683
d0555360
KH
116842000-05-30 Kenichi Handa <handa@etl.go.jp>
11685
11686 * coding.c (detect_coding_iso2022): Fix code for checking
11687 CODING_CATEGORY_MASK_ISO_8_2.
11688
f1ad044f
SM
116892000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11690
11691 * regex.c (PREFETCH_NOLIMIT): New function.
11692 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11693
84ec3b4b
GM
116942000-05-29 Gerd Moellmann <gerd@gnu.org>
11695
66254a13
GM
11696 * syntax.c (find_defun_start): Move test for
11697 open_paren_in_column_0_is_defun_start outside of the loop.
11698
49e70dec
GM
11699 * xdisp.c (redisplay_window): Really switch buffers when
11700 displaying mode lines, and temporarily set selected_frame to the
11701 frame of the window that's redisplayed.
11702
84ec3b4b
GM
11703 * xfaces.c (free_realized_faces): Block/unblock input.
11704 (free_realized_multibyte_face): Ditto.
11705
869a3a14
DL
117062000-05-29 Dave Love <fx@gnu.org>
11707
11708 * textprop.c (Qkeymap): New variable.
11709 (syms_of_textprop): Intern it.
11710
11711 * keymap.c: Include intervals.h.
11712 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11713
11714 * Makefile.in (keymap.o): Depend on intervals.h.
11715
11716 * keyboard.c (menu_bar_items, tool_bar_items)
11717 (Fexecute_extended_command): Deal with `keymap' property.
11718 (read_key_sequence): Track map from `keymap' property as well as
11719 `local_map'.
11720
11721 * intervals.c (get_local_map): Extra arg to allow looking for
11722 `keymap' too.
11723
11724 * intervals.h (map_property): New enum.
11725 (get_local_map): Extra arg using it.
11726 (Qkeymap): Declare.
11727
84ec3b4b 11728 * lisp.h (get_local_map): Don't declare here.
869a3a14 11729
89d0c844
KH
117302000-05-29 Kenichi Handa <handa@etl.go.jp>
11731
11732 * Makefile.in (callproc.o): Depend on composite.h.
11733
11734 * callproc.c: Include composite.h.
11735 (Fcall_process): Handle composition correctly.
11736
11737 * coding.h (coding_allocate_composition_data): Extern it.
11738 (coding_restore_composition): Likewise.
11739
11740 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11741 yet allocated, finish decoding with result
11742 CODING_FINISH_INSUFFICIENT_CMP.
11743 (coding_allocate_composition_data): Make it non-static.
11744 (coding_restore_composition): Likewise.
11745
797a084a
EZ
117462000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11747
11748 * charset.c (syms_of_charset): Revert last change.
11749
cf872af5
EZ
117502000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11751
11752 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11753 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11754 Handa.
cf872af5 11755
5b1ae051
EZ
117562000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11757
11758 * charset.c (syms_of_charset): Set width of character sets
11759 eight-bit-control and eight-bit-graphic to 1 column.
11760
34ec9ebe
GM
117612000-05-26 Gerd Moellmann <gerd@gnu.org>
11762
11763 * config.in (HAVE_SPEED_T): New define.
11764
11765 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11766 `extern speed_t'.
11767
dd854dc2
DL
117682000-05-26 Dave Love <fx@gnu.org>
11769
11770 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11771
11772 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11773 (Fsubr_arity): New function.
11774 (syms_of_data): Install them.
11775
ba9f8f95
KH
117762000-05-26 Kenichi Handa <handa@etl.go.jp>
11777
0f3e0672
KH
11778 * charset.c (init_charset_once): Set the table bytes_by_char_head
11779 correctly.
11780
cebefb44
KH
11781 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11782 the default fontset to what Emacs uses by default.
0f3e0672
KH
11783 (check_registry_encoding): This function deleted.
11784 (Fset_fontset_font): Remove the adhoc condition for the default
11785 fontset. Allow cons in FONTNAME.
cebefb44 11786
0f3e0672
KH
11787 * fns.c (map_char_table): Ignore char-table entries for
11788 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11789
7a18af49
KR
117902000-05-25 Ken Raeburn <raeburn@gnu.org>
11791
11792 * emacs.c (main): Initialize keyboard syms before initializing
11793 window code, so face names are available.
11794
d2af47df
SM
117952000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11796
11797 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11798 of an anchor at the beginning of a shy-group.
11799
fc6a6a4e
GM
118002000-05-25 Gerd Moellmann <gerd@gnu.org>
11801
11802 * xdisp.c (handle_invisible_prop): Don't try to skip over
11803 invisible text if end of text is already reached.
11804
005f0d35
DL
118052000-05-25 Dave Love <fx@gnu.org>
11806
02513cdd
DL
11807 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11808
005f0d35
DL
11809 * coding.c (encode_eol): Add null statement after label.
11810
89f6ca4e
EZ
118112000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11812
11813 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11814 2000-05-20.
11815
a4e1759e
KH
118162000-05-25 Kenichi Handa <handa@etl.go.jp>
11817
11818 * ccl.c (ccl_driver): Fix previous change.
11819
eacfd7fe
KH
118202000-05-25 Kenichi Handa <handa@etl.go.jp>
11821
46ab33a9
KH
11822 * coding.c (run_pre_post_conversion_on_str): Set point to the
11823 beginning of buffer before calling coding->post_read_conversion.
11824 (decode_coding_string): Give correct args to
11825 run_pre_post_conversion_on_str.
11826 (encode_coding_string): Likewise.
11827
eacfd7fe
KH
11828 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11829 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11830 eight-bit-graphic correctly.
11831
f8569325
DL
118322000-05-24 Kenichi HANDA <handa@etl.go.jp>
11833
11834 * fileio.c (Finsert_file_contents): Even if a file is not found,
11835 execute codes for setting up coding system. Call
11836 after-insert-file-functions unconditionally.
11837
04545643
GM
118382000-05-24 Gerd Moellmann <gerd@gnu.org>
11839
11840 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11841 BSD_PGRPS are not defined.
11842
747d90ea
KH
118432000-05-24 Kenichi Handa <handa@etl.go.jp>
11844
11845 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11846 DESCRIPTION.
11847 (syms_of_charset): Avoid building same strings.
11848
716e3b88
GM
118492000-05-23 Gerd Moellmann <gerd@gnu.org>
11850
11851 * lread.c (Fload): Add a comment about the meaning of
11852 Vuser_init_file being t.
11853
11854 * puresize.h (BASE_PURESIZE): Increase to 675000.
11855
11856 * s/gnu-linux.h (setpgrp): Don't define it here because this
11857 prevents compilation on GNU/Linux systems with glib 2.2.
11858
11859 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11860 as setpgid.
427ec082 11861
9aeb39fa
EZ
118622000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11863
11864 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11865 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11866 version.
11867 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11868
29ced61b
KH
118692000-05-23 Kenichi Handa <handa@etl.go.jp>
11870
52283633 11871 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11872
3d80f24d
KH
11873 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11874
52283633 11875 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11876
29ced61b
KH
11877 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11878
d7e00792
KH
118792000-05-22 Kenichi Handa <handa@etl.go.jp>
11880
c9d80d38
KH
11881 * keyboard.c (read_char): Allow character codes 128..255 to be
11882 handled by input-method-function.
11883
d7e00792
KH
11884 * insdel.c (adjust_markers_for_replace): Fix previous change.
11885 (adjust_after_replace): If PREV_TEXT is nil, call
11886 adjust_markers_for_insert, not adjust_markers_for_replace.
11887
087121cc 118882000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11889
087121cc
GM
11890 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11891 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11892 [HAVE_GRANDPT]: Define.
11893 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11894
11895 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11896 like SYSV_PTYS.
11897
11898 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11899
11900 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11901
c9671f81
KH
119022000-05-20 Kenichi Handa <handa@etl.go.jp>
11903
11904 The following changes are to handle 8-bit characters in a
11905 multibyte buffer/string without facing with byte combining
11906 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11907 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11908
11909 * Makefile.in (fns.o): Depend on charset.h.
11910
11911 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11912 convert it to unibyte.
11913 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11914
11915 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11916 apparent char boundary.
11917 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11918 0x80..0x9F to/from multibyte form.
11919
11920 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11921 to unibyte.
11922
11923 * callproc.c (Fcall_process): Always encode an argument string if
11924 it is multibyte. Setup src_multibyte and dst_multibyte members of
11925 process_coding properly.
ce75fd23 11926
c9671f81
KH
11927 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11928 SPLIT_NON_ASCII_CHAR.
11929
11930 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11931 as is.
11932 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11933
52283633 11934 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11935 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11936 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11937 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11938 and eight-bit-graphic.
11939 (char_to_string): Likewise. Signal an error for too large
11940 character code.
11941 (char_printable_p): Return 0 for 8-bit characters.
11942 (update_charset_table): Update iso_charset_table only when a final
11943 character is non-negative.
11944 (find_charset_in_text): Renamed from find_charset_in_str.
11945 Arguments and return value changed. Callers changed.
11946 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11947 be -1 if CHARSET is used only internally.
11948 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11949 eight-bit-graphic.
11950 (Fcharset_after): Simplified.
11951 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11952 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11953 (multibyte_chars_in_text): Simplified by assuming there's no
11954 invalid multibyte sequence.
52283633
SM
11955 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11956 (str_as_unibyte): New functions.
11957 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11958 (init_charset_once): Initialization for
11959 LEADING_CODE_8_BIT_CONTROL.
11960 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11961 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11962 eight-bit-control and eight-bit-graphic.
11963
52283633
SM
11964 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11965 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11966 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11967 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11968 (CHARSET_REVERSE_CHARSET): Likewise.
11969 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11970 eight-bit-graphic.
11971 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11972 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11973 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11974 encounter an invalid multibyte sequence.
11975 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11976 sequence is always valid.
11977 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11978 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11979 (CHAR_STRING): For 8-bit characters, call char_to_string.
11980 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11981 multibyte sequence is always valid.
11982 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11983 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11984 (str_as_unibyte): Extern them.
c9671f81 11985 (BCOPY_SHORT): Fix a bug.
52283633 11986 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11987 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11988 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11989 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11990
bd4bde7f 11991 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11992 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11993 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11994 (EMIT_BYTES): New macros.
11995 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11996 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11997 macros deleted.
11998 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11999 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12000 check the validity of multibyte sequence.
12001 (decode_coding_emacs_mule): New function.
12002 (encode_coding_emacs_mule): New macro.
12003 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12004 the source.
12005 (DECODE_ISO_CHARACTER): Just return a character code.
12006 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12007 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12008 EMIT_CHAR to produced decoded characters. Exit the loop only by
12009 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12010 block here.
12011 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12012 only position codes for an invalid character.
12013 (encode_designation_at_bol): Return new destination pointer. 5th
12014 arg DSTP is changed to DST.
12015 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12016 from the source by ONE_MORE_CHAR. Don't handle the case of last
12017 block here.
12018 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12019 macros deleted.
52283633
SM
12020 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12021 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12022 TWO_MORE_BYTES to fetch a byte from the source.
12023 (encode_eol): Pay attention to coding->src_multibyte.
12024 (detect_coding, detect_eol): Preserve members src_multibyte and
12025 dst_multibyte.
12026 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12027 (encoding_buffer_size): Set magnification to 3 for all coding
12028 systems that require encoding.
12029 (ccl_coding_driver): For decoding, be sure that the result is
12030 valid multibyte sequence.
12031 (decode_coding): Initialize coding->errors and coding->result.
12032 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12033 and raw-text, always call decode_eol. Handle the case of last
12034 block here. If not coding->dst_multibyte, convert the resulting
12035 sequence to unibyte.
12036 (encode_coding): Initialize coding->errors and coding->result.
12037 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12038 and raw-text, always call encode_eol. Handle the case of last
12039 block here.
12040 (shrink_decoding_region, shrink_encoding_region): Detect cases
12041 that we can't skip data more rigidly.
12042 (code_convert_region): Setup src_multibyte and dst_multibyte
12043 members of coding. For decoding, if the buffer is multibyte,
12044 convert the source sequence to unibyte in advance. For encoding,
12045 if the buffer is multibyte, convert the resulting sequence to
12046 multibyte afterward.
12047 (run_pre_post_conversion_on_str): New function.
12048 (code_convert_string): Deleted and divided into the following two.
12049 (decode_coding_string, encode_coding_string): New functions.
12050 (code_convert_string1, code_convert_string_norecord): Call one of
12051 above.
12052 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12053 MAKE_NON_ASCII_CHAR.
52283633
SM
12054 (Fset_terminal_coding_system_internal)
12055 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12056 and dst_multibyte members.
12057 (init_coding_once): Initialize iso_code_class with new enum
12058 ISO_control_0 and ISO_control_1.
12059
12060 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12061 devided into ISO_control_0 and ISO_control_1.
12062 (struct coding_system): New members src_multibyte, dst_multibyte,
12063 errors, and result. Delete member fake_multibyte.
12064 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12065 nonzero.
12066 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12067 nonzero.
12068
12069 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12070 (Faset): Likewise.
12071
12072 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12073 multibyte form.
12074 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12075 combining occurs.
12076 (Ftranspose_region): Delete codes for handling byte combining.
12077
12078 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12079 dst_multibyte members of coding. On handling REPLACE on unibyte
12080 buffer, convert the result of decode_coding to unibyte. On
12081 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12082 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12083 multibyteness of the source (buffer or string).
12084
12085 * fns.c (concat): Handle 8-bit characters correctly.
12086 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12087 unibyte in the result.
12088 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12089 valid multibyte form in the result.
12090 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12091 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12092 return -1, signal an error.
12093 (base64_encode_1): New arg MULTIBYTE. Get each character by
12094 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12095 character is found, return -1.
12096 (Fbase64_decode_region): Delete codes for handling byte-combining.
12097 Treat each decoded byte as a unibyte character.
12098 (Fbase64_decode_string): Return unibyte string.
12099 (Fcompare_strings, concat, string_byte_to_char): Use
12100 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12101 FETCH_STRING_CHAR_ADVANCE.
12102 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12103 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12104
12105 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12106 SPLIT_NON_ASCII_CHAR.
12107 (fontset_ref_via_base, fontset_set): Likewise
12108
12109 * insdel.c (adjust_markers_for_record_delete): Deleted.
12110 (adjust_markers_for_insert): Argument changed. Caller changed.
12111 (adjust_markers_for_replace): Likewise.
52283633
SM
12112 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12113 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12114 (copy_text): Delete unused local varialbe c_save. For converting
12115 to multibyte, be sure to make all 8-bit characters in valid
12116 multibyte form.
12117 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12118 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12119 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12120 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12121 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12122 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12123 handling byte combining.
12124 (adjust_before_replace): Deleted.
427ec082 12125
c9671f81
KH
12126 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12127 SPLIT_NON_ASCII_CHAR.
12128 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12129 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12130 (Fkey_description): Likewise.
12131
12132 * lread.c (read1): On reading multibyte string, be sure to make
12133 all 8-bit chararacters in valid multibyte form.
12134 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12135
12136 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12137 unconditionally.
12138
12139 * process.c (Fstart_process): GCPRO current_dir before calling
12140 Ffind_operation_coding_system. Encode arguments here.
12141 (create_process): Don't encode arguments here. Setup
12142 src_multibyte and dst_multibyte members of struct coding.
12143 (read_process_output): Setup src_multibyte and dst_multibyte
12144 members of struct coding. If the output is to multibyte buffer,
12145 always decode the output of the process. Adjust the
52283633 12146 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12147 (send_process): Setup coding->src_multibyte according to the
12148 multibyteness of the source.
12149
52283633 12150 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12151 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12152 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12153
52283633 12154 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12155
12156 * w16select.c (Fw16_set_clipboard_data): Setup members
12157 src_multibyte and dst_multibyte of coding. Adjusted for the
12158 change for find_charset_in_str.
12159 (Fw16_get_clipboard_data): Likewise.
12160
12161 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12162 dst_multibyte of coding.
12163 (x_to_w32_font): Likewise.
12164
12165 * w32select.c (Fw32_set_clipboard_data): Setup members
12166 src_multibyte and dst_multibyte of coding. Adjusted for the
12167 change for find_charset_in_str.
12168 (Fw32_get_clipboard_data): Likewise.
12169
12170 * xdisp.c (get_next_display_element): Handle 8-bit characters
12171 correctly.
52283633
SM
12172 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12173 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12174
12175 * xselect.c (selection_data_to_lisp_data): Setup members
12176 src_multibyte and dst_multibyte of coding. Adjusted for the
12177 change for find_charset_in_str.
12178 (lisp_data_to_selection_data): Likewise.
12179
5f64c9e0
GM
121802000-05-19 Gerd Moellmann <gerd@gnu.org>
12181
52283633 12182 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12183
5f64c9e0
GM
12184 * dispextern.h (Vimage_types): Add extern declaration.
12185
12186 * xdisp.c (Vimage_types): Moved here from xfns.c.
12187 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12188
12189 * xfns.c (Vimages_types): Moved to xdisp.c.
12190 (syms_of_xfns): Move `image-types' to xdisp.c.
12191
12192 * w32fns.c (Vimage_types): Removed.
12193 (syms_of_w32fns): Remove `image-types'.
12194
813086ea
KH
121952000-05-18 Kenichi Handa <handa@etl.go.jp>
12196
12197 * fns.c (map_char_table): Pay attention to character number of
12198 charset. Check the validity of charset at the first level. For
12199 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12200 the default value.
12201
12202 * fontset.c: Include "buffer.h".
12203 (fs_load_font): If the face has fontset, record the face ID in
12204 that fontset.
12205 (Finternal_char_font): New function.
12206 (accumulate_font_info): New function.
12207 (Ffontset_info): Rewritten for the new fontset implementation.
12208 (syms_of_fontset): Register Vdefault_fontset in the first element
12209 of Vfontset_table. Include Vdefault_fontset in
12210 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12211 function.
12212
bdaebbf0
DL
122132000-05-16 Dave Love <fx@gnu.org>
12214
12215 * m/iris5d.h: Deleted -- unused.
12216
cb613bb8
GM
122172000-05-16 Gerd Moellmann <gerd@gnu.org>
12218
b15f3b77
GM
12219 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12220 `invalid' instead of `illegal'.
12221
12222 * indent.c (Fmove_to_column): When ending within a tab, insert
12223 spaces first so that markers at the end of the tab get adjusted.
12224
835c1b36
GM
12225 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12226 buffer list that wasn't selected in that frame.
12227
cb613bb8
GM
12228 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12229 is needed on mescaline, use a 2 char prefix, and call
12230 make_temp_name with second arg non-zero.
12231
12232 * fileio.c (make_temp_name): New function, extracted from
12233 Fmake_temp_name.
12234 (Fmake_temp_name): Use it.
12235
f685bea9
EZ
122362000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12237
52283633 12238 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12239
a1b8d58b
GM
122402000-05-15 Gerd Moellmann <gerd@gnu.org>
12241
12242 * Makefile.in (lisp): Add env.elc.
12243
12244 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12245
a265079f
GM
122462000-05-12 Gerd Moellmann <gerd@gnu.org>
12247
12248 * search.c (Freplace_match): Handle case of `\N' in the
12249 replacement when there's no group N.
12250
da4496b6
GM
122512000-05-11 Gerd Moellmann <gerd@gnu.org>
12252
0ace421a
GM
12253 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12254 of the message to message_dolog.
12255
1172eb8d
GM
12256 * keyboard.c (read_char): Don't clear current message for help
12257 events; let the code handling help events handle this. Change
12258 code detecting help events that should be ignored.
12259
da4496b6
GM
12260 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12261 we're interating over a string.
12262
0623e40f
DL
122632000-05-09 Dave Love <fx@gnu.org>
12264
12265 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12266 that offset before writing. Move gcpro region past call of
12267 Ffile_regular_p.
12268
bae2503b
DL
122692000-05-04 Dave Love <fx@gnu.org>
12270
12271 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12272
ec82fb2f
GM
122732000-05-04 Gerd Moellmann <gerd@gnu.org>
12274
12275 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12276 of inserted characters when BUF equals the current buffer, and PT
12277 is in front of or equal to FROM.
12278
cbf18892
GM
122792000-05-03 Gerd Moellmann <gerd@gnu.org>
12280
4ff40dd0
GM
12281 * xdisp.c (handle_single_display_prop): If display property value
12282 is invalid, or something not supported on the frame, restore
12283 iterator's position to what it was initially. Make sure to return
12284 0 for invalid and unsupported property values.
12285
cbf18892
GM
12286 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12287 that x_per_char_metric returns null.
12288
1b0672c3
GM
122892000-05-02 Gerd Moellmann <gerd@gnu.org>
12290
576da55d
GM
12291 * xterm.h (struct face): Add forward declaration.
12292 (struct image): Ditto.
12293 (image_ascent): Add prototype.
12294
12295 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12296 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12297 image_ascent instead of using IMAGE_ASCENT.
12298
12299 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12300 (IMAGE_ASCENT): Removed.
12301
12302 * xfns.c (Qcenter): New variable.
12303 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12304 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12305 (image_ascent): New function.
12306 (lookup_image): Recognize `:ascent center'.
12307 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12308 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12309 (xbm_load): Don't set image's ascent here.
12310 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12311 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12312 check ascent values here.
12313 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12314 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12315 (syms_of_xfns): Initialize Qcenter.
12316
1b0672c3
GM
12317 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12318 to the limits, increase the limits.
12319
0d7811ed
KH
123202000-05-01 Kenichi Handa <handa@etl.go.jp>
12321
12322 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12323 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12324
a943a5ca
GM
123252000-04-28 Gerd Moellmann <gerd@gnu.org>
12326
12327 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12328 taller than the window.
12329
5dba1e29
KH
123302000-04-28 Kenichi Handa <handa@etl.go.jp>
12331
12332 * xfaces.c (realize_x_face): Fix the argument of the second
12333 xassert. BASE_FACE may not be a face for ASCII.
12334
353964e3
GM
123352000-04-27 Gerd Moellmann <gerd@gnu.org>
12336
c76e04a8
GM
12337 * print.c (print_object): Treat print-length < 0 as nil.
12338
12339 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12340
12341 * s/freebsd.h (TERMCAP_OBJ): Removed.
12342 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12343
12344 * lread.c (read1): Don't treat period followed by certain
12345 characters as symbol start.
12346
12347 * xfns.c (slurp_file): New function.
12348 (xbm_image_p): Handle case of in-memory XBM files.
12349 (xbm_scan): Rewritten to work on memory buffers instead of files.
12350 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12351 Work on memory buffers instead of files. If DATA is null test
12352 if buffer looks like an in-memory XBM file.
12353 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12354 memory buffers instead of files.
12355 (xbm_file_p): New function.
12356 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12357
353964e3
GM
12358 * lread.c (end_of_file_error): New function.
12359 (read1): Call it instead of signaling `end-of-file' directly.
12360
427ec082 12361 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12362 with Fprinc instead of Fprin1.
12363
24d744ac
KR
123642000-04-26 Ken Raeburn <raeburn@gnu.org>
12365
12366 * window.c (freeze_window_start): Check that minibuffer scroll
12367 window isn't nil before extracting the window structure pointer
12368 from it.
12369
12370 * undo.c (record_delete): If we hit the end of the undo list, stop
12371 picking elements apart.
12372
7464346d
GM
123732000-04-26 Gerd Moellmann <gerd@gnu.org>
12374
12375 * xdisp.c (display_line): If lines are continued, restore
12376 iterator's ascent/descent information to the values before the
12377 first glyph not fitting on the line.
12378
612839b6
GM
123792000-04-25 Gerd Moellmann <gerd@gnu.org>
12380
12381 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12382 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12383
12384 * dispnew.c (increment_matrix_positions): Renamed from
12385 increment_glyph_matrix_buffer_positions.
12386 (increment_row_positions): Renamed from
12387 increment_glyph_row_buffer_positions.
12388
12389 * dispextern.h: Change names of renamed functions from dispnew.c
12390 in prototypes.
12391
cc181e95
GM
123922000-04-24 Gerd Moellmann <gerd@gnu.org>
12393
abfcc168
GM
12394 * fileio.c (Fdo_auto_save): Create directories for auto-save
12395 list file if necessary.
12396
cc181e95
GM
12397 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12398 from buffer or frame.
12399 (automatic_hscrolling_p): New variable.
12400 (hscroll_windows): Scroll windows horizontally only if automatic
12401 hscrolling is allowed.
12402 (syms_of_xdisp): New variable `automatic-hscrolling'.
12403
12404 * frame.h (struct frame): Add member extra_line_spacing.
12405
12406 * xfns.c (x_set_line_spacing): New function.
12407 (Fx_create_frame): Set line spacing from resources.
12408 (Qline_spacing): New variable.
12409 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12410
cc181e95
GM
12411 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12412
12413 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12414 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12415 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12416 extra_line_spacing from default value.
12417 (init_buffer_once): Initialize default value of extra_line_spacing.
12418
12419 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12420 and extra3.
12421
12422 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12423 prompt_width. Add extra line spacing.
12424
12425 * term.c (produce_glyphs): Remove reference to struct it's
12426 prompt_width.
12427
12428 * dispextern.h (struct it): Remove member prompt_width, add
12429 extra_line_spacing.
12430
58827478
GM
124312000-04-22 Gerd Moellmann <gerd@gnu.org>
12432
12433 * dispnew.c (update_frame_line): When writing a whole line, make
12434 sure cursor is in the right row afterwards, otherwise a use of
12435 capability `ch' in cmgoto might leave the cursor in the row below.
12436
25a87f42
GM
124372000-04-21 Gerd Moellmann <gerd@gnu.org>
12438
12439 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12440
12441 * keyboard.c (timer_check): Fix typo in comment.
12442
54edf5c2
KH
124432000-04-21 Kenichi Handa <handa@etl.go.jp>
12444
12445 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12446 name change: ch -> character.
12447
3a64eef5
GM
124482000-04-20 Gerd Moellmann <gerd@gnu.org>
12449
12450 * keyboard.c (echo_message_buffer): New variable.
12451 (echo_now): Set echo_message_buffer to the echo area buffer used
12452 to display the echo.
12453 (cancel_echoing): Reset echo_message_buffer to nil.
12454 (read_char): Code rewritten that handles canceling an echo or
12455 echoing a dash, respectively.
12456
12457 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12458 directory doesn't exist.
12459
6142fdcb
DL
124602000-04-19 Dave Love <fx@gnu.org>
12461
12462 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12463 (concat): Don't allow numeric args.
12464 (Fconcat): Doc change.
6142fdcb 12465
ac6b5352
SM
124662000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12467
12468 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12469 instead define end_match(1|2) more carefully.
12470 Use GET_CHAR_BEFORE_2 for `begline'.
12471
cb9215e4
GM
124722000-04-19 Gerd Moellmann <gerd@gnu.org>
12473
5e3dac3f
GM
12474 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12475 on 64-bit systems where NULL is defined as `0'.
12476
12477 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12478 the `variable argument list' to make it work on Alpha.
12479
cb9215e4
GM
12480 * m/alpha.h (_LP64) [!_LP64]: Define.
12481 (ORDINARY_LINK): Define for NetBSD.
12482
12483 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12484
f532dca0
DL
124852000-04-19 Dave Love <fx@gnu.org>
12486
c750667e
DL
12487 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12488 change.
12489
12490 * Makefile.in (LIBS): Don't use.
12491 (GETLOADAVG_OBJ): Define again.
12492 (otherobj): Add GETLOADAVG_OBJ.
12493
f532dca0
DL
12494 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12495
1c7e22fd
GM
124962000-04-18 Gerd Moellmann <gerd@gnu.org>
12497
f6d3257b
GM
12498 * lread.c (read_filtered_event): Cancel and start busy cursor.
12499
427ec082 12500 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12501 that the per-character metrics may be null.
12502
e10f64e7
GM
125032000-04-17 Gerd Moellmann <gerd@gnu.org>
12504
0daee095
GM
12505 * buffer.c (clone_per_buffer_values): New function.
12506 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12507 clone_per_buffer_values if CLONE is not nil.
12508
e10f64e7
GM
12509 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12510
38687d43
DL
125112000-04-16 Dave Love <fx@gnu.org>
12512
12513 * Makefile.in: Remove obsolete localcpp stuff.
12514 (GETLOADAVG_OBJ): Don't define.
12515 (obj): Move LIBOBJS...
12516 (otherobj): ... to here.
12517 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12518 whitespace-only lines after the continuation (Irix).
12519
c21c7262
GM
125202000-04-14 Gerd Moellmann <gerd@gnu.org>
12521
12522 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12523
12524 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12525
314767c0
DL
125262000-04-14 Dave Love <fx@gnu.org>
12527
12528 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12529 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12530 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12531 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12532 NLIST_STRUCT.
12533
12534 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12535 autoconfiscated HAVE_GETLOADAVG.
12536
12537 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12538 BROKEN_MKTIME.
12539
a2522dca
GM
125402000-04-14 Gerd Moellmann <gerd@gnu.org>
12541
12542 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12543 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12544
33744b5d
DL
125452000-04-14 Dave Love <fx@gnu.org>
12546
c21c7262 12547 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12548 (INTERVAL_SRC): Convert to make variable.
12549 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12550 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12551 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12552 add LIBOBJS.
12553 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12554 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12555 (shortlisp): Add facemenu, float-sup, frame.
12556 (SOME_MACHINE_LISP): Remove them from here.
12557 (LIBES): Change unused LDLIBS to autoconf LIBS.
12558
12559 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12560
9d3d5916
KH
125612000-04-14 Kenichi Handa <handa@etl.go.jp>
12562
12563 * composite.c (update_compositions): If FROM and TO are not in a
12564 valid range, do nothing.
12565
198e3c7a
GM
125662000-04-13 Gerd Moellmann <gerd@gnu.org>
12567
52283633 12568 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12569
52283633 12570 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12571
12572 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12573 as TERMCAP_OBJ.
12574
055a28c9
EZ
125752000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12576
12577 * fileio.c (a_write): Remove redundant semi-colons.
12578 (e_write): Return -1 if failed to write all the data.
12579 This fixes the changes made at 1999-12-15.
12580
f5c75033
DL
125812000-04-12 Dave Love <fx@gnu.org>
12582
12583 * fns.c (mapcar1): Test for null vals to support mapc.
12584 (Fmapc): New function.
12585
0c3cfc51
EZ
125862000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12587
12588 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12589 (IT_frame_up_to_date): Support the buffer local value of
12590 cursor-type, if defined.
12591
33465a31
DL
125922000-04-10 Dave Love <fx@gnu.org>
12593
12594 * editfns.c (preceding-char, following-char): Doc fix.
12595
6ed56568
KR
125962000-04-10 Ken Raeburn <raeburn@gnu.org>
12597
12598 * Makefile.in (temacs): Revert 2000-03-12 change.
12599
7cf80d4e
JR
126002000-04-10 Jason Rumney <jasonr@gnu.org>
12601
12602 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12603
34f3f342
GM
126042000-04-10 Gerd Moellmann <gerd@gnu.org>
12605
1a1b1895
GM
12606 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12607 area buffer, if it's not set up yet.
12608
34f3f342
GM
12609 * indent.c (compute_motion): Set immediate_quit.
12610
be0dbdab
GM
126112000-04-09 Gerd Moellmann <gerd@gnu.org>
12612
52283633 12613 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12614 (realize_tty_face): Suppress boldness if colors are the inverse of
12615 the default colors, and tty_suppress_bold_inverse_default_colors_p
12616 is set.
12617 (Ftty_suppress_bold_inverse_default_colors): New function.
12618 (syms_of_xfaces): Defsubr it.
12619
be0dbdab
GM
12620 * buffer.c (Frestore_buffer_modified_p): New function.
12621 (syms_of_buffer): Defsubr it.
12622
e8413c3b
KR
126232000-04-08 Ken Raeburn <raeburn@gnu.org>
12624
87f67317
KR
12625 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12626 charset id (int) argument, not a charset (Lisp_Object).
12627
e8413c3b
KR
12628 * coding.h (code_convert_string): Declare.
12629 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12630 object, as the fourth argument to code_convert_string.
12631
52283633 12632 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12633 (Fset_fontset_font): Use EQ to compare lisp objects.
12634
7c752c80
KR
126352000-04-05 Ken Raeburn <raeburn@gnu.org>
12636
c0333abc
KR
12637 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12638 a pointer that looks like a lisp object.
12639 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12640 zero, instead see whether it's an integer object, since they can't
12641 have intervals.
12642 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12643
52283633
SM
12644 * dispnew.c (allocate_matrices_for_frame_redisplay)
12645 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12646 to convert between (unsigned) int values and lisp integers.
12647 * keyboard.c (read_key_sequence): Likewise.
12648 * lread.c (substitute_object_recurse): Likewise.
12649 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12650 * minibuf.c (do_completion, Fminibuffer_complete_word)
12651 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12652 * term.c (produce_special_glyphs): Likewise.
12653
12654 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12655 * print.c (print_preprocess, print_object): Likewise.
12656
12657 * search.c (compile_pattern): Use NILP when checking for nil.
12658
74e49b38
KR
12659 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12660 __OPTIMIZE__]: Provide a GNU C macro version that handles
12661 lisp-object unions.
12662 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12663 field, to better cope with ENABLE_CHECKING and calls that modify a
12664 Lisp_Object using its old value.
12665
685e5ed2
GM
126662000-04-04 Gerd Moellmann <gerd@gnu.org>
12667
c407c570
GM
12668 * window.c (compare_window_configurations): Signal an error
12669 if parameters C1 or C2 aren't window configurations.
12670
685e5ed2
GM
12671 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12672 AFTER_POTENTIAL_GC calls around calls to functions that can
12673 signal an error and thus invoke the debugger.
12674
587a49ab
GM
126752000-04-03 Gerd Moellmann <gerd@gnu.org>
12676
62f20204
GM
12677 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12678 an error if decoding fails.
12679
587a49ab
GM
12680 * keyboard.c (lispy_mouse_names): Variable removed.
12681 (Vlispy_mouse_stem): New variable.
12682 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12683 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12684 for any mouse button number. Increase size of mouse_syms and
12685 button_down_location as needed. Call modify_event_symbol with
12686 different arguments.
12687 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12688 Call modify_event_symbol with different arguments.
12689 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12690 for any button number. Call modify_event_symbol with different
12691 arguments.
12692 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12693 Accept a string for NAME_ALIST_OR_STEM.
12694
12695 * lisp.h (larger_vector): Add prototype.
12696
12697 * fns.c (larger_vector): Make externally visible.
12698
12699 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12700
2d1675e4
SM
127012000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12702
12703 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12704 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12705 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12706 we are between str1 and str2.
12707 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12708 (PATFETCH): Use `TRANSLATE'.
12709 (PATFETCH_RAW): Fetch multibyte char if applicable.
12710 (PATUNFETCH): Remove.
12711 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12712 When writing a char, write it directly into the pattern buffer rather
12713 than going needlessly through a temp char-array.
12714 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12715 multibyte magic and remove the useless `#ifdef emacs'.
12716 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12717 buffer.
12718
12719 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12720 conditional on `emacs'.
12721
12722 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12723
cc2d8c6b
KR
127242000-04-01 Ken Raeburn <raeburn@gnu.org>
12725
12726 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12727 non-union-type versions of XMARK and friends here, because XMARK
12728 and friends won't work on an integer field if NO_UNION_TYPE is not
12729 defined.
52283633 12730 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12731
52283633 12732 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12733 (syms_of_composite): Delete local var NARGS, pass an int as first
12734 argument to Fmake_hash_table.
12735
2387b382
KR
12736 * editfns.c (text_property_stickiness): Use NILP to test
12737 Lisp_Object boolean value.
12738 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12739 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12740 problems reading from and changing the same lisp value in an
12741 XSETSTRING call.
12742
27660e89
GM
127432000-04-01 Gerd Moellmann <gerd@gnu.org>
12744
12745 * term.c (TN_no_color_video): New variable.
12746 (term_init): Intitialize TN_no_color_video.
12747 (enum no_color_bit): New enumeration.
12748 (MAY_USE_WITH_COLORS_P): New macro.
12749 (turn_on_face): Use it to determine if attributes may be used
12750 combined with colors.
12751
3578db3c
KR
127522000-04-01 Ken Raeburn <raeburn@gnu.org>
12753
12754 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12755 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12756 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12757 proper accessor macros.
12758 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12759 (grow_mini_window): Fix typo getting int value of root->height.
12760
6fc556fd
KR
12761 * xdisp.c (compute_string_pos): Fix order of arguments to
12762 string_pos_nchars_ahead.
12763 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12764 count arg to variable-arg routines like Frun_hook_with_args and
12765 Fformat.
587a49ab
GM
12766 (back_to_previous_visible_line_start)
12767 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12768 fixed-arg routines like Fget_char_property and Fmake_string.
12769 (reconsider_clip_changes): Use XINT when comparing integer lisp
12770 objects, or passing them as int arguments.
587a49ab
GM
12771 (mark_window_display_accurate, insert_left_trunc_glyphs)
12772 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12773 storing or passing integer values as lisp objects.
12774 (set_cursor_from_row, highlight_trailing_whitespace): Use
12775 INTEGERP, not implicit test against zero, for glyph object.
12776 (try_window_id): Don't use make_number when we want an int value.
12777
12778 * xfaces.c (xlfd_symbolic_value): Make last argument a
12779 Lisp_Object, to be consistent with callers.
12780 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12781 (lface_hash): Apply XFASTINT to lisp values before folding in.
12782
12783 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12784 fill in window width and height. Pass an int, not a lisp object,
12785 as first arg to Finsert.
12786
6e7b2457
GM
127872000-04-01 Gerd Moellmann <gerd@gnu.org>
12788
610d841e
GM
12789 * xfaces.c (realize_basic_faces): Block input while realizing
12790 the faces.
12791
6e7b2457
GM
12792 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12793
12794 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12795
aa110c0c
GM
127962000-03-31 Gerd Moellmann <gerd@gnu.org>
12797
12798 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12799 or ASCII, handle case that per-char metric is null.
aa110c0c 12800
8801a864
KR
128012000-03-30 Ken Raeburn <raeburn@gnu.org>
12802
c6129d7e
KR
12803 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12804
52283633
SM
12805 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12806 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12807 pointer, using eassert.
12808 * frame.h (XFRAME): Likewise.
12809
52283633
SM
12810 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12811 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12812 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12813 * data.c (set_internal): Likewise.
52283633
SM
12814 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12815 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12816 * fileio.c (auto_save_1): Likewise.
12817 * insdel.c (check_markers): Likewise.
12818 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12819 * undo.c (record_insert): Likewise.
12820 * vmsproc.c (child_sig): Likewise.
12821 * window.c (unshow_buffer, window_loop): Likewise.
12822 * xterm.c (x_erase_phys_cursor): Likewise.
12823
8e7af858
GM
128242000-03-30 Gerd Moellmann <gerd@gnu.org>
12825
12826 * xfns.c (free_image_cache): Free the cache structure itself
12827 last, after all its members have been freed.
12828
12829 * lisp.h (xstrdup): Add prototype.
12830
12831 * alloc.c (xstrdup): Moved here from xfaces.c.
12832 (allocating_for_lisp): Variable removed.
52283633 12833 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12834
12835 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12836 of Fsymbol_value.
12837 (xstrdup): Moved to alloc.c.
12838
e0b8c689
KR
128392000-03-29 Ken Raeburn <raeburn@gnu.org>
12840
b96f9fb7
KR
12841 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12842
12843 * emacs.c (main): Fix sense of no-loadup test.
12844
e0b8c689
KR
12845 * config.in (ENABLE_CHECKING): Undef.
12846
12847 * lisp.h (struct interval): Replace "parent" field with a union of
12848 interval pointer and Lisp_Object; add new bitfield to use as
12849 discriminant. Change other flag fields to bitfields.
12850 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12851 is defined and the supplied test fails, print a message and abort.
12852 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12853
12854 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12855 pointers; abort if the value looks like a lisp object.
52283633
SM
12856 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12857 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12858 Modify for new interval parent definition.
12859
52283633
SM
12860 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12861 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12862 addressable lisp object in the interval structure.
12863 (die): New function.
12864 (suppress_checking): New variable.
12865
12866 * intervals.c (interval_start_pos): Just return 0 if there's no
12867 parent object.
12868
f83c5440
GM
128692000-03-29 Gerd Moellmann <gerd@gnu.org>
12870
12871 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12872 and earlier Emacs versions.
12873
12874 * keyboard.c (Ftop_level): Cancel busy-cursor.
12875
12876 * eval.c (call_debugger): Cancel busy-cursor.
12877
fdce64ff
KH
128782000-03-29 Kenichi Handa <handa@etl.go.jp>
12879
12880 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12881 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12882
f6a3f532
SM
128832000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12884
12885 * regex.c (analyse_first): New function obtained by ripping out most
12886 of re_compile_fastmap and generalizing it a little bit so that it
12887 can also just return whether a given (sub)pattern can match the empty
12888 string or not.
12889 (regex_compile): Use `analyse_first' to decide whether the loop-check
12890 needs to be done or not for *, +, *? and +? (the loop check is costly
12891 for non-greedy repetition).
12892 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12893
e9b309ac
DL
128942000-03-28 Dave Love <fx@gnu.org>
12895
52283633 12896 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12897
e9b309ac
DL
12898 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12899
ed0767d8
SM
129002000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12901
12902 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12903 an expression.
12904 (enum re_opcode_t): Update description of succeed_n.
12905 (PATFETCH): Always define.
12906 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12907 operators, char classes, shy-groups and intervals).
12908 Optimize special cases of intervals so as to only use succeed_n and
12909 jump_n when really needed.
12910 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12911 that we don't have to handle the special cases any more.
12912 Simplify on_failure_jump handling as well.
12913
e11e7e46
JR
129142000-03-28 Jason Rumney <jasonr@gnu.org>
12915
12916 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12917
88faab89
GM
129182000-03-27 Gerd Moellmann <gerd@gnu.org>
12919
182ff242
GM
12920 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12921
12922 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12923
182ff242
GM
12924 * alloc.c (mark_maybe_object): New function.
12925 (mark_memory): Use it.
12926 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12927 (setjmp_tested_p, longjmp_done): New variables.
12928 (test_setjmp): New function.
12929 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12930 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12931
c1005d06
GM
12932 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12933 to DEC_TEXT_POS and INC_TEXT_POS.
12934
12935 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12936 with parameter MULTIBYTE_P.
12937
52283633 12938 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12939
7439e5b9 12940 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12941 buffers because it looks for multibyte character byte sequences
12942 which don't exist in unibyte text.
7439e5b9 12943
d9c545da
GM
12944 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12945
11fd416e 12946 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12947 [DEBUG_X_COLORS]: New functions.
12948 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12949
12950 * xfns.c (x_set_cursor_color): Get color reference counts right.
12951
12952 * xterm.c (x_copy_color): New function.
12953 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12954
12955 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12956 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12957 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12958 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12959 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12960 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12961 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12962 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12963 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12964 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12965
11fd416e
GM
12966 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12967 names for handling per-buffer variables.
d9c545da
GM
12968
12969 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12970 instead of MAX_BUFFER_LOCAL_VARS.
12971 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12972
12973 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12974
88faab89
GM
12975 * xfns.c (x_specified_cursor_type): New function.
12976 (x_set_cursor_type): Use it.
12977
12978 * buffer.h (struct buffer): Add cursor_type.
12979
d80f42b7
SM
129802000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12981
12982 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12983 (print_partial_compiled_pattern, re_compile_fastmap):
12984 Handle new opcode.
d80f42b7
SM
12985 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12986 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12987 executing it as well as when popping it off the stack to find infinite
12988 loops in non-greedy repetition operators.
12989
89e80928
GM
129902000-03-26 Gerd Moellmann <gerd@gnu.org>
12991
3d4ff2dd
GM
12992 * doc.c (Qfunction_documentation): New variable.
12993 (syms_of_doc): Initialize Qfunction_documentation.
12994 (Fdocumentation): If FUNCTION is a symbol with non-nil
12995 `function-documentation' property, return a documentation derived
12996 from that.
12997
bd96bd79
GM
12998 * buffer.c (syms_of_buffer): Add default-cursor-type.
12999 (init_buffer_once): Don't let cursor_type have a local value
13000 in every buffer.
13001
19d1bc27
GM
13002 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13003 on buffer-local value of cursor_type.
13004 (x_draw_bar_cursor): Add parameter WIDTH.
13005
13006 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13007 (init_buffer_once): Set default cursor_type value to t.
13008 Mark cursor_type as local everywhere.
13009 (syms_of_buffer): New per-buffer variable cursor-type.
13010
89e80928
GM
13011 * buffer.h (struct buffer): Remove member local_var_flags,
13012 add local_flags.
13013 (MAX_BUFFER_LOCAL_VARS): New macro.
13014 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13015 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13016 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13017 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13018
52283633 13019 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13020
13021 * category.c (Fset_category_table): Use new macros for per-buffer
13022 variables.
13023
13024 * buffer.c (buffer_permanent_local_flags): Make a char array.
13025 (max_buffer_local_idx): New variable.
13026 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13027 for new handling of per-buffer variables.
13028 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13029 (init_buffer_once): Initialize per-buffer vars differently.
13030 Set max_buffer_local_idx.
13031
13032 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13033 variables.
13034
52283633 13035 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13036
13037 * data.c (do_symval_forwarding, store_symval_forwarding)
13038 (find_symbol_value, set_internal, default_value, Fset_default)
13039 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13040 per-buffer variables.
13041
13042 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13043
9a0dd3dc
GM
130442000-03-24 Gerd Moellmann <gerd@gnu.org>
13045
b68c375f
GM
13046 * xterm.c (x_term_init): Unblock input around call1 of
13047 Qvendor_specific_keysyms.
13048
9a0dd3dc
GM
13049 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13050 (find_defun_start): Consider an open parenthesis in column 0
13051 a defun start only if open_paren_in_column_0_is_defun_start is set.
13052 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13053
7973e637
SM
130542000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13055
13056 * eval.c (Fautoload): Add entry in load-history (if after dump).
13057 * lread.c (load-history): Update docstring.
13058
39210e90
GM
130592000-03-24 Gerd Moellmann <gerd@gnu.org>
13060
13061 * indent.c (Fvertical_motion): Always use the current buffer.
13062 Temporarily change the window's buffer, if necessary.
13063
72db3ab5
GM
130642000-03-23 Gerd Moellmann <gerd@gnu.org>
13065
13066 * xterm.c (fast_find_position): Make sure not to consider rows
13067 not visible in the window.
13068
990b2375
SM
130692000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13070
13071 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13072 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13073
ff4df011
JR
130742000-03-22 Jason Rumney <jasonr@gnu.org>
13075
13076 * w32menu.c (single_submenu): Set help string to NULL if none.
13077 (w32_menu_show): Set help string correctly.
13078 (add-menu-item): Set help string in MIIM_DATA for menu item.
13079 Load SetMenuItemInfoA explicitly.
13080 (w32_menu_display_help): New function.
427ec082 13081
ff4df011
JR
13082 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13083 (QCdata): Moved to xdisp.c.
13084
13085 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13086 (Vw32_charset_to_codepage_alist): Removed.
13087 (Vw32_charset_info_alist): New variable.
52283633
SM
13088 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13089 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13090 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13091 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13092 with TODO comment.
13093 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13094 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13095 Define Vw32_charset_info_alist and w32_charset symbols.
13096
130972000-03-22 Jason Rumney <jasonr@gnu.org>
13098
13099 * makefile.nt (w32bdf.obj): Update dependencies.
13100
13101 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13102
13103 * w32fns.c: Include fontset.h after dispextern.h.
13104 (Fx_create_frame): Do not create fontset.
13105 (w32_load_system_font): Doc fix.
13106 (Fx_close_connection): Free full_name if it is not shared.
13107
13108 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13109 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13110 Callers updated.
ff4df011
JR
13111 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13112 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13113 (w32_font_is_double_byte): New function, needs body.
13114 (x_append_glyph): Set glyph->glyph_not_available_p.
13115 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13116 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13117 character, convert it to a unibyte character.
13118 (struct glyph_string): Delete member `charset'.
13119 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13120 calculating it is found.
13121 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13122 the case that per char metric is not available correctly.
13123 (x_fill_glyph_string): Handle the case that the specific glyph is
13124 not available correctly.
13125 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13126 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13127 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13128 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13129 fontset. Don't call FS_LOAD_FONT.
13130
439d5cb4
KR
131312000-03-22 Ken Raeburn <raeburn@gnu.org>
13132
13133 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13134 (INT_LISPLIKE): New macro.
13135 (NULL_INTERVAL_P): Use it.
52283633
SM
13136 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13137 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13138 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13139
13140 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13141 explicit references to "parent" field of struct interval and
13142 associated unclean type conversions.
52283633
SM
13143 * intervals.c (create_root_interval, root_interval, rotate_right)
13144 (rotate_left, balance_possible_root_interval, split_interval_right)
13145 (split_interval_left, interval_start_pos, find_interval)
13146 (next_interval, previous_interval, update_interval)
13147 (adjust_intervals_for_insertion, delete_node, delete_interval)
13148 (adjust_intervals_for_deletion, merge_interval_right)
13149 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13150 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13151 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13152 Likewise.
13153 * syntax.c (update_syntax_table): Likewise.
13154
13155 * intervals.c (reproduce_tree_obj): New function, like
13156 reproduce_tree but takes a Lisp_Object for the parent. Declare
13157 with prototype.
13158 (graft_intervals_into_buffer): Use it when appropriate.
13159 (reproduce_tree): Declare with prototype.
13160 (balance_possible_root_interval): Check that the parent is a lisp
13161 object before trying to examine its type.
13162
ee1c5b21
GM
131632000-03-22 Gerd Moellmann <gerd@gnu.org>
13164
13165 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13166 as strings only if both are known to be strings.
13167
13168 * s/openbsd.h (LIBS_TERMCAP): Undef.
13169
1fb352e0
SM
131702000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13171
13172 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13173 definitions for non-Emacs compilation.
13174 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13175 outside of `#ifdef emacs'.
13176 (print_partial_compiled_pattern): Update.
13177 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13178 (re_compile_fastmap): Merge handling of charset and charset_not (for
13179 emacs and non-emacs compilation as well).
13180 Similarly for (not)categoryspec and (not)syntaxspec.
13181 Don't use the fastmap when reaching `anychar' since the added
13182 complexity is not justified.
13183 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13184 and (not)syntaxspec. Merge (not)categoryspec.
13185
fdaa1f77
KH
131862000-03-22 Kenichi Handa <handa@etl.go.jp>
13187
52283633
SM
13188 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13189 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13190 --without-x.
fdaa1f77 13191
d152fb46
DL
131922000-03-21 Dave Love <fx@gnu.org>
13193
13194 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13195 doc string.
13196
d2cafc8c
GM
131972000-03-21 Gerd Moellmann <gerd@gnu.org>
13198
13199 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13200 (lface_fully_specified_p): Don't check contents of
13201 LFACE_FONT_INDEX because that attribute is optional.
13202 (realize_x_face): Remove now unwarranted xassert.
13203
9111d4b5
KH
132042000-03-21 Kenichi HANDA <handa@etl.go.jp>
13205
13206 The following changes are to make font selection based on
13207 characters, not charset. In addition, they recover fontset
13208 facilities while utilizing the new font selection mechanism.
13209
6c4bfdc0
KH
13210 * Makefile.in (fontset.o): Depend on dispextern.h.
13211
13212 * alloc.c (mark_face_cache): Don't mark face->registry.
13213
9111d4b5
KH
13214 * dispextern.h (struct glyph): New member glyph_not_available_p.
13215 Use 22 bits for face_id.
13216 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13217 (struct face): Delete member registry, new member ascii_face.
13218 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13219 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13220 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13221 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13222
13223 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13224 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13225 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13226 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13227 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13228 (fs_free_face_fontset, fontset_font_pattern)
13229 (face_suitable_for_char_p, face_for_char)
13230 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13231 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13232 (FS_LOAD_FACE_FONT): New macro.
13233
13234 * fontset.c: All codes rewritten or adjusted for the change of
13235 fontset implementation. Now fontset is represented by char table.
52283633
SM
13236 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13237 Variables removed.
9111d4b5 13238 (my_strcasecmp): Function removed.
52283633 13239 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13240 (AREF, ASIZE): New macros.
52283633
SM
13241 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13242 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13243 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13244 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13245 (fontset_id_valid_p, font_family_registry, fontset_name)
13246 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13247 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13248 New functions.
13249 (fs_load_font): New arg FACE. Caller changed.
13250 (fs_query_fontset): Argument changed. Caller changed.
13251 (Fquery_fontset): call fs_query_fontset.
13252 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13253 Functions removed.
52283633
SM
13254 (clear_fontset_elements, check_registry_encoding)
13255 (check_fontset_name): New functions.
9111d4b5
KH
13256 (syms_of_fontset): Set char-table-extra-slots property of fontset
13257 to 3. Staticpro and initialize Vfontset_table and
13258 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13259
13260 * frame.h (struct frame): Member `fontset_data' removed.
13261 (FRAME_FONTSET_DATA): Macro removed.
13262
13263 * frame.c (make_frame): Don't allocate f->fontset_data.
13264 (Fdelete_frame): Don't free f->fontset_data.
13265
6c4bfdc0
KH
13266 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13267
9111d4b5
KH
13268 * xdisp.c (charset_at_position): Function removed.
13269 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13270 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13271 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13272 Likewise.
13273 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13274 FACE_FOR_CHARSET.
52283633
SM
13275 (get_next_display_element, append_space)
13276 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13277
13278 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13279 Variables removed.
13280 (clear_font_table, frame_update_line_height, load_face_font):
13281 Adjusted for the change of fontset implementation.
13282 (load_face_fontset_font): Function removed.
13283 (pixel_point_size): New function.
13284 (font_list): Argument type changed. Caller changed.
13285 (LFACE_FONT): New macro.
13286 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13287 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13288 Lisp_Object. Determine the font name by actually loading a font
13289 by the specified pattern. Set LFACE_FONT (lface) to the specified
13290 pattern. Even if a font is not found, don't try alternatives.
13291 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13292 (set_font_frame_param): If `font' is specified in lface, use it.
13293 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13294 (lface_same_font_attributes_p): Likewise.
13295 (make_realized_face): Arguent changed. Caller changed. Set
13296 face->ascii_face to face itself.
13297 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13298 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13299 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13300 (free_realized_multibyte_face): New function.
13301 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13302 changed. Caller changed.
13303 (try_font_list): Argument type changed.
13304 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13305 (choose_face_font): Argument changed. Handle fontset properly.
13306 (choose_face_fontset_font): Function removed.
13307 (realize_default_face, realize_named_face): Don't remove the
13308 former face here.
13309 (realize_face): Argument changed. Caller changed. Remove face
52283633 13310 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13311 (realize_x_face): Argument changed. Caller changed. For a
13312 multibyte character, share fontset with base_face. For a single
52283633 13313 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13314 (realize_tty_face): Argument changed. Caller changed.
13315 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13316 (face_at_buffer_position): Don't check multibyte_p for returning
13317 DEFAULT_FACE_ID.
13318 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13319 FACE_SUITABLE_FOR_CHARSET_P.
13320 (syms_of_xfaces): Remove code for Qx_charset_registry and
13321 Vface_default_registry.
13322
6c4bfdc0
KH
13323 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13324 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13325 (x_per_char_metric): Don't try FONT->default_char. Even if
13326 pcm->width is zero, glyph bits may exist.
13327 (x_encode_char): Always initialize char2b->byte1.
13328 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13329 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13330 (x_append_glyph): Set glyph->glyph_not_available_p.
13331 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13332 it->charset. Handle the case that per char metric is not
13333 available. If it->multibyte_p is zero and it->c is a multibyte
13334 character, convert it to a unibyte character.
13335 (struct glyph_string): Delete member `charset'.
13336 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13337 the case that per char metric is not available correctly.
13338 (x_fill_glyph_string): Handle the case that the specific glyph is
13339 not available correctly.
13340 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13341 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13342 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13343 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13344 fontset. Don't call FS_LOAD_FONT.
13345
13346 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13347 (x_create_tip_frame): Likewise.
13348 (Fx_close_connection): Free full_name of font_info.
13349
13350 * fns.c (optimize_sub_char_table): New function.
13351 (Foptimize_char_table): New function.
13352 (syms_of_fns): Defsubr Soptimize_char_table.
13353
b33dd3b0
GM
133542000-03-20 Gerd Moellmann <gerd@gnu.org>
13355
13356 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13357 only if buffer is displayed in some window.
13358
13359 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13360 (try_window_reusing_current_matrix): Don't call scroll run
13361 function if run's current and desired position are the same;
13362 this prevents cursor flickering.
13363
4e8a9132
SM
133642000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13365
13366 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13367
13368 * regex.c (RE_STRING_CHAR): New macro.
13369 (GET_CHAR_AFER_2): Remove.
13370 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13371 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13372 (print_partial_compiled_pattern, re_compile_fastmap)
13373 (re_match_2_internal): Remove on_failure_jump_exclusive.
13374 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13375 optimization only need to work for * (ie. can use of_keep_string_jump).
13376 Remove the special case for .*\n since it is now covered by the general
13377 optimization.
13378 (re_search_2): Don't bother with `room'.
13379 (skip_one_char): New function.
13380 (skip_noops): Simplify since `memory' is not needed any more.
13381 (mutually_exclusive_p): Restructure slightly to use `switch' and
13382 add handling for "all" remaining cases.
13383 (re_match_2_internal): Change on_failure_jump_smart to use
13384 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13385 rather than on_failure_jump_exclusive.
13386
2136fdd4
GM
133872000-03-19 Gerd Moellmann <gerd@gnu.org>
13388
13389 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13390 number of bits per RGB because it's everywhere used as the depth
13391 of the visual.
13392
13393 * term.c (calculate_costs): Remove code dealing with X frames.
13394
18e21ce8 133952000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13396
13397 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13398
d7b511c4
GM
133992000-03-18 Gerd Moellmann <gerd@gnu.org>
13400
13401 * lread.c (read_integer): Unread the last char not consumed.
13402
16b5d424
GM
134032000-03-17 Gerd Moellmann <gerd@gnu.org>
13404
13405 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13406 which are in the process of being deleted.
16b5d424 13407
1fa28578
GM
134082000-03-16 Gerd Moellmann <gerd@gnu.org>
13409
83488cce
GM
13410 * Makefile.in (mostlyclean): Add `*.core'.
13411 (clean): Add `bootstrap-emacs'.
13412
1fa28578
GM
13413 * lread.c (read_integer): New function.
13414 (read1): Support read syntax #o, #x, #b, #r.
13415
99633e97
SM
134162000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13417
1fa28578
GM
13418 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13419 make sure POINTER_TO_OFFSET gives the same value before and after
13420 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13421 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13422 (debug): Now only active if > 0 rather than if != 0.
13423 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13424 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13425 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13426 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13427 (store_op1, store_op2, insert_op1, insert_op2)
13428 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13429 (group_in_compile_stack): Move to after its arg's types are
13430 declared and add a prototype.
99633e97 13431 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13432 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13433 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13434 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13435 indentation of the greedy-op and shy-group code.
99633e97
SM
13436 (at_(beg|end)line_loc_p): Fix argument's types.
13437 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13438 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13439 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13440 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13441 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13442 QUIT unconditionally.
99633e97 13443
699238d9
GM
134442000-03-15 Gerd Moellmann <gerd@gnu.org>
13445
13446 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13447 a sole completion.
13448
13449 * process.c (send_process): Add a hint that the function
13450 can call Lisp code to its comment.
13451
13452 * lread.c (load_dangerous_libraries): New variable.
13453 (Vbytecomp_version_regexp): New variable.
13454 (safe_to_load_p): New function.
13455 (Fload): Handle files not compiled with Emacs specially.
13456 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13457
34e23e5a
GM
134582000-03-14 Gerd Moellmann <gerd@gnu.org>
13459
9c763cca
GM
13460 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13461
13462 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13463 support functions only if HAVE_X11R6_XIM is defined.
13464 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13465
13466 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13467
13468 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13469 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13470 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13471
13472 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13473 (HAVE_X11R6_XIM): Define.
13474
13475 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13476
34e23e5a
GM
13477 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13478 If set, call XSynchronize.
13479
66f0296e
SM
134802000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13481
34e23e5a
GM
13482 * regex.c: Declare a new type `re_char' used throughout the code
13483 for the string char type. It's `const unsigned char' to match the
13484 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13485 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13486 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13487 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13488 code duplication.
66f0296e
SM
13489
13490 * charset.h (GET_CHAR_AFTER_2): Remove.
13491 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13492
854a025c
KR
134932000-03-12 Ken Raeburn <raeburn@gnu.org>
13494
13495 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13496 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13497 of them try to use backquotes.
13498
b9d2c7e2
DL
134992000-03-12 Dave Love <fx@gnu.org>
13500
13501 * unexelf.c: Restore changes of 1999-10-19.
13502 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13503 fix its type and alignment; copy it from current process.
13504
5e5dff44
GM
135052000-03-12 Gerd Moellmann <gerd@gnu.org>
13506
9b2f3c38
GM
13507 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13508 has been found. Fix bug not computing timer's predecessor.
13509
427ec082 13510 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13511 file name.
13512
e1cff360
GM
13513 * window.c (Fsave_window_excursion): Doc fix.
13514
52283633 13515 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13516
e411ce4b
EZ
135172000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13518
13519 * msdos.c (vga_installed): New function, code moved from
13520 dos_set_window_size.
13521 (Qbar, Qcursor_type, outside_cursor): New variables.
13522 (syms_of_msdos): Intern and staticpro them.
13523 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13524 shape used outside Emacs when called for the first time.
13525 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13526 cursor shape used outside Emacs.
13527 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13528 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13529 type has changed.
13530 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13531 parameters specify the cursor. Make qreverse a global
13532 variable (renamed to Qreverse).
13533
80460654
GM
135342000-03-09 Gerd Moellmann <gerd@gnu.org>
13535
13536 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13537
95cd4c40
SM
135382000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13539
13540 This is a big redesign of failure-stack and register handling, prompted
13541 by bugs revealed when trying to add shy-groups. Overall, what happened
13542 is that loops are now structured a little differently, groups can be
13543 shy and the code is a little simpler.
13544
13545 * regex.h: Update the copyright.
13546 (RE_SHY_GROUPS): New value.
13547 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13548 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13549
80460654
GM
13550 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13551 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13552 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13553 for (start|stop)_memory since they now only take one argument (the
13554 second has becomes unnecessary).
52283633 13555 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13556 (print_compiled_pattern): Use %ld to printf long ints and flush to
13557 make debugging a little easier.
95cd4c40
SM
13558 (union fail_stack_elt): Make the integer unsigned.
13559 (struct fail_stack_type): Add a `frame' element.
13560 (INIT_FAIL_STACK): Init `frame' as well.
13561 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13562 (DEBUG_PUSH, DEBUG_POP): Remove.
13563 (NUM_REG_ITEMS): Remove.
13564 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13565 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13566 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13567 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13568 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13569 New macros.
80460654
GM
13570 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13571 address pushed is not the destination of the jump but the source
13572 of it instead.
95cd4c40
SM
13573 (NUM_FAILURE_ITEMS): Remove.
13574 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13575 registers before the actual failure point). Don't hardcode any
13576 meaning for str==NULL anymore.
95cd4c40 13577 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13578 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13579 Remove.
95cd4c40
SM
13580 (REG_UNSET_VALUE): Use NULL (why not?).
13581 (compile_range): Remove declaration since it doesn't exist.
13582 (struct compile_stack_elt_t): Remove inner_group_offset.
13583 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13584 (regex_grow_registers): Remove dead code.
13585 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13586 (regex_compile): Add shy-groups Change loops to use
13587 on_failure_jump_smart&jump instead of
13588 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13589 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13590 variable to me). Use `jump' instead of `jump_past_alt' and don't
13591 bother with push_dummy_failure in alternatives since it is now
13592 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13593 emacs' for (re)allocating the stack.
13594 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13595 from loop when bufp->can_be_null rather than jumping to `done'.
13596 Avoid jumping backwards so as to ensure termination. Use
13597 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13598 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13599 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13600 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13601 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13602 (lowest_active_reg, highest_active_reg)
13603 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13604 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13605 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13606 variables. Push register (in `start_memory') on the stack rather
13607 than storing it in old_reg(start|end). Remove the cycle detection
13608 from `stop_memory', replaced by the use of on_failure_jump_loop
13609 for greedy loops. Add code for the new on_failure_jump_<foo>.
13610 Remove ad-hoc code in `on_failure_jump' to push more registers in
13611 the case of a loop. Take out code from `maybe_pop_jump' into
13612 separate functions and adapt it to the semantics of
13613 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13614 and push_dummy_failure. Remove dummy_failure handling and
13615 handling of `failures to jump to on_failure_jump' (this last one
13616 was already dead code, it seems).
13617 (group_match_null_string_p, alt_match_null_string_p)
13618 (common_op_match_null_string_p): Remove.
95cd4c40 13619
7397acc4
DL
136202000-03-08 Dave Love <fx@gnu.org>
13621
13622 * config.in: Don't depend on __STDC__ for volatile.
13623 Add POINTER_TYPE, PTR, PROTOTYPES.
13624
13625 * hftctl.c, strftime.c: Use PROTOTYPES.
13626 * eval.c (find_handler_clause): Likewise.
13627
13628 * mem-limits.h: Use POINTER_TYPE.
13629
13630 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13631 (memory_warnings): Declare using POINTER_TYPE.
13632
5e91ff9e
GM
136332000-03-08 Gerd Moellmann <gerd@gnu.org>
13634
feab4fba
GM
13635 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13636
52283633 13637 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13638
5e91ff9e
GM
13639 * xfns.c: Remove obsolete code in #if 0.
13640 (Fx_focus_frame): New function.
13641
a735b7e1
KH
136422000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13643
13644 * coding.c (coding_category_name): Add coding-category-utf-8,
13645 coding-category-utf-16-be, coding-category-utf-16-le.
13646 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13647 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13648 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13649 (detect_coding_utf_8): New function.
13650 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13651 UTF_16_LOW_SURROGATE_P): New macros.
13652 (detect_coding_utf_16): New function
13653 (detect_coding_mask): When priorities are specified, skip any
13654 categories that have `nil' coding-system. Fix bug of returning
13655 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13656 returns a mask not set in PRIORITIES.
13657 (detect_eol_type_in_2_octet_form): New function.
13658 (detect_eol): selects detect_eol_type_XXX to call according to
13659 cooding->category_idx.
13660 (detect_coding_system): Remove `nil' coding-system in the result.
13661 (Fupdate_coding_systems_internal): Update all coding-categories.
13662
52283633
SM
13663 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13664 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13665 New macros.
13666 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13667 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13668 (CODING_CATEGORY_IDX_UTF_16_LE)
13669 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13670 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13671 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13672 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13673
9994cc69
GM
136742000-03-07 Gerd Moellmann <gerd@gnu.org>
13675
e9b4e5ff
GM
13676 * doc.c (Fdocumentation_property): If value is not a string,
13677 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13678
f7daf1e1
GM
13679 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13680 close the display with XtCloseDisplay. This caused a bus error
13681 on OpenWindows.
13682
9994cc69
GM
13683 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13684 complete but not unique.
13685
4336c705
GM
136862000-03-06 Gerd Moellmann <gerd@gnu.org>
13687
18bb0684
GM
13688 * process.c (send_process): Remove local variable `procname' that
13689 might become invalid when a GC happens. Instead, access the
13690 process name slot directly.
13691
4336c705
GM
13692 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13693 orig_height if set.
13694
13695 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13696 orig_height if set.
13697
515d0d0e
EZ
136982000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13699
13700 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13701 glyph matrices have been freed.
13702
100b3cbb
GM
137032000-03-05 Gerd Moellmann <gerd@gnu.org>
13704
50df5e5a 13705 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13706 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13707
13708 * xfns.c (QCdata): Moved to xdisp.c.
13709
13710 * xdisp.c (QCdata): Moved here from xfns.c.
13711 (syms_of_xdisp): Initialize QCdata.
13712
13713 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13714
13715 * window.c (coordinates_in_window): Use
13716 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13717 FRAME_INTERNAL_BORDER_WIDTH.
13718
100b3cbb 13719 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13720 it is obviously invalid.
100b3cbb
GM
13721
13722 * xterm.c (x_term_init): Create a colormap if not using the
13723 default visual.
13724
13725 * xterm.h (select_visual): Change prototype.
13726
13727 * xfns.c (select_visual): Rewritten. Recognize user-specified
13728 visual classes.
13729 (visual_classes): New variable.
13730
64d739c4
GM
137312000-03-04 Gerd Moellmann <gerd@gnu.org>
13732
13733 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13734 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13735 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13736 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13737 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13738 XtNcolormap resources.
13739 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13740 (Fx_create_frame): Initialize color members of x_output structure.
13741 (xpm_load): Pass colormap to XPM lib.
13742
13743 * xfaces.c (x_free_colors): Access colormap of frame using
13744 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13745 when default colormap is used.
13746
13747 * xterm.c (x_term_init): Set Colormap member of x_display_info
13748 structure. Copy colormap if resource `privateColormap' is
13749 specified (PseudoColor only).
13750 (x_setup_relief_color): Access colormap of frame using
13751 FRAME_X_COLORMAP.
13752
13753 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13754 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13755
c3cee013
JR
137562000-03-04 Jason Rumney <jasonr@gnu.org>
13757
13758 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13759 other non-platform-specific equivalents.
64d739c4 13760 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13761 specific functions and macros as their w32 equivalents where
13762 non-platform-specifics are not available.
13763 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13764 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13765 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13766 (frame_update_line_height): Use macros to access f->output_data.
13767 (defined_color): Remove FIXME comments; fixed.
13768 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13769 into #ifdef blocks. Add WINDOWSNT blocks.
13770 (Fx_list_fonts): Use macros for accessing font data.
13771 (set_lface_from_font_name): Different default fonts for X and
13772 WINDOWSNT.
13773 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13774 scalable for backward compatibility.
64d739c4 13775 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13776 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13777
64d739c4 13778 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13779 syms_of_w32faces.
13780
13781 * makefile.nt (w32faces.obj): Remove.
13782 (xfaces.obj): Add.
13783
807cc41c
JR
137842000-03-03 Jason Rumney <jasonr@gnu.org>
13785
13786 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13787 correct parameters.
13788
0007072a
KR
137892000-03-03 Ken Raeburn <raeburn@gnu.org>
13790
13791 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13792 standard ELF definitions here if the system header does not.
13793
71a6ba55
GM
137942000-03-03 Gerd Moellmann <gerd@gnu.org>
13795
13796 * xterm.c (PER_CHAR_METRIC): Removed.
13797 (x_per_char_metric_1, x_default_char): New functions.
13798 (x_per_char_metric): If font's default char is invalid, return
13799 metrics of a suitably chosen usable default char.
13800 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13801 char, replace occurrences of unprintable chars with a suitably
13802 chosen usable default char.
71a6ba55 13803
900fa1f1
GM
138042000-03-02 Gerd Moellmann <gerd@gnu.org>
13805
42f55fe0
GM
13806 * xterm.c (note_mouse_highlight): Return quickly if frame's
13807 glyph matrices have been freed.
13808
13809 * dispnew.c (free_glyphs): Block input while freeing matrices.
13810
900fa1f1
GM
13811 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13812
52283633
SM
13813 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13814 Use x_free_colors.
900fa1f1
GM
13815
13816 * dispextern.h (x_free_colors): Add prototype.
13817
13818 * xfaces.c (x_free_colors): New function.
13819 (unload_color, free_face_colors): Use it.
13820
2f950292
EZ
138212000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13822
13823 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13824
13825 * window.c [MSDOS]: Include msdos.h.
13826
54d04320
DL
138272000-03-02 Dave Love <fx@gnu.org>
13828
13829 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13830
13831 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13832 set C_OPTIMIZE_SWITCH for gcc.
13833
0ba93ac4
KH
138342000-03-02 Kenichi Handa <handa@etl.go.jp>
13835
13836 * coding.c (coding_save_composition): Be sure to allocate
13837 composition data area in coding even if there's no composition in
13838 the current run.
13839
a2bc11d4
JR
138402000-03-01 Jason Rumney <jasonr@gnu.org>
13841
13842 * w32term.c: Equivalent changes to those made to xterm.c on
13843 2000-02-25 and 2000-02-24.
13844
13845 * w32fns.c: Equivalent changes to those made to xfns.c on
13846 2000-02-25 and 2000-02-21.
13847
13848 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13849 correct line-end convention is followed.
13850
13851 * w32menu.c [HAVE_BOXES]: Remove #undef.
13852 (single_keymap_panes): Remove code for simulating checkmarks.
13853 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13854 Remove code for drawing simulated checkmarks.
13855 (w32_menu_show): make unibyte help string correctly.
13856 (add_menu_item): draw standard Windows checkmarks. Draw radio
13857 buttons as radio buttons if possible.
13858
72d19d75
GM
138592000-03-01 Gerd Moellmann <gerd@gnu.org>
13860
2df636f4
GM
13861 * sysdep.c (start_of_text): Don't define this function for NetBSD
13862 with ELF.
13863
427ec082 13864 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13865 Don't define.
13866 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13867 (LINKER): Don't undef if __NetBSD__ is defined.
13868
13869 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13870
13871 * fileio.c [__NetBSD__]: Define `unix'.
13872
72d19d75
GM
13873 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13874
ed4d0512
GM
138752000-02-29 Gerd Moellmann <gerd@gnu.org>
13876
50b1039f
GM
13877 * atimer.c (start_atimer): Don't abort when timers are stopped.
13878 (append_atimer_lists): New function.
13879 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13880 arbitrary lists of stopped and running atimers.
13881
ed4d0512
GM
13882 * atimer.c (cancel_atimer): Handle canceling an atimer when
13883 some timers are stopped.
13884
13885 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13886 after canceling it.
13887
13888 * fns.c (maybe_resize_hash_table): Handle case of new size
13889 coming out as being the same as old size.
13890
387023ee
JR
138912000-02-27 Jason Rumney <jasonr@gnu.org>
13892
13893 * makefile.nt: Add atimer.h to dependencies.
13894 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13895 * w32console.c: Only disable window system features for dispextern.h
13896 (initialize_w32_display): Build a display info for the console.
13897 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13898 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13899 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13900 as 2 button mice.
13901 * w32gui.h (struct W32FontStruct): Revert last change after change
13902 to xdisp.c.
13903 * w32menu.c (single_submenu): Set up help string.
13904 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13905 (w32_dialog_show): Set up help string.
13906 * w32term.c (w32_display_info_for_display): Remove unused function.
13907 (w32_draw_bitmap): Use pre-built bitmaps.
13908 (w32_initialize_display_info): New function to initialize parts of
13909 display info that are common to both GUI and console frames.
13910 (w32_term_init): Use w32_initialize_display_info. Do not set
13911 Vw32_num_mouse_buttons here, as it is not called for console
13912 frames. Build bitmaps for indicating truncated lines etc.
13913 (x_delete_display): Destroy pre-built bitmaps.
13914 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13915 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13916
4516715a
DL
139172000-02-27 Dave Love <fx@gnu.org>
13918
13919 * lisp.h: Add a bunch of prototypes.
13920
171ca836
KH
139212000-02-26 Kenichi Handa <handa@etl.go.jp>
13922
13923 * keyboard.c (read_char): Set `usec' correctly.
13924
4013921d
KH
139252000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13926
13927 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13928 `lambda', set reg[RRR] to the map index.
13929 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13930 reg[RRR] to 0. Otherwise, set it to -1.
13931
9244a058
GM
139322000-02-25 Gerd Moellmann <gerd@gnu.org>
13933
2df636f4 13934 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13935
18e21ce8 139362000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13937
f43d79c1
GM
13938 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13939 and contains a `:', prepend `/:'.
13940
13941 * window.c (select_window_1): If selected_window is nil,
13942 don't "swap out" the buffer's point.
13943 (Fset_window_configuration): Set selected_window to nil
13944 before calling Fselect_window.
13945 (unshow_buffer): Don't set point in buffer from window's point
13946 if another more recently selected window also shows the buffer.
13947
bed0c171
GM
139482000-02-25 Gerd Moellmann <gerd@gnu.org>
13949
449c3c52
GM
13950 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13951
f5b58615
GM
13952 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13953 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13954 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13955 New variables.
f5b58615
GM
13956 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13957 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13958 (hide_busy_cursor): New functions.
13959 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13960
13961 * minibuf.c (read_minibuf): Cancel busy-cursor.
13962
13963 * keyboard.c (command_loop_1): Call start_busy_cursor before
13964 Fcommand_execute and cancel_busy_cursor after it.
13965 (timer_check): Remove busy-cursor code.
13966 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13967 cursor timer.
13968
13969 * process.c (wait_reading_process_input): Remove busy-cursor code.
13970
13971 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13972 Fx_hide_busy_cursor.
13973
13974 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13975 Remove prototyoes.
13976 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13977
13978 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13979
13980 * xterm.c (XTread_socket): Remove busy-cursor code.
13981
4eb8436f
GM
13982 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13983 (build_frame_matrix_from_leaf_window): Put code handling
13984 glyph row's not being a slice of a frame row in #if 0.
13985 (sync_window_with_frame_matrix_rows): New function.
13986 (frame_row_to_window): New function.
13987 (mirror_line_dance): Handle copies between windows.
13988
3cb65b0e
GM
13989 * lread.c (Fload): Use `xfree' instead of `free'.
13990 (init_obarray): Use `xmalloc' instead of `malloc'.
13991
bed0c171
GM
13992 * window.c (Fset_window_buffer): Set WINDOW to the window
13993 after decoding.
2add4349
GM
13994 (coordinates_in_window): Take frame's internal border width
13995 into account.
bed0c171 13996
42088c12
GM
139972000-02-24 Gerd Moellmann <gerd@gnu.org>
13998
13999 * xterm.c (x_display_and_set_cursor): Display cursor of
14000 non-selected windows depending on the setting of
14001 cursor_in_non_selected_windows.
14002
14003 * xdisp.c (cursor_in_non_selected_windows): New variable.
14004 (syms_of_xdisp): DEFVAR_BOOL it.
14005
d1e103b2
GM
140062000-02-23 Gerd Moellmann <gerd@gnu.org>
14007
723e779c
GM
14008 * data.c (Fstring_to_number): If number is greater than what
14009 fits into an integer, return a float.
14010
d1e103b2
GM
14011 * eval.c (specbind): Remove references to
14012 keyword_symbols_constant_flag.
14013
14014 * data.c (keyword_symbols_constant_flag): Removed.
14015 (Fmakunbound, set_internal, syms_of_data): Remove references to
14016 keyword_symbols_constant_flag.
14017
14018 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14019
214f877f
KH
140202000-02-23 Kenichi Handa <handa@etl.go.jp>
14021
14022 * syntax.c (multibyte_syntax_as_symbol): New variable.
14023 (syms_of_syntax): Declare it as a Lisp variable.
14024 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14025 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14026 nonzero, treat all multibyte characters as symbol.
52283633 14027 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14028
130adcb7
EZ
140292000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14030
3cb65b0e 14031 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14032 a deleted frame.
130adcb7 14033
17cbbf95
GM
140342000-02-21 Gerd Moellmann <gerd@gnu.org>
14035
14036 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14037
14038 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14039 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14040
beb0bc36
DL
140412000-02-21 Dave Love <fx@gnu.org>
14042
14043 * frame.c (Vmouse_position_function): New variable.
14044 (Fmouse_position): Use it.
14045 (syms_of_frame): Install it.
14046
14047 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14048
1d92afcd
GM
140492000-02-20 Gerd Moellmann <gerd@gnu.org>
14050
14051 * fileio.c (Finsert_file_contents): Unbind the binding of
14052 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14053
14054 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14055 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14056 (specbind, unbind_to): Handle most common case of non-constant
14057 symbol with trivial value specially.
14058
14059 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14060
18e21ce8 140612000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14062
14063 * data.c (Fmake_variable_buffer_local): Doc fix.
14064 Init found_for_buffer to 0.
14065 (Fmake_variable_frame_local): If the variable has already
14066 been buffer-local, set the check_frame field.
14067
1d4311c3
EZ
140682000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14069
14070 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14071 produced for CODING_MODE_LAST_BLOCK requires.
14072
2dc95ddd
DL
140732000-02-18 Dave Love <fx@gnu.org>
14074
14075 * keyboard.c (echo_keystrokes): Remove declaration.
14076 (Vecho_keystrokes) New variable.
14077 (read_char, record_menu_key, read_key_sequence): Use it to allow
14078 use of float value.
14079 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14080
14081 * lread.c: Undef feature selection macros before defining.
14082
f0930f35
GM
140832000-02-18 Gerd Moellmann <gerd@gnu.org>
14084
14085 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14086 for symbols other than the symbol in question.
14087
e3d4de90
DL
140882000-02-17 Dave Love <fx@gnu.org>
14089
14090 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14091
0b378936
GM
140922000-02-17 Gerd Moellmann <gerd@gnu.org>
14093
d621caf7
GM
14094 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14095
0b378936
GM
14096 * alloc.c (enum mem_type): Compile unconditionally.
14097
3b451f74
EZ
140982000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14099
14100 * xfaces.c (tty_defined_color): Don't return faulire indication
14101 for unspecified-fg and unspecified-bg pseudo-colors.
14102
10689a01
GM
141032000-02-17 Gerd Moellmann <gerd@gnu.org>
14104
1216f5e4
GM
14105 * alloc.c (mark_object): Don't mark symbol names in pure space.
14106 (gc_sweep): Don't unmark symbol names in pure space.
14107
14108 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14109 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14110 [GC_MARK_STACK]: New defines.
427ec082 14111 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14112 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14113
14114 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14115
14116 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14117 allocate_buffer instead of xmalloc.
14118
14119 * alloc.c (toplevel): Include setjmp.h.
14120 (PURE_POINTER_P): New define.
14121 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14122 (Vdead) [GC_MARK_STACK]: New variable.
14123 (lisp_malloc): Add parameter TYPE, call mem_insert if
14124 GC_MARK_STACK is defined.
14125 (allocate_buffer): New function.
427ec082 14126 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14127 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14128 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14129 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14130 (MEM_NIL) [GC_MARK_STACK]: New define.
14131 (struct mem_node) [GC_MARK_STACK]: New structure.
14132 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14133 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14134 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14135 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14136 (mark_stack) [GC_MARK_STACK]: New functions.
14137 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14138 (clear_marks): Removed.
14139 (gc_sweep): Set free conses' car, free floats' type, free
14140 symbols' function to Vdead. Use lisp_free to free buffers.
14141 (init_alloc_once): Initialize Vdead.
14142 (survives_gc_p): Return non-zero for pure objects.
14143
14144 * alloc.c: Add comments throughout the file.
14145
2503c8b1
GM
14146 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14147 that unblocks alarms.
14148
8389e1e2
GM
14149 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14150 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14151 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14152
10689a01 14153 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14154
bfc17d18
KH
141552000-02-17 Kenichi Handa <handa@etl.go.jp>
14156
4a09dee0
KH
14157 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14158 avoid infinite error signaling. Allocate sufficient memory for
14159 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14160
2b927d02
SM
141612000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14162
14163 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14164 depends on the previous behavior.
14165
b49cb764
GM
141662000-02-16 Gerd Moellmann <gerd@gnu.org>
14167
14168 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14169
99e95407
GM
141702000-02-15 Gerd Moellmann <gerd@gnu.org>
14171
14172 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14173
14174 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14175 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14176 write(2).
14177
6ffd3cf7
RS
141782000-02-15 Richard M. Stallman <rms@gnu.org>
14179
14180 * data.c (set_internal): Don't make variable buffer-local
14181 if within a let-binding for the same buffer.
14182 (let_shadows_buffer_binding_p): New function.
14183
14184 * eval.c (specbind): For buffer-local value,
14185 record the current buffer also.
14186 (unbind_to): Cope with that change.
14187
cad53475
GM
141882000-02-15 Gerd Moellmann <gerd@gnu.org>
14189
14190 * window.c (Fsave_window_excursion): Doc fix.
14191
1aa963c8
SM
141922000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14193
14194 * syntax.c (back_comment): Make sure we only consider comment-starters
14195 of the relevant style and return -1 in case of a failure to find the
14196 beginning of the comment.
14197 (Fforward_comment): If back_comment fails, go back to the position just
14198 after the comment-end.
14199 (scan_lists): Add comment describing a very minor bug.
14200
b9b84fd3
SM
142012000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14202
14203 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14204 `completion-regexp-list' in the docstring.
14205
3a28db80
DL
142062000-02-14 Dave Love <fx@gnu.org>
14207
14208 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14209
fb4a568d
SM
142102000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14211
14212 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14213 to Emacs' syntax. Also fix the comment about set/not-set meanings
14214 since Emacs syntax is not the value 0 any more.
14215 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14216 since it's now part of RE_SYNTAX_EMACS.
14217
1063ebb5
DL
142182000-02-12 Dave Love <fx@gnu.org>
14219
52283633 14220 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14221
fb07a302
GM
142222000-02-12 Gerd Moellmann <gerd@gnu.org>
14223
14224 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14225
aaf2320c
DL
142262000-02-12 Dave Love <fx@gnu.org>
14227
14228 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14229
14230 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14231 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14232 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14233
14234 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14235
14236 * s/nextstep.h: Don't define HAVE_ALLOCA.
14237
14238 * config.in: Add vfork bits.
14239
eedf8bde
GM
142402000-02-12 Gerd Moellmann <gerd@gnu.org>
14241
14242 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14243 unwind function to undo the effect of stopping atimers.
14244
52283633 14245 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14246
14247 * atimer.c (stopped_atimers): New variable.
14248 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14249 New functions.
14250
14251 * atimer.h (stop_other_atimers, run_all_atimers)
14252 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14253
eedf8bde
GM
14254 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14255
8476c2f8
KR
142562000-02-11 Ken Raeburn <raeburn@gnu.org>
14257
14258 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14259 library may depend on jpeg.
14260 (atimer.o): Depends on atimer.c.
14261
0e85e4a3
KH
142622000-02-11 Kenichi Handa <handa@etl.go.jp>
14263
14264 * insdel.c (del_range_1): Call update_compositions.
14265 (del_range_both): Call update_compositions just once..
14266
97fa0cc8
DL
142672000-02-10 Dave Love <fx@gnu.org>
14268
14269 * xfns.c (create_frame_xic): Fix initialization of automatic
14270 aggregates for pcc.
14271
25566a3c
KH
142722000-02-09 Kenichi Handa <handa@etl.go.jp>
14273
14274 * ccl.c (CCL_MAKE_CHAR): New macro.
14275 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14276 registers by CCL_MAKE_CHAR before calling translate_char.
14277 <CCL_TranslateCharacterConstTbl> Likewise.
14278
69da54ba
DL
142792000-02-08 Dave Love <fx@gnu.org>
14280
14281 * lread.c (__EXTENSIONS__): Define.
14282
f7136ee8
GM
142832000-02-08 Gerd Moellmann <gerd@gnu.org>
14284
14285 * puresize.h (BASE_PURESIZE): Increase to 650000.
14286
7768790b
EZ
142872000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14288
14289 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14290 the help message.
14291
38fd211b
EZ
142922000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14293
14294 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14295 md, mh, mb, mr, and me to the fake termcap entry.
14296
66e4690f
KR
142972000-02-06 Ken Raeburn <raeburn@gnu.org>
14298
14299 * sound.c (sound_cleanup): Don't call device close routine if the
14300 function pointer is null.
14301
a75dfea0
AI
143022000-02-06 Andrew Innes <andrewi@gnu.org>
14303
14304 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14305 around image definitions and prototypes.
14306 (gamma_correct) [WINDOWSNT]: New prototype.
14307
14308 * w32term.c (x_make_frame_visible): Replace call to
14309 input_poll_signal with poll_for_input.
14310
14311 * window.c [WINDOWSNT]: Include w32term.h.
14312
14313 * xdisp.c [WINDOWSNT]: Include w32term.h.
14314
14315 * makefile.nt: Add dependencies on w32gui.h.
14316 (OBJ1): Include atimer.obj.
14317 ($(BLD)\atimer.obj): New dependency rule.
14318
14319 * w32.c (sigmask): New function (does nothing).
14320 (sigunblock): Ditto.
14321
14322 * frame.c [WINDOWSNT]: Include w32term.h.
14323
14324 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14325
14326 * lread.c (syms_of_lread): Fix literal newlines.
14327
14328 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14329 the string constant limit (2048 bytes) in MSVC.
14330 (main): Ditto.
14331
59ddecde
GM
143322000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14333
52283633 14334 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14335 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14336 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14337 dispatch the event.
14338
07590973
DL
143392000-02-04 Dave Love <fx@gnu.org>
14340
14341 * fileio.c: Remove some unused vars.
14342 (_GNU_SOURCE): Define (for euidaccess).
14343
14344 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14345
14346 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14347 gcpro1, gcpro2.
14348 (read_minibuf): Deal with allow_props correctly.
14349
649351f9
EZ
143502000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14351
14352 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14353
66e4690f 143542000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14355
14356 * search.c (compile_pattern): If a cache entry has a nil regexp,
14357 fill in that entry instead of clobbering a previously cached
14358 string regexp.
14359
66e4690f 143602000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14361
14362 * puresize.h (BASE_PURESIZE): Increase to 610000.
14363
d240a249
GM
143642000-02-02 Gerd Moellmann <gerd@gnu.org>
14365
14366 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14367 can GC.
14368
ca91fb26
KH
143692000-02-02 Kenichi Handa <handa@etl.go.jp>
14370
25660570
KH
14371 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14372 instead of incrementing ic directly.
14373 <CCL_WriteExprConst> Likewise.
14374 <ccl_set_expr>: Set ic to jump_address.
14375
ca91fb26
KH
14376 * fileio.c (e_write): Fix the handling of
14377 CODING_FINISH_INSUFFICIENT_SRC.
14378
2ede9689
DL
143792000-02-01 Dave Love <fx@gnu.org>
14380
14381 * editfns.c (Fpropertize): Doc fix.
14382
14383 * process.c (Fstart_process): Doc fix.
14384
14385 * eval.c: Fix various doc strings not to duplicate information
14386 from help-manyarg-func-alist.
14387
52283633 14388 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14389
14390 * doc.c (Vhelp_manyarg_func_alist): New variable.
14391 (Fdocumentation): Use it.
14392 (syms_of_doc): Define it.
14393
b6680a0e
GM
143942000-01-31 Gerd Moellmann <gerd@gnu.org>
14395
2cb750ba
GM
14396 * xterm.c (xim_open_dpy): Remove unused local variable.
14397
52283633 14398 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14399
14400 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14401 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14402
b6680a0e
GM
14403 * fns.c (sweep_weak_table): New function.
14404 (sweep_weak_hash_tables): Use it. Keep on marking until there
14405 is no more change.
14406
994c5afe
GM
144072000-01-30 Gerd Moellmann <gerd@gnu.org>
14408
14409 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14410 that XTread_socket does not crash by trying to call XNoOp on a
14411 closed display.
427ec082 14412
f00276e3
JR
144132000-01-30 Jason Rumney <jasonr@gnu.org>
14414
14415 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14416 Change selected_frame to SELECTED_FRAME ().
14417 (w32_console_mouse_position): Remove #ifndef MULE from around
14418 `insist' parameter.
14419
14420 * makefile.nt: Remove dosfns.obj.
14421
14422 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14423
14424 * w32fns.c (w32_defined_color): Check for valid frame before
14425 applying gamma correction. Eliminate dependency on frame elsewhere.
14426 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14427 (w32_to_x_font): Use resx and resy not height_in and width_in.
14428 (x_to_w32_font): Doc fix.
14429 (xlfd_strip_height): New function to strip and return font height.
14430 (w32_font_match): Compare height separately from rest of xlfd
14431 spec, using xlfd_strip_height.
14432
14433 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14434 width_in. Use w32_defined_color in place of defined_color.
14435
14436 * w32faces.c: Merge more of DOS and X specifics in preparation for
14437 merge with xfaces.c.
14438 (defined_color): Remove FIXME comment.
14439 (tty_color_name): Provide w32-specific function.
14440 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14441
14442 * w32console.c (turn_on_face, turn_off_face): Removed.
14443 (w32_face_attributes): New function.
14444 (Global_variables): Reduce scope where possible.
14445 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14446 fill attribute.
14447 (hl_mode): Don't modify text attributes.
14448 (write_glyphs): Don't do anything if len <= 0. Use
14449 w32_face_attributes to get attributes for drawing. Write
14450 terminating codes using char_attr_normal.
14451 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14452 (update_begin, update_end): Likewise.
14453 (vga_stdcolor_name): New function.
14454 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14455 (Fset_screen_color): Remove char_attr_reverse.
14456
b08e8bb2
GM
144572000-01-29 Gerd Moellmann <gerd@gnu.org>
14458
14459 * xfns.c (xic_set_preeditarea): Take window parameter and
14460 window-relative pixel-positions.
14461
14462 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14463 is its frame's selected window.
14464 (xim_instantiate_callback): Likewise.
14465
14466 * xfns.c (x_create_im): Removed.
14467 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14468 (supported_xim_styles): Renamed from supported_styles.
14469 (best_xim_style): Renamed from best_style.
14470 (create_frame_xic): Renamed from xic_create_frame.
14471 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14472
b08e8bb2
GM
144732000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14474
14475 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14476 our frames, call XFilterEvent with 2nd parameter `None'.
14477 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14478 returning XBufferOverflow.
52283633 14479 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14480 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14481 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14482 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14483 (xim_initialize, xim_close)
14484 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14485 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14486 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14487 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14488
14489 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14490 and `xim_styles'.
14491 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14492 `xic_style' and `xic_xfs'.
14493 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14494 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14495 (FRAME_XIM): Removed.
14496
14497 * xfns.c (supported_styles): New variable.
14498 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14499 (xic_create_xfontset, best_style, xic_create_frame)
14500 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14501 (xic_set_xfontset): New functions.
14502
142e109c
DL
145032000-01-28 Dave Love <fx@gnu.org>
14504
14505 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14506
14507 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14508
b02786f9
GM
145092000-01-28 Gerd Moellmann <gerd@gnu.org>
14510
d060bc9f
GM
14511 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14512 for *scratch* if it already existed.
14513
b02786f9
GM
14514 * emacs.c (USAGE): New macro.
14515 (main): Use it to display usage information.
14516
2c52d7e4
EZ
145172000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14518
14519 Support for the menu-help feature:
14520
52283633 14521 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14522
14523 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14524 part of the line to the termscript file.
14525 (IT_clear_to_end): Clear the entire line, not just its beginning.
14526 (menu_help_message, prev_menu_help_message): New variables.
14527 (IT_menu_make_room): Make room for the help_text member.
14528 (IT_menu_display): New argument disp_help; all callers changed.
14529 If disp_help is non-zero, store the help text of the active menu
14530 item in menu_help_message.
14531 (XMenuAddPane): Initialize the help_text member to NULL.
14532 (XMenuAddSelection): New argument help_text. Store it in the
14533 XMenu structure.
14534 (XMenuActivate): New argument help_callback. If the value of
14535 menu_help_message has changed since the last time, display the
14536 menu help message text while waiting for the mouse to move. Clear
14537 the echo area before exiting.
14538 (XMenuDestroy): Free the help_text member.
14539
ffe0bcd1
GM
145402000-01-27 Gerd Moellmann <gerd@gnu.org>
14541
14542 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14543 XMenuAddSelection. Pass help callback to XMenuActivate.
14544 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14545
50dbd23f
EZ
145462000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14547
14548 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14549 and EMACS_SET_USECS.
14550
f5941bf8
GM
145512000-01-26 Dave Love <fx@gnu.org>
14552
6c67ddee
DL
14553 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14554
f5941bf8
GM
14555 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14556 an error may be signalled.
14557
9e49c990
GM
145582000-01-26 Gerd Moellmann <gerd@gnu.org>
14559
fc3cb460
GM
14560 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14561 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14562
9e49c990
GM
14563 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14564
d0c037d8
GM
145652000-01-25 Gerd Moellmann <gerd@gnu.org>
14566
14567 * charset.c (Fstring): If there is a multibyte char among
14568 the args, always return a multibyte string.
14569
e12489f9
GM
145702000-01-25 Gerd Moellmann <gerd@gnu.org>
14571
14572 * sysdep.c (sys_select): Turn atimers off and on instead of
14573 recording and restoring old alarm handler
14574
14575 * process.c (toplevel): Include atimer.h.
14576 (create_process_1): Rewritten.
14577 (create_process): Use atimers instead of alarm.
14578 (wait_reading_process_input) [hpux]: Turn atimers off instead
14579 of turning off SIGALRM.
14580 (wait_reading_process_input): Turn off atimers instead off
14581 calling stop_polling.
14582
14583 * emacs.c (main): Call init_atimer.
14584
14585 * keyboard.c (toplevel): Include systime.h and atimer.h.
14586 (polling_for_input): Removed because unused.
14587 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14588 (poll_timer): New variable.
14589 (poll_for_input, poll_for_input_1): New functions.
14590 (start_polling, stop_polling): Rewritten.
14591
14592 * keyboard.h (polling_for_input): Removed.
427ec082 14593
e12489f9
GM
14594 * atimer.h, atimer.c: New files.
14595
14596 * Makefile.in (obj): Add atimer.o.
14597 (atimer.o): New target.
14598
14599 * blockinput.h (pending_atimers): Add extern declaration.
14600 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14601
14602 * lisp.h (popup_activated_flag): Add extern declaration.
14603
14604 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14605 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14606 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14607
14608 * xterm.c (toplevel): Include atimer.h.
14609 (toolkit_scroll_bar_interaction): New variable.
14610 (Fxt_process_timeouts): Removed.
14611 (x_process_timeouts): New function.
14612 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14613 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14614 (x_make_frame_visible): Call poll_for_input_1 instead of
14615 input_poll_signal. Don't call alarm.
14616 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14617
1e5279b9
DL
146182000-01-24 Dave Love <fx@gnu.org>
14619
6c67ddee 14620 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14621 Don't use -cckr -- apparently not now necessary.
14622
edf6aeb8
EZ
146232000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14624
14625 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14626 screen boundary.
14627
9badad41
JR
146282000-01-23 Jason Rumney <jasonr@gnu.org>
14629
14630 * w32fns.c (w32_defined_color): Apply gamma correction before
14631 trying to map to the palette.
14632 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14633 to w32_clear_rect.
14634
14635 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14636 here. Callers changed to always pass real device context.
14637 (w32_draw_bitmap): Likewise.
14638 (w32_get_glyph_overhangs): Likewise.
52283633 14639 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14640 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14641 pfnSetScrollInfo and SetScrollRange.
14642 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14643 back into MULE characters after decoding them.
14644 (x_get_glyph_face_and_encoding): Likewise.
14645 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14646 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14647 (x_produce_glyphs): Calculate per char metrics for a character
14648 that we know exists in default font when font_not_found_p is true.
14649
63bd786b
JR
146502000-01-22 Jason Rumney <jasonr@gnu.org>
14651
14652 * makefile.nt (intervals.obj, composite.obj): New modules.
14653 (composite.h): Added as dependency where appropriate.
14654
14655 * w32gui.h (XGCValue): New struct for emulating X GCs.
14656
14657 * w32term.h (XCharStruct): New struct for emulating X.
14658
14659 * w32console.c (turn_on_face, turn_off_face): New functions.
14660 (change_line_highlight): New prototype for new redisplay.
14661 (write_glyphs): Support multibyte text. Support faces.
14662
52283633 14663 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14664
14665 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14666 throughout. struct frame * in place of FRAME_PTR.
14667 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14668 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14669 (w32_get_arg): Renamed from x_get_arg.
14670 (Fx_file_dialog): New function.
14671 (w32_list_fonts): Check cache before asking system.
14672 (Vw32_enable_synthesized_fonts): New variable.
14673 (Vw32_enable_italics): Obsolete, removed.
14674
14675 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14676 Use SELECTED_FRAME macro.
14677
14678 * w32menu.c: Add skeleton support for help strings on menus.
14679 (add_menu_item): Native checkbox and radio support added, but not
14680 yet enabled due to bugs.
14681 (push_menu_item): Add parameters type, selection and help.
14682 Callers updated.
14683 Formatting changes to reduce unnecessary diffs with xmenu.c.
14684
14685 * w32select.c (Fw32_set_clipboard_data): Update call to
14686 find_charset_in_str.
14687
14688 * w32term.c: Complete rewrite for new redisplay based on new
14689 xterm.c with necessary sections merged back in from old w32term.c.
14690
6ffd3cf7 146912000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14692
14693 * data.c (set_internal): Further fix in same criterion.
14694
6ffd3cf7 146952000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14696
14697 * data.c (set_internal): Fix the criteria for whether
14698 to swap out the old cached binding.
14699
60af03f1
DL
147002000-01-19 Dave Love <fx@gnu.org>
14701
14702 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14703
f9be074f
KH
147042000-01-18 Kenichi Handa <handa@etl.go.jp>
14705
14706 * regex.c (re_compile_fastmap): While checking a range table for
14707 `charset', skip flag bits for a character class correctly.
14708
52b8dbf9
GM
147092000-01-17 Gerd Moellmann <gerd@gnu.org>
14710
d36100c9
GM
14711 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14712
52283633 14713 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14714
14715 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14716 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14717
14718 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14719 MENU_ITEMS_ITEM_.*.
14720 (MENU_ITEMS_ITEM_HELP): New enumerator.
14721 (push_menu_item): Add parameter HELP. Record help in menu_items.
14722 (single_menu_item, single_submenu, list_of_items): Call
14723 push_menu_item with new parameter.
14724 (single_submenu): Set help string in widget value.
14725 (menu_highlight_callback): New function.
14726 (set_frame_menubar): Call lw_create_widget with new
14727 parameter list.
14728 (xmenu_show, xdialog_show): Ditto.
14729
3139018f
GM
147302000-01-13 Gerd Moellmann <gerd@gnu.org>
14731
14732 * sound.c (Fplay_sound): Improve doc string.
14733
83c8f461
RS
147342000-01-11 Richard M. Stallman <rms@gnu.org>
14735
14736 * lisp.h (set_internal): Enter the new arg.
14737
14738 * eval.c (specbind): Record buffer-local variables specially,
14739 indicating which buffer's binding was saved.
14740 (unbind_to): Restore buffer-local variables specially
14741 in the proper buffer.
14742
14743 * data.c (set_internal): New arg BUF.
427ec082 14744
83c8f461
RS
14745 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14746 * data.c (Fset): Pass new arg to set_internal.
14747 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14748
1fab1775
GM
147492000-01-11 Gerd Moellmann <gerd@gnu.org>
14750
52283633 14751 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14752
83c8f461 147532000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14754
14755 * minibuf.c (Ftry_completion): Doc fix.
14756
7a85e4df
GM
147572000-01-11 Gerd Moellmann <gerd@gnu.org>
14758
14759 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14760 vector, too.
14761
a970dae4
AS
147622000-01-11 Andreas Schwab <schwab@suse.de>
14763
14764 * coding.c (code_convert_region): Initialize total_skip.
14765
c65d14ee
DL
147662000-01-08 Dave Love <fx@gnu.org>
14767
14768 * eval.c (Fuser_variable_p): Check customizability too.
14769
834938d2
GM
147702000-01-07 Gerd Moellmann <gerd@gnu.org>
14771
14772 * minibuf.c (Fcompleting_read): Doc fix.
14773
e0303cd6
GM
147742000-01-05 Gerd Moellmann <gerd@gnu.org>
14775
8a26744b
GM
14776 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14777 -L /usr/local/lib.
14778
e0303cd6
GM
14779 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14780 Check that input style is supported before trying to create an
14781 IC for it.
14782 (x_window): Call x_create_im.
427ec082 14783
2e471eb5
GM
147842000-01-04 Gerd Moellmann <gerd@gnu.org>
14785
560a7bd2
GM
14786 * xfns.c (current_gif_memory_src): New variable.
14787 (gif_load): Record the address of the current memory source
14788 in current_gif_memory_src.
14789 (gif_read_from_memory): Use current_gif_memory_src.
14790
f9ee84a3
GM
14791 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14792 macros statement form.
14793
d1299cde
GM
14794 * sound.c (struct sound): Renamed from struct sound_file.
14795 (struct sound): Add members `data' and `header_size'.
14796 (enum sound_attr): Add SOUND_DATA.
14797 (current_sound, current_sound_device): Variables renamed from
14798 sound_file and sound_device.
14799 (parse_sound): Parse :data.
14800 (parse_sound): Handle sound data in strings.
14801 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14802 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14803 needed header size.
14804 (wav_play, au_play): Play sounds from string data.
14805
2e471eb5
GM
14806 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14807
14808 * lisp.h: Add prototype for allocate_string_data.
14809
52283633 14810 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14811
14812 * alloc.c (mark_buffer): Remove code in #if 0.
14813 (gc_sweep): Ditto.
14814 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14815 (strings_consed): New variable.
14816 (allocate_string): Set it.
14817 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14818 (Fmemory_use_counts): Return strings_consed. Use Flist.
14819
14820 * alloc.c: General cleanup in comments etc. Remove conditional
14821 compilation for `standalone'.
14822
14823 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14824
14825 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14826 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14827 (DONT_COPY_FLAG): Removed.
14828 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14829 (struct sdata, struct sblock): New
14830 (struct string_block): Rewritten.
14831 (STRINGS_IN_STRING_BLOCK): New macro.
14832 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14833 (large_sblocks, string_blocks, string_free_list): New variables.
14834 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14835 (init_strings): Rewritten.
14836 (allocate_string, allocate_string_data, compact_small_strings)
14837 (free_large_strings, sweep_strings): New functions.
14838 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14839 (struct string_block_head, current_string_block)
14840 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14841 (STRING_PAD): Removed.
14842 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14843 (Fgarbage_collect): Don't set mark bit in large strings.
14844 (mark_object): Mark strings differently. Mark symbol names
14845 differently.
14846 (survives_gc_p): Test marked strings differently.
427ec082 14847 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14848 symbol names.
14849 (compact_strings): Removed.
14850
42608ba8
EZ
148512000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14852
14853 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14854 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14855
e0a09e1a
KH
148562000-01-04 Kenichi Handa <handa@etl.go.jp>
14857
dd9f0750 14858 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14859 in a non-empty buffer.
dd9f0750 14860
3c0f3b15 14861 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14862
44cd3ae5
GM
148632000-01-03 Gerd Moellmann <gerd@gnu.org>
14864
14865 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14866 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14867
14868 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14869
c182a70f
EZ
148702000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14871
14872 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14873 need to test for MSDOS frames.
14874
24480d5b
EZ
148752000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14876
14877 * dosfns.c (unspecified_colors): Remove.
14878 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14879 unspecified_bg.
14880 (msdos_stdcolor_name): Return strings for unspecified fore- and
14881 back-ground colors.
14882
14883 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14884 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14885 (tty_color_name): Return Lisp strings for unspecified fore- and
14886 back-ground colors.
14887 (Finternal_set_lisp_face_attribute): Remove the special treatment
14888 for Qunspecified_{f,b}g.
52283633 14889 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14890
047f434a
GM
148912000-01-03 Gerd Moellmann <gerd@gnu.org>
14892
14893 * xdisp.c (reseat_at_next_visible_line_start): Position before
14894 newline only if ending up on a newline.
14895 (next_element_from_ellipsis): Return success. Handle case of
52283633 14896 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14897 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14898 returns 0.
14899
d684c676
EZ
149002000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14901
14902 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14903 (Fcolor_supported_p): Renamed from face-color-supported-p.
14904
5fe1d139
EZ
149052000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14906
14907 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14908 list of colors renamed to tty-defined-color-alist.
14909 (tty_color_name): Pass the frame to tty-color-by-index.
14910 (realize_tty_face): tty-color-alist is now a function which
14911 accepts the frame as argument.
14912
52283633 14913 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14914
816be8b8
EZ
149152000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14916
14917 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14918 encode_terminal_code.
14919
b635321e
EZ
149202000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14921
14922 * dispnew.c (mode_line_string): Support termcap frames as well.
14923
9b784e96
GM
149242000-01-01 Gerd Moellmann <gerd@gnu.org>
14925
27189709
GM
14926 * syntax.c (Fforward_word): Undo previous change.
14927
14928 * editfns.c (Fconstrain_to_field): Don't constrain if
14929 inhibit-field-text-motion is non-nil.
14930 (Fline_beginning_position): Undo previous change.
14931 (Fline_end_position): Ditto.
14932
14933 * syntax.c (Fforward_word): Notice field boundaries only if
14934 inhibit-field-text-motion is nil.
14935
14936 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14937
14938 * editfns.c (Vinhibit_field_text_motion): New variable.
14939 (inhibit-field-text-motion): New DEFVAR_LISP.
14940 (Fline_beginning_position, Fline_end_position): Notice field
14941 boundaries only if inhibit-field-text-motion is nil.
14942
45158a91
GM
14943 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14944 All calls adjusted.
14945 (x_build_heuristic_mask): Likewise.
14946 (xbm_load_image_from_file): Change error output.
14947 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14948 (gif_load, gs_load, x_kill_gs_process): Ditto.
14949
9b784e96
GM
14950 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14951 color indices when accessing raster pixels.
63cec32f
GM
14952 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14953 one of :file or :data.
14954 (enum pbm_keyword_index): Add PBM_DATA.
14955 (pbm_format): Add :data.
14956 (pbm_image_p): Allow either :file or :data.
14957 (pbm_read_file): New function.
14958 (pbm_scan_number): Rewritten to read from string.
14959 (pbm_load): Support :data.
9b784e96 14960
2cb085db 14961See ChangeLog.8 for earlier changes.
6922b018
KH
14962
14963;; Local Variables:
49b3bd82 14964;; coding: iso-2022-7bit
6922b018 14965;; End:
2a34a036
GM
14966
14967 Copyright (C) 2001 Free Software Foundation, Inc.
14968 Copying and distribution of this file, with or without modification,
14969 are permitted provided the copyright notice and this notice are preserved.