(dos-display-scancodes, dos-decimal): Doc fix.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
d9e6c4b1
EZ
12001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
2
d20fc48a
EZ
3 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
4
d9e6c4b1
EZ
5 * s/hpux10.h (srand48): Don't undefine.
6
f1a85b89
JR
72001-12-09 Jason Rumney <jasonr@gnu.org>
8
9 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
10 comment to explain where the struct came from.
11 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
12 (add_menu_item): Process pop-up menus first to avoid memory leak.
13 (add_menu_item, w32_menu_display_help): Use `help' field as
14 Lisp_Object.
15 (w32_free_submenu_strings): Only free owner-drawn strings.
16
3a62677f
PJ
172001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
18
72244db2
PJ
19 * COPYING: Moved back.
20
3a62677f
PJ
21 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
22 Add parentheses around && within ||.
23
24 * indent.c (compute_motion): Likewise.
25
26 * intervals.c (merge_properties_sticky): Likewise.
27
28 * coding.c (setup_coding_system, shrink_encoding_region)
29 (Fdecode_sjis_char): Likewise.
30
9d113d9d
AS
312001-12-07 Andreas Schwab <schwab@suse.de>
32
b8523839
AS
33 * xdisp.c (display_mode_element): Don't read past end of string if
34 it ends with '%'.
35
9464dea4
AS
36 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
37 can hold.
38
9d113d9d
AS
39 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
40 from most_positive_fixnum and most_negative_fixnum, resp., and
41 type changed to Lisp_Object.
42 (syms_of_data): DEFVAR_LISP them.
43
70ec1377
RS
442001-12-07 Richard M. Stallman <rms@gnu.org>
45
46 * callproc.c (init_callproc): Set Vdata_directory based on the source
47 location whenever Emacs was run uninstalled.
48
92f7dd37
PE
492001-12-06 Paul Eggert <eggert@twinsun.com>
50
51 * config.in (HAVE_WORKING_VFORK): New #undefs.
52 * process.c (create_process):
53 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
54 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
55 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
56 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
57 * m/intel386.h (HAVE_VFORK): Likewise.
58 * m/mips-siemens.h (HAVE_VFORK): Likewise.
59 * m/mips.h (HAVE_VFORK): Likewise.
60 * s/freebsd.h (vfork): Remove #define.
61 * s/lynxos.h (HAVE_VFORK): Remove #undef.
62 * s/usg5-4-2.h: Fix comment about vfork.
63
c93674bb
RS
642001-12-06 Richard M. Stallman <rms@gnu.org>
65
66 * s/hpux10.h (random): Add undef.
67 (HAVE_RANDOM): Define it just once.
68
59b59892
SM
692001-12-06 Stefan Monnier <monnier@cs.yale.edu>
70
71 * eval.c: Undo last change: the standard syntax is not wanted.
72
c6ea2775
EZ
732001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
74
75 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
76 scroll bars of the frame before deleting the frame itself. If the
77 frame has a widget, delete the frame with XtDestroyWidget, and do
78 not call XDestroyWindow before that.
79
91175673
KS
802001-12-06 Kim F. Storm <storm@cua.dk>
81
82 * xfns.c (x_report_frame_params): Return actual fringe widths.
83
84 * w32fns.c (x_report_frame_params): Return actual fringe widths.
85
e0fead5d
AI
862001-12-05 Andrew Innes <andrewi@gnu.org>
87
88 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
89 excessively large.
90
91 * insdel.c (make_gap_larger): New function.
92 (make_gap_smaller): New function.
93 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
94 make_gap_smaller if arg is negative.
95
c186cdb3
SM
962001-12-04 Stefan Monnier <monnier@cs.yale.edu>
97
98 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
99 Pass a dummy argument when calling interrupt_signal.
100 (parse_menu_item): Mark disabled items before checking for empty def.
101 (read_char_minibuf_menu_prompt): Make safety more visible.
102 (read_key_sequence): Add a `first_unbound' variable.
103 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
104 unbound prefix as soon as we can detect it.
105
106 * doc.c (Fsnarf_documentation): Add prototype.
107 (get_doc_string): Handle negative arguments.
108 (Fdocumentation): Use AREF and ASIZE.
109 Move the calls to get_doc_string to a single place.
110 Don't confuse an interactive-spec for a docstring reference.
111 (Fdocumentation_property): Take advantage of the fact that
112 get_doc_string now ignores the sign of the docstring position.
113
114 * eval.c: Use standard syntax for usage in docstrings.
115
58cfce98
PJ
1162001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
117
c186cdb3 118 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 119
62854fe2
PJ
1202001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
121
122 * xterm.c (x_draw_image_relief): Use predefined macro instead of
123 constant when the value of `tool_bar_button_relief' is negative.
124
656f46bb
RS
1252001-12-02 Richard M. Stallman <rms@gnu.org>
126
127 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
128 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
129
130 * fileio.c (read_non_regular): Delete Fsignal call.
131
036e218d
SM
1322001-12-01 Stefan Monnier <monnier@cs.yale.edu>
133
134 * lisp.h (run_hook_list_with_args): Undo last change.
135
7ddb2c16
GM
1362001-12-01 Gerd Moellmann <gerd@gnu.org>
137
138 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
139
ace9b298
JR
1402001-12-01 Jason Rumney <jasonr@gnu.org>
141
90647b07
JR
142 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
143
144 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
145 [!WM_MOUSELEAVE]: Define.
146
ace9b298
JR
147 * w32menu.c (current_popup_menu, get_menu_item_info):
148 (set_menu_item_info): New vars.
149 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
150 (w32_menu_show): Set current_popup_menu.
151 (add_menu_item): Allocate new strings for owner-drawn menu items
152 and help strings.
153 Use owner-draw for disabled menu items again.
154 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
155 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
156
157 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
158 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
159 <WM_EXITMENULOOP>: Free menu strings.
160 <WM_MOUSELEAVE>: Stop tracking mouse.
161 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
162
163 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
164 and mouse face.
165
a9549909 1662001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
167
168 The following changes add left-fringe and right-fringe
169 frame parameters to adjust fringe widths, or remove one or
170 both fringes.
036e218d 171
9fbc32aa
KS
172 * frame.h (struct frame): Remove trunc_area_pixel_width and
173 trunc_area_cols fields.
174 (Qleft_fringe, Qright_fringe): Declare.
175 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
176
177 * frame.c (Qleft_fringe, Qright_fringe): New vars.
178 (syms_of_frame): Initialize them.
179
180 * window.c (coordinates_in_window): Handle separate left and right
181 fringe widths.
182
183 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
184 and fringe_cols fields.
185 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
186 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
187 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
188 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
189 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
190 (x_compute_fringe_widths): Add prototype.
191
192 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
193 fill fringe evenly with small dashes.
194 (x_draw_fringe_bitmap): Clear background if necessary. Align and
195 clip the new ZV bitmap to avoid jitter between rows.
196 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
197 background. Don't draw fringe bitmaps if fringe width is zero.
198 (x_compute_fringe_widths): New function.
199 (x_new_font, x_set_window_size_1): Use it.
200
201 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
202 (x_set_frame_parameters): Process Process `font' parameter before other
203 parameters as fringe widths depend on it.
204 (x_set_fringe_width): New function.
205 (x_figure_window_size): Use x_compute_fringe_widths.
206 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
207 parameters.
208
209 * widget.c (set_frame_size): Use x_compute_fringe_widths.
210 (EmacsFrameSetCharSize): Ditto.
211
212 * w32term.h: Merged changes from xterm.h.
213 * w32term.c: Merged changes from xterm.c.
214 * w32fns.c: Merged changes from xfns.c.
215
0142178a
PJ
2162001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
217
218 * COPYING: Removed.
219
d4824a5d
DL
2202001-11-29 Dave Love <fx@gnu.org>
221
222 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
223 extra extra slot.
224 (detect_coding_mask): Fix call of detect_coding_iso2022.
225
b1356234
PJ
2262001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
227
228 * fileio.c (file-name-coding-system)
229 (default-file-name-coding-system): Doc fix (links to referenced
230 variables added).
231
3ce081f5
SM
2322001-11-28 Stefan Monnier <monnier@cs.yale.edu>
233
99e380ee
SM
234 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
235 Add dummy uses of gcproN variables.
236
3ce081f5 237 * category.c (describe_category, describe_category_1)
2ad56c09 238 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
239 (syms_of_category): Don't defsubr Sdescribe_categories.
240
66458f32
RS
2412001-11-28 Richard M. Stallman <rms@gnu.org>
242
243 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
244
245 * Makefile.in (lispdir): New variable, referring to build dir.
246 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
247
59a86c99
AI
2482001-11-28 Andrew Innes <andrewi@gnu.org>
249
250 * w32menu.c (w32_menu_display_help): Actually add the new argument
251 OWNER.
252
eb77a5f4
JR
2532001-11-28 Jason Rumney <jasonr@gnu.org>
254
255 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
256 menu items. From David Ponce <dponce@wanadoo.fr>.
257 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
258 conditionally.
259 (w32_menu_display_help): New argument OWNER. Rewritten to store a
260 help event in the owner frame's keyboard buffer.
261
262 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
263 (Fx_show_tip): Don't subtract last width from row width.
264
265 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
266 (w32_read_socket): Use EQ to compare frames.
267
bb313871
GM
2682001-11-28 Gerd Moellmann <gerd@gnu.org>
269
270 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
271 OVERLAPS_P.
272
55b43a63
PJ
2732001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
274
6052529b
PJ
275 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
276 `gcpro3' and `gcpro4'.
277
3ce081f5
SM
278 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
279
2802001-11-28 Stefan Monnier <monnier@cs.yale.edu>
281
282 * ccl.c: Use AREF and ASIZE.
283
2842001-11-27 Stefan Monnier <monnier@cs.yale.edu>
285
286 * lisp.h (run_hook_list_with_args): Remove.
287 (LIST_END_P): Fix call to wrong_type_argument.
288 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 289
111ed14e
SM
2902001-11-26 Stefan Monnier <monnier@cs.yale.edu>
291
9fabb2f5
SM
292 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
293 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
294
295 * eval.c: Use AREF and ASIZE.
296 (Ffetch_bytecode): Add the file name to the error message.
297
298 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
299 which match the end of the file-name.
300 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
301 is not a valid env var, but leave it as is instead.
302
111ed14e
SM
303 * keymap.c (access_keymap): Handle t bindings like nil bindings.
304 Make nil bindings in char-tables transparent.
305 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
306
2fa0eedf
RS
3072001-11-26 Richard M. Stallman <rms@gnu.org>
308
d1420435
RS
309 * textprop.c (set_text_properties_1): Allow START, END in either order.
310 Do nothing if range is empty.
311
2fa0eedf
RS
312 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
313
ebcbef4e
RS
314 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
315 (clean): Not here.
316
5c131048
SM
3172001-11-25 Stefan Monnier <monnier@cs.yale.edu>
318
319 * textprop.c (set_text_properties_1): Clearly mark that the
320 interval should not be empty.
321
322 * intervals.c (graft_intervals_into_buffer):
323 Don't call set_text_properties_1 on an empty interval.
324
96d276c3
RS
3252001-11-25 Richard M. Stallman <rms@gnu.org>
326
6108b49c
RS
327 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
328
96d276c3
RS
329 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
330 don't lose the data in it.
331
5eea19a4
RS
3322001-11-25 Juanma Barranquero <lektu@terra.es>
333
334 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
335
336 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
337
338 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
339
438e57dd
SM
3402001-11-25 Stefan Monnier <monnier@cs.yale.edu>
341
342 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
343
c88e5347
EZ
3442001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
345
346 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
347 Niemitalo <kon@iki.fi>.
348
59ce1461
JR
3492001-11-25 Jason Rumney <jasonr@gnu.org>
350
351 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
352
353 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
354 (Fx_show_tip): Block input during frame creation.
355 (Fx_show_tip, Fx_hide_tip): Enable.
356
8727d588
RS
3572001-11-24 Richard M. Stallman <rms@gnu.org>
358
359 * lread.c (Fload): Detect recursive load error for more than 3
360 nestings of the same file.
361 (Vrecursive_load_depth_limit): Variable deleted.
362 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
363
cc63037e
JR
3642001-11-24 Jason Rumney <jasonr@gnu.org>
365
366 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
367 mouse position if either left or top is not specified.
368
369 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
370 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
371 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
372 (my_create_tip_window): Assign tip_window.
373 (x_create_tip_frame): Use same defaults as X.
374 (compute_tip_xy): Remove unused variable. Use full screen width.
375 (Fx_show_tip): Do not double height. Call ShowWindow directly.
376
377 * w32term.c (x_after_update_window_line): Doc fix.
378 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
379 frames.
380 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
381
382 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
383 for all Windowed systems.
384
deece6f5
EZ
3852001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
386
387 * msdos.c (IT_clear_screen): If the frame's faces are not yet
388 realized, use the initial screen colors to clear the screen.
389
1b944d9c
PJ
3902001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
391
28ff4293
PJ
392 * textprop.c (Fset_text_properties): Remove unused variables
393 `unchanged', `prev_changed', `s' and `len'.
394
56167cc5
PJ
395 * search.c (Freplace_match): Remove unused variable `inslen'.
396
1b944d9c
PJ
397 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
398
ca56d953
JR
3992001-11-22 Jason Rumney <jasonr@gnu.org>
400
401 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
402 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
403 (my_create_tip_window): New function.
404 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
405 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
406
33399dce
JR
4072001-11-20 Jason Rumney <jasonr@gnu.org>
408
409 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
410 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
411
412 * w32fns.c (Vw32_system_coding_system): Remove.
413 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
414
9b46de40
SM
4152001-11-19 Stefan Monnier <monnier@cs.yale.edu>
416
6710ea06
SM
417 * fileio.c (Fwrite_region): Move choose_write_coding_system to
418 after build_annotations.
419
a395ef6a
SM
420 * syntax.c (describe_syntax): Add dummy arg.
421 (describe_syntax_1): Update call to describe_vector.
422
423 * category.c (describe_category): Add dummy arg.
424 (describe_category_1): Update call to describe_vector.
425
426 * keymap.c (Fdescribe_vector): Add `describer' parameter.
427 (describe_command, describe_translation): Add dummy second param.
428 (describe_map): Call elt_describer with two arguments.
429 (describe_vector_princ): Add `fun' parameter.
430 Call it instead of the hardcoded `princ'.
431 (describe_vector): Add arg `args'.
432 Pass it as a new second argument to elt_describer.
433
434 * keymap.h (describe_vector): Update prototype.
435
9b46de40
SM
436 * frame.c: Don't include keymap.h any more.
437 (keys_of_frame): Remove.
438
439 * lisp.h (keys_of_frame): Remove declaration.
440
441 * emacs.c (main): Don't call `keys_of_frame' any more.
442
aff37336
SS
4432001-11-14 Andreas Schwab <schwab@suse.de>
444
445 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
446 if defined, 0 otherwise.
9b46de40 447 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
448 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
449
b9937f07
RS
4502001-11-19 Richard M. Stallman <rms@gnu.org>
451
452 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
453
2cd23960
JR
4542001-11-18 Jason Rumney <jasonr@gnu.org>
455
456 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
457 (x_draw_bar_cursor): If the background color of the glyph under
458 the cursor equals the frame's cursor color, use the glyph's
459 foreground color for drawing the bar cursor.
460 (x_after_update_window_line): Clear internal border in different
461 circumstances.
462 (w32_set_vertical_scroll_bar): Check for width and height > 0.
463 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
464 (x_set_glyph_string_background_width):
465 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
466 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
467 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
468 if cursor_in_non_selected_windows is false.
9b46de40 469 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
470 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
471 Notice if cursor gets overwritten.
472 (notice_overwritten_cursor): Renamed from
473 note_overwritten_text_cursor. Rewritten to take glyph widths
474 into account, and to take X positions as parameters.
475 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
476 around call to x_draw_glyphs.
477 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
478 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
479 color to use for image glyph reliefs.
480 (x_draw_image_relief): Accept zero tool_bar_button_relief.
481 (glyph_rect): Remove unused variable `area'.
482
483 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
484 some items.
485 (x_set_internal_border_width): Set frame garbaged when window
486 doesn't exist yet.
487 (Fx_create_frame): Accept zero tool_bar_button_relief.
488 (x_clear_image_1, four_corners_best, image_background)
489 (image_background_transparent): New functions.
490 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
491 (gs_format): Add `:background' entry.
492 (lookup_image): Set IMG's background color if specified.
493 (pbm_load, xbm_load_image, png_load): Set IMG's background field
494 when appropriate.
495 (x_clear_image_1): Reset `background_valid' and
496 `background_transparent_valid' fields.
497 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
498 calculating it here. Set IMG's background_transparent field.
499 (enum xpm_keyword_index): Add XPM_BACKGROUND.
500 (enum png_keyword_index): Add PNG_BACKGROUND.
501 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
502 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
503 (enum gif_keyword_index): Add GIF_BACKGROUND.
504 (enum gs_keyword_index): Add GS_BACKGROUND.
505 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
506 Pre-calculate image background color where necessary.
9b46de40
SM
507 (x_create_x_image_and_pixmap, xbm_load, gs_load):
508 Use display info's n_cbits entry for screen depth.
2cd23960
JR
509 (Fx_show_tip): Remove unused variables `buffer', `top',
510 `left', `max_width' and `max_height'.
511
512 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
513
a4184c1c
GM
5142001-11-18 Gerd Moellmann <gerd@gnu.org>
515
516 * puresize.h (BASE_PURESIZE): Increase to 750000.
517
f6fa0866
PJ
5182001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
519
520 * frame.c (Fframe_live_p): Doc fix.
521
f4ca4b00
RS
5222001-11-18 Richard M. Stallman <rms@gnu.org>
523
524 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
525 (message_dolog_marker3): New static variables hold three markers.
526 (syms_of_xdisp): Initialize and staticpro them.
527 (message_dolog): Use message_dolog_marker1..3 instead of
528 allocating markers each time. Unchain them when done.
529
f4e25f94
RS
5302001-11-17 Richard M. Stallman <rms@gnu.org>
531
532 * doc.c (Fsnarf_documentation): Doc fix.
533
91c153e2
AS
5342001-11-17 Andreas Schwab <schwab@suse.de>
535
536 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
537
65b7d3e7
RS
5382001-11-17 Richard M. Stallman <rms@gnu.org>
539
540 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
541
6b5f6311
JR
5422001-11-17 Jason Rumney <jasonr@gnu.org>
543
544 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
545
be676094
GM
5462001-11-17 Gerd Moellmann <gerd@gnu.org>
547
548 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
549 with invalid position.
550
032a857d
RS
5512001-11-16 Richard M. Stallman <rms@gnu.org>
552
553 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
554
555 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
556 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
557 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
558
559 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
560
b6270150
SM
5612001-11-16 Stefan Monnier <monnier@cs.yale.edu>
562
563 * fileio.c (build_annotations): Split off the tail.
564 (build_annotations_2): New fun. Extracted from build_annotations.
565 (Fwrite_region): Split the call to build_annotations into two
566 calls to build_annotations and build_annotations_2.
567
792e5cbd
PJ
5682001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
569
98cbb9fa
PJ
570 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
571 clear_waiting_for_input with argument.
572
573 * xterm.h (x_update_cursor): Remove duplicated prototype.
574
b6270150 575 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 576
ea904403 577 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 578
ea904403 579 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 580
fa336b91
SM
5812001-11-16 Stefan Monnier <monnier@cs.yale.edu>
582
583 * fileio.c (choose_write_coding_system): New fun, extracted
584 from Fwrite_region.
585 (Fwrite_region): Use it.
586
587 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
588 (funcall_lambda, run_hook_with_args): Make static and add prototype.
589 (ml_apply, find_handler_clause): Add prototype.
590
077907d4
EZ
5912001-11-16 Eli Zaretskii <eliz@gnu.org>
592
aa2af83a
EZ
593 * config.in: Add #undef HAVE_COFF_H.
594
077907d4
EZ
595 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
596 Required for ISC 4.1.
597
1756e2fb
EZ
5982001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
599
600 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
601 Andrew Wiseman <a.wiseman@btclick.com>.
602
06e8f738
KS
6032001-11-16 Kim F. Storm <storm@cua.dk>
604
605 The following changes are made to clean up the various internal
606 references to the fringes to actually use the term `fringe' for
607 them. Previously, they were called `flags areas', `bitmap areas',
608 `left/right side of windows', or implicitly as `flags' or
609 `bitmaps':
610
611 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
612 Comments fixed. Use renamed symbols.
fa336b91 613
06e8f738 614 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 615
06e8f738
KS
616 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
617 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
618 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 619
06e8f738 620 * msdos.c: Comment fix.
fa336b91 621
06e8f738 622 * w32fns.c: Use renamed symbols.
fa336b91 623
06e8f738
KS
624 * w32term.c: Comment fixes. Use renamed symbols.
625 (fringe_bitmap_type): Renamed from bitmap_type.
626 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
627 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
628 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 629
06e8f738
KS
630 * w32term.h: Comment fixes. Use renamed symbols.
631 (fringes_extra): Renamed from flags_areas_extra.
632 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
633 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
634 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
635 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
636 (FRAME_X_LEFT_FRINGE_WIDTH):
637 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
638 (FRAME_X_RIGHT_FRINGE_WIDTH):
639 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
640
06e8f738 641 * widget.c: Use renamed symbols.
fa336b91 642
06e8f738
KS
643 * window.c: Comment fixes. Use renamed symbols.
644 (coordinates-in-window-p): Doc fix.
fa336b91 645
06e8f738 646 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 647
06e8f738 648 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 649
06e8f738 650 * xfns.c: Use renamed symbols.
fa336b91 651
06e8f738
KS
652 * xterm.c: Comment fixes. Use renamed symbols.
653 (fringe_bitmap_type): Renamed from bitmap_type.
654 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
655 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
656 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
657
658 * xterm.h: Comment fixes. Use renamed symbols.
659 (fringes_extra): Renamed from flags_areas_extra.
660 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
661 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
662 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
663 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
664 (FRAME_X_LEFT_FRINGE_WIDTH):
665 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
666 (FRAME_X_RIGHT_FRINGE_WIDTH):
667 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 668
9ce647f4
JR
6692001-11-15 Jason Rumney <jasonr@gnu.org>
670
671 * w32menu.c (add-menu-item): Make help_echo and radio buttons
672 work for most menu items. From David Ponce
673 <david.ponce@wanadoo.fr>.
674
9b784ab8
GM
6752001-11-15 Gerd Moellmann <gerd@gnu.org>
676
9f7e52b4
GM
677 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
678 Some x_set_* function expect to be called even if old and new
679 value are equal.
680
681 * xdisp.c (build_desired_tool_bar_string): Accept zero
682 tool_bar_button_relief.
683
684 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
685
686 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 687
34e5d0af
GM
688 * xterm.c (x_draw_bar_cursor): If the background color of the
689 glyph under the cursor equals the frame's cursor color, use
690 the glyph's foreground color for drawing the bar cursor.
691
9b784ab8
GM
692 * dispnew.c (direct_output_forward_char): Fix character/byte
693 position comparison.
694
89512fcd
MB
6952001-11-15 Miles Bader <miles@gnu.org>
696
697 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
698 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
699 Update arguments to find_field.
700 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
701 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
702 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
703 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
704
7d18891d
RS
7052001-11-14 Richard M. Stallman <rms@gnu.org>
706
d2936d21
RS
707 * editfns.c (Fpropertize): Allow call with 1 arg.
708
7d18891d
RS
709 * dispextern.h (image_background, image_background_transparent):
710 Conditionalize on HAVE_X_WINDOWS.
711
7122001-11-13 Richard M. Stallman <rms@gnu.org>
713
714 * print.c (Fprin1_to_string): Doc fix.
715
716 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
717
718 * floatfns.c (Fceiling, Ffloor): Doc fixes.
719
720 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
721
722 * fileio.c (Ffile_accessible_directory_p): Doc fix.
723
724 * eval.c (syms_of_eval): Doc fix.
725
726 * coding.c (syms_of_coding): Doc fix.
727
728 * doc.c (Fsnarf_documentation): Doc fix.
729
730 * dispnew.c (syms_of_display): Doc fix.
731
732 * category.c (Fget_unused_category): Doc fix.
733
734 * buffer.c (syms_of_buffer): Doc fixes.
735
9474c847
EZ
7362001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
737
738 * print.c (prin1, print): Doc fix.
739
e3059a5d
PJ
7402001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
741
2b6f3c2b 742 * fontset.h: Remove declarations of variables
e3059a5d
PJ
743 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
744
745 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
746 `Vclip_large_size_font'.
747
b3700ae7
JR
7482001-11-13 Jason Rumney <jasonr@gnu.org>
749
750 * w32fns.c: Doc fix.
751
eae936e2
PJ
7522001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
753
4bb962be
PJ
754 * xfaces.c (Fface_attributes_as_vector): Doc fix.
755
0a332240
PJ
756 * w32fns.c (Fx_synchronize): Reindent.
757
ddb67bdc
PJ
758 * fns.c: Doc fix.
759
3467c402
PJ
760 * emacs.c: Doc fix.
761
762 * coding.c: Doc fix.
763
6e1b91d7
PJ
764 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
765 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
766 `new style' [w/`doc:' keyword].
767
f6e34773
PJ
768 * xmenu.c (x-popup-menu): Reindent.
769 (x-popup-dialog): Likewise.
770
fa336b91 771 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 772
c2552f79
PJ
773 * xdisp.c (Fdump_tool_bar_row): Reindent.
774
94c7167b
PJ
775 * minibuf.c (Fminibuffer_complete_word): Reindent.
776 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 777 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
778 (Fminibuffer_message): Likewise.
779
462a5e3a
PJ
780 * fns.c (Freverse): Reindent.
781
b8de5714
PJ
782 * eval.c (Fif): Reindent.
783 (Fand): Likewise.
784
deb8e082
PJ
785 * editfns.c (Fuser_real_login_name): Reindent.
786 (Finsert_buffer_substring): Likewise.
787 (Fcompare_buffer_substrings): Likewise.
788 (Fsubst_char_in_region): Likewise.
789
bacf09b4
PJ
790 * dispnew.c (Fsit_for): Reindent.
791 (Fframe_or_buffer_changed_p): Likewise.
792 (Finternal_show_cursor_p): Likewise.
793 (syms_of_display): Likewise.
794
eae936e2
PJ
795 * alloc.c (Flist): Reindent.
796 (Fvector): Likewise.
797
1c1d3d69
RS
7982001-11-12 Richard M. Stallman <rms@gnu.org>
799
800 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
801 LeaveNotify events. Only FocusIn and FocusOut do that now.
802 (x_display_and_set_cursor): Do display hollow cursors in active
803 minibuffer windows when they are not selected.
804
b6f4c7ba
JR
8052001-11-12 Jason Rumney <jasonr@gnu.org>
806
807 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
808 * w32term.c: Change doc-string comments to `new style'.
809 [w/`doc:' keyword]. Doc fixes.
810
811 * w32fns.c: Don't define max.
812 (Fx_open_connection): Only execute once.
813
a89f435d
PJ
8142001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
815
816 * ccl.c: Change macros to use do-while block instead of if-else.
817 Use braces to follow GNU Coding Standards.
818
a4cd0cd7
RS
8192001-11-11 Richard M. Stallman <rms@gnu.org>
820
eafb659a
RS
821 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
822
823 * lread.c (read_escape): Use end_of_file_error for reporting eof.
824
a4cd0cd7
RS
825 * insdel.c (replace_range): Use adjust_markers_for_replace
826 instead of adjust_markers_for_delete and adjust_markers_for_insert.
827
828 * intervals.h: Declare set_text_properties and set_text_properties_1.
829
830 * textprop.c (set_text_properties_1): New subroutine
831 broken out of set_text_properties.
832 (set_text_properties): Use set_text_properties_1.
833
834 * intervals.c (graft_intervals_into_buffer):
835 Use set_text_properties_1 to clear out properties.
836
837 * search.c (Freplace_match): Use replace_range to insert
838 and delete. Don't request property inheritance from
839 surrounding text.
840
91823618
JR
8412001-11-10 Jason Rumney <jasonr@gnu.org>
842
843 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
844 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 845 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 846
86928dfb
GM
8472001-11-10 Gerd Moellmann <gerd@gnu.org>
848
fa336b91 849 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
850 instead of malloc/free.
851
40ef1eda
PJ
8522001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
853
ab8469eb
PJ
854 * xfaces.c (merge_face_vectors): Use braces to follow GNU
855 Coding Standards.
856 (Finternal_set_lisp_face_attribute): Likewise.
857
a78e0303
PJ
858 * buffer.c (Fbury_buffer): Likewise.
859
40ef1eda
PJ
860 * indent.c (current_column_1): Remove unused variable `prev_col'.
861
fabf4a91
PJ
862 * coding.c (encode_coding): Use precomputed value of `src'.
863 (encode_coding): Remove unused variable `src_end'.
864 (code_convert_region): Remove unused variables `count'.
865
0c99b139
JR
8662001-11-07 Jason Rumney <jasonr@gnu.org>
867
868 * w32term.c (x_display_and_set_cursor): Do not move system caret
869 if cursor_glyph is NULL.
870
830ddd77
PJ
8712001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
872
873 * keymap.c (access_keymap): Fix compilation error.
874
55c6d645
MB
8752001-11-07 Miles Bader <miles@gnu.org>
876
877 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
878
5de38842
PJ
8792001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
880
7a4564a4
PJ
881 * intervals.c (graft_intervals_into_buffer):
882 Remove #ifdef'd-out code.
883 (graft_intervals_into_buffer): Remove unused variable `middle'.
884
5de38842
PJ
885 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
886 code (eval-current-buffer).
887 Change doc-string comments to `new style' [w/`doc:' keyword].
888
4fa23df5
RS
8892001-11-06 Richard M. Stallman <rms@gnu.org>
890
891 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
892
7a6a97d7
SM
8932001-11-06 Stefan Monnier <monnier@cs.yale.edu>
894
c191d13c
SM
895 * lread.c (read1): Fix behavior with nested backquoting.
896
7a6a97d7
SM
897 * keyboard.c (make_lispy_event): Check integerness and fix
898 Lisp_Object/int mixup.
899
44dc78e0
PJ
9002001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
901
902 * fns.c (copy_hash_table): Remove unused variable `v'.
903
17893c65
PJ
904 * fontset.c (fontset_font_pattern): Remove unused variable
905 `family_registry'.
906
4d994a79
PJ
907 * indent.c (current_column_1): Remove unused variable `prev_col'.
908
d5360cc7
RS
9092001-11-05 Richard M. Stallman <rms@gnu.org>
910
911 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
912
913 * buffer.c (Fkill_buffer): Don't delete auto save file
914 if buffer is modified.
915
96238a5a
AI
9162001-11-05 Andrew Innes <andrewi@gnu.org>
917
918 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
919 CHECK_NUMBER_CDR.
920
d9d54213
RS
9212001-11-05 Richard M. Stallman <rms@gnu.org>
922
923 * unexelf.c (unexec): Minor changes; clean up comments.
924
b116830b
SS
9252001-11-05 Sam Steingold <sds@gnu.org>
926
927 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
928
3297e2a1
AS
9292001-11-05 Andreas Schwab <schwab@suse.de>
930
931 * sound.c (sound_perror): Save errno from being clobbered.
932
9212319f 9332001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
934
935 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
936 the program image directly.
937
7dd73b78
PJ
9382001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
939
940 * buffer.h (Fbuffer_local_value): Add prototype.
941
982f6c7e
RS
9422001-11-04 Richard M. Stallman <rms@gnu.org>
943
d31053f9
RS
944 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
945 and CHECK_BUFFER.
946
947 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
948 (record_char): Likewise.
949
950 * keyboard.c (make_lispy_event): Don't insist a drag event must
951 move to a different buffer position. Instead, check for moving at
952 least double_click_fuzz.
953
954 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
955
956 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
957
982f6c7e
RS
958 * indent.c (current_column_1, Fmove_to_column): Separate the code
959 for display-table glyphs from the code buffer text, to fix
960 bugs in the former.
961
830047fd
RS
9622001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
963
964 * buffer.c (Fbuffer_local_value): New function.
c191d13c 965 (syms_of_buffer): Defsubr it.
b116830b 966
830047fd
RS
967 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
968 value of `cursor-in-non-selected-windows'.
969
970 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
971 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
972 (syms_of_xdisp): Initialize it.
b116830b 973
2df5238c
PJ
9742001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
975
4e397688
PJ
976 * xfns.c (Fx_create_frame): Doc fix.
977
48b0f3ae
PJ
978 * coding.c: Change doc-string comments to `new style' [w/`doc:'
979 keyword].
980
2df5238c
PJ
981 * eval.c (top_level_value, top_level_set): Remove commented and
982 #ifdef'd-out code.
983 (Fdefvar): Fix usage in doc-string.
984
3ecaf7e5
RS
9852001-11-03 Richard M. Stallman <rms@gnu.org>
986
987 * xfns.c: Include unistd.h, if it exists.
988
989 * editfns.c: Move the include of ctype.h after unistd.h.
990
991 * gmalloc.c: Test BROKEN_PROTOTYPES.
992
8db2e33b
KR
9932001-11-03 Ken Raeburn <raeburn@gnu.org>
994
995 * lisp.h (CHECK_STRING_CAR): New macro.
996 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
997 treating XCAR and XCDR as lvalues.
998 (openp): Use CHECK_STRING_CAR.
999 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1000
aed29b97
EZ
10012001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1002
1003 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1004 (SIGMASKTYPE): Define.
aed29b97
EZ
1005
1006 * syssignal.h (sigunblock): Don't define if already defined.
1007
6cb16f95
PJ
10082001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1009
16b45be4
EZ
1010 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1011 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1012 Fix typos in comments.
1013
020f9b38
PJ
1014 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1015 and #ifdef'd-out code.
1016 Fix and reindent comments.
1017
c191d13c 1018 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1019
6cb16f95
PJ
1020 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1021 argument `i' in macros.
1022
1023 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1024 `i' in macros.
1025
16b45be4
EZ
1026 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1027 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1028 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1029 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1030 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1031 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1032 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1033 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1034 in macros.
1035
1036 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
1037 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1038 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1039 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1040 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1041 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1042 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1043 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1044 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
1045 (remove unused second argument).
1046
7e9d3c2f
SM
10472001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1048
1049 * syntax.c (describe_syntax): New wrapper.
1050 (Finternal_describe_syntax_value): Rename from describe_syntax.
1051 Don't insert space at front and \n at the end.
1052 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1053
1054 * regex.c (re_wctype): Try to fix some warnings.
1055 (regcomp, regexec): Don't forget the __restrict.
1056
e6bff182
RS
10572001-11-02 Richard M. Stallman <rms@gnu.org>
1058
1059 * textprop.c (Fget_char_property): Doc fix.
1060
9ba48103
PJ
10612001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1062
1063 * process.c (Fstart_process): Add usage to doc-string.
1064
1065 * data.c (Fsetq_default): Ditto.
1066
1067 * callint.c (Finteractive): Ditto.
1068
c22e59e1
SM
10692001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1070
1071 * macros.c: Don't include keymap.h any more.
1072
9271ed2c
RS
10732001-11-01 Richard M. Stallman <rms@gnu.org>
1074
e6bff182
RS
1075 * data.c (Fmake_local_variable): Doc fix.
1076
1077 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1078 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1079
9271ed2c
RS
1080 * keymap.c (Fdescribe_buffer_bindings): Print character property
1081 bindings along with or instead of the buffer local map.
1082 Make the overriding maps override what they should.
1083
8b8bd9c6
PJ
10842001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1085
1086 * window.c (grow_mini_window): Fix typo in comment.
1087
27188d11
GM
10882001-11-01 Gerd Moellmann <gerd@gnu.org>
1089
7b49b9d2
GM
1090 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1091 (XTset_vertical_scroll_bar): Likewise.
1092
43f7c3ea
GM
1093 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1094 instead of IMAGE_BACKGROUND.
c22e59e1 1095
b350c2e5
GM
1096 * xfns.c (four_corners_best): Reindent.
1097
c22e59e1 1098 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1099 Handle :box so that it is possible to specify sexprs.
1100
d576358b
PJ
11012001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1102
1103 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1104 (Fface_font): Ditto.
1105 (Finternal_set_alternative_font_registry_alist): Ditto.
1106 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1107
1108 * xfns.c (x-get-resource): Reindent.
1109
bf00d461
EZ
11102001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1111
1112 * s/hpux11.h: New file.
1113
4e10df59
PJ
11142001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1115
2b209b97
PJ
1116 * emacs.c (USAGE1): Show command line option --no-window-system
1117 instead of --no-windows in usage.
1118 (standard_args): Rename --no-windows to --no-window-system.
1119 (bug_reporting_address): Follow Emacs coding conventions.
1120
9dbc9081
PJ
1121 * eval.c (Fcommandp): Doc fix.
1122 Change doc-string comments to `new style' [w/`doc:' keyword].
1123
4e10df59
PJ
1124 * frame.c (Fframe_live_p): Doc fix.
1125
1126 * buffer.c (selective-display-ellipses): Doc fix.
1127
dd387b25
GM
11282001-10-31 Gerd Moellmann <gerd@gnu.org>
1129
fe957e65
GM
1130 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1131
dd387b25
GM
1132 * xfaces.c (realize_x_face): If C is not a single-byte character,
1133 set the face's colors_copied_bitwise_p instead of the defaulted_p
1134 members which have a different meaning.
1135 (free_face_colors): Do nothing for a face whose colors have been
1136 copied bitwise.
1137
c22e59e1 1138 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1139
2e1280f8
PJ
11402001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1141
687784e8
PJ
1142 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1143 [w/`doc:' keyword].
2e1280f8 1144
b9d9a9b9
GM
11452001-10-31 Gerd Moellmann <gerd@gnu.org>
1146
1147 * fns.c (require_unwind): Return Lisp_Object.
1148
48400103
PJ
11492001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1150
fa1361cb
PJ
1151 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1152 (last-input-char): Revert doc-string to be the same as the
1153 doc-string of `last-input-event'.
1154
48400103
PJ
1155 * xdisp.c: Fix typos in comments.
1156
eafa3196
GM
11572001-10-31 Gerd Moellmann <gerd@gnu.org>
1158
1159 * window.c (grow_mini_window): Handle case that the root
1160 window is already smaller than the nominal mininum height.
1161
747d3f2a
SM
11622001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1163
bf9bb76f
SM
1164 * emacs.c (main): Don't call keys_of_macros any more.
1165
1166 * lisp.h (keys_of_macros): Remove.
1167
1168 * macros.c (keys_of_macros): Remove.
1169
747d3f2a
SM
1170 * xfaces.c (Fface_attribute_relative_p): Declare args.
1171
5e905a57
JR
11722001-10-30 Jason Rumney <jasonr@gnu.org>
1173
1174 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1175 (enum_font_cb2): Ignore fonts with vertical orientation.
1176
3a426197
RS
11772001-10-30 Richard M. Stallman <rms@gnu.org>
1178
1179 * keyboard.c (Finput_pending_p): Doc fix.
1180
a742d646
GM
11812001-10-30 Gerd Moellmann <gerd@gnu.org>
1182
259cf6bc
GM
1183 * xterm.c (x_after_update_window_line): Don't run the code
1184 clearing in borders for rows whose visible height is 0.
1185
3f99f948
GM
1186 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1187 resized_p flag is set. If not set, use the much less flickering
1188 method previously used.
1189
1190 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1191
1192 * frame.h (struct frame) <resized_p>: New member.
1193
b4a3be43
GM
1194 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1195 as large as the number of bytes to convert.
747d3f2a 1196
a742d646
GM
1197 * lread.c (to_multibyte): New function.
1198 (read1): Use it.
1199
cacbb9e9
EZ
12002001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1201
1202 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1203
99cb6b2f
GM
12042001-10-30 Gerd Moellmann <gerd@gnu.org>
1205
327f42ee 1206 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1207 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1208 if the row's fill_line_p is set and drawing the last glyph with
1209 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1210
99cb6b2f
GM
1211 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1212
8e8223e2
SM
12132001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1214
1215 * xmenu.c: Include coding.h and charset.h.
1216 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1217 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1218 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1219 Explicitly set wv->help. Use `TRUE' rather than `True'.
1220 (menu_help_callback): Use empty_string.
1221
1222 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1223 (Fx_popup_dialog): Explicitly init f.
1224 (w32_menu_display_help): Use empty_string.
1225
4d083a8f
RS
12262001-10-29 Richard M. Stallman <rms@gnu.org>
1227
b2304472
RS
1228 * fns.c (Frequire): Detect recursive try to require the same
1229 feature 3 or more levels deep, and get error.
1230 (require_unwind): New subroutine.
1231 (require_nesting_list): New variable.
1232 (syms_of_fns): Init and staticpro it.
1233
4d083a8f
RS
1234 * print.c (print_object): Clarify indication of insertion type.
1235
2fe41216
EZ
12362001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1237
90480000
EZ
1238 * coding.c (syms_of_coding): Document that locale-coding-system is
1239 used for decoding input on X.
1240
2fe41216
EZ
1241 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1242
74e79967
PJ
12432001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1244
1245 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1246 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1247
60ebcfe8
GM
12482001-10-29 Gerd Moellmann <gerd@gnu.org>
1249
9a7bdceb
GM
1250 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1251 use NO_CURSOR if cursor_in_non_selected_windows is false.
1252
3f08fcd2
GM
1253 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1254 the slant attribute if FRAME is t.
1255
0ccfdad2
GM
1256 * xfns.c (x_set_internal_border_width): Set frame garbaged
1257 when X window doesn't exist yet.
1258
ef253080
GM
1259 * xterm.c (x_after_update_window_line): Clear internal border
1260 in different circumstances.
b116830b 1261
60ebcfe8
GM
1262 * xterm.c (XTread_socket) <KeyPress>: Don't use
1263 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1264 <handa@etl.go.jp>.
1265
73d25f9c
EZ
12662001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1267
1268 * m/ibms390.h: New file. From Adam Thornton
1269 <athornton@sinenomine.net>.
1270
cac1daf0
GM
12712001-10-28 Gerd Moellmann <gerd@gnu.org>
1272
053b3256 1273 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1274
cac1daf0
GM
1275 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1276 a loop counter.
1277
13b1a09c
PJ
12782001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1279
186486eb
PJ
1280 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1281
4707d2d0
PJ
1282 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1283 keyword].
1284 Fix typos in comments.
b116830b 1285
d883731c
PJ
1286 * emacs.c (bug_reporting_address): New function.
1287 Use it when displaying usage message.
1288
04012254
PJ
1289 * minibuf.c (read_minibuf): Remove unused external declaration of
1290 variable `Qread_only'.
1291
13b1a09c
PJ
1292 * keymap.c (access_keymap): Remove unused variable `charset'.
1293
5bbf4378
MB
12942001-10-28 Miles Bader <miles@gnu.org>
1295
1296 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1297 Remove #ifdef'd-out code.
1298 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1299 (syms_of_xfaces): Initialize them.
1300
1ce1e4ee
JR
13012001-10-27 Jason Rumney <jasonr@gnu.org>
1302
1303 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1304 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1305 position using the system caret.
1306
1307 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1308 (w32_system_caret_height, w32_system_caret_x)
1309 (w32_system_caret_y): New variables for tracking system caret.
1310 (w32_initialize): Initialize them.
c2d53558 1311 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1312
c2d53558
SM
1313 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1314 New messages types.
1ce1e4ee
JR
1315
1316 * w32term.c (note_mouse_highlight): Clear old help_echo.
1317
4e30ce42
PJ
13182001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1319
bb4600a4
PJ
1320 * xterm.c: Fix typo in a comment.
1321
7db35a48
PJ
1322 * emacs.c: Fix typos in comments.
1323 Remove unnecessary spaces.
1324 Change doc-string comments to `new style' [w/`doc:' keyword].
1325 (USAGE2): Fix typos in usage string.
1326
a7248e4f
PJ
1327 * xterm.c: Fix typo in a comment.
1328
4e30ce42
PJ
1329 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1330 emacs.c.
1331
62725a92
GM
13322001-10-27 Gerd Moellmann <gerd@gnu.org>
1333
798dbe1f 1334 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1335 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1336 farther backward when target_y was not reached.
1337
62725a92
GM
1338 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1339 Display errno only if non-zero.
1340 (sound_warning): New function.
1341 (vox_configure): Don't treat failing to set sample rate as error.
1342 (various places): Improve error messages.
1343
d4e34d24
EZ
13442001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1345
944e6f60
EZ
1346 * fileio.c (Faccess_file): Run the argument filename through
1347 Fexpand_file_name, before using it.
1348
d4e34d24
EZ
1349 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1350 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1351
38d2af0c
GM
13522001-10-26 Gerd Moellmann <gerd@gnu.org>
1353
da80a8d5
GM
1354 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1355
38d2af0c
GM
1356 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1357 Fix clearing in the case of scroll bars on the right.
c2d53558 1358
56f508dd
EZ
13592001-10-26 Juanma Barranquero <lektu@terra.es>
1360
1361 * w32gui.h (XImage): Add a dummy typedef.
1362
fbd5ceb2
GM
13632001-10-26 Gerd Moellmann <gerd@gnu.org>
1364
c2d53558 1365 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1366
b23236fb
EZ
13672001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1368
1369 * frame.c (Fframe_parameter): Fix last change.
1370
5d991fc4
EZ
1371 * fileio.c: Revert last change (which removed old commented-out
1372 version of expand-file-name). Add a comment that explains why
1373 this old version should not be removed.
1374
879eadc3
GM
13752001-10-25 Gerd Moellmann <gerd@gnu.org>
1376
75700ff2
GM
1377 * frame.c (Fframe_parameter): Fix a bug whereby some
1378 ``artificial'' frame parameters, like `minibuffer' were not
1379 obtained by calling Fframe_parameters.
1380
dfe92a6a
GM
1381 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1382 cursor differently.
1383
879eadc3
GM
1384 * xdisp.c (move_it_vertically_backward): Compute line height
1385 differently. Add heuristic to try to be more compatible to 20.x.
1386
e1010ebe
SM
13872001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1388
d73a471b
SM
1389 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1390
d6da5a06
GM
1391 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1392 boolean.
e1010ebe 1393
f66bd220
MB
13942001-10-25 Miles Bader <miles@gnu.org>
1395
1396 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1397 BG is a pointer to a structure, not a structure.
1398 (gif_format, png_format): Add missing commas.
1399
d436d538
RS
14002001-10-24 Richard M. Stallman <rms@gnu.org>
1401
1402 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1403 (syms_of_xfaces): Defsubr it.
d436d538 1404
075c507b
PJ
14052001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1406
1407 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1408 variable `area'.
1409
d492b584
PJ
14102001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1411
c2d53558 1412 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1413
e2a57b34
MB
14142001-10-25 Miles Bader <miles@gnu.org>
1415
1416 * dispextern.h (struct image): Add `background',
1417 `background_valid', and `background_transparent' fields.
1418 (image_background, image_background_transparent): New declarations.
1419 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1420 * xfns.c (image_background, image_background_transparent)
1421 (four_corners_best): New functions.
c2d53558 1422 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1423 (gs_format): Add `:background' entry.
1424 (lookup_image): Set IMG's background color if specified.
1425 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1426 when appropriate.
1427 (x_clear_image_1): Reset `background_valid' and
1428 `background_transparent_valid' fields.
1429 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1430 calculating it here. Set IMG's background_transparent field.
1431 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1432 (enum png_keyword_index): Add PNG_BACKGROUND.
1433 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1434 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1435 (enum gif_keyword_index): Add GIF_BACKGROUND.
1436 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1437 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1438 Pre-calculate image background color where necessary.
1439 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1440 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1441 color to use for image glyph reliefs.
1442
b547b6e8
GM
14432001-10-24 Gerd Moellmann <gerd@gnu.org>
1444
d9e3b8c6
GM
1445 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1446 in full-width rows.
c2d53558 1447
b547b6e8
GM
1448 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1449 Fix clearing of area not covered by scroll bar.
1450
2beb36f9
PJ
14512001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1452
1453 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1454 and `real_start'.
c2d53558 1455 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1456 (glyph_rect): Remove unused variable `area'.
1457
76cb5e06
GM
14582001-10-24 Gerd Moellmann <gerd@gnu.org>
1459
bdbdebff 1460 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1461
1462 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1463 (row_containing_pos): Take additional argument DY.
1464 Treat rows ending in middle of char differently.
62e33982
GM
1465 (display_line): Handle tabs on window systems differently.
1466
1467 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1468 with additional argument.
1469
1470 * dispextern.h (row_containing_pos): Adjust prototype.
1471
76cb5e06
GM
1472 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1473 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1474 (try_window_id, try_window_reusing_current_matrix)
1475 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1476 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1477
996fee11
PJ
14782001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1479
c9e60620
PJ
1480 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1481 gnuemacs).
1482 (HAVE_BOXES): Fix typo in comment.
1483 (push_menu_pane): Fix typo in comment.
1484
3b552d56
PJ
1485 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1486 of `Qwhen'.
1487 (single_display_prop_string_p): Remove unused local declarations
1488 of `Qwhen' and `Qmargin'.
1489 (string_buffer_position): Remove unused variable `around'.
1490 (store_frame_title): Remove unused variable `width'.
1491
15c565ac
PJ
1492 * window.c: Don't define max.
1493 (coordinates_in_window): Remove unused variable `uy'.
1494
a8818eb9
PJ
1495 * widget.c: Don't define max.
1496
996fee11
PJ
1497 * process.c: Don't define max.
1498 (create_process): Remove unused variable `buffer'.
1499
496e1a5b
GM
15002001-10-23 Gerd Moellmann <gerd@gnu.org>
1501
c2d53558 1502 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1503
5905ae8b
EZ
15042001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1505
1506 * xfaces.c (Finternal_set_lisp_face_attribute)
1507 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1508 frame is on a windowed display.
1509
24db49fb
GM
15102001-10-23 Gerd Moellmann <gerd@gnu.org>
1511
c2d53558
SM
1512 * dispnew.c (sync_window_with_frame_matrix_rows):
1513 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1514 of marginal areas.
1515
c2d53558 1516 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1517
f0487f05
EZ
15182001-10-23 Andreas Schwab <schwab@suse.de>
1519
1520 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1521 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1522
f0a48a01
GM
15232001-10-23 Gerd Moellmann <gerd@gnu.org>
1524
c2d53558 1525 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1526 REAL_END. Notice if cursor gets overwritten.
1527 (notice_overwritten_cursor): Take X positions as parameters.
1528 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1529 around call to x_draw_glyphs.
1530
a50a10a0
PJ
15312001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1532
fc11dff0
PJ
1533 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1534 instead of C) and usage.
a50a10a0 1535
fc11dff0
PJ
1536 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1537 of C) and usage.
a50a10a0
PJ
1538
1539 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1540 `left', `max_width' and `max_height'.
1541
8738febd
GM
15422001-10-23 Gerd Moellmann <gerd@gnu.org>
1543
1544 * xdisp.c (display_line): For a tab continued to the next line,
1545 set row's ends_in_middle_of_char_p.
1546
653c329b
GM
15472001-10-22 Gerd Moellmann <gerd@gnu.org>
1548
1549 * xdisp.c (display_line): Fix computation of continuation lines
1550 width for TABs.
1551
f958c5ac
PJ
15522001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1553
7ba51063
PJ
1554 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1555 `Qlaplace'.
1556
f958c5ac
PJ
1557 * fileio.c: Remove unused code.
1558
eb360291
MB
15592001-10-22 Miles Bader <miles@gnu.org>
1560
1561 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1562 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1563 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1564
98515cf0
JR
15652001-10-21 Jason Rumney <jasonr@gnu.org>
1566
1567 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1568
93026d88
EZ
15692001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1570
1571 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1572 (Finsert_string): Avoid the multi-line string literals warning.
1573
c9a95b79
MB
15742001-10-22 Miles Bader <miles@gnu.org>
1575
1576 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1577 (Fdocumentation): Don't use it.
1578 (syms_of_doc): Don't initialize it.
1579
1580 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1581 * print.c (Fwith_output_to_temp_buffer): Likewise.
1582 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1583 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1584 (Fsave_restriction): Likewise.
c2d53558
SM
1585 * eval.c (Frun_hooks, Frun_hook_with_args)
1586 (Frun_hook_with_args_until_failure)
1587 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1588 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1589 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1590 (Funwind_protect, Fcondition_case): Likewise.
1591 * coding.c (Ffind_operation_coding_system): Likewise.
1592 * keyboard.c (Ftrack_mouse): Likewise.
1593
a3b10252
MB
15942001-10-21 Miles Bader <miles@gnu.org>
1595
c2d53558 1596 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1597 (Fmake_hash_table): Add usage: string to doc string.
1598 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1599 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1600 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1601 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1602 (Fml_prefix_argument_loop): Likewise.
1603
c6f73eec
PJ
16042001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1605
c2d53558 1606 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1607
c6f73eec
PJ
1608 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1609 style' [w/`doc:' keyword].
1610
1611 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1612 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1613 comments to `new style' [w/`doc:' keyword].
1614
3cf3436e
JR
16152001-10-21 Jason Rumney <jasonr@gnu.org>
1616
1617 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1618
c169b8f1
JR
1619 * w32term.c (remember_mouse_glyph): New function.
1620 (w32_mouse_position): Use it.
1621 (note_mouse_movement): If the mouse moved off the glyph, remember
1622 its new position.
c2d53558 1623
4fdd691b
JR
1624 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1625 (w32_display_info): Add mouse_face_overlay.
1626
c169b8f1
JR
1627 * w32term.c (notice_overwritten_cursor): Renamed from
1628 note_overwritten_text_cursor. Rewritten to take glyph widths into
1629 account.
1630 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1631 (fast_find_string_pos): New function.
1632 (fast_find_position): Return the correct vpos. Add parameter
1633 STOP. In the final row, stop before glyphs having STOP as object.
1634 Don't consider glyphs that are not from a buffer.
1635 (fast_find_position) [0]: Add a presumably more correct version
1636 for after 21.1.
1637 (expose_window_tree, expose_frame): Don't compute intersections here.
1638 (expose_window): Do it here instead.
1639 (expose_window_tree, expose_window, expose_line): Return 1 when
1640 overwriting mouse-face.
1641 (expose_window): If W is the window currently being updated, mark
1642 the frame garbaged.
1643 (expose_frame): If mouse-face was overwritten, redo it.
1644 (x_use_underline_position_properties): New variable.
1645 (syms_of_xterm): DEFVAR_BOOL it.
1646 (x_draw_glyph_string): Add comment to use it in future.
1647 (x_draw_glyph_string): Restore clipping after drawing box.
1648 Fix a computation of the underline position.
1649 (w32_get_glyph_string_clip_rect): Minor cleanup.
1650 (x_fill_stretch_glyph_string): Remove an assertion.
1651 (x_produce_glyphs): Don't convert multibyte characters
1652 to unibyte characters in unibyte buffers.
1653 (cursor_in_mouse_face_p): New function.
1654 (x_draw_stretch_glyph_string): Use it to choose a different GC
1655 when drawing a cursor within highlighted text. Don't draw
1656 background again if it has already been drawn.
1657 (x_draw_glyph_string_box): Don't draw a full-width
1658 box just because the glyph row's full_width_p flag is set.
1659 (x_draw_glyphs): Fix computation of rightmost x for
1660 full-width rows.
1661 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1662 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1663 change bottom shadow accordingly. Some cleanup.
1664 (x_update_window_end): Handle overwritten mouse face
1665 also for tool bar windows.
1666 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1667 DRAW is DRAW_IMAGE_RAISED.
1668 (clear_mouse_face): Return 1 if text with mouse face was
1669 actually redrawn. Make the function static. Reset
1670 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1671 optimize away highlighting if we pass over that same overlay again.
1672 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1673 to detect a case where we have to highlight a different region
1674 despite not having left the currently highlighted region.
1675 Set mouse_face_overlay in the x_display_info. Avoid changing the
1676 mouse pointer shape when show_mouse_face has already done it, or
1677 there is no need. Handle mouse-face and help-echo in strings.
1678 (glyph_rect): New function.
1679 (w32_mouse_position): Use it to raise the threshold for mouse
1680 movement event generation.
1681 (w32_initialize_display_info): Initialize the x_display_info's
1682 mouse_face_overlay.
1683 (w32_set_vertical_scroll_bar): Don't clear a zero height
1684 or width area.
1685 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1686 a widget to zero height.
1687
3cf3436e 1688 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1689 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1690 equivalents in menu_items.
1691 (w32_menu_show): Don't overwrite an item's name with its key
1692 description in case the description is a multibyte string.
1693 (single_submenu): Some cleanup.
1694
1695 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1696 (postprocess_image): New function.
1697 (lookup_image): Call it for all image types except PostScript.
1698 (x_kill_gs_process): Call postprocess_image.
1699 (tiff_error_handler, tiff_warning_handler): New functions.
1700 (tiff_load): Install them as handlers.
1701 (x_kill_gs_process): Recognize if someone has cleared the image
1702 cache under us.
1703 (valid_image_p): Protect better against invalid image
1704 specifications. Previous code could signal an error.
1705 (Fx_hide_tip, Fshow_tip): Doc fix.
1706 (Fv_max_tooltip_size): New variable.
1707 (syns_of_xfns): DEFVAR_LISP it.
1708 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1709 window buffer to *tip* right after creating the frame. Set frame's
1710 window_width. Use a maximum tooltip size specified by
1711 Vx_max_tooltip_size, if that has valid contents.
1712 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1713 Make sure the tooltip is completely visible.
1714 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1715 (Fx_create_frame): Adjust the frame's height for presence
1716 of the tool bar before calling x_figure_window_size.
1717 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1718 when the window gets smaller.
1719 (x_set_foreground_color): Set frame's cursor_pixel.
1720 (x_set_foreground_color, x_set_background_color): Cleaned up.
1721 (x_set_font): Handle case of x_new_fontset returning the same name
1722 as before, although there was a change in fontsets.
1723
386ca361
MB
17242001-10-21 Miles Bader <miles@gnu.org>
1725
c2d53558 1726 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1727 (Flogxor): Add usage: string to doc string.
1728 * charset.c (Fstring): Likewise.
1729 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1730 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1731
14ff1ee0
PJ
17322001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1733
03be2694
PJ
1734 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1735
1736 * alloc.c: Reindent DEFUNs with doc: keywords.
1737
1738 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1739
14ff1ee0
PJ
1740 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1741 keyword].
1742
71431a0e
GM
17432001-10-20 Gerd Moellmann <gerd@gnu.org>
1744
6aa97356 1745 * (Version 21.1 released.)
71431a0e 1746
39f624fa
PJ
17472001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1748
c2d53558 1749 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1750
1751 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1752 0 because unused.
1753
1754 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1755 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1756 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1757
abcce93a
MB
17582001-10-20 Miles Bader <miles@gnu.org>
1759
1760 The following changes remove the glyph_row `inverse_p' field,
1761 which is never set anymore, due to other changes:
1762
1763 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1764 (reassert_line_highlight, change_line_highlight): Declarations removed.
1765 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1766 (line_hash_code, row_equal_p, fake_current_matrices)
1767 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1768 (update_frame_line, update_frame_line, update_frame_line):
1769 Don't use `inverse_p' field.
1770 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1771 change_line_highlight_hook.
1772 (XTreassert_line_highlight, x_change_line_highlight):
1773 Functions removed.
c2d53558 1774 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1775 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1776 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1777 `inverse_p' field.
c2d53558 1778 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1779 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1780 (w32_reassert_line_highlight, x_change_line_highlight):
1781 Functions removed.
1782 * w32console.c (reassert_line_highlight, change_line_highlight):
1783 Functions removed.
1784 (initialize_w32_display): Don't set reassert_line_highlight_hook
1785 or change_line_highlight_hook.
1786 (hl_mode): Function removed.
c2d53558
SM
1787 (reset_terminal_modes, set_terminal_modes, update_begin)
1788 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1789 (clear_frame, ins_del_lines): Don't call it.
1790 * termhooks.h (reassert_line_highlight_hook)
1791 (change_line_highlight_hook): Declarations removed.
1792 * term.c (reassert_line_highlight_hook)
1793 (change_line_highlight_hook): Variables removed.
1794 (reassert_line_highlight, change_line_highlight): Functions removed.
1795 * msdos.c (IT_reassert_line_highlight)
1796 (IT_change_line_highlight): Functions removed.
1797 (internal_terminal_init): Don't set reassert_line_highlight_hook
1798 or change_line_highlight_hook.
1799 (highlight): Variable removed.
c2d53558 1800 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1801 (IT_set_terminal_modes): Don't set or use it.
1802
1803 The following changes remove inverse-video support for terminals
1804 that use a `magic cookie' standout mode. Due to changes in the
1805 way mode-lines are displayed, such support no longer works
1806 anyway, and it's probable that almost no one uses such terminals
1807 anymore:
1808
1809 * term.c (standout_requested): Variable removed.
1810 (update_end, highlight_if_desired): Don't use it.
1811 (chars_wasted, copybuf): Variables removed.
1812 (write_standout_marker): Function removed.
c2d53558 1813 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1814 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1815 Don't use `chars_wasted' or `copybuf'.
1816 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1817 Set `costs_set' to true.
1818 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1819 `chars_wasted'.
1820 (clear_end_of_line): Function removed.
1821 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1822 (clear_to_end): Call `clear_end_of_line' instead of
1823 `clear_end_of_line_raw'.
54800acb
MB
1824 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1825 (term_init): Don't set them.
1826 Turn off any standout/underline modes that require magic cookies.
c2d53558 1827 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1828 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1829 Remove special processing for magic-cookie standout modes.
1830 (turn_off_face, turn_on_face): Remove special processing for
1831 underline magic-cookie glitch.
abcce93a 1832
0b5f679f
RS
18332001-10-19 Richard M. Stallman <rms@gnu.org>
1834
1835 * eval.c (syms_of_eval): Doc fixes.
1836
5a4a5bd4
GM
18372001-10-19 Gerd Moellmann <gerd@gnu.org>
1838
1839 * xdisp.c (redisplay_internal): Don't clear echo area if the
1840 mini-window is selected.
1841
79f1f96c
MB
18422001-10-19 Miles Bader <miles@gnu.org>
1843
b57c2708
MB
1844 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1845 doesn't take precedence if the affected property's value is nil.
1846
1847 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1848
79f1f96c
MB
1849 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1850 with fields and suggest using `forward-line' to avoid them.
1851 * editfns.c (Fline_beginning_position, Fline_end_position):
1852 Clarify documentation.
1853
ef879104
SM
18542001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1855
1856 * keymap.c (current_minor_maps): `override' only shadows its
1857 correspondent in minor-mode-map-alist, not the whole tail.
1858
97f4db8c
AI
18592001-10-18 Andrew Innes <andrewi@gnu.org>
1860
1861 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1862 optimization. The fontp->encoding array was not being initialized
1863 correctly when compiled with optimizations by MSVC.
1864
e6b70fd8
GM
18652001-10-18 Gerd Moellmann <gerd@gnu.org>
1866
30903479 1867 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1868
0e804d38
AI
18692001-10-17 Andrew Innes <andrewi@gnu.org>
1870
1871 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1872
1873 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1874 font_info.charset field.
1875
1876 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1877 rather than working it out by calling w32_codepage_for_font for
1878 every glyph.
1879
66e5868a
AI
18802001-10-17 Andrew Innes <andrewi@gnu.org>
1881
1882 * w32term.c (w32_read_socket): Determine clipping rectangle for
1883 the entire frame, including areas covered by scrollbars and the
1884 menubar. This avoids internal arguments about whether a frame is
1885 fully obscured or not.
1886
15b00083
GM
18872001-10-17 Gerd Moellmann <gerd@gnu.org>
1888
23e8bd86
GM
1889 * xdisp.c (try_window_id): Undo last change. Give up if
1890 window ends in strings.
30903479 1891
9c6ba6d1 1892 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1893 end if the rest of the window after the window end was already blank.
23e8bd86 1894
30903479 1895 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1896 for the release of 21.1.
1897
30903479 1898 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1899
945220bd
MB
19002001-10-17 Miles Bader <miles@gnu.org>
1901
1902 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1903 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1904 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1905 Change doc-string comments to `new style' [w/`doc:' keyword].
1906 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1907 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1908 out make-docfile.
1909
14242528
MB
19102001-10-16 Miles Bader <miles@gnu.org>
1911
1912 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1913
3ddf952f
GM
19142001-10-16 Gerd Moellmann <gerd@gnu.org>
1915
1916 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1917 *scratch*.
1918
f3fbd155
KR
19192001-10-16 Ken Raeburn <raeburn@gnu.org>
1920
1921 Avoid the assumption that car and cdr slots of cons cells are
1922 addressable lvalues; this allows for easier experimentation with
1923 other lisp implementations that may not permit such accesses for
1924 various reasons. Not quite complete -- buffer.c still needs some
1925 work, and w32/mac files need rechecking -- so compile-time
1926 enforcement is left disabled for now.
1927
1928 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1929 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1930 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1931 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1932 (XSETCAR, XSETCDR): New macros.
1933 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1934 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1935 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1936 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1937 XSETCDR.
1938 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1939 * buffer.c (record_buffer, Fbury_buffer)
1940 (swap_out_buffer_local_variables, recenter_overlay_lists)
1941 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1942 fields of a cons cell respectively.
1943 * callint.c (quotify_args, Fcall_interactively): Likewise.
1944 * ccl.c (Fregister_code_conversion_map): Likewise.
1945 * coding.c (detect_coding_system): Likewise.
1946 * composite.c (get_composition_id, make_composition_value_copy):
1947 Likewise.
30903479
SM
1948 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1949 (swap_in_symval_forwarding, set_internal, Fset_default)
1950 (Fmake_variable_buffer_local, Fmake_local_variable)
1951 (Fmake_variable_frame_local): Likewise.
f3fbd155 1952 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1953 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1954 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1955 * minibuf.c (get_minibuffer): Likewise.
1956 * search.c (Fmatch_data): Likewise.
1957 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1958 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1959 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1960 Likewise.
1961 * w32term.c (x_delete_display): Likewise.
1962 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1963 Likewise.
c2d53558 1964 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1965 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1966 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1967 (Fread_file_name): Use XSETCAR.
1968 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1969 CHECK_NUMBER_CDR.
1970 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1971 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1972 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1973 CHECK_NUMBER_CDR.
1974 * keyboard.c (read_char): Alter list traversal to avoid taking the
1975 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1976 (parse_menu_item): Use XSETCAR and XSETCDR.
1977 (reach_char_x_menu_prompt): Use XSETCAR.
1978 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1979 (Fcommand_execute): Use XSETCDR.
1980 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1981 (openp): Change list traversal to avoid using XCAR as lvalue.
1982 (read_list): Use XSETCDR.
1983 * process.c (wait_reading_process_input): Change wait_for_cell
1984 handling to avoid taking addresses of cons cell slots.
30903479
SM
1985 * xselect.c (x_own_selection, x_handle_selection_clear)
1986 (x_clear_frame_selections): Use XSETCDR.
1987 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1988 (x_handle_property_notify, x_get_foreign_selection)
1989 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1990
502150e5
PJ
19912001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1992
018ba359
PJ
1993 * buffer.c: Put doc strings in comments.
1994
30903479 1995 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1996
b56ba8de
SS
19972001-10-15 Sam Steingold <sds@gnu.org>
1998
1999 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2000
6a0b793a
PJ
20012001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2002
30903479
SM
2003 * process.c (process-inherit-coding-system-flag)
2004 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2005 in comment.
2006
a1f17501 2007 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2008 arguments. Put doc strings in comments.
a65da641
PJ
2009
2010 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2011
aa601ad0
GM
20122001-10-15 Gerd Moellmann <gerd@gnu.org>
2013
30903479 2014 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2015
aa601ad0
GM
2016 * window.c (select_window_1): Unfreeze window start. Remove a
2017 doubled test for WINDOW being live.
2018
288148a1
PJ
20192001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2020
dd8d1e71
PJ
2021 * fns.c (Fmapconcat): Fix typo in a doc string.
2022
288148a1
PJ
2023 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2024
9f5eb4a3
GM
20252001-10-15 Gerd Moellmann <gerd@gnu.org>
2026
2027 * xterm.c (x_draw_glyph_string): Restore clipping after
2028 drawing box.
2029
dbae44c8
PJ
20302001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2031
30903479 2032 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2033
0c88c937
SM
20342001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2035
56378db4
GM
2036 * indent.c (skip_invisible): Use new retval of
2037 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2038
845e4cf4
SM
2039 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2040 If a parent is reached and noinherit is set, exit immediately.
2041 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2042
0c88c937
SM
2043 * s/ms-w32.h (EXEC_SUFFIXES):
2044 * s/msdos.h (EXEC_SUFFIXES):
2045 * process.h (EXEC_SUFFIXES): Remove.
2046
2047 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2048 (decode_suffixes): Remove.
2049
2050 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2051 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2052 (invisible_ellipsis_p): Remove.
0c88c937
SM
2053
2054 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2055 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2056 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2057 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2058 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2059
d19be8a9
PJ
20602001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2061
04d7d066
PJ
2062 * lisp.h (Ftop_level): Add prototype.
2063
d624284c
PJ
2064 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2065 (XTread_socket): Improve style of comments to follow other
2066 comments.
2067
a87414f9
PJ
2068 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2069 is already prototyped in included lisp.h).
2070
d19be8a9
PJ
2071 * frame.c (Fset_mouse_position): Improve style of comment to
2072 follow other comments.
2073 (Fset_mouse_pixel_position): Improve style of comment to follow
2074 other comments.
2075 (Fmake_frame_visible): Doc fix and typo in comment.
2076 (Fmake_frame_invisible): Doc fix and typo in comment.
2077 (Ficonify_frame): Fix typo in comment.
2078
c061c855
GM
20792001-10-14 Gerd Moellmann <gerd@gnu.org>
2080
37f6b5b6 2081 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2082 * term.c, alloc.c: Put doc strings in comments.
c061c855 2083
e641b454
GM
20842001-10-13 Gerd Moellmann <gerd@gnu.org>
2085
2086 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2087 Provide definitions for doc strings in comments.
2088
2089 * fns.c: Put doc strings in comments.
2090
51724e26
EZ
20912001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2092
2093 * dired.c (file_name_completion): Ignore a candidate directory if
2094 it matches an element in completion-ignored-extensions that ends
2095 in a slash.
2096 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2097 feature in the doc string.
2098 (Ffile_name_completion): Ditto.
2099
be5fc59b
SM
21002001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2101
5a1373f3
SM
2102 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2103
2104 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2105
2106 * lisp.h (Fprovide): Update prototype.
2107 (Ffeaturep, invisible_p): Remove.
2108
bbc4a3d3 2109 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2110 (DOLIST, LOOP_PROPVAL): New macros.
2111 (invisible_p, invisible_ellipsis_p): Use them.
2112 (invisible_noellipsis_p): New function.
2113 (syms_of_xdisp): Use empty_string.
2114
2115 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2116
2117 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2118 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2119
2120 * print.c (Fwith_output_to_temp_buffer): Align with
2121 internal_with_output_to_temp_buffer.
2122 (print_preprocess): Use traverse_intervals_noorder.
2123 (print_object): Update call to traverse_intervals.
2124
2125 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2126 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2127
2128 * intervals.c (traverse_intervals_noorder): New function.
2129 (search_for_interval, count_intervals): Use it.
2130 (traverse_intervals): Use less stack space and drop `depth' arg.
2131
2132 * fns.c (Ffeaturep): Add new `subfeature' arg.
2133 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2134 (Qsubfeatures): New var.
2135 (syms_of_fns): Initialize it.
2136
026f408d
SM
2137 * keymap.c (Fkey_description): Use empty_string.
2138 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2139 (syms_of_keymap): Setup inheritance between maps.
2140 Don't export Sdescribe_bindings_internal any more.
2141
be5fc59b
SM
2142 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2143
3365175e
GM
21442001-10-12 Gerd Moellmann <gerd@gnu.org>
2145
2146 * xterm.c (notice_overwritten_cursor): Renamed from
2147 note_overwritten_text_cursor. Rewritten to take glyph widths into
2148 account.
2149
2ab7765c
EZ
21502001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2151
2152 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2153 multi-line strings without a trailing "\n\".
2154
311346bb
PJ
21552001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2156
2157 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2158 defined.
2159
2168e04d
SM
21602001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2161
026f408d
SM
2162 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2163
c0ec53ad
SM
2164 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2165 * w32proc.c (sys_spawnve):
2166 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2167 * w32.c (check_windows_init_file):
2168 * sound.c (Fplay_sound):
026f408d 2169 * emacs.c (init_cmdargs):
c0ec53ad
SM
2170 * process.c (Fstart_process): Update calls to openp.
2171
2172 * callproc.c (Vexec_suffixes): New var.
2173 (Fcall_process): Update call to openp.
2174 (decode_suffixes): New function.
2175 (syms_of_callproc): Init exec-suffixes.
2176
2177 * lread.c (Vload_suffixes, default_suffixes): New vars.
2178 (openp): Take a lisp list of suffixes.
2179 Check for file-name-handlers even if the file was absolute already.
2180 (syms_of_lread): Declare load-suffixes.
2181 (Fload): Fix up call to openp.
2182 Don't bother checking for file-name-handler at the very beginning.
2183
f6333468
SM
2184 * keymap.h (Fcopy_keymap): Don't export.
2185
2186 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2187 (Vload_suffixes, Vexec_suffixes): Declare.
2188 (openp): Update prototype.
f6333468
SM
2189
2190 * emacs.c (empty_string): New var.
2191 (syms_of_emacs): Initialize it.
2192
2193 * search.c (wordify): Use it.
2194
2195 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2196 selected window if it's not displayed there. Handle the case
2197 when the window is dedicated.
2198 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2199
2200 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2201
2168e04d
SM
2202 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2203 Remove left_ok and right_ok.
2204 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2205 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2206 new meaning of b_property.
2207
2208 * syntax.c (update_syntax_table): Simplify.
2209 (Fforward_comment): Don't skip quoted chars when going backward.
2210
13d95cc0
GM
22112001-10-11 Gerd Moellmann <gerd@gnu.org>
2212
beb0990f
GM
2213 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2214 in case I is of some unsigned type, in which case
2215 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2216 comparison becomes bogus.
2217
cb938d46
GM
2218 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2219 (Fuser_full_name): Fix bug treating a float as a fixnum.
2220
2221 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2222
2223 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2224
13d95cc0
GM
2225 * lisp.h (circular_list_error): Add prototype.
2226
2227 * data.c (Qcircular_list): New variable.
2228 (circular_list_error): New function.
2229 (syms_of_data): Initialize it Qcircular_list.
2230
e35f6ff7
SM
22312001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2232
2233 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2234 casefiddle.c, buffer.c: Include keymap.h.
2235
619632ac
GM
22362001-10-10 Gerd Moellmann <gerd@gnu.org>
2237
2238 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2239 options. From Dave Love <d.love@dl.ac.uk>.
2240
5e5388f6
GM
22412001-10-09 Gerd Moellmann <gerd@gnu.org>
2242
2243 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2244 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2245
14a3dff7
GM
2246 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2247 unsigned char.
2248 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2249
76ba8daf
AI
22502001-10-08 Andrew Innes <andrewi@gnu.org>
2251
2252 * lisp.h [max]: Undef min and max before redefining them.
2253
2254 * w32gui.h: Do not undef min and max.
2255
2256 * w32heap.h: Do not undef min and max.
2257
2258 * s/ms-w32.h: Do not undef min and max.
2259
166253cb
SM
22602001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2261
2262 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2263
0c4d9527
SS
22642001-10-08 Sam Steingold <sds@gnu.org>
2265
2266 * keymap.c (current-active-maps): Quote newlines (compilation error).
2267
14bfa771
EZ
22682001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2269
2270 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2271 bindings.elc, since otherwise doc strings in bindings.el get wrong
2272 offsets in etc/DOC.
2273
bdb7aa47
SM
22742001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2275
9985827f
SM
2276 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2277
2278 * keyboard.h (map_prompt): Remove.
2279
2280 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2281 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2282
bdb7aa47
SM
2283 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2284
2285 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2286
2287 * keyboard.c (map_prompt): Remove.
2288 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2289 Use Fkeymap_prompt.
2290
2291 * keymap.h: New file. Extracted from lisp.h.
2292
9985827f
SM
2293 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2294 (accessible_keymaps_1): New function.
2295 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2296 (Fwhere_is_internal): Use Fcurrent_active_maps.
2297 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2298 Insert in current buffer rather than standard-output.
2299 Don't call `help-mode'. Export to elisp.
2300 (describe_buffer_bindings): New wrapper.
2301 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2302 and Sdescribe_buffer_bindings.
2303
402c9a51
GM
23042001-10-08 Gerd Moellmann <gerd@gnu.org>
2305
9985827f 2306 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2307 Remove code setting signal handler.
2308
9985827f 2309 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2310 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2311
3fe81fdf
PJ
23122001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2313
2314 * keyboard.c: Don't define min/max.
2315
55fa7820
GM
23162001-10-08 Gerd Moellmann <gerd@gnu.org>
2317
9985827f 2318 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2319 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2320 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2321 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2322 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2323 Don't define min/max.
2324
2325 * lisp.h (min, max): New macros.
2326
55fa7820
GM
2327 * puresize.h (BASE_PURESIZE): Increase to 725000.
2328
1aad31e4
PJ
23292001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2330
9180dc8c
PJ
2331 * xfaces.c (free_frame_menubar): Add prototype.
2332
01f67d2c
PJ
2333 * lisp.h (init_window): Add prototype.
2334
2335 * editfns.c: Include ctype.h.
2336
2337 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2338 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2339 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2340 variable `sb'.
2341
5f351ff1
PJ
2342 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2343 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2344 `popup_activated_flag' and `title'.
2345
479dfe87
PJ
2346 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2347
dff49fc8
PJ
2348 * emacs.c (main): Remove extra `;'.
2349
248ac615
PJ
2350 * atimer.h (struct atimer): Fix typos in a comment.
2351
2352 * atimer.c: Fix typo.
2353
af232c7d
PJ
2354 * Makefile.in: Fix typo.
2355
2356 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2357
d876f455
MB
23582001-10-07 Miles Bader <miles@gnu.org>
2359
2360 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2361
0037e2f2
KR
23622001-10-07 Ken Raeburn <raeburn@gnu.org>
2363
b056f36d
KR
2364 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2365 Lisp_Object.
2366
0037e2f2
KR
2367 * lisp.h (Ffield_end): Declare.
2368
1a4372ef
GM
23692001-10-07 Gerd Moellmann <gerd@gnu.org>
2370
a4a74e8c
GM
2371 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2372
2373 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2374
2375 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2376
2377 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2378
1a4372ef
GM
2379 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2380 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2381
2382 * alloc.c (inhibit_garbage_collection): Simplify.
2383 (Fmemory_use_counts): Ditto.
2384
9985827f 2385 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2386 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2387 most-negative-fixnum.
2388
9985827f 2389 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2390 (FIXNUM_OVERFLOW_P): New macros.
2391
4650e362
MB
23922001-10-06 Miles Bader <miles@gnu.org>
2393
2394 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2395 scroll_bar_bottom_shadow_pixel fields.
2396 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2397 for the shadows, and tell the toolkit about them if we succeed.
2398 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2399 Free scroll-bar shadow colors.
2400 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2401 Free scroll-bar shadow colors when the background color changes.
2402 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2403 Initialize scroll-bar shadow-color fields.
2404
ace64e0a
GM
24052001-10-05 Gerd Moellmann <gerd@gnu.org>
2406
2407 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2408
ec66bdc7
MB
24092001-10-05 Miles Bader <miles@gnu.org>
2410
9985827f
SM
2411 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2412 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2413 New functions (were in simple.el).
9985827f 2414 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2415 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2416 (syms_of_minibuf): Initialize them.
2417
a0fb4492
GM
24182001-10-05 Gerd Moellmann <gerd@gnu.org>
2419
2420 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2421 (tiff_load): Install them as error and warning handler.
2422
0bcf87c1
AI
24232001-10-04 Andrew Innes <andrewi@gnu.org>
2424
2425 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2426 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2427 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2428 (x_to_w32_charset): Handle private format for unknown charsets.
2429 Handle wildcards in charset spec, by ignoring them.
2430 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2431 "*-" prefix from charset.
2432 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2433 handle the truncated font spec form constructed by font_list_1, so
2434 that we correctly identify the charset fields. Don't remove "*-"
2435 prefix from charset.
2436 (w32_list_synthesized_fonts): Fix argument to alloca.
2437
c89e4bc5
GM
24382001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2439
2440 * window.h (MINI_WINDOW_P): Use NILP.
2441
2442 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2443
2444 * termhooks.h (struct input_event): Use proper type for `kind'.
2445
24462001-10-04 Gerd Moellmann <gerd@gnu.org>
2447
2448 This handles unknown keysyms better than before. For example,
2449 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2450 Emacs formerly completely ignored F5. With the change, it derives
2451 a key symbol from the name of the X keysym, `ccaron' in this case.
2452 Reported by Martin Buchholz.
2453
2454 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2455 unknown keysyms.
2456
2457 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2458 that EVENT->code isn't a function key, use the keysym's name.
2459
24602001-10-04 Gerd Moellmann <gerd@gnu.org>
2461
2462 FOREACH is a macro that should make it easier to loop over Lisp
2463 lists with checks for cycles and proper lists.
2464
2465 * lisp.h (LIST_END_P, FOREACH): New macros.
2466
24672001-10-04 Gerd Moellmann <gerd@gnu.org>
2468
2469 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2470 called for a lost connection. Prevent dumping core in this case.
2471 Instead print the X error, and exit. On user request.
2472
2473 * xterm.c (error_msg): New variable.
2474 (x_fatal_error_signal): New function.
2475 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2476 as fatal_error_signal_hook around the call to XtCloseDisplay.
2477
2478 * emacs.c (fatal_error_signal_hook): New variable.
2479 (fatal_error_signal): Call that function.
2480
24812001-10-04 Gerd Moellmann <gerd@gnu.org>
2482
2483 With this, Emacs prints how much pure storage it will
2484 approximately need in case pure storage overflows while dumping.
2485
2486 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2487 New variables.
2488 (init_alloc_once): Initialize new variables.
2489 (PURE_POINTER_P): Use new variables.
2490 (pure_alloc): If pure storage overflows, allocate from the heap.
2491 (check_pure_size): New function.
2492 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2493
2494 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2495 (check_pure_size): Add prototype.
2496
2497 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2498
24992001-10-04 Gerd Moellmann <gerd@gnu.org>
2500
2501 This adds a post-gc-hook that's run with GC inhibited.
2502 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2503
2504 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2505 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2506 (Fgarbage_collect): Run post-gc-hook.
2507
25082001-10-04 Gerd Moellmann <gerd@gnu.org>
2509
2510 This adds `defvaralias' and `indirect-variable'. Changes not
2511 directly related to this feature are there to gain the same
2512 performance again as before variable aliases.
2513
2514 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2515 code to get and set symbol values, to take defvaralias into account.
2516
2517 (Note: the new `constant' bit-flag in symbols would make it
2518 possible to define arbitrary read-only variables, e.g. with
2519 `defconst'.)
2520
2521 Documentation is in lispref/variables.texi. Added to NEWS.
2522
2523 * lisp.h (enum symbol_interned): New enumeration.
2524 (struct Lisp_Symbol): Remove member `obarray', add
2525 `indirect_variable', `constant', and `interned'.
2526 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2527 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2528 (indirect_variable): Add prototype.
2529
2530 * print.c (print_preprocess, print_object): Test internedness of
2531 symbols differently.
2532
2533 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2534 bit-fields.
2535 (init_obarray): Likewise for t and nil.
2536
2537 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2538 (Fdefvaralias): New function.
2539 (specbind): Simplify the test if symbol is a constant.
2540 (syms_of_eval): Defsubr Fdefvaralias.
2541
2542 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2543 (Qcyclic_variable_indirection): New variable.
2544 (Fkeywordp): Check for internedness differently.
2545 (Fmakunbound): Simplify the test if symbol is a constant.
2546 (indirect_variable, Findirect_variable): New functions.
2547 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2548 aliased symbol.
2549 (let_shadows_buffer_binding_p): Check for variable aliases.
2550 (set_internal): Simplify the test if SYMBOL is a constant.
2551 If SYMBOL has a buffer-local value and is an alias, use the aliased
2552 symbol instead.
2553 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2554 Sindirect_variable.
2555
2556 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2557 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2558 set directly.
2559
2560 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2561
2562 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2563 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2564 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2565
ab952a4f
GM
25662001-10-04 Gerd Moellmann <gerd@gnu.org>
2567
2568 * Branch for 21.1.
b56ba8de 2569
ba88ff28
MB
25702001-10-03 Miles Bader <miles@gnu.org>
2571
2572 * callproc.c (syms_of_callproc): Explicitly state in the
2573 documentation for `process-environment' that earlier entries take
2574 precedence over later ones.
2575
ae1a9581
MB
25762001-10-02 Miles Bader <miles@gnu.org>
2577
2578 * textprop.c (Fnext_char_property_change)
2579 (Fprevious_char_property_change): Remove reference to non-existant
2580 argument OBJECT from doc-string.
2581
257e3f57
GM
25822001-10-01 Gerd Moellmann <gerd@gnu.org>
2583
2584 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2585 (try_window_id): Skip back over lines ending in a newline from a
2586 string.
2587
2588 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2589 New bit flag
2590
c1f29759
RS
25912001-10-01 Richard M. Stallman <rms@gnu.org>
2592
2593 * search.c (Freplace_match): Doc fix.
2594
c30dce3d
AI
25952001-09-28 Andrew Innes <andrewi@gnu.org>
2596
2597 * w32menu.c (set_frame_menubar): Take into account that
2598 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2599 <raeburn@gnu.org>.
2600
03be5931
EZ
26012001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2602
2603 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2604
75bec752
PJ
26052001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2606
2607 * s/gnu-linux.h: Fix a typo in comment.
2608
83100e0a
AS
26092001-09-28 Andreas Schwab <schwab@suse.de>
2610
2611 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2612 nocombreloc, in case -z combreloc is the default.
2613
a74b48cf
GM
26142001-09-28 Gerd Moellmann <gerd@gnu.org>
2615
2616 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2617 really going on here.
2618
09c4719e
SM
26192001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2620
2621 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2622
f7d5d963
EZ
26232001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2624
2625 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2626 utf-8, menu-bar, and latin-N.
2627 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2628 unconditionally now.
2629 (lisp): Add latin-N, since they are preloaded.
2630
9240e746
GM
26312001-09-27 Gerd Moellmann <gerd@gnu.org>
2632
14531065
GM
2633 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2634 to the left. Some cleanup.
2635
9240e746
GM
2636 * xdisp.c (display_mode_element): One more case where a string's
2637 multibyteness should be used for display.
2638
edd1e654
GM
26392001-09-26 Gerd Moellmann <gerd@gnu.org>
2640
b02439c8
GM
2641 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2642 reading at EOF.
2643
032906b1 2644 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2645 of the only temporarily set echoing flag for deciding when
032906b1
GM
2646 the cancel echoing.
2647
2648 * keyboard.c (echo_kboard): Make externally visible.
2649
2650 * lisp.h (echo_kboard): Declare extern.
2651
cb617e7c 2652 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2653 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2654 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2655 this round of redisplay if make_cursor_line_fully_visible fails.
2656 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2657 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2658
2659 * dispextern.h (required_matrix_width, required_matrix_height):
2660 Add prototypes.
2661
09c4719e
SM
2662 * dispnew.c (required_matrix_width, required_matrix_height):
2663 New functions.
cb617e7c 2664 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2665 (allocate_matrices_for_frame_redisplay: Use them.
2666 Remove parameters CH_DIM.
cb617e7c 2667
edd1e654
GM
2668 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2669 and selected_window to the frame of the window whose mode-lines
2670 are displayed, and to the window itself.
2671 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2672 here.
edd1e654 2673
924b604c
GM
26742001-09-25 Gerd Moellmann <gerd@gnu.org>
2675
daba7643
GM
2676 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2677 the image cache under us.
2678
b7a22712 2679 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2680 with a string value, use that string's multibyteness for displaying.
b7a22712 2681
ad648212
GM
2682 * keyboard.c (read_char): Don't clear a message for a switch-frame
2683 event. From Stefan Monnier <monnier@cs.yale.edu>.
2684
9f8531e5
GM
2685 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2686 version for after 21.1.
2687
2688 * xdisp.c (row_containing_pos): Make externally visible.
2689
2690 * dispextern.h (row_containing_pos): Add prototype.
2691
924b604c
GM
2692 * process.c (send_process): Disable composition if from_byte < 0.
2693 From Kenichi Handa <handa@etl.go.jp>.
2694
6f3f0db4
GM
26952001-09-24 Gerd Moellmann <gerd@gnu.org>
2696
c69c0ebc
GM
2697 * xterm.c (refreshicon): Function removed.
2698
d1182bc4
GM
2699 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2700
2701 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2702
2703 * xterm.c (toplevel): Remove includes in #if 0.
2704
6f3f0db4
GM
2705 * process.c (sigchld_handler) [LINUX]: Don't return from
2706 the signal handler at the end of the loop.
2707
59957f85
GM
27082001-09-21 Gerd Moellmann <gerd@gnu.org>
2709
09c4719e
SM
2710 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2711 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2712
a0528984
EZ
27132001-09-21 Markus Rost <rost@math.ohio-state.edu>
2714
2715 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2716
db92b288
GM
27172001-09-20 Gerd Moellmann <gerd@gnu.org>
2718
3fed8ad5
GM
2719 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2720 since this function can be called during GC.
2721
db92b288
GM
2722 * callproc.c (Fcall_process): Handle errors from pipe(2).
2723 (child_setup): Delete code in #ifdef vipc.
2724
7121b85a
GM
27252001-09-19 Gerd Moellmann <gerd@gnu.org>
2726
72f62cb5
GM
2727 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2728 (display_mode_element): Display the string from decode_mode_spec
2729 depending on its multibyteness.
2730
a2697022
GM
2731 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2732
7121b85a
GM
2733 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2734
bfc97351
GM
27352001-09-18 Gerd Moellmann <gerd@gnu.org>
2736
c9063433
GM
2737 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2738 recursive_edit_unwind.
2739 (recursive_edit_unwind): Set kboard state according to
2740 SINGLE-KBOARD.
2741
3fbdba3e
GM
2742 * buffer.c (modify_overlay): Don't do nothing if START == END;
2743 This can still be a modification, for example when an overlay has
2744 a before-string or after-string.
2745 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2746 an overlay with before-string or after-string.
2747
1270031d
GM
2748 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2749 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2750
bfc97351
GM
2751 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2752 first_unchanged_at_end_row is in front of
2753 last_unchanged_at_beg_row. This code should be removed after the
2754 release of 21.1.
2755
d8a973aa
GM
27562001-09-17 Gerd Moellmann <gerd@gnu.org>
2757
e18c8b8d
GM
2758 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2759 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2760
d8a973aa
GM
2761 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2762 versions >= 2.95.
2763
ed7d6ba4
EZ
27642001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2765
2766 * dired.c (Ffile_attributes): Doc fix.
2767
551629f9
GM
27682001-09-14 Gerd Moellmann <gerd@gnu.org>
2769
2770 * fileio.c (Ffile_symlink_p): Fix last change.
2771
2772 * filelock.c (current_lock_owner): Fix last change.
2773
4c8c7926
GM
27742001-09-13 Gerd Moellmann <gerd@gnu.org>
2775
620c4704
GM
2776 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2777 take that to mean that the buffer is too small.
2778
81c3310d
GM
2779 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2780 that to mean that the buffer is too small.
2781
06fd3792
GM
2782 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2783 current buffer's multibyteness when discarding the iterator's
2784 stack.
2785
4c8c7926
GM
2786 * xfns.c (Fx_window_property): Handle case that property gets
2787 deleted between the two calls to XGetWindowProperty.
2788
9a72e4c1
GM
27892001-09-11 Gerd Moellmann <gerd@gnu.org>
2790
bd819d14 2791 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2792
a41edd99
GM
2793 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2794 in addition to read-only.
2795
2796 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2797 to t in addition to read-only.
2798
2799 * lisp.h (Qinhibit_modification_hooks): Declare.
2800
2801 * insdel.c (Qinhibit_modification_hooks): New variable.
2802 (syms_of_insdel): Initialize and staticpro it.
2803
d4881c6a
GM
2804 * textprop.c (verify_interval_modification): Don't run
2805 modification-hooks if inhibit_modification_hooks.
2806
2807 * dispnew.c (set_window_cursor_after_update): Fix code
2808 finding glyph row containing cursor when cursor_in_echo_area
2809 is >= 0.
2810
9a72e4c1
GM
2811 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2812 (add_to_log): Use bcopy instead of strcpy.
2813 (init_from_display_pos): Use an explicit loop over bytes in
2814 overlay strings instead of calling index.
2815
f4a374a1
GM
28162001-09-10 Gerd Moellmann <gerd@gnu.org>
2817
300e57bd
GM
2818 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2819
2820 * dispnew.c (direct_output_for_insert): Don't change IT's
2821 stop_charpos to something in front of its current position.
2822
f4a374a1
GM
2823 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2824 `format'.
2825
7e4cbc91
RS
28262001-09-10 Richard M. Stallman <rms@gnu.org>
2827
2828 * frame.c (Fmouse_position): Doc fix.
2829
6afad91e
GM
28302001-09-07 Gerd Moellmann <gerd@gnu.org>
2831
2832 * xdisp.c (init_from_display_pos): Don't compare the result
2833 of calling index with NULL.
2834
f76e0368
GM
28352001-09-06 Gerd Moellmann <gerd@gnu.org>
2836
2837 * xfns.c (x_set_background_color): Don't change the colors
2838 of the X window of scroll bar widgets.
2839
9ead1b60
AI
28402001-09-05 Andrew Innes <andrewi@gnu.org>
2841
2842 * w32fns.c (w32_createwindow): Undo last change.
2843
c3b497b3
GM
28442001-09-05 Gerd Moellmann <gerd@gnu.org>
2845
08e1d6df
GM
2846 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2847
c3b497b3
GM
2848 * xdisp.c (string_buffer_position): Use *single_char_property*
2849 functions instead of the *single_property* functions.
b56ba8de 2850
8f860180
AI
28512001-09-04 Andrew Innes <andrewi@gnu.org>
2852
9a72e4c1
GM
2853 * w32term.c (w32_read_socket): Add more information to debugging
2854 output.
8f860180
AI
2855
2856 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2857 from Emacs frames, so that calls to GetClipBox in w32term.c
2858 correctly report when part of a frame is visible (including
2859 scrollbars, etc). This prevents repeated redrawing of frames when
2860 only a scrollbar is visible.
2861 (w32_wnd_proc): Add more frame information to debugging output.
2862
2ee1aa00
SM
28632001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2864
2865 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2866
e3b22517
GM
28672001-09-03 Gerd Moellmann <gerd@gnu.org>
2868
7e376260
GM
2869 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2870 help-echo for a string which doesn't have help-echo itself, use
2871 get-char-property to obtain the help-echo from the string's buffer
2872 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2873 have mouse-face, look ``under'' the string for mouse-face from an
2874 overlay.
2875 (fast_find_position): Add parameter STOP. In the final row, stop
2876 before glyphs having STOP as object. Don't consider glyphs that
2877 are not from a buffer.
2878
e3b22517
GM
2879 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2880
9a249bba
EZ
28812001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2882
2883 * fns.c (Fmd5): Doc fix.
2884
c9979669
GM
28852001-08-31 Gerd Moellmann <gerd@gnu.org>
2886
2887 * composite.c (update_compositions): Do nothing if
2888 inhibit-modification-hooks is set.
2889
9584e63a
GM
28902001-08-30 Gerd Moellmann <gerd@gnu.org>
2891
986ec8f2 2892 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2893 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2894 glyph matrices etc. in a core dump.
2895
92a25631
GM
2896 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2897 (syms_of_xdisp): Initialize them.
2898 (handle_single_display_prop): Don't change point, bind `object',
2899 `position', and `buffer-position' instead to the object having the
2ee1aa00 2900 `display' property, position in the object and position in the buffer.
92a25631 2901
9584e63a
GM
2902 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2903 of the buffer if REPLACE is non-nil.
2904
d38633a3
GM
29052001-08-29 Gerd Moellmann <gerd@gnu.org>
2906
2907 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2908
f4fccc1e
EZ
29092001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2910
2911 * w32term.c (x_set_glyph_string_background_width)
2912 (show_mouse_face): Track the last changes in xterm.c.
2913
eaaa65b0
GM
29142001-08-28 Gerd Moellmann <gerd@gnu.org>
2915
7b0870b2
GM
2916 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2917 string's background width so that multi-line mouse-face is drawn
2918 to the right edge of the window.
2919 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2920 glyphs.
2921
6b6e2422 2922 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2923 before inserting/writing glyphs.
6b6e2422 2924
eaaa65b0
GM
2925 * xdisp.c (display_mode_element): Use string_byte_to_char to
2926 determine character positions in strings, use chars_in_text
2927 instead of strwidth.
2928 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2929 a matrix as parameter; this is easier to use from GDB.
2930
9ad62cf8
MB
29312001-08-28 Miles Bader <miles@gnu.org>
2932
2ee1aa00
SM
2933 * textprop.c (Fprevious_single_char_property_change)
2934 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2935
32171635
GM
29362001-08-27 Gerd Moellmann <gerd@gnu.org>
2937
47d57b22
GM
2938 * fileio.c (Finsert_file_contents): Allocate, restore, and
2939 free composition data in the case of REPLACE not being nil.
2940
2941 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2942 there exist overlay strings with newlines at POS.
2943 (text_outside_line_unchanged_p): Return 0 if changes start at
2944 START and overlays exist at START. Likewise for END.
2945 (try_window_id): Give up if init_to_row_end returns 0.
2946
32171635
GM
2947 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2948 unconditionally.
2949
e1249666
GM
29502001-08-24 Gerd Moellmann <gerd@gnu.org>
2951
33954c45
GM
2952 * keymap.c (access_keymap): Return the cdr of the binding of
2953 a generic character instead of its definition (KEY . BINDING).
2954
e1249666
GM
2955 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2956 to 0 also in the REPLACE case.
2957
fb4c6c96
AC
29582001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2959
2960 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2961 open to determine whether file is readable (as for DOS_NT).
2962
59ecf80b
GM
29632001-08-23 Gerd Moellmann <gerd@gnu.org>
2964
2965 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2966 coding.type is coding_type_no_conversion or coding_type_raw_text,
2967 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2968 non-nil instead of just setting enable_multibyte_characters in the
2969 buffer to nil.
2970
40e33037
GM
29712001-08-22 Gerd Moellmann <gerd@gnu.org>
2972
374388c3
GM
2973 * dispextern.h (struct face_cache): Add member
2974 menu_face_changed_p.
2975
2976 * xfaces.c (menu_face_changed_default): New variable.
2977 (menu_face_changed_count): Variable removed.
2978 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2979 the menu_face_changed_default flag, otherwise set the FRAME's
2980 menu_face_changed_p flag if the `menu' face has been changed.
2981 Prevent calling set_font_frame_param if FRAME is t.
2982 (make_face_cache): Initialize cache's menu_face_changed_p
2983 from menu_face_changed_default.
2984 (realize_basic_faces): Look into the frame's face cache to
2985 determine if the menu appearance needs updating.
2986
40e33037
GM
2987 * keymap.c (access_keymap): Fix last change to not consider
2988 IDX when it has modifiers.
2989
859ea4b8
GM
29902001-08-21 Gerd Moellmann <gerd@gnu.org>
2991
2992 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2993 . BINDING) exists, where GENERIC-CHAR is the generic character of
2994 the charset of IDX, return BINDING unless there exists a binding
2995 for IDX itself.
2996
e8660d73
GM
29972001-08-16 Gerd Moellmann <gerd@gnu.org>
2998
cca1b1d7
GM
2999 * xrdb.c (SYSV): Don't define on Solaris 2.
3000 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3001
e8660d73 3002 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3003 of the screen line, not text line, containing IT's current position.
e8660d73 3004
93aba6fc
GM
30052001-08-15 Gerd Moellmann <gerd@gnu.org>
3006
288d4e06
GM
3007 * window.c (window_scroll_pixel_based): Don't recenter if
3008 PT is partially visible in the window.
3009
3452efc2
SM
3010 * xterm.c (expose_window_tree, expose_window, expose_line):
3011 Return 1 when overwriting mouse-face.
82f053ab
GM
3012 (expose_frame): If mouse-face was overwritten, redo it.
3013
93aba6fc
GM
3014 * xfaces.c (x_update_menu_appearance): Don't call
3015 set_frame_menubar, let the next redisplay do it.
3016
858a55c1
AI
30172001-08-14 Andrew Innes <andrewi@gnu.org>
3018
3019 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3020 drawing glyph string.
3021
3a990b67
EZ
30222001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3023
3024 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3025 running HI-UX/MPP.
3026
04386463
GM
30272001-08-14 Gerd Moellmann <gerd@gnu.org>
3028
3029 * xfaces.c (x_update_menu_appearance): Save and restore value of
3030 interrupt_input_blocked.
3031
3e6385a4
GM
30322001-08-13 Gerd Moellmann <gerd@gnu.org>
3033
b0e619b4
GM
3034 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3035 a line start, move back to the line start.
3452efc2 3036
0de73d5a
GM
3037 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3038 exactly when a mini-buffer is active.
3039
3e6385a4
GM
3040 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3041 in units of 1/8 character on non window-system frames.
3042 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3043
d1b5f629
EZ
30442001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3045
3046 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3047 a doc string.
3048
eaa2319f
GM
30492001-08-09 Gerd Moellmann <gerd@gnu.org>
3050
8e3189f0
GM
3051 * keyboard.c (Vpre_help_message): New variable.
3052 (syms_of_keyboard): Initialize and staticpro it.
3053 (show_help_echo): Record current message before displaying a
3054 help-echo, and restore that message when clearing the help.
3055
eaa2319f
GM
3056 * xfns.c (x_create_im): Remove prototype.
3057
3058 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3059
3060 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3061
eaa2319f
GM
30622001-08-08 Gerd Moellmann <gerd@gnu.org>
3063
3064 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3065 windows whose height has changed, disable partially visible lines.
eaa2319f 3066
17fdcfc8
GM
30672001-08-07 Gerd Moellmann <gerd@gnu.org>
3068
22d01aed 3069 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3070 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3071
17fdcfc8
GM
3072 * xdisp.c (start_display): Don't try to determine the continuation
3073 lines width if lines are truncated. It's superfluous and leads to
3074 incorrect results if POS is not visible in the window after
3075 reseating the iterator at the previous line start.
3076
8e3fe78e
GM
30772001-08-06 Gerd Moellmann <gerd@gnu.org>
3078
3079 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3080
98a8938c
GM
30812001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3082
3083 * alloc.c (init_stack): Remove declaration.
3084
18f9986a
GM
30852001-08-03 Gerd Moellmann <gerd@gnu.org>
3086
5e1f85e0
GM
3087 * keyboard.c (read_key_sequence): Check that key is an integer
3088 before comparing it with quit_char.
3089 (add_command_key): Use larger_vector.
3090 (read_char_x_menu_prompt): Instead of converting symbol and
3091 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3092 which cannot be confused with valid events.
5e1f85e0
GM
3093 (read_char): When reading from Vunread_command_events, check for
3094 events of the form (EVENT . disabled) instead of
3095 (EVENT . nil).
3096
18f9986a
GM
3097 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3098 a float, determine the max height from the frame's height.
3099
fbc7f2a6
GM
31002001-08-02 Gerd Moellmann <gerd@gnu.org>
3101
3102 * xdisp.c (redisplay_internal): Take message_cleared_p into
3103 account only if minibuf_level == 0.
3104
81b1a79d
GM
31052001-08-01 Gerd Moellmann <gerd@gnu.org>
3106
e5c60873
GM
3107 * xdisp.c (redisplay_internal): Add a check for the last
3108 displayed message.
3452efc2 3109
6e019995
GM
3110 * xdisp.c (message_cleared_p): New variable.
3111 (clear_message): Set message_cleared_p when clearing the current
3112 message.
3113 (redisplay_internal): Look at message_cleared_p to capture
3114 the case that the echo area should be cleared.
3115
308a74d8
GM
3116 * keyboard.c (command_loop_1): Fix spelling of
3117 resize_echo_area_exactly.
3118
3452efc2 3119 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3120
3121 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3122
81b1a79d
GM
3123 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3124 current matrix when the window gets smaller.
3125
ada329e6
EZ
31262001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3127
3128 * print.c (strout): Cast the character passed to insert_char to
3129 unsigned char, to avoid sign extension when it is promoted to int.
3130
ed86208c
GM
31312001-07-31 Gerd Moellmann <gerd@gnu.org>
3132
3133 * fileio.c (Finsert_file_contents): Don't treat a return value
3134 of 0 from emacs_read as an IO error.
3135
6594ac22
GM
31362001-07-30 Gerd Moellmann <gerd@gnu.org>
3137
cef68af5
GM
3138 * keyboard.c (abs): New macro.
3139 (double_click_fuzz): New variable.
3140 (make_lispy_event): Use it to determine what makes a double-click.
3141 (syms_of_keyboard): DEFVAR_INT it.
3142
6594ac22
GM
3143 * xmenu.c (set_frame_menubar): Take into account that
3144 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3145 <raeburn@gnu.org>.
3146
75c5350a
GM
31472001-07-27 Gerd Moellmann <gerd@gnu.org>
3148
3149 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3150
3151 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3152 of row's visible height.
3153
3154 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3155 deal with the first overlay string having an image `display' property.
3156 (try_window_reusing_current_matrix, compute_line_metrics):
3157 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3158 row is invisible above and part of the row is at the same time
3159 invisible below the window.
3160
ac49effe
GM
31612001-07-26 Gerd Moellmann <gerd@gnu.org>
3162
3163 * xfns.c (x-show-tip): Doc fix.
3452efc2 3164
ac49effe
GM
3165 * xfns.c (Vx_max_tooltip_size): New variable.
3166 (syms_of_xfns): DEFVAR_LISP it.
3167 (Fx_show_tip): Set frame's window_width to the width of the
3168 window. Use a maximum tooltip size specified by
3169 Vx_max_tooltip_size, if that has valid contents.
3170 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3171
8c3b00cb
AI
31722001-07-26 Andrew Innes <andrewi@gnu.org>
3173
3174 * w32term.c (x_display_list): New variable.
3175 (w32_term_init): Set it.
3176
3177 * w32term.h (x_display_list): New extern.
3178
16098288
GM
31792001-07-26 Gerd Moellmann <gerd@gnu.org>
3180
3181 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3182 is non-nil, instead of when redisplaying_p is non-zero.
3183 See comment there.
16098288
GM
3184 (mark_window_display_accurate_1): Add an assertion.
3185
64c5be50
GM
31862001-07-25 Gerd Moellmann <gerd@gnu.org>
3187
e743f599
GM
3188 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3189
563b384d
GM
3190 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3191 events so that we get a chance of processing expose events.
3192
64c5be50
GM
3193 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3194
296808a5
GM
31952001-07-24 Gerd Moellmann <gerd@gnu.org>
3196
3197 * xfns.c (valid_image_p): Protect better against invalid image
3198 specifications. Previous code could signal an error.
3199
5247262a
GM
32002001-07-23 Gerd Moellmann <gerd@gnu.org>
3201
3452efc2 3202 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3203 presence of display table entries.
3204 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3205
dd42b31a
GM
3206 * dispnew.c (adjust_glyph_matrix): In the optimization for
3207 windows whose height has changed, use the new window height
3208 to compute which rows to invalidate.
3209
9e5a7f2a
GM
3210 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3211 (MAX_10_EXP): New macro.
3212 (Fformat): Use it.
3213
5247262a
GM
3214 * coding.c (code_convert_region): Handle the multibyte case if
3215 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3216
177ab8ce
GM
32172001-07-20 Gerd Moellmann <gerd@gnu.org>
3218
6e07c0a5
GM
3219 * dispextern.h (struct face): Change type of `stipple' to
3220 int; it's an ID.
3221
177ab8ce
GM
3222 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3223
b5b80599
GM
32242001-07-19 Gerd Moellmann <gerd@gnu.org>
3225
4e2a256b
GM
3226 * dispnew.c (update_window): Don't set the cursor at the end
3227 of the update if display update has been paused.
3228
3452efc2 3229 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3230
c1fd9232
KR
32312001-07-18 Ken Raeburn <raeburn@gnu.org>
3232
3233 * fns.c (Fset_char_table_default): Check that a charset is defined
3234 before checking its dimension.
3235
928a85c1
KR
32362001-07-17 Ken Raeburn <raeburn@gnu.org>
3237
3238 * coding.c (setup_coding_system): Don't do any designation based
3239 on reg_bits if charset is not yet defined.
3240
fb4c6c96 3241 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3242 pointer, using eassert.
3243
de11c1ea
GM
32442001-07-17 Gerd Moellmann <gerd@gnu.org>
3245
3452efc2
SM
3246 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3247 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3248
467f1209
GM
32492001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3250
3251 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3252
c3d6be34
GM
32532001-07-16 Gerd Moellmann <gerd@gnu.org>
3254
c1d61a7d
GM
3255 * fileio.c (unwind_read): Function removed.
3256 (read_non_regular, read_non_regular_quit): New functions.
3257 (Finsert_file_contents): When reading from non-regular files,
3258 arrange to catch a `quit' and terminate the loop. Rearrange
3259 code so that a `quit' when reading from a regular file doesn't
3260 insert text in the buffer.
3261
c3d6be34
GM
3262 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3263 Clear faces afterwards.
3264 (clear_font_table): Take a x_display_info parameter. Don't free
3265 fonts being the default font of any frame on the given display.
3266
e06aa1f9
GM
32672001-07-13 Gerd Moellmann <gerd@gnu.org>
3268
3269 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3270 instead of CHAR_STRING which can signal an error.
3271
3272 * charset.c (char_to_string_1): Extracted from char_to_string.
3273 Return -1 instead of signaling an error.
3274 (char_to_string): Use it.
3275
3276 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3277
176c92e6
SM
32782001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3279
3280 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3281 is t, don't try to append anything to it.
3282
1c56232f
EZ
32832001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3284
3285 * dired.c (file_name_completion): Pass dp->d_name to
3286 Fstring_match, not elt, which is always nil here.
3287
1d2b2268
GM
32882001-07-12 Gerd Moellmann <gerd@gnu.org>
3289
3290 * xselect.c (x_decline_selection_request): Handle errors
3291 caused by receivers that have vanished.
3292
3293 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3294 ignoring events on foreign windows in #if 0. Always dispatch
3295 the event after checking it with x_handle_property_notify.
3296
3297 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3298 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3299 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3300 (toplevel): Add prototypes for file-local functions.
3301 (x_atom_to_symbol): Remove DPYINFO parameter.
3302
fe5a0162
SM
33032001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3304
3305 * w32menu.c (menubar_selection_callback, w32_menu_show):
3306 Initialize `entry' to nil.
3307 (w32_dialog_show): Remove unused `save_wv' variable.
3308 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3309
a777242c
GM
33102001-07-11 Gerd Moellmann <gerd@gnu.org>
3311
8ee5b6a3
GM
3312 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3313
d0e2444e
GM
3314 * fileio.c (unwind_read): Print a message when discarding inserted
3315 text or switching the buffer to unibyte. Change parameter.
3316 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3317
a777242c
GM
3318 * fileio.c (unwind_read): New function.
3319 (Finsert_file_contents): Record it as unwind-function for
3320 the case that reading is interrupted by C-g.
3321
ae794295
GM
33222001-07-10 Gerd Moellmann <gerd@gnu.org>
3323
fe5a0162 3324 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3325 update when scrolling_window returns 0.
3326
6b05fae3
GM
3327 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3328
3329 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3330 for the case that x_decode_color signals an error.
6b05fae3 3331
ae794295
GM
3332 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3333
bb6e8cee
GM
33342001-07-09 Gerd Moellmann <gerd@gnu.org>
3335
3336 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3337 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3338 around ioctls.
3339
36b40a8a
EZ
33402001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3341
24b97d4b
EZ
3342 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3343 doc string line for dos-timezone-offset.
3344
36b40a8a
EZ
3345 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3346 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3347 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3348 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3349
3350 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3351
0967b4b0
GM
33522001-07-05 Gerd Moellmann <gerd@gnu.org>
3353
f25cfe53
GM
3354 * sound.c: Include Emacs' header files with #include "...".
3355
0967b4b0
GM
3356 * eval.c (specbind): Additionally record the buffer that was
3357 current when a buffer-local or frame-local variable was bound.
3358
c347a1c3
GM
33592001-07-04 Gerd Moellmann <gerd@gnu.org>
3360
3361 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3362 to unibyte characters in unibyte buffers.
3363
6332ca8a
GM
33642001-07-03 Gerd Moellmann <gerd@gnu.org>
3365
38472d44
GM
3366 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3367 the frame on the binding stack. Change format of entries for
3368 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3369 (unbind_to): Handle unbinding a frame-local variable.
3370
6332ca8a 3371 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3372 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3373 (dump_glyph_row): Print row's continuation_lines_width.
3374 (try_window_id): Take the shortcut if ZV is visible in the
3375 window, but there are actually no changes at ZV.
3376
63d1b174
GM
33772001-07-02 Gerd Moellmann <gerd@gnu.org>
3378
4c175203
GM
3379 * xterm.h (x_free_dpy_colors): Add prototype.
3380
3381 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3382 right number of arguments.
3383
0b54ce28
GM
3384 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3385 ($(lwlibdir)TAGS): New target.
4c175203 3386 (TAGS): Fix dependency list.
0b54ce28 3387
63d1b174
GM
3388 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3389 with input blocked.
3390
d827466c
GM
33912001-06-30 Gerd Moellmann <gerd@gnu.org>
3392
3393 * emacs.c (main): Remove extern declaration for sys_nerr, which
3394 isn't used and causes a compilation error with GCC 3.0 on
3395 FreeBSD 4.3.
3396
b5cb1ada
GM
33972001-06-27 Gerd Moellmann <gerd@gnu.org>
3398
a5d3ec3f 3399 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3400 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3401 (toplevel): Include <signal.h> and syssignal.h.
3402
b5cb1ada
GM
3403 * sound.c (vox_configure, vox_close): Turn off atimers
3404 around ioctls.
3405
d9bad487
GM
34062001-06-26 Gerd Moellmann <gerd@gnu.org>
3407
fdbb67fe
GM
3408 * keyboard.c (read_char) <non_reread>: Record the previous idle
3409 start time before calling timer_stop_idle.
3410 (read_char) <reread_first>: After processing a help-echo event,
3411 restore the previous idle start time.
3412
d9bad487
GM
3413 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3414 the start of invisible text.
3415 (setup_for_ellipsis): New function.
3416 (next_overlay_string): After all overlay strings have been
3417 processed, display an ellipsis if necessary.
3418 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3419 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3420
3421 * dispextern.h (struct iterator_stack_entry): Add member
3422 display_ellipsis_p.
3423
2b9c25e0
GM
34242001-06-25 Gerd Moellmann <gerd@gnu.org>
3425
80de57df
GM
3426 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3427 on the value of the wait-for-wm frame parameter.
3428
3429 * xterm.h (struct x_output): Add member wait_for_wm.
3430
3431 * xfns.c (Qwait_for_wm): New variable.
3432 (x_frame_parms): Add entry for `wait-for-wm".
3433 (x_set_wait_for_wm): New function.
3434 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3435 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3436
2b9c25e0
GM
3437 * xdisp.c (try_window_id) <all changes below window end>: Don't
3438 take this shortcut if ZV is visible in the window.
3439 (try_window_id): When checking for window start being in changed
3440 text, don't check that the buffer's size has changed.
3441
f772775c
RS
34422001-06-23 Richard M. Stallman <rms@gnu.org>
3443
3444 * minibuf.c (Fcompleting_read): Doc fix.
3445
fa9090b8
GM
34462001-06-19 Gerd Moellmann <gerd@gnu.org>
3447
3448 * composite.c (Ffind_composition_internal): Accept ZV
3449 and a string's end position as POS.
3450
f6f1beba
GM
34512001-06-18 Gerd Moellmann <gerd@gnu.org>
3452
3453 * composite.c (Ffind_composition_internal): Check POS
3454 for validity.
3455
0ae83348
EZ
34562001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3457
3458 * editfns.c (Fmessage_box): If the frame is not under a window
3459 system, output the message in the echo area.
3460
e4cdc335
RS
34612001-06-14 Richard M. Stallman <rms@gnu.org>
3462
3463 * xdisp.c (try_window_id): When EOB is visible, don't treat
3464 insertion at EOB as if it were "off the bottom of the screen."
3465
a55a5f3c
AI
34662001-06-11 Andrew Innes <andrewi@gnu.org>
3467
3468 * w32proc.c (create_child): Add new parameter is_gui_app.
3469 (w32_executable_type): Add new parameter is_gui_app.
3470 (sys_spawnve): Use it.
3471 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3472 SIGQUIT. This matches better how the signals are interpreted by
3473 MSVC compiled programs.
3474 (syms_of_ntproc): Update docstring.
3475
1b85dc1c
SM
34762001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3477
3478 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3479 well otherwise note_mouse_highlight might optimize away highlighting
3480 if we pass over that same overlay again.
3481
b75f8eab
EZ
34822001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3483
3484 * lread.c (Fload): Document that the argument is run via
3485 substitute-in-file-name.
3486
94843cc1
GM
34872001-05-31 Gerd Moellmann <gerd@gnu.org>
3488
b14659e6
GM
3489 * Makefile.in (bootstrap-doc): New target.
3490 (bootstrap-emacs): Depend on it.
3491
0894672f
GM
3492 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3493 auto-save-list-file-name when shutting down Emacs, because
3494 creating the directory might signal an error, and leaves
3495 Emacs in a strange state.
3496
94843cc1
GM
3497 * term.c: (tty_cursor_hidden): New variable.
3498 (update_begin): Don't call tty_hide_cursor. Clean up.
3499 (update_end, set_terminal_window, set_scroll_region): Clean up.
3500 (ring_bell, reset_terminal_modes): Clean up.
3501 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3502 on tty_cursor_hidden.
3503 (write_glyphs): Call tty_hide_cursor.
3504
db3a49a6
SM
35052001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3506
3507 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3508
8bd189fb
GM
35092001-05-30 Gerd Moellmann <gerd@gnu.org>
3510
6f1be3b9
GM
3511 * xfns.c (enum image_value_type): New enumerator
3512 IMAGE_STRING_OR_NIL_VALUE.
3513 (parse_image_spec): Handle it.
3514 (xbm_format, pbm_format): Use it for :foreground and :background.
3515 (xbm_load, pbm_load): Check for nil color names.
3516
8bd189fb
GM
3517 * xterm.c (note_mouse_highlight): If an overlapping overlay
3518 exists, but we find that we highlight the same overlay as before,
3519 don't do the highlighting again.
3520
7bdba03c
GM
35212001-05-29 Gerd Moellmann <gerd@gnu.org>
3522
4c329aa8
GM
3523 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3524 Protect unibyte strings created by replacing their multibyte
3525 equivalents in menu_items.
3526
e15e2828
GM
3527 * keymap.c (Fsingle_key_description): NUL-terminate the string
3528 buffer before calling build_string.
3529
7bdba03c
GM
3530 * callproc.c (Fcall_process): Deal with decode_coding returning
3531 CODING_FINISH_INCONSISTENT_EOL.
3532
89c8dc6c
GM
35332001-05-28 Gerd Moellmann <gerd@gnu.org>
3534
db3a49a6 3535 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3536 an item's name with its key description in case the description
3537 is a multibyte string.
3538
3539 * keymap.c (Fsingle_key_description): Create a multibyte string
3540 only if necessary.
3541
eb04d6cd
GM
3542 * macros.c (Fstart_kbd_macro): Doc fix.
3543
8bd6307f
GM
3544 * xterm.c (cursor_in_mouse_face_p): New function.
3545 (x_draw_stretch_glyph_string): Use it to choose a different GC
3546 when drawing a cursor within highlighted text.
3547
e26c4089
GM
3548 * editfns.c (char_property_eq): Put in #if 0.
3549
3550 * indent.c (string_display_width): Put in #if 0.
3551
3552 * lread.c (Fload): Remove unused label.
3553
89c8dc6c
GM
3554 * termcap.c (speeds): Put in #if 0.
3555
9a1211f2
GM
35562001-05-18 Gerd Moellmann <gerd@gnu.org>
3557
29148a3f
GM
3558 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3559
9a1211f2
GM
3560 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3561 transformation matrix by 10.
3562
09393d07
GM
35632001-05-16 Gerd Moellmann <gerd@gnu.org>
3564
3565 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3566 only if it's equal to the former foreground pixel color.
db3a49a6 3567 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3568 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3569
460e6bae
GM
35702001-05-16 Dave Love <fx@gnu.org>
3571
3572 * insdel.c (signal_before_change, signal_after_change): Consider a
3573 local change hook which changes the buffer.
99c78ce8
GM
3574
3575 * process.c (read_process_output): Don't call signal_after_change
3576 and update_compositions after insert_from_string_before_markers.
3577
dbcf3c03
GM
35782001-05-16 Gerd Moellmann <gerd@gnu.org>
3579
a90b3d3c
GM
3580 * xfaces.c (split_font_name): Use the right field when
3581 checking for `[...]' syntax.
3582
1b7818b4
GM
3583 * buffer.c (copy_overlays): New function.
3584 (clone_per_buffer_values): Use it.
3585
3586 * buffer.h (OVERLAY_PLIST): New macro.
3587
9bae8781
GM
3588 * keymap.c (Fsingle_key_description): Replace a build_string with
3589 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3590
dbcf3c03
GM
3591 * fontset.c (Ffontset_info): Check that face is non-null
3592 before accessing its fields.
3593
8a1ae4dd
GM
35942001-05-15 Gerd Moellmann <gerd@gnu.org>
3595
18a0a39e
GM
3596 * keyboard.c (read_key_sequence): Prevent generating a fake
3597 prefix key twice.
3598
e335b66a
GM
3599 * xfaces.c (split_font_name): Handle `[...]' for the right
3600 font name fields.
3601
8a1ae4dd
GM
3602 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3603 of CCL_STAT_INVALID_CMD.
3604
3cf80731
SM
36052001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3606
33568849
SM
3607 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3608 in <var> has no default value yet.
3609
3cf80731
SM
3610 * xfaces.c (try_alternative_families): First try the FAMILY.
3611 And if nothing is found in the end, try again with scalable fonts.
3612 (try_font_list): Let try_alternative_families do a bit more of
3613 the work. Only use FAMILY if it is not nil.
3614 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3615
933b0249
GM
36162001-05-14 Gerd Moellmann <gerd@gnu.org>
3617
58e5af83
GM
3618 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3619 pointer shape when show_mouse_face has already done it.
33568849 3620
58e5af83 3621 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3622 full-width rows.
3623
7b16a6bf
GM
3624 * xfaces.c (split_font_name): Make sure to leave the loop
3625 with the right value of `i'.
3cf80731 3626
933b0249
GM
3627 * xfaces.c (split_font_name): Handle matrix transformations
3628 in the pixel and point size fields of XLFD font names.
3629 (xlfd_point_size): Likewise.
3630
dddcbf00
EZ
36312001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3632
3cf80731 3633 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3634 (x_to_w32_font): Add prototype.
3635
7689ef0b
EZ
3636 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3637 redefining, to avoid compiler warnings.
3638
e7c15bba
EZ
3639 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3640
dddcbf00
EZ
3641 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3642 (w32_get_bdf_glyph): Cast between unsigned char and char when
3643 passing arguments to subroutines, to shut up compiler warnings.
3644 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3645 GET_HEX_VAL.
3646
3647 * xfaces.c: Include keyboard.h before frame.h, not after it.
3648
3649 * widget.c: Include keyboard.h before frame.h.
3650
3651 * w32term.h (struct image, struct face): Forward declaration, to
3652 avoid compiler warnings.
3653
7bd2d083
GM
36542001-05-11 Gerd Moellmann <gerd@gnu.org>
3655
47e72862
GM
3656 * keyboard.c (read_key_sequence): Don't modify events when
3657 generating fake prefix keys (mode-line, scroll-bar, ...) since
3658 this prevents proper processing of such events when pushed back
3659 into unread-command-events.
3660
dd5f324b
GM
3661 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3662 actually redrawn. Make the function static.
3663 (note_mouse_highlight): Fix a case where the mouse cursor
3664 was changed back to the text cursor.
3665
3666 * xterm.h (clear_mouse_face): Remove prototype.
3667
d88a79d4
GM
3668 * xdisp.c (try_window_id): Fix the fix and set the right
3669 window_end_vpos.
3670
3671 * xdisp.c (try_window_id): Fix computation of window end in the
3672 case that lines were deleted at the end of the window. Add some
3673 more debug_method_adds.
0416532f 3674
7bd2d083
GM
3675 * xfaces.c (try_alternative_families): New function.
3676 (try_font_list): Use it. If ATTRS specifies a family, check
3677 fonts from that family first.
3678 (choose_face_font): Remove code setting the family part of
3679 the pattern to nil.
3680
23fca891
GM
36812001-05-10 Gerd Moellmann <gerd@gnu.org>
3682
ff9aa2ca
GM
3683 * xdisp.c (try_window_id): Fix case of all changes before
3684 the window start.
7b2654b5 3685
23fca891
GM
3686 * xdisp.c (try_window_id): Add some xasserts.
3687
e9726794
GM
36882001-05-09 Gerd Moellmann <gerd@gnu.org>
3689
3690 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3691
9e53a675
GM
36922001-05-09 Dave Love <fx@gnu.org>
3693
3694 * xdisp.c (GIVE_UP): Fix for K&R C.
3695
0d487c52
GM
36962001-05-09 Gerd Moellmann <gerd@gnu.org>
3697
fe88d421
GM
3698 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3699
0d487c52
GM
3700 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3701 back to the text cursor shape without need.
3702
1e9fc92e
GM
37032001-05-07 Gerd Moellmann <gerd@gnu.org>
3704
a2a6232e
GM
3705 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3706
3707 * dispextern.h (inverse_video): Declare extern.
3708
1e9fc92e
GM
3709 * keyboard.c (delete_kboard): Handle the case that selected_frame
3710 has been deleted in the course of x_connection_closed.
3711
12949a7f
EZ
37122001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3713
7b2654b5
SM
3714 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3715 Fix the change from 2001-04-30.
12949a7f 3716
2fa2f461
GM
37172001-05-03 Gerd Moellmann <gerd@gnu.org>
3718
a779d213
GM
3719 * xfns.c (file_dialog_unmap_cb): New function.
3720 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3721 where a dialog is closed via the window manager.
3722
7b2654b5 3723 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3724 the window start or all below the window end mostly rewritten.
3725 (redisplay_window): Move the tests if try_window_id is
3726 applicable to try_window_id.
3727 (GIVE_UP): New macro.
3728
3356df63
GM
37292001-05-02 Gerd Moellmann <gerd@gnu.org>
3730
a39202f6 3731 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3732 currently being updated, mark the frame garbaged.
3733 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3734 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3735
3356df63
GM
3736 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3737 again if it has already been drawn.
3738
a9d2fd1d
SM
37392001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3740
3741 * syntax.c (update_syntax_table): Check that oldi has the same
3742 properties as old_prop before deciding not to invalidate.
3743
c95fc5f1
GM
37442001-04-30 Gerd Moellmann <gerd@gnu.org>
3745
a9793e45
GM
3746 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3747 read-only text that is so because of text properties.
3748
c95fc5f1 3749 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3750 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3751 windows that are components of a Lucid menu bar.
3752
5a5d9185
GM
37532001-04-27 Gerd Moellmann <gerd@gnu.org>
3754
3755 * term.c (turn_on_face): Fix reverse video handling on terminals
3756 that don't support colors.
3757
ba973f7a
GM
37582001-04-26 Gerd Moellmann <gerd@gnu.org>
3759
3760 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3761 a non-buffer.
3762
8c56a983
GM
37632001-04-25 Gerd Moellmann <gerd@gnu.org>
3764
a728644c
GM
3765 * term.c (toggle_highlight): New function.
3766 (turn_on_face): Change handling of reverse video.
3767
7b2654b5
SM
3768 * process.c (wait_reading_process_input):
3769 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3770
bfd8410f
GM
3771 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3772 of the number of overlays to check.
3773
be2488ca
GM
3774 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3775
8c56a983
GM
3776 * xdisp.c (try_window_id): Fix a case where window_end_pos
3777 and window_end_bytepos were not adjusted.
3778
522d42f7
GM
37792001-04-23 Gerd Moellmann <gerd@gnu.org>
3780
3781 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3782 zero instead of -1.
3783
78c1afb6
EZ
37842001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3785
a9d2fd1d
SM
3786 * process.c (wait_reading_process_input) [!subprocesses]:
3787 Don't reference waiting_for_user_input_p, it's not defined in the
3788 branch without async subprocesses support.
78c1afb6 3789
a2fab450
GM
37902001-04-19 Gerd Moellmann <gerd@gnu.org>
3791
a122a38e
GM
3792 * keyboard.c (delete_kboard): Prevent a dangling reference
3793 from current_kboard to KB, which is freed.
3794
a9d2fd1d
SM
3795 * process.c (wait_reading_process_input):
3796 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3797 read_key_sequence aware of buffer changes from under it.
3798
0f8d6dc7
GM
37992001-04-18 Gerd Moellmann <gerd@gnu.org>
3800
eeffb293
GM
3801 * xfaces.c (Qscalable_fonts_allowed): New variable.
3802 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3803 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3804 removed.
eeffb293 3805 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3806 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3807 for scalable-fonts-allowed to t.
eeffb293 3808
0f8d6dc7
GM
3809 * fileio.c (Finsert_file_contents): If the file size returned from
3810 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3811 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3812
eec2d1de
EZ
38132001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3814
3815 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3816 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3817 (__memalign_hook): Make the two prototypes consistent.
3818
f4f480bd
GM
38192001-04-17 Gerd Moellmann <gerd@gnu.org>
3820
3821 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3822 matrix of mini-windows.
3823
52283633
SM
38242001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3825
3826 * intervals.c (find_interval): Don't rebalance during signal handling.
3827
ec2423c9
GM
38282001-04-11 Gerd Moellmann <gerd@gnu.org>
3829
30cb0001 3830 * fns.c: Include blockinput.h.
52283633 3831
ec2423c9
GM
3832 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3833
719d83ad
GM
38342001-04-10 Gerd Moellmann <gerd@gnu.org>
3835
60f8d735
GM
3836 * fns.c (Fcompare_strings): Fix return values.
3837
afffeb57
GM
3838 * window.c (window_scroll): Change the meaning of N to mean
3839 N screen-fulls or N lines.
3840 (window_scroll_pixel_based, window_scroll_line_based)
3841 (scroll_command, Fscroll_other_window): Change accordingly.
3842
52283633
SM
3843 * window.c (window_scroll_pixel_based, Frecenter):
3844 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3845 height of the window.
3846
3847 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3848 instead of using it.last_visible_y for the height of the window.
52283633 3849
719d83ad 3850 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3851 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3852
3853 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3854 able to write to hidden and system files. From Dan Holmsand
3855 <dan@eyebee.com>.
719d83ad 3856
8ddf3ee1
GM
3857 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3858 Holmsand <dan@eyebee.com>.
719d83ad 3859
522ed7fb
GM
38602001-04-09 Gerd Moellmann <gerd@gnu.org>
3861
9170e5d4
GM
3862 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3863
522ed7fb
GM
3864 * window.c (window_internal_height): Return 1 less if the
3865 window has a header line.
3866
3867 * xdisp.c (try_window_id): When scrolling on a terminal, take
3868 the change of window_internal_height into account.
3869
ceeb3d7d
EZ
38702001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3871
3872 * gmalloc.c (align): If the argument SIZE would overflow
3873 __malloc_ptrdiff_t, fail right away.
3874
63685b9d
GM
38752001-04-06 Gerd Moellmann <gerd@gnu.org>
3876
3877 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3878 Make sure the tooltip is completely visible.
3879 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3880
3881 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3882
3883 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3884
3ffb33bb
DL
38852001-04-06 Dave Love <fx@gnu.org>
3886
52283633
SM
3887 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3888 Fix test of `from'.
3ffb33bb 3889
869fb12c
GM
38902001-04-06 Gerd Moellmann <gerd@gnu.org>
3891
52283633 3892 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3893
869fb12c
GM
3894 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3895
441bf856
GM
38962001-04-05 Gerd Moellmann <gerd@gnu.org>
3897
4d664b04
GM
3898 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3899
52283633 3900 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3901
30ca89f5
GM
3902 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3903 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3904
3905 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3906 shell widget's position only if it is non-null.
3907
52283633
SM
3908 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3909 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3910
81a81c0f
GM
3911 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3912 FILENAME to bring it in synch with the documentation.
3913
441bf856
GM
3914 * xfaces.c (realizing_basic_faces_p): Renamed from
3915 realize_default_face_p.
3916 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3917 (realize_default_face): Don't set the flag.
3918
702a1e8e
GM
39192001-04-04 Gerd Moellmann <gerd@gnu.org>
3920
1013f4e3
GM
3921 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3922
52283633
SM
3923 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3924
1013f4e3
GM
3925 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3926 the buffer that was used for echoing.
3927
702a1e8e
GM
3928 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3929 (first_font_matching): Removed unused function.
3930 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3931 (may_use_scalable_font_p): Remove parameter FONT; rename
3932 parameter NAME to FONT.
3933 (x_face_list_fonts): Fix missing bounds check.
3934 (realizing_default_face_p): New variable.
3935 (realize_default_face): Set and clear that flag.
3936 (x_face_list_fonts): When called during the realization of the
3937 default face, and no matching fonts are found when ignoring
3938 scalable fonts and fonts matching a regexp from
3939 face-ignored-fonts, try without ignoring fonts.
3940
f9dbcda4
GM
39412001-04-03 Gerd Moellmann <gerd@gnu.org>
3942
ad18ffb1
GM
3943 * xfns.c (postprocess_image): New function.
3944 (lookup_image): Call it for all image types except PostScript.
3945 (x_kill_gs_process): Call postprocess_image.
3946
f9dbcda4
GM
3947 * xterm.c (x_use_underline_position_properties): New variable.
3948 (x_draw_glyph_string): Use it.
3949 (syms_of_xterm): DEFVAR_BOOL it.
3950
651f03b6
GM
39512001-04-02 Gerd Moellmann <gerd@gnu.org>
3952
3953 * xterm.c (x_alloc_nearest_color_1): New function.
3954 (x_alloc_nearest_color): Use it.
3955 (x_color_cells): Take a Display as argument, instead of a frame.
3956 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3957 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3958 (x_initialize): Register cvt_string_to_pixel as resource converter
3959 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3960
73d75a62
GM
39612001-03-30 Gerd Moellmann <gerd@gnu.org>
3962
b2046df8
GM
3963 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3964 (set_iterator_to_next): If a string from a display property ends,
3965 consider the case that this might also be the end of an
3966 overlay string having the display property.
3967
52283633 3968 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3969
87d8eba4
GM
3970 * xdisp.c (reseat_to_string): Undo last change.
3971
73d75a62
GM
3972 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3973 matrix of a window when the header line changes, when
3974 new rows are allocated, or when the width changes.
3975
911a2406
EZ
39762001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3977
52283633 3978 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3979
aea51abe
EZ
39802001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3981
3982 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3983 deprecated.
3984
176bc847
GM
39852001-03-29 Gerd Moellmann <gerd@gnu.org>
3986
ed31fabf
GM
3987 * data.c (Fsubr_interactive_form): New function.
3988 (syms_of_data): Defsubr it.
3989
176bc847
GM
3990 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3991 (live_float_p, live_misc_p): Return 1 only if the offset of the
3992 pointer in its block is >= 0.
3993
e59d0e9d
GM
39942001-03-28 Paul Eggert <eggert@twinsun.com>
3995
3996 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3997 microseconds calcuation. Avoid double-rounding problem.
3998 In doc string, warn that the result is approximate.
3999
f827b862
GM
40002001-03-28 Gerd Moellmann <gerd@gnu.org>
4001
30a3f61c
GM
4002 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4003 bind `inhibit-eval-during-redisplay' to t.
4004
4005 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4006
4007 * xdisp.c (inhibit_eval_during_redisplay)
4008 (Qinhibit_eval_during_redisplay): New variables.
4009 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4010 don't eval, return nil instead.
4011 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4012 Initialize Qinhibit_eval_during_redisplay.
4013
e719f5ae
GM
4014 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4015 the iterator's multibyte_p flag.
4016
deb2613a
GM
4017 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4018 instead of setting it to zero; it's incremented for each frame
4019 where the menu face is changed.
4020
52283633
SM
4021 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4022 change bottom shadow accordingly.
4023
4024 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4025 intersections here.
4026 (expose_window): Do it here instead.
52283633 4027 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4028
f827b862
GM
4029 * bytecode.c (BYTE_CODE_QUIT): New macro.
4030 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4031
4bde0ebb
GM
40322001-03-27 Gerd Moellmann <gerd@gnu.org>
4033
607ec83c
GM
4034 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4035 Give up if matrix starts in an ellipsis.
4036 (init_from_display_pos): Do nothing if POS doesn't specify
4037 a dpvec_index but the iterator has such a position.
4038
0245398f
GM
4039 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4040
aba25348
GM
4041 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4042 x/y position is (0, 0) after destroying the menu bar, restore
4043 its original position.
4044
4bde0ebb
GM
4045 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4046 (init_from_display_pos): Use it.
4047 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4048
8cdb267e
GM
40492001-03-26 Gerd Moellmann <gerd@gnu.org>
4050
4051 * xdisp.c (try_window_id): Undo last change.
4052
9948db79
EZ
40532001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4054
4055 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4056
4057 * buffer.c (syms_of_buffer): Doc fix.
4058
2eddf899
GM
40592001-03-26 Gerd Moellmann <gerd@gnu.org>
4060
4061 * xfaces.c (x_update_menu_appearance): Use local variable
4062 popup_path for setting font resources.
4063
6c145d35
EZ
40642001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4065
6a65b1b5
EZ
4066 * frame.c (Fframe_list): Don't reference tip_frame if
4067 HAVE_WINDOW_SYSTEM is not defined.
4068
6c145d35
EZ
4069 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4070 <wl@gnu.org>.
4071
d74c1900
GM
40722001-03-25 Gerd Moellmann <gerd@gnu.org>
4073
20fbd925
GM
4074 * xdisp.c (init_from_display_pos): Test invisible property
4075 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4076
927c5b3b
GM
4077 * xdisp.c (redisplay_internal) <update one window>: Make sure
4078 last_arrow_position and last_arrow_string are set.
4079
d74c1900
GM
4080 * frame.c (Fframe_list): Don't return a tooltip frame.
4081
091f8878
GM
40822001-03-23 Gerd Moellmann <gerd@gnu.org>
4083
52283633
SM
4084 * xdisp.c (mark_window_display_accurate_1): New function,
4085 extracted from mark_window_display_accurate.
4086 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4087 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4088 (mark_window_display_accurate): Use it.
4089 (redisplay_internal): Use it for the selected window.
4090 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4091 for the selected frame.
4092
ac90c44f
GM
4093 * xdisp.c Use make_number, for readability.
4094 (try_window_id): Disable rows below the window end.
4095 (try_window_reusing_current_matrix): Use cursor_row_p.
4096 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4097 of rows.
4098 (init_from_display_pos): If POS specifies a position in a display
4099 vector, maybe get the iterator set up for that ellipsis.
43c09969 4100
091f8878
GM
4101 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4102
991786dd
EZ
41032001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4104
4105 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4106
6c29b43c
GM
41072001-03-23 Gerd Moellmann <gerd@gnu.org>
4108
4109 * xfaces.c (x_update_menu_appearance): Use a different path
4110 for Lucid popup menus.
4111
d8731202
SM
41122001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4113
4114 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4115
4116 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4117 (string_buffer_position): Use `make_number'.
4118
f61a541b
GM
41192001-03-22 Gerd Moellmann <gerd@gnu.org>
4120
3c9e997b
GM
4121 * xfaces.c (x_update_menu_appearance): Renamed from
4122 x_set_menu_face_resources. Use different resources for popups.
4123
4124 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4125 (GC_CHECK_STRING_BYTES): Don't define.
4126
364cd450
GM
4127 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4128 Removed, together with subroutines.
4129 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4130 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4131
d8731202
SM
4132 * dispextern.h (x_set_menu_resources_from_menu_face):
4133 Remove prototype.
364cd450 4134
d8731202 4135 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4136 Remove calls to x_set_menu_resources_from_menu_face.
4137
d8731202
SM
4138 * xfaces.c (xm_set_menu_resources_from_menu_face):
4139 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4140
4141 * xmenu.c: Include widget.h.
4142 (single_submenu): Return int. Some cleanup.
4143 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4144
140330de
GM
41452001-03-21 Gerd Moellmann <gerd@gnu.org>
4146
4147 * xterm.c (x_update_window_end): Handle overwritten mouse face
4148 also for tool bar windows.
4149 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4150 DRAW is DRAW_IMAGE_RAISED.
4151
1741905c
GM
41522001-03-20 Gerd Moellmann <gerd@gnu.org>
4153
fa88947e
GM
4154 * print.c (syms_of_print): Doc fixes.
4155
1741905c
GM
4156 * fns.c (Fmd5): Doc fix.
4157
ade0bee1
GM
41582001-03-19 Gerd Moellmann <gerd@gnu.org>
4159
357e7376
GM
4160 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4161 Clear area of the frame not occupied by the scroll bar.
4162
c2c097cc
GM
4163 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4164 tip frame's root window buffer to *tip* right after creating
4165 the frame.
4166
ade0bee1
GM
4167 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4168 is an integer don't have to be for space characters.
4169
88c6e37e
GM
41702001-03-16 Gerd Moellmann <gerd@gnu.org>
4171
52283633
SM
4172 * indent.c (current_column, current_column_1, Fmove_to_column)
4173 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4174
c62eed76
KH
41752001-03-15 Kenichi Handa <handa@etl.go.jp>
4176
4177 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4178 drawing glyph string.
4179
c899e7e6
GM
41802001-03-15 Gerd Moellmann <gerd@gnu.org>
4181
d0bbfc99
GM
4182 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4183 (command_loop_1): Undo last change.
4184
03d1a189
GM
4185 * xterm.c (fast_find_position): Return the correct vpos.
4186
c899e7e6 4187 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4188 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4189 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4190 Call store_symval_forwarding with BUF null.
4191 (set_internal): Call store_symval_forwarding with the BUF
4192 parameter passed to set_internal. Formerly, the value was always
4193 set in the current buffer; the buffer recorded in specbind for
4194 this case wasn't used.
4195 (arith_driver): Reindent.
4196
52283633
SM
4197 * buffer.c (swap_out_buffer_local_variables):
4198 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4199
4200 * lisp.h (store_symval_forwarding): Change prototype.
4201
4202 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4203
57ac7c81
GM
42042001-03-14 Gerd Moellmann <gerd@gnu.org>
4205
697617d9
GM
4206 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4207 FOR_DELETION. Avoid resizing the mini-window of the selected
4208 frame if FOR_DELETION is set.
4209 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4210 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4211 signature.
4212
4213 * window.c (Fset_window_configuration): Change call to
4214 do_switch_frame to new format.
4215
4216 * keyboard.c (quit_throw_to_read_char): Change call to
4217 do_switch_frame to new format.
4218
4219 * lisp.h (do_switch_frame): Change prototype.
4220
819dce0f
GM
4221 * frame.c (Fframe_parameters): In the `buffer-list' frame
4222 parameter, store the buffer list of FRAME, not the list of the
4223 selected frame.
4224
57ac7c81
GM
4225 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4226 box just because the glyph row's full_width_p flag is set.
4227
65008712
GM
42282001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4229
4230 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4231 skip the padding blanks inserted in extend_face_to_end_of_line,
4232 before checking for trailing whitespace.
4233
159cf431
GM
42342001-03-13 Gerd Moellmann <gerd@gnu.org>
4235
52283633 4236 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4237 Remove special handling for LessTif/Motif.
4238 (toplevel): Don't include Xm/Xm.h.
4239
52283633
SM
4240 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4241 Remove workaround code for LessTif; it doesn't work anymore.
4242
2564ea1b 4243 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4244 Xm/ScrollBarP.h.
afcdc0a1 4245
52283633
SM
4246 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4247 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4248 contemporary LessTif.
4249
52283633
SM
4250 * xfaces.c (xm_set_menu_resources_from_menu_face):
4251 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4252
159cf431
GM
4253 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4254 removing button grabs.
4255
c6f7429a
KH
42562001-03-13 Kenichi Handa <handa@etl.go.jp>
4257
cb82d767
KH
4258 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4259 and clip-large-size-font as obsolete.
4260
c6f7429a
KH
4261 * lread.c (read_multibyte): Check the validity of multibyte
4262 sequence. If invalid, return the first byte.
4263
760cefb5
GM
42642001-03-12 Gerd Moellmann <gerd@gnu.org>
4265
4266 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4267 before running the command; timer functions or process
4268 filters may have set it.
4269
5141f9d0
EZ
42702001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4271
4272 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4273 Doc fix.
4274
b6a15240
GM
42752001-03-12 Gerd Moellmann <gerd@gnu.org>
4276
4277 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4278 to sprintf.
4279
95522746
GM
42802001-03-09 Gerd Moellmann <gerd@gnu.org>
4281
db14cfc5
GM
4282 * dispextern.h (string_buffer_position): Add prototype.
4283
52283633 4284 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4285 (single_display_prop_string_p): New functions.
4286
4287 * xterm.c (note_mouse_highlight): If there's no help-echo on
4288 a string, look at the buffer text ``under'' it.
4289
4290 * keyboard.c (make_lispy_event): Add string info to the event,
4291 analogous to what's done on mode lines.
4292 (read_key_sequence): For a click on a string, consider `local-map'
4293 and `keymap' of that string.
4294
52283633
SM
4295 * keyboard.c (make_lispy_event, make_lispy_movement):
4296 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4297
4298 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4299
4300 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4301 POS; return void.
4302
95522746
GM
4303 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4304 flags argument to emacs_open; it seems to conflict with O_EXCL.
4305
898a399d
KH
43062001-03-09 Kenichi Handa <handa@etl.go.jp>
4307
28cd4910
KH
4308 * composite.h (struct composition): Change types of members;
4309 glyph_len to unsigned, width to unsigned short.
898a399d 4310
4cdf6a6c
AI
43112001-03-08 Andrew Innes <andrewi@gnu.org>
4312
4313 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4314 menu titles.
4315
129004d3
GM
43162001-03-08 Gerd Moellmann <gerd@gnu.org>
4317
221dd3e7
GM
4318 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4319 instead of nil.
4320
52283633 4321 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4322 help-echo in strings.
4323 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4324 (fast_find_string_pos): New function.
4325
52283633
SM
4326 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4327 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4328
4329 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4330 Handle `mouse-face'.
4331
4332 * dispextern.h (face_at_string_position): Change prototype.
4333
52283633 4334 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4335
129004d3
GM
4336 * keyboard.c (make_lispy_event): Avoid generating drag events
4337 if the mouse hasn't actually moved to another buffer position.
52283633 4338
80c8ab8c
DL
43392001-03-08 Dave Love <fx@gnu.org>
4340
129004d3 4341 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4342
989521fd
GM
43432001-03-08 Gerd Moellmann <gerd@gnu.org>
4344
4345 * process.c (Fset_process_window_size): Fix a typo.
4346
bb5c338d
KH
43472001-03-08 Kenichi Handa <handa@etl.go.jp>
4348
4349 * coding.c (detect_coding_sjis): Do more rigid check.
4350 (detect_coding_big5): Likewise.
4351 (decode_coding_sjis_big5): Likewise.
4352 (Fdetect_coding_region): Call detect_coding_system with tailing
4353 anchor byte `\0' for more rigid detection.
52283633 4354 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4355 (Fdetect_coding_string): Likewise.
4356
8b8f9197
SM
43572001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4358
4359 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4360 a string before extracting its data.
4361
3bdf2660
GM
43622001-03-07 Gerd Moellmann <gerd@gnu.org>
4363
4364 * window.c (Frecenter): Rewrite code handling negative values
4365 of ARG on graphical frames.
4366
43672001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4368
4369 * window.c (displayed_window_lines): If W->start is outside the
4370 accessible portion of the buffer, call start_display with BEGV or
4371 ZV instead of W->start.
4372
471f86b9
GM
43732001-03-07 Gerd Moellmann <gerd@gnu.org>
4374
2ab62c6c
GM
4375 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4376
471f86b9
GM
4377 * process.c (Fset_process_filter): Don't crash if the input
4378 file descriptor of PROCESS is closed.
4379 (Fset_process_window_size): Likewise.
4380
101922c3
GM
43812001-03-06 Kenichi Handa <handa@etl.go.jp>
4382
4383 * xterm.c (XTflash): Make the timeout of select shorter, and call
4384 select repeatedly until the desired time expires.
4385
45d051a7
GM
43862001-03-06 Gerd Moellmann <gerd@gnu.org>
4387
4388 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4389
4390 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4391
4392 * lisp.h (Vwindow_list): Declare extern.
4393
8f372c46
EZ
43942001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4395
4396 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4397
f16a7aa5
GM
43982001-03-06 Gerd Moellmann <gerd@gnu.org>
4399
157ae273
GM
4400 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4401 to detect a case where we have to highlight a different region
4402 despite not having left the currently highlighted region.
4403 Set mouse_face_overlay in the x_display_info.
45d051a7 4404 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4405
4406 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4407
4408 * buffer.c (mouse_face_overlay_overlaps): New function.
4409
4410 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4411 (Qmouse_face): Declare extern.
4412
f16a7aa5
GM
4413 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4414 if face_change_count is non-zero.
4415
827afcac
KH
44162001-03-06 Kenichi Handa <handa@etl.go.jp>
4417
4418 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4419 that the source is unibyte.
4420
14c7242e
DL
44212001-03-05 Dave Love <fx@gnu.org>
4422
827afcac 4423 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4424
c28b847b
GM
44252001-03-05 Gerd Moellmann <gerd@gnu.org>
4426
4427 * minibuf.c (read_minibuf): Clean up the binding stack if
4428 called noninteractively.
4429
b86644f2
KH
44302001-03-05 Kenichi Handa <handa@etl.go.jp>
4431
4432 * coding.c (syms_of_coding): Docstring modified.
4433
203682cc 44342001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4435
4436 * charset.c (char_to_string): If a single byte char has modifier
4437 bits that can't be reflected to the character code, ignore them
45d051a7 4438 instead of signaling an error.
b86644f2 4439
e30bd7b7
EZ
44402001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4441
4442 * s/msdos.h: Update copyright notice.
4443
4444 * dosfns.h: Update copyright notice.
4445
4446 * dosfns.c: Update copyright notice.
4447
4448 * msdos.c: Update copyright notice.
4449
b52b65bd
GM
44502001-03-02 Gerd Moellmann <gerd@gnu.org>
4451
4452 * xterm.c (glyph_rect): New function.
4453 (XTmouse_position): Use it to raise the threshold for mouse
4454 movement event generation.
4455
53c4b1e6
EZ
44562001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4457
4458 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4459 specifies (reverse . t), reverse the initial screen colors.
4460 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4461 but we are reversing the colors, set bg_set, not fg_set.
4462 Likewise for setting background-color and reversing: set fg_set.
4463 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4464 in effect.
4465
4466 * xfaces.c (Finternal_set_lisp_face_attribute)
4467 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4468 parameters alist.
4469
f964b4d7
GM
44702001-03-02 Gerd Moellmann <gerd@gnu.org>
4471
ef53d75e
GM
4472 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4473 to a single slash in the middle of file names.
4474
52283633 4475 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4476 Accept only alphanumeric time zone names.
4477
f964b4d7
GM
4478 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4479 or width area.
4480 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4481 a widget to zero height.
52283633 4482
c3c45f65
GM
44832001-03-01 Gerd Moellmann <gerd@gnu.org>
4484
4485 * window.c (Fwindow_end): Call move_it_past_eol only if
4486 ending up on a partially visible line.
4487
028d739a
DL
44882001-03-01 Dave Love <fx@gnu.org>
4489
4490 * ccl.c (Fccl_execute): Doc fix.
4491
57c5889c
GM
44922001-03-01 Gerd Moellmann <gerd@gnu.org>
4493
35f59f6b
GM
4494 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4495 of the tool bar before calling x_figure_window_size.
4496
f84ff02c
GM
4497 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4498 NULL after destroying it, otherwise XTread_socket can access a
4499 destroyed widget when input is unblocked.
4500
8b8f9197 4501 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4502
57c5889c
GM
4503 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4504 same name as before, although there was a change in fontsets.
4505
224227d1
KR
45062001-02-28 Ken Raeburn <raeburn@gnu.org>
4507
4560730a
KR
4508 * lisp.h (Fframe_parameter): Declare.
4509
224227d1 4510 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4511 Lisp_Object.
224227d1 4512
ece93c02
GM
45132001-02-28 Gerd Moellmann <gerd@gnu.org>
4514
11ef99b9
GM
4515 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4516 NULL instead.
4517
4518 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4519 NULL instead.
4520
ece93c02
GM
4521 * alloc.c (toplevel): Include process.h.
4522 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4523 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4524 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4525 (allocate_vector, allocate_hash_table, allocate_window)
4526 (allocate_frame, allocate_process, allocate_other_vector):
4527 New functions.
ece93c02
GM
4528 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4529 (mark_maybe_pointer): New function.
52283633 4530 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4531 remain and not Lisp_Objects.
4532 (min_heap_address, max_heap_address): New variables.
4533 (mem_find): Return MEM_NIL if START is below min_heap_address or
4534 above max_heap_address.
4535 (mem_insert): Compute min_heap_address and max_heap_address.
4536
4537 * process.c (make_process): Use allocate_process.
4538
4539 * frame.c (make_frame): Use allocate_frame.
4540
4541 * window.c (make_window, make_dummy_parent): Use allocate_window.
4542 (Fcurrent_window_configuration): Use allocate_other_vector.
4543
4544 * lisp.h (allocate_vectorlike): Remove prototype.
4545 (allocate_vector, allocate_other_vector, allocate_frame)
4546 (allocate_window, allocate_process, allocate_hash_table):
4547 Add prototypes.
4548
4549 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4550 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4551
063af457
KH
45522001-02-27 Kenichi Handa <handa@etl.go.jp>
4553
4554 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4555 treat the produced bytes as a valid multibyte sequence.
4556
4557 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4558 (ccl_driver) <CCL_WriteMultibyteChar2>:
4559 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4560 <ccl_finish>: Set ccl->eight_bit_control properly.
4561
4562 * ccl.h (struct ccl_program): New member eight_bit_control.
4563
f58c6494
SM
45642001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4565
4566 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4567 accessible_keymaps_char_table.
4568 (accessible_keymaps_char_table): Obey `is_metized'.
4569 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4570 Lisp_Object.
4571
c596c392
GM
45722001-02-26 Gerd Moellmann <gerd@gnu.org>
4573
4574 * dispnew.c: Check HAVE_TERM_H before including term.h.
4575
425de386
AI
45762001-02-24 Andrew Innes <andrewi@gnu.org>
4577
4578 * makefile.w32-in: Update copyright notice.
4579
2ba11bbd
SM
45802001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4581
4582 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4583
66c56ed1
KH
45842001-02-24 Kenichi Handa <handa@etl.go.jp>
4585
4c1593ce
KH
4586 * Makefile.in (lisp): Add international/utf-8.elc.
4587
66c56ed1
KH
4588 * fontset.c (Fnew_fontset): Fix handling of the case that an
4589 element of FONTLIST is a cons of family and registry.
4590
796ead7e
JR
45912001-02-23 Jason Rumney <jasonr@gnu.org>
4592
4593 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4594 to height unconditionally.
4595
4596 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4597 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4598 (x_insert_glyphs): Call window_box_left to obtain the left
4599 x-coordinate of the area to shift.
4600
4601 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4602 safe_run_hooks.
4603
f6839838
AI
46042001-02-22 Andrew Innes <andrewi@gnu.org>
4605
52283633 4606 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4607 ($(BLD)\dispnew.obj):
4608 ($(BLD)\editfns.obj):
4609 ($(BLD)\fileio.obj):
4610 ($(BLD)\filelock.obj):
4611 ($(BLD)\keyboard.obj):
4612 ($(BLD)\w32proc.obj):
4613 ($(BLD)\process.obj):
4614 ($(BLD)\sysdep.obj): Ditto.
4615
4616 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4617 header files.
52283633
SM
4618 ($(BLD)/dispnew.$(O)):
4619 ($(BLD)/editfns.$(O)):
4620 ($(BLD)/fileio.$(O)):
4621 ($(BLD)/filelock.$(O)):
4622 ($(BLD)/keyboard.$(O)):
4623 ($(BLD)/w32proc.$(O)):
4624 ($(BLD)/process.$(O)):
f6839838
AI
4625 ($(BLD)/sysdep.$(O)): Ditto.
4626
c224f70b
GM
46272001-02-22 Gerd Moellmann <gerd@gnu.org>
4628
51695746
GM
4629 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4630 at the start of the function, check that the \n in it->c is
4631 from the iterator's current position.
52283633 4632
a61b7058
GM
4633 * xdisp.c (handle_single_display_prop): Add parameter
4634 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4635 properties which replace the display of text with something else.
4636 (handle_display_prop): Call handle_single_display_prop with
4637 additional argument saying if we already replaced text display
4638 with something else. Use AREF.
52283633 4639 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4640 (decode_mode_spec_coding): Use AREF and ASIZE.
4641
3473f362
GM
4642 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4643 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4644 * vmstime.h: Files removed.
52283633 4645
2bb58df3
GM
4646 * unexencap.c, unexfx2800.c: Files removed.
4647
c224f70b
GM
4648 * dispnew.c (direct_output_for_insert): Give up if we are showing
4649 a message or just cleared the message because we might need to
4650 resize the echo area window or display an empty echo area.
4651
ffc9ff0c
GM
46522001-02-21 Gerd Moellmann <gerd@gnu.org>
4653
0528abe1
GM
4654 * xdisp.c (redisplay_internal): Do the
4655 mark_window_display_accurate after all windows have been
4656 redisplayed because this call resets flags in buffers which are
4657 needed for proper redisplay.
4658
52283633
SM
4659 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4660 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4661 the old names.
4662
52283633
SM
4663 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4664 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4665
4666 * msdos.h (struct x_output): Rename busy_window to
4667 hourglass_window, busy_p to hourglass_p.
4668
52283633
SM
4669 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4670 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4671
4672 * xfns.c: Rename everything containing *busy_cursor* and similar
4673 to *hourglass*.
4674 (syms_of_w32fns): Rename x-busy-pointer-shape to
4675 x-hourglass-pointer-shape, display-busy-cursor to
4676 display-hourglass, busy-cursor-delay to hourglass-delay.
4677
4678 * w32fns.c: Rename everything containing *busy_cursor* and similar
4679 to *hourglass*.
4680 (syms_of_w32fns): Rename x-busy-pointer-shape to
4681 x-hourglass-pointer-shape, display-busy-cursor to
4682 display-hourglass, busy-cursor-delay to hourglass-delay.
4683
4684 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4685 of its busy_p flag.
4686
4687 * dispextern.h (start_hourglass, cancel_hourglass)
4688 (display_hourglass_p): Renamed from *busy_cursor*.
4689
ab2c5f0a
GM
46902001-02-20 Gerd Moellmann <gerd@gnu.org>
4691
d17e49a8
GM
4692 * keyboard.c (read_char): When an event from unread-command-events
4693 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4694
fa97adf6
GM
4695 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4696 equal to the current buffer.
4697
ab2c5f0a
GM
4698 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4699 nil, otherwise we're left with truncate_lines t when a message
4700 is printed with message-truncate-lines bound to t.
4701
aeac019e
GM
47022001-02-19 Gerd Moellmann <gerd@gnu.org>
4703
c8bc6f65
GM
4704 * window.c (Fmove_to_window_line): Undo last change.
4705 (displayed_window_lines): Call line_bottom_y to determine
4706 the line's bottom position.
4707
4708 * dispextern.h (line_bottom_y): Add prototype.
4709
52283633 4710 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4711 (pos_visible_p): Use it.
4712
980a2d69
GM
4713 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4714 set redisplaying_p to 0 here instead of in Frecursive_edit.
4715 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4716 set redisplaying_p.
4717
52283633 4718 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4719 New variables.
4720 (syms_of_xdisp): Initialize new variables.
4721 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4722 Specbind `inhibit-menubar-update' when updating the menu bar.
4723
65048e97
GM
4724 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4725 safe_run_hooks.
4726
4727 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4728 safe_run_hooks.
4729
a57c4026
GM
4730 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4731 is null.
4732
aeac019e
GM
4733 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4734 to the start of the file.
4735
76846b31
GM
47362001-02-16 Gerd Moellmann <gerd@gnu.org>
4737
f3f053f3 4738 * window.c (set_window_buffer): Fix last change.
52283633 4739
f3f053f3
GM
4740 * window.c (set_window_buffer): Set window's vscroll to 0.
4741
dad75588
GM
4742 * window.c (coordinates_in_window): Increase width of area
4743 where the vertical line can be dragged.
4744
c220b753
GM
4745 * xterm.c (x_set_glyph_string_background_width): Extend the
4746 background face to the end of the drawing area in the text
4747 area, only.
4748
c56b1c1b
GM
4749 * xdisp.c (handle_single_display_prop): Set iterator's position
4750 to where the `display' property starts, like for images.
4751 (dump_glyph): New function.
4752 (dump_glyph_row): Use it. Dump info about marginal areas.
4753
4754 * dispnew.c (direct_output_for_insert): Recognize more cases where
4755 glyphs can be written instead of being inserted.
4756
4757 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4758 the left x-coordinate of the area to shift.
4759
76846b31
GM
4760 * dired.c (directory_files_internal): Set result list to nil
4761 before retrying.
4762
0fc71a77
KH
47632001-02-15 Kenichi Handa <handa@etl.go.jp>
4764
4765 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4766 invalid multibyte sequence, treat *SRC as a character of
4767 eight-bit-graphic.
4768
25078b54
EZ
47692001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4770
4771 * textprop.c (Fset_text_properties): Doc fix.
4772
8399f8a0
GM
47732001-02-15 Gerd Moellmann <gerd@gnu.org>
4774
4775 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4776
9a2a6f73
DL
47772001-02-14 Dave Love <fx@gnu.org>
4778
4779 * coding.c: Doc and message fixes.
4780
bf853fee
AI
47812001-02-14 Andrew Innes <andrewi@gnu.org>
4782
4783 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4784 Emacs frame above the screen size.
4785
78c663d8
GM
47862001-02-14 Gerd Moellmann <gerd@gnu.org>
4787
4788 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4789
7cc9f69f
GM
47902001-02-13 Gerd Moellmann <gerd@gnu.org>
4791
0a411995
GM
4792 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4793 case that TO ends up beyond ZV after running before-change-functions.
4794
5ddc1b75
GM
4795 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4796 the selected window if it is showing the buffer in question.
4797
7cc9f69f
GM
4798 * dired.c (directory_files_internal): Initialize errno.
4799 (toplevel): Include errno.h.
4800
2e6621ca
GM
48012001-02-13 Kenichi Handa <handa@etl.go.jp>
4802
4803 * xfaces.c (best_matching_font): New parameter width_ratio.
4804 Multiply avgwidth by width_ratio.
4805 (choose_face_font): Call best_matching_font with width_ratio
4806 calculated from the column width of C.
4807
60222d69
AI
48082001-02-12 Andrew Innes <andrewi@gnu.org>
4809
4810 The following changes are to draw box lines inside characters area
4811 if line-width is negative.
52283633 4812
60222d69
AI
4813 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4814 face->box_line_width is negative.
4815 (x_produce_stretch_glyph): Likewise.
4816 (x_produce_glyphs): Likewise.
4817 (x_estimate_mode_line_height): Likewise.
4818 (x_draw_glyph_string_background): Likewise.
4819 (x_draw_glyph_string_foreground): Likewise.
4820 (x_draw_composite_glyph_string_foreground): Likewise.
4821 (x_draw_glyph_string_box): Likewise.
4822 (x_draw_image_foreground): Likewise.
4823 (x_draw_image_relief): Likewise.
4824 (x_draw_image_foreground_1): Likewise.
4825 (x_draw_image_glyph_string): Likewise.
4826
9804b846
KH
48272001-02-09 Kenichi Handa <handa@etl.go.jp>
4828
4829 The following changes are to draw box lines inside characters area
4830 if line-width is negative.
52283633 4831
9804b846
KH
4832 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4833 face->box_line_width is negative.
4834 (x_produce_stretch_glyph): Likewise.
4835 (x_produce_glyphs): Likewise.
4836 (x_estimate_mode_line_height): Likewise.
4837 (x_draw_glyph_string_background): Likewise.
4838 (x_draw_glyph_string_foreground): Likewise.
4839 (x_draw_composite_glyph_string_foreground): Likewise.
4840 (x_draw_glyph_string_box): Likewise.
4841 (x_draw_image_foreground): Likewise.
4842 (x_draw_image_relief): Likewise.
4843 (x_draw_image_foreground_1): Likewise.
4844 (x_draw_image_glyph_string): Likewise.
4845
4846 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4847 and :line-width can be negative.
52283633 4848 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4849
49be9f70
JR
48502001-02-09 Jason Rumney <jasonr@gnu.org>
4851
4852 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4853 characters the same as ASCII and latin-1.
4854 (x_display_and_set_cursor): Check for the focus frame's selected
4855 window instead of selected_window.
4856 (x_after_update_window_line): Don't clear if frame's internal
4857 border width is zero.
4858 (x_new_font): Don't change a tooltip's size.
4859 (w32_initialize): Set char_ins_del_ok to 1.
4860
4861 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4862 (x_set_font): If font hasn't changed, avoid recomputing
4863 faces and other things.
52283633
SM
4864 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4865 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4866 (x_create_tip_frame): Prevent changing the tooltip's
4867 background color by specifying a color for the default font
4868 in .Xdefaults.
4869 (Qcancel_timer): New variable.
4870 (syms_of_w32fns): Initialize and staticpro it.
4871 (Fx_hide_tip, Fx_show_tip): Use it.
4872 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4873 the timer.
4874 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4875
4876 * w32.c (init_environment): Duplicate local string before putenv.
4877
555e35d2
SZ
48782001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4879
4880 * charset.c (Fstring): A typo.
4881
19c92c94
KH
48822001-02-09 Kenichi Handa <handa@etl.go.jp>
4883
e47a1c33
KH
4884 * charset.c (Fstring): If all arguments are less than 256, return
4885 a unibyte string.
4886
4887 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4888 return a unibyte string.
4889
19c92c94
KH
4890 * coding.c (code_convert_region): After detecting a coding, if
4891 nothing found, set coding->composing to COMPOSITION_NO.
4892 (decode_coding_string): Likewise.
4893
d8e675f5
SM
48942001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4895
4896 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4897 to avoid overflow.
4898
bd503487
KH
48992001-02-07 Kenichi Handa <handa@etl.go.jp>
4900
4901 * charset.c (parse_str_to_multibyte): New function.
4902
4903 * charset.h (parse_str_to_multibyte): Extern it.
4904
4905 * print.c (print_string): If we are going to print a unibyte
4906 string into a multibyte buffer, convert the string to multibyte by
4907 str_to_multibyte.
4908
a8370d72
AI
49092001-02-06 Andrew Innes <andrewi@gnu.org>
4910
4911 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4912 been created. It seems we can get sent window messages such as
4913 WM_ERASEBKGND before we properly update a frame.
4914
c363a1d6
GM
49152001-02-06 Gerd Moellmann <gerd@gnu.org>
4916
4917 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4918 Avoid some unnecessary cursor positioning.
4919
a08332c0
GM
49202001-02-05 Gerd Moellmann <gerd@gnu.org>
4921
52283633 4922 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4923 (LFACE_AVGWIDTH): New macro.
4924 (LFACEP): Use AREF.
4925 (check_lface_attrs): Check LFACE_AVGWIDTH.
4926 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4927 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4928 (merge_face_vectors): Check LFACE_AVGWIDTH.
4929 (Finternal_make_lisp_face): Use AREF.
4930 (xm_set_menu_resources_from_menu_face)
4931 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4932 (Finternal_lisp_face_empty_p): Use AREF.
4933 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4934 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4935 Compare average widths..
4936 (best_matching_font): Arrange for comparing average widths.
4937
52283633
SM
4938 * dispextern.h (enum lface_attribute_index):
4939 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4940
5cb3c8d4
DL
49412001-02-05 Dave Love <fx@gnu.org>
4942
4943 * puresize.h: Revert last change following loadup.el change.
4944
193fba87
AI
49452001-02-05 Andrew Innes <andrewi@gnu.org>
4946
4947 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4948 invocation of temacs, to work with Windows 2000.
4949 (bootstrap-emacs): Ditto.
4950
e16f52ce
GM
49512001-02-05 Gerd Moellmann <gerd@gnu.org>
4952
7a58ab59
GM
4953 * xterm.c (x_display_and_set_cursor): Check for the focus
4954 frame's selected window instead of selected_window.
4955
e89aaabd
GM
4956 * xdisp.c (try_scrolling): If point is in the line below the
4957 window, make sure to move the iterator at least a canonical
4958 char height down.
4959
52283633 4960 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4961
789ce875
KH
49622001-02-05 Kenichi Handa <handa@etl.go.jp>
4963
52283633
SM
4964 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4965 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4966 (ccl_driver): If the CCL program is terminated because of
4967 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4968 destination instead of throwing them away.
4969
20b28f82
GM
49702001-02-02 Gerd Moellmann <gerd@gnu.org>
4971
79fb38c0
GM
4972 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4973 faces and other things.
4974
20b28f82
GM
4975 * xdisp.c (get_next_display_element): Fix case of empty
4976 display table entry.
4977
5a72551e
EZ
49782001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4979
eb24d0bf
EZ
4980 * editfns.c (Fconstrain_to_field): Doc fix.
4981
6a3f48c7
EZ
4982 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4983 into `thoroughly', to make it consistent with the doc string.
4984
5a72551e
EZ
4985 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4986
01acdb05
GM
49872001-02-01 Gerd Moellmann <gerd@gnu.org>
4988
0353b28f
GM
4989 * search.c (search_buffer): Call set_search_regs with a byte
4990 position, not a character position.
4991
01acdb05
GM
4992 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4993 minibuffer-only,
4994
e86b5133
EZ
49952001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4996
4997 * frame.c (Fmodify_frame_parameters): Doc fix.
4998
7442878f
GM
49992001-01-31 Gerd Moellmann <gerd@gnu.org>
5000
01acdb05
GM
5001 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5002 identifier which is not reserved by Standard C.
52283633 5003
7442878f
GM
5004 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5005
5006 * window.c (enum window_part): New enumeration.
5007 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5008 Qright_bitmap_area.
5009 (coordinates_in_window): Return an enumerator from enum
5010 window_part. Fix handling of right scroll bar.
5011 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5012 `right-fringe' instead of `left-bitmap-area' and
5013 `right-bitmap-area'. Use enumerators from enum window_part
5014 instead of hard-coded integers.
52283633
SM
5015 (check_window_containing, window_from_coordinates):
5016 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5017 (syms_of_window): Replace Qleft_bitmap_area and
5018 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5019
7c132cba
EZ
50202001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5021
5022 * editfns.c (Fformat_time_string): Doc fix.
5023
c359dd9e
SM
50242001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5025
5026 * keymap.c (Fwhere_is_internal): Use the first valid binding
5027 if no ascii binding is found (when firstonly is t).
5028
ce070307
GM
50292001-01-31 Gerd Moellmann <gerd@gnu.org>
5030
b4f30ec5
GM
5031 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5032 instead of Finteractive_p.
5033
5034 * lisp.h (interactive_p): Add prototype.
5035
5036 * eval.c (interactive_p): New function.
5037 (Finteractive_p): Use it.
5038
ce070307
GM
5039 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5040
f57b6e64
DL
50412001-01-31 Dave Love <fx@gnu.org>
5042
d61c7afe
DL
5043 * .gdbinit (hook-run): Define to run xreload.
5044
f57b6e64
DL
5045 * textprop.c (Fset_text_properties): Fix newline in doc string.
5046
eef93f99
GM
50472001-01-30 Gerd Moellmann <gerd@gnu.org>
5048
52283633
SM
5049 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5050 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5051
5052 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5053 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5054 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5055
5056 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5057 height.
5058
d9c1f6f9
DL
50592001-01-30 Dave Love <fx@gnu.org>
5060
5061 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5062 AFTER_POTENTIAL_GC.
5063
e8f044a0
GM
50642001-01-29 Gerd Moellmann <gerd@gnu.org>
5065
52283633
SM
5066 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5067 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5068
8e1db7b3
EZ
50692001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5070
5071 * textprop.c (Fset_text_properties): Doc fix.
5072
4eefd9d2
GM
50732001-01-29 Gerd Moellmann <gerd@gnu.org>
5074
5075 * xdisp.c (forward_to_next_line_start): Remove xassert.
5076
fccb8288
EZ
50772001-01-29 Jason Rumney <jasonr@gnu.org>
5078
4eefd9d2 5079 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5080 returning without releasing it.
5081
76581eab
KH
50822001-01-29 Kenichi Handa <handa@etl.go.jp>
5083
5084 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5085 for '^', '$', and '\0'.
5086
83a96b4d
AC
50872001-01-28 Andrew Choi <akochoi@i-cable.com>
5088
5604ec34
AC
5089 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5090 regex for '^', '$', and '\0'.
5091
83a96b4d
AC
5092 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5093 only if current_sblock has been initialized.
5094
5095 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5096 terminal frame even if it is the only visible frame.
5097
c09a6440
KH
50982001-01-28 Kenichi Handa <handa@etl.go.jp>
5099
5100 * fontset.c (font_family_registry): Even if FONTNAME conform to
5101 XLFD, if it specifies other fields than family and registry,
52283633 5102 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5103 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5104 a signle byte character. Don't set FAMILY part to nil here.
5105 It is handled by the caller choose_face_font.
c09a6440
KH
5106 (Fnew_fontset): Call font_family_registry with FORCE 0.
5107 (Fset_fontset_font): Likewise.
5108
4dcd74e6
GM
51092001-01-27 Gerd Moellmann <gerd@gnu.org>
5110
5111 * xdisp.c (display_line): Don't treat a newline as fitting
5112 on the line.
5113
d2906bf8
GM
51142001-01-26 Gerd Moellmann <gerd@gnu.org>
5115
0130fe1a
GM
5116 * window.c (size_window): Set the window's orig_top to nil when
5117 changing heights, so that a future shrink_mini_window won't
5118 restore a bogus height.
5119
550f0e6a
GM
5120 * frame.c (do_switch_frame): If selected frame has a mini-window,
5121 resize that to exact size.
5122
b7b20fbd
GM
5123 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5124
a47b7816
GM
5125 * xdisp.c (display_line): Simplify check for glyphs fitting
5126 entirely in the line.
5127
d2906bf8
GM
5128 * xfns.c (xic_style): New variable.
5129 (create_frame_xic): Move static variable to global scope for
550f0e6a 5130 the case that `static' gets defined away.
d2906bf8 5131
73df2b1e
KH
51322001-01-26 Kenichi Handa <handa@etl.go.jp>
5133
5134 * coding.c (decode_coding): Set a flag for inhibiting
5135 inconsistent eol.
5136 (code_convert_region): Always set saved_coding_symbol.
5137 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5138 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5139
6613cfc4
GM
51402001-01-25 Gerd Moellmann <gerd@gnu.org>
5141
c5e6e06b
GM
5142 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5143 XClearArea.
5144
5145 * xterm.c (x_after_update_window_line): Don't clear if frame's
5146 internal border width is zero.
5147 (x_clear_area): New function.
5148 (x_after_update_window_line, x_clear_end_of_line)
5149 (x_scroll_bar_create, x_scroll_bar_set_handle)
5150 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5151 instead of XClearArea.
5152
5153 * xterm.h (x_clear_area): Add prototype.
5154
6613cfc4
GM
5155 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5156 which doesn't seem necessary anymore with Lesstif 0.92.
5157
650cc6cc
DL
51582001-01-25 Dave Love <fx@gnu.org>
5159
34ac3367
DL
5160 * puresize.h (BASE_PURESIZE): Up to 720000.
5161
650cc6cc
DL
5162 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5163
5e37dc22
GM
51642001-01-25 Gerd Moellmann <gerd@gnu.org>
5165
e1e441f9
GM
5166 * xdisp.c (echo_area_display): Don't call redisplay_internal
5167 when Emacs is shutting down. We can't run hooks etc. that
5168 would be necessary to do a redisplay.
5169
5e37dc22
GM
5170 * lread.c (read_integer): Use type EMACS_INT instead of int.
5171
0fb94c7f
EZ
51722001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5173
5174 * ccl.c (ccl_driver): Fix last change.
5175
e3778624
KH
51762001-01-25 Kenichi Handa <handa@etl.go.jp>
5177
5178 * ccl.h (sturct ccl_program): New member suppress_error.
5179
bb264518 5180 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5181 insert error message to the output.
5182 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5183
5184 * coding.h (struct coding_system): New member suppress_error.
5185
5186 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5187 (Fset_terminal_coding_system_internal): Set the member
5188 suppress_error to 1.
5189 (Fset_safe_terminal_coding_system_internal): Likewise.
5190
245ed2b1
SM
51912001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5192
5193 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5194 as if it was a `charset'.
5195
f9aaedb6
GM
51962001-01-24 Gerd Moellmann <gerd@gnu.org>
5197
5198 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5199 value in where_is_cache; the next lookup in the cache returns
5200 something bogus if we do.
5201
c3902c3e
EZ
52022001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5203
5204 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5205 if HAVE_WINDOW_SYSTEM isn't defined.
5206
3497f73e
GM
52072001-01-24 Gerd Moellmann <gerd@gnu.org>
5208
e7e41584
GM
5209 * fns.c (sweep_weak_table): Fix code taking items out of
5210 the hash collision chain. Some cleanup.
5211
3497f73e
GM
5212 * xterm.c (x_new_font): Don't change a tooltip's size.
5213
5214 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5215 background color by specifying a color for the default font
5216 in .Xdefaults.
5217
3d48e687
KH
52182001-01-24 Kenichi Handa <handa@etl.go.jp>
5219
96531b20
KH
5220 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5221 a workaround for SunOS 4's cc.
5222 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5223 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5224 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5225 statement.
3d48e687 5226
a30629d2
GM
52272001-01-23 Gerd Moellmann <gerd@gnu.org>
5228
5229 * xterm.c (x_set_window_size_1): New function extracted from
5230 x_set_window_size.
5231 (x_set_window_size): Use it.
5232 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5233 doesn't have a widget, like tooltips.
5234
5a43decf
EZ
52352001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5236
52283633 5237 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5238
b0e98867
KH
52392001-01-23 Kenichi Handa <handa@etl.go.jp>
5240
5241 * fns.c (Fset_char_table_default): Fix to make sub char-table
5242 correctly.
5243
50606b4c
GM
52442001-01-22 Gerd Moellmann <gerd@gnu.org>
5245
cb2ddc53 5246 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5247 a desired tool bar string, even if there are no tool bar items.
5248
57c28064
GM
5249 * xdisp.c (Ftool_bar_lines_needed): New function.
5250 (syms_of_xdisp): Defsubr it.
5251
50606b4c
GM
5252 * editfns.c (Fformat): Don't extend text properties from arguments
5253 to padding chars in the result.
5254
2f169c38
EZ
52552001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5256
5257 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5258
0f32f023
AI
52592001-01-20 Andrew Innes <andrewi@gnu.org>
5260
52283633 5261 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5262 (w32_initialize): Don't set term hooks that aren't actually needed
5263 in windowed mode.
5264
5265 * xfaces.c (realize_default_face):
5266 (realize_face):
5267 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5268
5269 * xdisp.c (handle_single_display_prop): Remove references to
5270 FRAME_W32_CONSOLE_P.
5271
52283633 5272 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5273
5274 * frame.h (output_method): Remove output_w32_console method.
5275 (FRAME_W32_CONSOLE_P): Remove macro.
5276
5277 * frame.c (Qw32_console): Remove variable.
5278 (Fframep): Remove references to it.
5279 (syms_of_frame): Ditto.
5280 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5281
5282 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5283 redefinition.
5284
7173eada
KH
52852001-01-20 Kenichi Handa <handa@etl.go.jp>
5286
5287 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5288
755b45ce
AI
52892001-01-19 Andrew Innes <andrewi@gnu.org>
5290
5291 * w32.c (init_environment): Add a version-independent site-lisp
5292 directory to EMACSLOADPATH, after the version dependent one.
5293
0a949811
GM
52942001-01-19 Gerd Moellmann <gerd@gnu.org>
5295
8501998a
GM
5296 * editfns.c (Fbuffer_substring): Doc fix.
5297
52283633
SM
5298 * xdisp.c (message_dolog, message2, message2_nolog):
5299 Rename parameter LEN to NBYTES.
0a949811 5300
e6ebcbbe
KH
53012001-01-19 Kenichi Handa <handa@etl.go.jp>
5302
200ecca2
KH
5303 * charset.c (strwidth): Use c_string_width.
5304 (c_string_width): New function.
5305 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5306 Caller changed.
5307
5308 * charset.h (c_string_width, lisp_string_width): Extern them.
5309
52283633 5310 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5311
e6ebcbbe
KH
5312 * indent.c (check_composition): Check validity of composition.
5313
200ecca2
KH
5314 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5315 characters by calling c_string_width.
5316 (x_consider_frame_title): Get byte length of frame tile string
5317 correctly.
5318 (display_mode_element): Pay attention to width of non-ASCII
5319 characters by calling strwidth.
5320
8692ca92
GM
53212001-01-18 Gerd Moellmann <gerd@gnu.org>
5322
8962e303
GM
5323 * xfns.c (Qcancel_timer): New variable.
5324 (syms_of_xfns): Initialize and staticpro it.
5325 (Fx_hide_tip, Fx_show_tip): Use it.
5326 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5327 the timer.
5328 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5329
91523be9
GM
5330 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5331
5332 * window.h (WINDOW_LIVE_P): New macro.
5333
b0b7ed0e
GM
5334 * window.c (window_size_fixed): New variable.
5335 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5336 the doc string.
5337
06bccf8e
GM
5338 * eval.c (specbind): If binding a per-buffer variable which
5339 doesn't have a buffer-local value in the current buffer, change
5340 the global value by changing the value of the symbol bound in all
5341 buffers not having their own value, to make it consistent with
5342 what happens with other buffer-local variables.
5343
8692ca92
GM
5344 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5345
5346 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5347 when searching for a newline.
5348
bb3a3b50
KH
53492001-01-18 Kenichi Handa <handa@etl.go.jp>
5350
5351 * xdisp.c (display_string): Fix previous change.
5352
c2cc16fa
JR
53532001-01-18 Jason Rumney <jasonr@gnu.org>
5354
5355 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5356 GLYPH_DEBUG is defined.
5357 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5358 true for images with `:ascent 100'.
5359 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5360 meantime, use face MOUSE_FACE_ID.
5361 If first glyph isn't a character glyph, use the ASCII NUL
5362 character to determine the face.
5363 (expose_area): Do not treat left margin specially.
5364 (note_mode_line_highlight): If no local_map, check global keymap.
5365 (note_mouse_highlight): Initialize overlay.
52283633 5366 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5367 (show_scroll_bars): Remove unused function.
5368 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5369 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5370 Clip to row.
52283633 5371 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5372 (x_free_frame_resources): Unload relief colors.
5373
9c11f79e
GM
53742001-01-17 Gerd Moellmann <gerd@gnu.org>
5375
3aec8722 5376 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5377 get_next_display_element when the newline is already found.
5378 This may change the iterator's position, when its current position is
3aec8722
GM
5379 equal to the iterator's stop_charpos.
5380
f3ffc2c3
GM
5381 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5382 zero, use this method only at the end of a line.
5383
52283633 5384 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5385 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5386 if SCALABLE_FONTS_P is set.
52283633 5387
d26d6fd9
GM
5388 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5389 so that scalable fonts are included.
5390
9c11f79e
GM
5391 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5392 In the cache, use a key containing the information if scalable
5393 fonts are included.
5394 (x_load_font): Adapt to change of keys in the font cache.
5395
53962001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5397
d26d6fd9
GM
5398 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5399 XListFonts to take advantage of font caching.
5400
9c11f79e
GM
5401 * xterm.c (x_list_fonts): Ensure caching font information when
5402 called for a null frame, which is the case frequently when Emacs
5403 starts.
5404
51446987
GM
54052001-01-17 Gerd Moellmann <gerd@gnu.org>
5406
f864120f
GM
5407 * xfns.c (QCconversion): Replaces QCalgorithm.
5408
5409 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5410
5411 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5412 of :algorithm.
52283633 5413
e37d1417
GM
5414 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5415 not everything could be displayed.
5416
51446987
GM
5417 * line.h, x-list-font.c: Files removed because unused.
5418
9ad4f3e5
AI
54192001-01-17 Andrew Innes <andrewi@gnu.org>
5420
5421 * dired.c (directory_files_internal): Convert result from readdir
5422 to a unibyte string initially, to avoid possible misinterpretation
5423 of some bytes as the internal form of Emacs characters.
5424
2eda09b5
KH
54252001-01-17 Kenichi Handa <handa@etl.go.jp>
5426
5427 * fns.c (concat): Be sure to avoid putting the same `composition'
5428 property on the adjacent regions.
5429
826f3788
GM
54302001-01-16 Gerd Moellmann <gerd@gnu.org>
5431
52283633 5432 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5433 (Fscroll_right, Fscroll_left): Set it here instead, if called
5434 interactively.
5435
d57b83b3
GM
5436 * buffer.c (Fset_buffer_modified_p): Set buffer's
5437 prevent_redisplay_optimizations_p flag.
5438
826f3788 5439 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5440 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5441 with additional arg.
5442
5443 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5444 Change prototype.
826f3788 5445
826f3788
GM
5446 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5447 FROM_WHERE, for debugging.
5448
261d788b
KH
54492001-01-16 Kenichi Handa <handa@etl.go.jp>
5450
5451 * ccl.c (Fregister_ccl_program): Handle the return value of
5452 resolve_symbol_ccl_program correctly.
52283633 5453 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5454
bccee4f2
GM
54552001-01-15 Gerd Moellmann <gerd@gnu.org>
5456
e4ded23c
GM
5457 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5458 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5459
5460 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5461 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5462 the display; we didn't open it.
5463
bccee4f2
GM
5464 * dispnew.c (save_or_restore_current_matrices): Function removed.
5465 (save_current_matrix, restore_current_matrix): New functions.
5466 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5467 restore the frame's current matrix. Due to the glyph pointer
5468 setup done in adjust_glyph_matrix, there is no easy way to make
5469 saving the current matrix in the desired matrix generally correct,
5470 so don't try it.
5471
ebeccffa
KH
54722001-01-15 Kenichi Handa <handa@etl.go.jp>
5473
5474 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5475 truncation glyphs.
5476 (display_line): Optimize for wide characters.
e4ded23c 5477 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5478 partially. On ttys, produce more than one truncation glyph for
5479 multi-column characters that don't fit on the line.
5480
64388126
KH
54812001-01-13 Kenichi Handa <handa@etl.go.jp>
5482
52283633
SM
5483 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5484 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5485
8edb0a6f
JR
54862001-01-13 Jason Rumney <jasonr@gnu.org>
5487
5488 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5489 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5490 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5491 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5492
52283633
SM
5493 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5494 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5495 (x_draw_image_glyph_string): Adapt to change of image margins.
5496
5497 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5498 variables.
5499
5500 * w32bdf.c (search_file_line, get_cached_font_char)
5501 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5502
5503 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5504
5505 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5506 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5507 (Fw32_send_sys_command): Remove unused variables.
5508 (w32_msg_pump): Add parentheses.
5509
5510 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5511 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5512 Add parentheses.
5513
4956d1ef
GM
55142001-01-12 Gerd Moellmann <gerd@gnu.org>
5515
b30623be
GM
5516 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5517 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5518 being a pair of margins.
5519 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5520 to DEFVAR_LISP. Extend doc.
5521
5522 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5523 margins.
5524 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5525 pair of integers `(X . Y)', use X for the horizontal and Y for the
5526 vertical margin.
5527 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5528 (parse_image_spec): Check it.
52283633
SM
5529 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5530 (tiff_format, gif_format, gs_format):
5531 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5532
52283633
SM
5533 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5534 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5535 (x_draw_image_glyph_string): Adapt to the change of image margins.
5536
5537 * dispextern.h (struct image): Replace member `margin' with
5538 `hmargin' and `vmargin'.
5539
4554cc79
GM
5540 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5541 and GLYPHS.
5542
5543 * dispnew.c (update_text_area): Put code which decrements the
5544 stop position when the row's face extends to the end of the
3bffc665 5545 line in #if 0.
4554cc79 5546
3cccce8d
GM
5547 * xfns.c (x_set_mouse_color): Fix color allocation.
5548
4956d1ef
GM
5549 * keyboard.c: Call get_local_map with new argument list.
5550
5551 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5552
5553 * intervals.h (enum map_property): Removed.
5554 (get_local_map): Change prototype.
5555
5556 * keymap.c: Call get_local_map with new argument list.
5557 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5558
2c2ff7f2
GM
55592001-01-11 Gerd Moellmann <gerd@gnu.org>
5560
a23887b9
GM
5561 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5562 of the size needed for the tool bar string. For the last image,
5563 use a `display' property that reaches to the end of the string.
5564
a7ee2d2e
GM
5565 * xselect.c (selection_request_dpyinfo): New variable.
5566 (x_handle_selection_request): Set it.
5567 (x_selection_request_lisp_error): Don't call
5568 x_decline_selection_request if selection request's display has
5569 been closed.
5570
52283633
SM
5571 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5572 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5573
457b792c
GM
55742001-01-10 Dave Love <fx@gnu.org>
5575
5576 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5577 ${SOME_MACHINE_LISP}, not ${lisp}.
5578
c1efd260
GM
55792001-01-10 Gerd Moellmann <gerd@gnu.org>
5580
52283633
SM
5581 * xdisp.c (display_line): On ttys, produce more than one truncation
5582 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5583
ac95a621
GM
5584 * xselect.c (x_reply_selection_request): Add a comment.
5585
c1efd260
GM
5586 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5587 XkbGetNames instead of XkbGetKeyboard.
5588
1bfb1345
DL
55892001-01-10 Dave Love <fx@gnu.org>
5590
5591 * sysdep.c (random): Revert the declaration.
5592
38119822
GM
55932001-01-09 Gerd Moellmann <gerd@gnu.org>
5594
52283633
SM
5595 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5596 Call function string_bytes.
35f464a7
GM
5597 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5598
5599 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5600 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5601 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5602 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5603 the current sblock.
5604 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5605 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5606 after sweeping strings, and at the end.
5607 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5608
38119822
GM
5609 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5610 ensure that pop_message is called.
5611
5612 * keyboard.c (Fexecute_extended_command): Use a
5613 record_unwind_protect to ensure that pop_message is called.
5614
5615 * lisp.h (push_message_unwind): Add prototype.
5616
5617 * xdisp.c (push_message_unwind): New function.
5618
5619 * fileio.c (do_auto_save_unwind): Do the pop_message here
5620 instead of in Fdo_auto_save.
5621 (Fdo_auto_save): Don't call pop_message.
5622
f47a9ec4
KR
56232001-01-08 Ken Raeburn <raeburn@gnu.org>
5624
5625 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5626 in inner block.
5627
a758f97d
GM
56282001-01-08 Gerd Moellmann <gerd@gnu.org>
5629
6d0afc03
GM
5630 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5631 when increasing window's vscroll.
5632
a758f97d
GM
5633 * macros.c (Qkbd_macro_termination_hook): New variable.
5634 (syms_of_macros): Initialize and staticpro it.
5635 (pop_kbd_macro): Run kbd-macro-termination-hook.
5636
5637 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5638
1bfb1345 56392001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5640
5641 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5642 arglist, for documentation's sake.
5643
0dac6924
AI
56442001-01-06 Andrew Innes <andrewi@gnu.org>
5645
5646 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5647 of *.pdb.
5648
8182406a
AI
56492001-01-05 Andrew Innes <andrewi@gnu.org>
5650
5651 * term.c (update_end): Don't check updating_frame; for some reason
5652 this can be 0 sometimes, such as after dismissing a popup menu,
5653 and isn't necessary given the explicit frame argument.
5654
3828218c
GM
56552001-01-05 Gerd Moellmann <gerd@gnu.org>
5656
5657 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5658 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5659
2f5ded21
GM
56602001-01-04 Gerd Moellmann <gerd@gnu.org>
5661
52283633 5662 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5663
5664 * xfns.c (x_create_tip_frame): Preserve the value of
5665 face_change_count around the creation of the tip frame.
52283633 5666
2f5ded21
GM
5667 * xfns.c (last_show_tip_args): New variable.
5668 (compute_tip_xy): New function.
5669 (Fx_show_tip): Reuse an existing tip frame, if possible.
5670 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5671
dfad65fa
DL
56722001-01-04 Dave Love <fx@gnu.org>
5673
64d4ec0f
DL
5674 * editfns.c (Fformat): Doc fix.
5675
dfad65fa
DL
5676 * systime.h (set_file_times): Prototype.
5677
5678 * widget.h (EmacsFrameSetCharSize_): Prototype.
5679
5680 * sysdep.c (random, srandom): Declare explicitly.
5681
5682 * dispextern.h (move_it_vertically_backward): Declare.
5683
85fe3b5e
GM
56842001-01-04 Gerd Moellmann <gerd@gnu.org>
5685
0f2ac578
GM
5686 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5687 like in Fx_create_frame.
5688
482cca61
GM
5689 * xfaces.c (set_font_frame_param): Don't do anything for
5690 non-graphical frames.
5691
85fe3b5e
GM
5692 * window.c (Fdelete_other_windows): Set window's window_end_valid
5693 to nil when changing the window's start. Don't change the
5694 window's start when its top position hasn't changed. If we do,
5695 this will set the window's optional_new_start, which act's like a
5696 force_start during redisplay with C-x 1 M-> under particular
5697 circumstances (see report from Per Starback to emacs-pretest-bug
5698 from 2000-12-13.).
5699
3e99d3b4
GM
57002001-01-03 Gerd Moellmann <gerd@gnu.org>
5701
a77dc1ec
GM
5702 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5703 short cut at the start of the function. Add an assertion.
5704 (reseat_at_next_visible_line_start): Add an assertion.
5705
2f3cad6c
GM
5706 * window.c (Frecenter): When changing the window start, set the
5707 window's window_end_valid to nil.
5708 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5709
5710 * dispextern.h (move_it_past_eol): Add prototype.
5711
5712 * xdisp.c (move_it_past_eol): New function.
5713
3e99d3b4
GM
5714 * window.c (Fwindow_end): Doc fix.
5715
57162001-01-03 Dave Love <fx@gnu.org>
5717
52283633 5718 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5719
bafb434c
GM
57202001-01-03 Gerd Moellmann <gerd@gnu.org>
5721
5722 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5723 the enabled_p flag of the glyph row at window_end_vpos to 0.
5724 (handle_single_display_prop): Fix last change.
5725
5297fb00
RS
57262001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5727
5728 * window.c (Frecenter): Doc fix.
5729
13d6a61c
AI
57302001-01-02 Andrew Innes <andrewi@gnu.org>
5731
5732 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5733
5734 * frame.h (output_method): Add output_w32_console method.
5735 (FRAME_W32_CONSOLE_P): New macro.
5736
5737 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5738 use output_w32_console method.
5739 (Qw32_console): New Lisp_Object.
5740 (Fframep): Return it.
5741 (syms_of_frame): Init it.
52283633 5742 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5743
5744 * xfaces.c (realize_default_face): Set face foreground and
5745 background to unspecified for w32_console frames.
5746 (realize_face): Realize face cache for w32_console frames.
5747 (realize_tty_face): Accept w32_console frames.
5748
52283633 5749 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5750 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5751 necessary, even if running interactively.
5752
5753 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5754 w32_console frames.
5755
52283633
SM
5756 * w32term.c (x_update_begin):
5757 (x_update_end):
5758 (x_clear_frame):
5759 (x_ins_del_lines):
5760 (x_change_line_highlight):
5761 (x_delete_glyphs):
5762 (w32_ring_bell):
5763 (x_update_begin):
5764 (x_update_end):
5765 (w32_reassert_line_highlight):
5766 (w32_frame_rehighlight):
13d6a61c
AI
5767 (w32_frame_raise_lower): Do nothing if not w32 frame.
5768
5769 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5770
5771 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5772 system doesn't tell us directly.
5773 (Fx_display_visual_class): Implement properly.
5774
d6bb0c0d
GM
57752001-01-02 Gerd Moellmann <gerd@gnu.org>
5776
5777 * window.c (Frecenter): Handle centering in graphical frames
5778 specially. Centering on the basis of line counts doesn't work
5779 reliably with variable-height lines.
52283633 5780
315f5865
EZ
57812001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5782
5783 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5784 and al[].
5785
52283633 5786 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5787 (update_compositions): Remove unused variable `hook'.
5788
5789 * intervals.c (get_local_map): Remove unused variable `tem'.
5790
5791 * doprnt.c (doprnt1): Remove unused variable `size'.
5792
5793 * fns.c (Flength): Remove unused variable `tail'.
5794 (Fdelete): Remove unused variable `size'.
5795
5796 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5797 and `gcpro2'.
5798
52283633 5799 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5800
5801 * data.c (find_symbol_value): Remove extra 3rd argument in the
5802 call to swap_in_symval_forwarding.
5803
52283633 5804 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5805
5806 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5807 (trivial_regexp_p): Remove unused variable `c'.
5808 (boyer_moore): Remove unused variable `k'.
5809
5810 * indent.c (current_column): Remove unused variable `stopchar'.
5811 (Fcompute_motion): Remove unused variable `contin'.
5812
5813 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5814
5815 * dired.c (directory_files_internal): Fix a typo in a comment.
5816 Remove an unused variable `handler'.
52283633 5817 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5818 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5819 on BSD4_2.
5820
52283633 5821 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5822
5823 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5824 and `buf'.
5825 (Fmarker_insertion_type): Remove unused variable `buf'.
5826
5827 * insdel.c (make_gap): Remove unused variable `result'.
5828
52283633 5829 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5830 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5831 (menu_bar_items): Remove unused function-scope variable `tem'.
5832
5833 * fontset.c (fontset_ref): Remove unused variable `i'.
5834 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5835 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5836 (make_fontset_for_ascii_face): Remove unused variable `name'.
5837 (fs_load_font): Remove unused variable `font_idx'.
52283633 5838 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5839 (list_fontsets): Remove unused variable `tail'.
5840 (Fnew_fontset): Remove unused variables `family' and `registry'.
5841 (accumulate_font_info): Remove unused variable `tmp'.
5842 (Ffontset_font): Remove unused variable `id'.
5843 (syms_of_fontset): Remove unused variable `i'.
5844
5845 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5846 to x_term_init.
5847 (lookup_image): Remove unused variable `file'.
5848 (xbm_load): Remove unused variables `bitmap_data', `height', and
5849 `width'. Remove function-local variable `i', leave the
5850 block-local one.
5851 (gif_load): Remove unused variable `inc'.
5852
52283633 5853 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5854 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5855 leave only the one in the inner block.
5856
5857 * xfaces.c (face_fontset, realize_default_face): Remove unused
5858 variable `fontset'.
5859 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5860
5861 * term.c (encode_terminal_code): Remove unused variable `c'.
5862
5863 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5864 char *' instead of `char *'.
5865
5866 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5867 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5868 (Fchar_category_set): Remove unused variables `val', `charset',
5869 `c1' and `c2'.
5870
52283633
SM
5871 * coding.c (detect_coding_iso2022, setup_coding_system):
5872 Remove unused variable `i'.
315f5865
EZ
5873 (detect_coding_mask): Remove unused variable `idx'.
5874 (detect_coding): Remove unused variable `i'.
5875 (ccl_coding_driver): Remove unused variable `result'.
5876 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5877 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5878 (encode_coding_string): Remove unused variables `gcpro1' and
5879 `saved_coding_symbol'.
5880 (Ffind_coding_systems_region_internal): Remove function-local
5881 variable args[], leave only the block-local one.
5882 (code_convert_region1): Remove unused variable `len'.
5883
5884 * charset.c (char_printable_p): Remove unused variable `chars'.
5885 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5886 (str_to_multibyte): Remove unused variable `c'.
5887
5888 * window.c (size_window): Remove block-local variable `min_size'.
5889
5890 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5891 `header_line_height'.
5892 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5893 enum display_element_type.
5894
1a8a9daf
GM
58952001-01-02 Gerd Moellmann <gerd@gnu.org>
5896
6dde6abc 5897 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5898 statements that call X. Save away the error message in a local copy.
5899
1883b2c6
GM
5900 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5901 the start.
5902
a13be207
GM
5903 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5904 in or at the start of invisible text.
5905
1a8a9daf
GM
5906 * dispnew.c (update_window): Don't check_current_matrix_flags.
5907
3608c0f9
JR
59082001-01-01 Jason Rumney <jasonr@gnu.org>
5909
5910 * w32fns.c (x_figure_window_size): Do not allow new_height and
5911 new_width of frame to override specified values.
5912
abb1acc4
KH
59132000-12-30 Kenichi Handa <handa@etl.go.jp>
5914
52283633 5915 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5916
762a68ec
GM
59172000-12-29 Gerd Moellmann <gerd@gnu.org>
5918
52283633 5919 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5920 (update_window) [GLYPH_DEBUG]: Call it.
5921 (scrolling_window): Prevent including current rows which are below
5922 what's displayed in the window.
5923
5924 * xdisp.c (try_window_reusing_current_matrix)
5925 <new start <= old start>: Disable rows in the current matrix
5926 which are below the window after scrolling.
52283633 5927
762a68ec
GM
5928 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5929 is zero. It's not worth the complexity.
5930 (invisible_text_between_p): Put in #if 0 because unused.
5931
2d5912c1
GM
59322000-12-28 Gerd Moellmann <gerd@gnu.org>
5933
46f6a258
GM
5934 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5935 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5936
89f93679
GM
5937 * keyboard.c (echo_char): If C is an integer, always call
5938 push_key_description. Former code could signal an invalid
5939 character error.
5940
5941 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5942 If set, print multibyte text.
5943 (Fsingle_key_description): Call push_key_description with
5944 FORCE_MULTIBYTE set.
5945 (describe_buffer_bindings): Likewise.
5946
5947 * lisp.h (push_key_description): Add prototype.
5948
c06017fb
GM
5949 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5950 around the call to redisplay_internal.
5951
f1d2ce7f
GM
5952 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5953
2d5912c1
GM
5954 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5955
9371f831
KH
59562000-12-28 Kenichi Handa <handa@etl.go.jp>
5957
5958 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5959 (ccl_driver): New local variable `extra_bytes'.
5960
5961 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5962
52283633
SM
5963 * coding.c (setup_coding_system):
5964 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5965 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5966
0c80628a
KH
59672000-12-28 Kenichi Handa <handa@etl.go.jp>
5968
5969 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5970 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5971 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5972 (decode_composition_emacs_mule): New function.
5973 (decode_coding_emacs_mule): Decode composition sequence by calling
5974 decode_composition_emacs_mule.
5975 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5976 (encode_coding_emacs_mule): Changed from macro to function.
5977 If a text contains compositions, encode them correctly.
0c80628a
KH
5978 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5979 that decoding and encoding are required.
5980
3e32cc27
GM
59812000-12-27 Gerd Moellmann <gerd@gnu.org>
5982
5e25feee
GM
5983 * xfaces.c (PT_PER_INCH): New macro.
5984 (xlfd_point_size): Compute real point size from font's pixel size.
5985 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5986 instead of 72.
5987
892d8fcd
GM
5988 * .gdbinit: Comment out the line pointing to the Lesstif source
5989 directory.
5990
12c8b416
GM
5991 * window.c (Frecenter): Use displayed_window_lines instead
5992 of window_internal_height.
5993
6061fbf0
GM
5994 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5995 instead of x-toolkit-scroll-bars-p.
5996 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5997
5998 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5999 instead of x-toolkit-scroll-bars-p.
6000 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6001
3e32cc27
GM
6002 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6003 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6004 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6005 New variables.
6006 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6007 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6008 (build_frame_matrix_from_leaf_window): Remove unused code.
6009 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6010 redisplay history.
6011 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6012 (update_window) [GLYPH_DEBUG]: Likewise.
6013 (syms_of_display): Defsubr dump-redisplay-history.
6014
31798cfe
GM
60152000-12-23 Gerd Moellmann <gerd@gnu.org>
6016
f717c2ba
GM
6017 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6018 the end of the prompt. Set echo_after_prompt to the offset
6019 of echoptr in echobuf.
6020
aeb2b8fc
GM
6021 * xdisp.c (init_from_display_pos): Pop until the iterator's
6022 stack is empty; there may be frames for stretch or images
6023 on the stack.
6024
31798cfe
GM
6025 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6026 (save_or_restore_current_matrix): New function for the same
6027 purpose, but more efficient.
6028 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6029
f8156156
EZ
60302000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6031
6032 * xdisp.c (syms_of_xdisp): Fix last change.
6033
bdd6d4e8
GM
60342000-12-23 Gerd Moellmann <gerd@gnu.org>
6035
6036 * xdisp.c (syms_of_xdisp): Doc fix.
6037
6038 * xdisp.c (redisplay_window): Remove label restore_buffers;
6039 use finish_scroll_bars instead to make sure that scroll bars
6040 are redeemed. If we don't do this, flickering can result from
6041 scroll bars being destroyed and recreated.
6042
9436cdf9
JR
60432000-12-22 Jason Rumney <jasonr@gnu.org>
6044
6045 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6046 in the wrong colors when the foreground is not black.
6047 (expose_window): Don't redraw the window that's currently being
6048 updated.
6049
951f9df5
GM
60502000-12-22 Gerd Moellmann <gerd@gnu.org>
6051
856ff7a7
GM
6052 * window.c (size_window): When setting the window's too_small_ok
6053 flag, compare old size with minimum size depending on WIDTH_P,
6054 don't compare with window_min_width.
52283633 6055
951f9df5
GM
6056 * window.c (delete_window): Simplify somewhat.
6057 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6058 freeing window matrices. The flag windows_or_buffers_changed is
6059 set, so the next redisplay will consider all windows; this should
6060 suffice.
6061
886bc933
KH
60622000-12-22 Kenichi Handa <handa@etl.go.jp>
6063
6064 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6065
6066 * ccl.h (struct ccl_program): New member cr_consumed.
6067
6068 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6069 (CCL_READ_CHAR): Handle EOL conversion here.
6070 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6071
177f4e88
GM
60722000-12-21 Gerd Moellmann <gerd@gnu.org>
6073
52283633 6074 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6075
6076 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6077 otherwise tabs of different size compare equal.
6078
6079 * callint.c (Fcall_interactively): Prevent a compiler warning.
6080
6081 * print.c (print_unwind): Return nil.
6082 (PRINTDECLARE): Initialize all local variables.
6083 (print_preprocess): Add a default case.
6084
8e15274f
GM
6085 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6086
6087 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6088
52283633 6089 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6090 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6091
6092 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6093
6094 * dispnew.c (ensure_frame_matrix): Removed.
6095 (save_frame_matrix, restore_frame_matrix): New functions.
6096 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6097
6098 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6099 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6100
99012074
AI
61012000-12-21 Andrew Innes <andrewi@gnu.org>
6102
6103 * w32term.c (x_update_begin): Regenerate the palette here, rather
6104 than for each window.
6105
6106 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6107 palette is NULL, since this corrupts memory! Also get
6108 display_info reference from frame.
6109
29ef7d2d
JR
61102000-12-21 Jason Rumney <jasonr@gnu.org>
6111
6112 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6113
6114 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6115 to avoid returning without releasing it.
3e27fa1f 6116
3f9d67a6
KH
61172000-12-21 Kenichi Handa <handa@etl.go.jp>
6118
587fc3f9
KH
6119 * keymap.c (push_key_description): Don't convert eight-bit-control
6120 and eight-bit-graphic to multibyte character.
6121
3f9d67a6
KH
6122 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6123 generic character and CODE1 is nil, return the smallest character
6124 in CHARSET.
6125
774ba8c9
DL
61262000-12-20 Dave Love <fx@gnu.org>
6127
6128 * s/osf5-0.h (NSIG): Don't redefine.
6129
88416888
SM
61302000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6131
6132 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6133 excluding menu-bar and tool-bar.
6134 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6135 (menu_item_p): Remove.
6136 (where_is_internal_1): Don't ignore menu-items.
6137
a6426c6f
GM
61382000-12-20 Gerd Moellmann <gerd@gnu.org>
6139
03ff8aab
GM
6140 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6141 into account.
6142
6143 * window.c (make_window): Initialize window's min_hscroll.
6144 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6145 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6146 to zero.
6147 (struct saved_window): New member min_hscroll.
6148 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6149 (Fset_window_configuration): Set window's min_hscroll.
6150 (save_window_save): Save window's min_hscroll.
6151 (compare_window_configurations): Compare min_hscroll values.
6152
6153 * window.h (struct window): New member min_hscroll.
6154
6155 * keyboard.c (echo_prompt): Prevent a compiler warning.
6156
8de4aaf8
GM
6157 * xdisp.c (try_cursor_movement): Fix last change. The real
6158 condition is that PT is at the end of the row, and should
6159 be displayed at the start of the next row.
52283633 6160
3f7e3031
GM
6161 * xdisp.c (try_cursor_movement): If we end on a partially
6162 visible line, end we already decided to scroll, return -1.
6163
a6426c6f
GM
6164 * dispextern.h (ensure_frame_matrix): Add prototype.
6165
6166 * window.c (delete_window, Fsplit_window)
6167 (Fset_window_configuration): Call ensure_frame_matrix.
6168
52283633
SM
6169 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6170 New functions.
a6426c6f
GM
6171 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6172 completed, call fake_current_matrices instead of marking frame
6173 garbaged.
6174
57fa2774
JR
61752000-12-20 Jason Rumney <jasonr@gnu.org>
6176
6177 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6178
d925df90
EZ
61792000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6180
6181 * fns.c (Frequire): Doc fix.
6182
7b93a85b
GM
61832000-12-19 Gerd Moellmann <gerd@gnu.org>
6184
52283633 6185 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6186
c74e645b
GM
6187 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6188 currently displaying a message.
6189
7b93a85b
GM
6190 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6191 xterm.h.
6192 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6193
90d97e64
AI
61942000-12-18 Andrew Innes <andrewi@gnu.org>
6195
6196 * w32.c (w32_strerror): New function.
6197
6198 * w32.h (w32_strerror): New extern.
6199
6200 * w32fns.c (Fw32_shell_execute): Use it.
6201
91c9e6ce
GM
62022000-12-18 Gerd Moellmann <gerd@gnu.org>
6203
6204 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6205
6f4745e2
EZ
62062000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6207
6208 * msdos.c (IT_set_face): Obey inverse_video.
6209
c9e088ce
KH
62102000-12-18 Kenichi Handa <handa@etl.go.jp>
6211
6212 * dired.c (directory_files_internal): Always return decoded filenames.
6213
c3695f5f
GM
62142000-12-18 Gerd Moellmann <gerd@gnu.org>
6215
52d8e4ff
GM
6216 * xterm.c (x_connection_closed): Prevent being called recursively
6217 because of an error condition in XtCloseDisplay.
52283633 6218
62be9979
GM
6219 * xdisp.c (init_iterator): If noninteractive, and the frame's
6220 face cache is null, make one.
6221
52283633 6222 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6223
c3695f5f
GM
6224 * process.c (wait_reading_process_input): Check for pending
6225 input when running timers.
6226
78555fbe
EZ
62272000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6228
52283633 6229 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6230
b2b36264
KH
62312000-12-18 Kenichi Handa <handa@etl.go.jp>
6232
6233 * process.c (read_process_output): Don't run a filter if the code
6234 decoder produces nothing but carryover.
6235
9c543fbf
AI
62362000-12-17 Andrew Innes <andrewi@gnu.org>
6237
6238 * w32.c (sys_rename): Only check errno against EEXIST, and not
6239 EACCES, when determining whether rename failed because the target
6240 exists. This was resulting in indefinite looping on Windows 9x if
6241 the source file was locked by another process.
6242
6243 * w32fns.c (Ffile_system_info): New function.
6244 (syms_of_w32fns): Defsubr it.
6245
10c2b5a8
GM
62462000-12-17 Gerd Moellmann <gerd@gnu.org>
6247
b0228ace
GM
6248 * window.c (coordinates_in_window): Fix computation for
6249 position on vertical line between mode lines.
6250
10c2b5a8
GM
6251 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6252 Don't alter tip_frame or tip_window.
6253 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6254 was deleted.
6255
c844a81a
GM
6256 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6257 Don't alter tip_frame or tip_window.
6258 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6259 was deleted.
6260
6c825f8e
EZ
62612000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6262
6263 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6264 be consistent with the doc string. Reported by NAKAJIMA Mikio
6265 <minakaji@osaka.email.ne.jp>.
6266
af4bb4c8
KH
62672000-12-16 Kenichi Handa <handa@etl.go.jp>
6268
6269 * xfaces.c (Vface_ignored_fonts): New variable.
6270 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6271 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6272
8062e53a
GM
62732000-12-15 Gerd Moellmann <gerd@gnu.org>
6274
e87b8809
GM
6275 * dispnew.c (update_window): Detect pending input every nth line
6276 updated, i.e. do it depending on real work done, and not on the
6277 vpos of the line.
6278
6279 * xterm.c (expose_window): Don't redraw the window that's
6280 currently being updated.
6281
a6768cc5
GM
6282 * window.c (Fset_window_point): Remove test for
6283 cursor_in_non_selected_windows.
6284
4ea7fdca
GM
6285 * lread.c (read1): Recognize end of file after `\\'.
6286
8062e53a
GM
6287 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6288 not unwind_create_frame.
6289
bb7959c1
GM
62902000-12-15 Dave Love <fx@gnu.org>
6291
6292 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6293 bcopy & al.
6294
6295 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6296
ced04c42
KH
62972000-12-15 Kenichi Handa <handa@etl.go.jp>
6298
c5443913
KH
6299 * coding.c (setup_coding_system): Clear all members of the struct
6300 coding_system at first.
bc137305
KH
6301 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6302 argument.
6303 (code_convert_region): Don't override coding->src_multibyte and
6304 coding->dst_multibyte.
c5443913 6305
ced04c42
KH
6306 * fns.c (Fmd5): Docstring improved.
6307
c2d7f289
MB
63082000-12-15 Miles Bader <miles@gnu.org>
6309
6310 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6311 are actually marked as mode-lines; otherwise use
6312 estimate_mode_line_height.
6313
9d7d9263
GM
63142000-12-14 Gerd Moellmann <gerd@gnu.org>
6315
6316 * editfns.c (Fformat): Prevent a buffer overrun when the format
6317 specifies a precision.
6318
7cf0153a
EZ
63192000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6320
6321 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6322 argument is outside the range [2..3].
6323
1de0f662
AI
63242000-12-14 Andrew Innes <andrewi@gnu.org>
6325
6326 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6327 nothing to do. Bind inhibit-quit.
6328 (tip_frame): Make it a Lisp_Object.
6329 (x_create_tip_frame): Set tip_frame after it has been added to
6330 Vframe_list.
6331 (Fx_show_tip): Don't set tip_frame here.
52283633 6332 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6333 (unwind_create_frame, unwind_create_tip_frame): New functions.
6334 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6335 while a frame is only partially constructed.
6336
6337 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6338 (x_free_frame_resources): New function.
6339 (x_destroy_window): Use it.
6340
02387dcc
GM
63412000-12-14 Gerd Moellmann <gerd@gnu.org>
6342
6343 * xfns.c (Fx_backspace_delete_keys_p): New function.
6344 (syms_of_xfns): Defsubr it.
6345
6346 * config.in (HAVE_XKBGETKEYBOARD): Add.
6347
0544ef49
KH
63482000-12-14 Kenichi Handa <handa@etl.go.jp>
6349
98d62747
KH
6350 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6351 Always store string in multibyte representation in echobuf.
6352 (echo_char): Always store string in multibyte representation in
6353 echobuf.
6354 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6355 (read_key_sequence): Adjusted for the change of echo_prompt.
6356
a20193cd
KH
6357 * fns.c (Fmd5): Docstring improved.
6358
191b83b6
KH
6359 * lisp.h (detect_coding_system): Prototype adjusted.
6360
0544ef49
KH
6361 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6362 (detect_coding_emacs_mule, detect_coding_iso2022,)
6363 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6364 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6365 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6366 (detect_coding_mask, detect_coding_system): New argument
6367 MULTIBYTEP. Callers changed.
1da1bb05
KH
6368 (decode_coding_string): Set coding->src_multibyte and
6369 coding->dst_multibyte before calling detect_coding and detect_eol.
6370 Update them after some coding system is detected.
52283633 6371
d5b3eb1b
SM
63722000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6373
6374 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6375
6376 * keyboard.c (menu_bar_items, tool_bar_items):
6377 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6378
f7f8bb69
GM
63792000-12-13 Gerd Moellmann <gerd@gnu.org>
6380
52283633 6381 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6382 New variables.
6383 (unwind_create_frame, unwind_create_tip_frame): New functions.
6384 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6385 while a frame is only partially constructed.
6386
6387 * xterm.h (x_free_frame_resources): Declare.
6388
6389 * xterm.c (x_free_frame_resources): New function.
6390 (x_destroy_window): Use it.
6391
e10da507
GM
6392 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6393 don't interrupt the update for pending input initially, i.e.
6394 update at least some lines.
6395
6396 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6397
d5b3eb1b 6398 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6399
6400 * xfns.c (gray_bitmap_bits): Declare `char *'.
6401
90aa2856
GM
64022000-12-12 Gerd Moellmann <gerd@gnu.org>
6403
6404 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6405 lines start with a relief line.
6406
a308c9cd
DL
64072000-12-12 Dave Love <fx@gnu.org>
6408
6409 * window.c (Fdisplay_buffer): Doc fix.
6410 (Fwindow_list): Remove unused var.
6411
6412 * buffer.h (mmap_set_vars): Declare.
6413
6414 * window.h (Fset_window_point): Declare.
6415
d575011f
EZ
64162000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6417
bf6282d2 6418 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6419 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6420 variable `area'. When looking for a row under (X,Y), give up if some
6421 of the previous rows is not enabled.
d575011f 6422
ecf4d726
GM
64232000-12-12 Gerd Moellmann <gerd@gnu.org>
6424
2ebf6139
GM
6425 * window.c (Fset_window_point): If displaying cursors in windows
6426 other than the selected window, make sure redisplay updates
6427 other windows to show the new value of point in the window.
6428
6429 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6430
bfdb75ee
GM
6431 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6432 the buffer is the sole visible buffer when in the mini-buffer.
6433
52283633 6434 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6435 Bind `inhibit-read-only' to t.
6436 (unwind_with_echo_area_buffer): Use AREF.
6437
c0006262
GM
6438 * xfns.c (Fx_hide_tip): Simplified.
6439
52283633
SM
6440 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6441 instead of `1'.
e9a59cad 6442
ecf4d726
GM
6443 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6444
e5959a9a
GM
64452000-12-11 Gerd Moellmann <gerd@gnu.org>
6446
a3642e49 6447 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6448
44b5a125
GM
6449 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6450 nothing to do. Bind inhibit-quit.
6451 (tip_frame): Make it a Lisp_Object.
6452 (x_create_tip_frame): Set tip_frame after it has been added to
6453 Vframe_list.
6454 (Fx_show_tip): Don't set tip_frame here.
6455
6456 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6457
6458 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6459 Lisp_Object.
6460
6461 * dispextern.h: Change external declaration of tip_frame.
6462
d990421f
GM
6463 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6464 return an empty string.
6465
4db87380
GM
6466 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6467 of the window's update_mode_line flag, since the former is set by
6468 force-mode-line-update, not the latter. This makes
6469 column-number-mode slightly faster.
52283633 6470
e5959a9a
GM
6471 * xdisp.c (try_window_id) <all changes above window start>:
6472 Set the cursor.
6473
169fe44e
GM
64742000-12-11 Paul Eggert <eggert@twinsun.com>
6475
6476 * config.in (HAVE_FTELLO): Remove.
6477 (HAVE_FSEEKO): Add.
6478 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6479 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6480 HAVE_FTELLO.
6481 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6482 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6483
59ec59ae
MB
64842000-12-11 Miles Bader <miles@gnu.org>
6485
6486 * window.c (displayed_window_lines): Don't round up when
6487 converting empty space at bottom to lines.
ff904dd6
MB
6488 Handle non-newline-terminated final lines properly.
6489 (Fwindow_text_height): New function (used to be in lisp).
6490 (syms_of_window): Initialize it.
59ec59ae 6491
42ebfa31
SM
64922000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6493
6494 * syntax.c (scan_lists): Check that the right quote char has the
6495 right Sstring syntax when jumping over strings.
6496 (init_syntax_once): Use Smax rather than 13.
6497
5cdb3cf3
MB
64982000-12-09 Miles Bader <miles@gnu.org>
6499
6500 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6501 with PARTIALLY, inverting the sense.
6502 (window_scroll_pixel_based): Scroll partially visible lines into
6503 place if we hit the beginning or end of the buffer.
a12167c5
MB
6504 (displayed_window_lines): Don't include partially visible lines.
6505 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6506
842b2a94
GM
65072000-12-08 Gerd Moellmann <gerd@gnu.org>
6508
6509 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6510
6511 * tparam.c (tparam1): Change the way buffers are reallocated to be
6512 portable and less obfuscated.
6513
6514 * termcap.c (tgetent): Change the way buffers are reallocated to
6515 be portable and less obfuscated.
6516
6517 * macros.c (store_kbd_macro_char): Change the way buffers are
6518 reallocated to be portable and less obfuscated.
6519
6520 * lread.c (read1): Change the way buffers are reallocated to be
6521 portable and less obfuscated.
6522
6523 * doc.c (Fsubstitute_command_keys): Change the way buffers
6524 are reallocated so that it is portable.
6525
137cad7c
EZ
65262000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6527
6528 * dosfns.c (Ffile_system_info): New function.
6529 (syms_of_dosfns): Defsubr it.
6530
5c7f629c
SM
65312000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6532
6533 * alloc.c (gc_sweep): Add comment.
6534
959e647d
GM
65352000-12-07 Gerd Moellmann <gerd@gnu.org>
6536
52283633
SM
6537 * sound.c (vox_configure): Change order of ioctls.
6538 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6539 Ignore errors when changing volume.
6540 (vox_close): Don't reset the device.
6541
926b7e5e
GM
6542 * process.c (read_process_output): Make sure the process marker's
6543 position is valid when the process buffer is changed in
6544 after-change functions. W3 does that.
52283633 6545
959e647d
GM
6546 * xfns.c (x_free_gcs): New function.
6547
6548 * xterm.h (x_free_gcs): Add prototype.
6549
6550 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6551 freeing GCs here.
6552
6553 * xterm.c (x_destroy_window): Call x_free_gcs so that
6554 resources of non-toolkit X windows will be freed.
6555
478ea067
AI
65562000-12-07 Andrew Innes <andrewi@gnu.org>
6557
6558 * w32fns.c (xlfd_charset_of_font): Fix last change.
6559
fbee3231
DL
65602000-12-06 Dave Love <fx@gnu.org>
6561
67292061
DL
6562 * md5.h (__P): Don't define -- it comes from config.h.
6563
fbee3231
DL
6564 * strftime.c: Change some #if foo to #ifdef foo.
6565
4ee87dbb
AI
65662000-12-06 Andrew Innes <andrewi@gnu.org>
6567
6568 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6569
52283633 6570 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6571 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6572 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6573
9765b4a4
GM
65742000-12-06 Gerd Moellmann <gerd@gnu.org>
6575
d285b373
GM
6576 * alloc.c (gc_sweep): Prevent symbols read during loadup
6577 from being freed.
6578
384333ee
GM
6579 * xdisp.c (underlying_face_id): New function.
6580 (handle_face_prop, face_before_or_after_it_pos): Use it
6581 to determine the face ``under'' a string. Let strings inherit
6582 the face of the buffer under them.
6583
6584 * xfaces.c (face_at_string_position): Update function comment.
52283633 6585
d4b72d58
GM
6586 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6587 matrix if the window's left position has changed; we need to
6588 redraw it in this case.
6589
6590 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6591
e1d05387
GM
6592 * window.c (coordinates_in_window): Check mouse on mode-line or
6593 header-line first.
6594
eb1b0c74
GM
6595 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6596 advertized by the function documentation.
6597
d94d636f
GM
6598 * window.c (syms_of_window): Doc fix.
6599
3887b449
GM
6600 * sound.c (vox_configure): Set volume for left and right channel.
6601 (sound_cleanup): Return nil.
6602
efc8f57a
GM
6603 * xdisp.c (move_it_by_lines): Fix paren typo.
6604
9765b4a4
GM
6605 * xterm.c (x_load_font): Don't use the font's max_bounds for
6606 computing the height of the font. If max_bounds' ascent or
6607 descent are greater than the font's ascent or descent, this means
6608 glyphs overlap, which should be handled now by redisplay.
6609
6529ed87
GM
6610 * window.c (Veven_window_heights): New variable.
6611 (syms_of_window): DEFVAR_LISP it.
6612 (Fdisplay_buffer): Check Veven_window_heights before evening the
6613 window heights.
52283633 6614
0eb2ecde
MB
66152000-12-06 Miles Bader <miles@gnu.org>
6616
6617 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6618 update `default-frame-alist' instead of setting no frame parameters.
6619
03d7a167
KH
66202000-12-06 Kenichi Handa <handa@etl.go.jp>
6621
6622 * composite.c (update_compositions): Fix typo (use the correct
6623 variable).
6624
5f8803c2
JR
66252000-12-05 Jason Rumney <jasonr@gnu.org>
6626
6627 * md5.h: Remove underscores from function declarations.
6628 (__attribute__, __alignof__) [!__GNUC__]: Define.
6629
6630 * md5.c: Delay include of md5.h until after namespace cleaning.
6631
c28a075b
JR
6632 * makefile.w32-in (fns.o): Depend on md5.h
6633 (md5.o): New target.
6634 (sunfns.o): Remove.
6635
6636 * makefile.nt: Likewise.
6637
ff3c7056
JR
66382000-12-05 Jason Rumney <jasonr@altavista.net>
6639
6640 * w32term.c (expose_area): Complete last change.
6641
0c21eeeb
KR
66422000-12-05 Ken Raeburn <raeburn@gnu.org>
6643
6644 * minibuf.c: Include intervals.h.
6645
f201d732
JR
66462000-12-05 Jason Rumney <jasonr@gnu.org>
6647
6648 * w32term.c (x_produce_glyphs): If a font for a component of
6649 a composition is not found, use 1 pixel dot ascent and 0 dot
6650 descent value to avoid displaying terribly tall empty boxes.
6651 (expose_area): Pass x-coordinate relative to the exposed
6652 area to x_draw_glyphs instead of a window-relative coordinate.
6653
21999ab9
GM
66542000-12-05 Gerd Moellmann <gerd@gnu.org>
6655
4d2036e4
GM
6656 * xdisp.c (next_element_from_ellipsis): Save face before selective
6657 display in saved_face_id, and set face_before_selective_p.
6658 (reseat_1): Reset face_before_selective_p.
6659 (append_space, extend_face_to_end_of_line): If iterator's
6660 face_before_selective_p is set, use the face from saved_face_id.
6661 (extend_face_to_end_of_line): For tty frames, make sure to
6662 use the right face id when producing spaces at the end of
6663 the line.
6664
6665 * dispextern.h (struct it): Add face_before_selective_p.
6666
52be17cc
GM
6667 * keyboard.c (record_char): Don't record identical help-echo
6668 events in recent_keys.
6669
8a4f36cc
GM
6670 * xterm.c [USE_X_TOOLKIT]: Close the display.
6671 (xim_close_dpy): Handle case that the display has been closed.
6672
57d6e381
GM
6673 * xterm.c (x_destroy_window): Reset the frame's X window after
6674 destroying it.
6675
21999ab9
GM
6676 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6677 variable window_width.
6678 (line_draw_cost): Fix code skipping over spaces at the end of the
6679 line when must_write_spaces is not set.
6680 (scrolling_window): Fix code inserting runs in list of all runs.
6681
91372bb7
KH
66822000-12-05 Kenichi Handa <handa@etl.go.jp>
6683
6684 * coding.c (setup_coding_system): Be sure to initialize
6685 coding->category_idx.
6686
6c083b4c
GM
66872000-12-04 Gerd Moellmann <gerd@gnu.org>
6688
0c68ce6f 6689 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6690
6452929e
GM
6691 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6692 area to x_draw_glyphs instead of a window-relative coordinate.
6693
d7f31e22
GM
6694 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6695 error in the message.
6696
ae18aa3b
GM
6697 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6698 timer after having read a key. It's not good for code reading
6699 several keys in a loop, like an input method.
6700
caa15ef7
GM
6701 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6702 record undo information for format-decode.
6703
6704 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6705 current buffer is read-only, not if it isn't.
6706
6c083b4c
GM
6707 * keyboard.c (record_char): Record `help-echo' input events
6708 in recent_keys only if they display some help. Don't record
6709 `help-echo' events as macro char.
6710
caa15ef7
GM
67112000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6712
6713 * editfns.c (save_excursion_restore): Don't move point
6714 in another window if it is showing the wrong buffer.
6715 Avoid the call to Fwindow_live_p, for speed.
6716
5a13529b
KH
67172000-12-04 Kenichi Handa <handa@etl.go.jp>
6718
e225faa7
KH
6719 * xfaces.c (struct font_name): New member registry_priority.
6720 (split_font_name): Initialize the above member to zero.
6721 (concat_font_list): New function.
6722 (font_list): Include fonts of all alternative registries.
6723 (FONT_POINT_SIZE_QUANTUM): New macro.
6724 (better_font_p): Ignore point size difference less than
6725 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6726
e89648b4
KH
6727 * xterm.c (x_produce_glyphs): If a font for a component of
6728 a composition is not found, use 1 pixel dot ascent and 0 dot
6729 descent value to avoid displaying terribly tall empty boxes.
6730
5a13529b
KH
6731 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6732
d7935eb6
KR
67332000-12-03 Ken Raeburn <raeburn@gnu.org>
6734
6735 * coding.h (code_convert_string1): Declare.
6736
6737 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6738
52283633 6739 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6740
0dd5e255
JR
67412000-12-02 Jason Rumney <jasonr@gnu.org>
6742
6743 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6744 correctly for single byte character case.
6745 (w32_per_char_metric): Do not try to make any assumptions about
6746 the metrics of BDF fonts.
250cfece 6747 (x_estimate_mode_line_height): If `mode-line' face
52283633 6748 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6749 (note_mouse_highlight): Change the cursor shape on the vertical
6750 border between windows [not enabled].
6751
6752 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6753
6754 * w32fns.c (Fx_create_frame): Reintroduce the call to
6755 face-set-after-frame-defaults.
6756 (Vx_window_horizontal_drag_shape): New variable.
6757 (syms_of_xfns): DEFVAR_LISP it.
6758 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6759 enabled].
0dd5e255 6760
b5d8d2ca
GM
67612000-12-02 Simon Josefsson <simon@josefsson.org>
6762
6763 * fns.c (Fmd5): Use a different logic to decide the coding system
6764 to use.
6765
6766 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6767
fbb87147
EZ
67682000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6769
52283633 6770 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6771
447e9da0
GM
67722000-12-01 Gerd Moellmann <gerd@gnu.org>
6773
7708ced0
GM
6774 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6775 height for YNegative.
6776 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6777 height; also see comment there.
6778
447e9da0
GM
6779 * window.c (coordinates_in_window): Handle computations for
6780 positions on the vertical bar and fringes differently for
6781 window-system frames. Consider some pixels near the vertical bar
6782 as on the bar if the frame doesn't have vertical scroll bars.
6783 Associate positions between mode or header lines with the
6784 right window, the left one.
6785
86d1db20
JR
67862000-12-01 Jason Rumney <jasonr@gnu.org>
6787
6788 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6789
6790 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6791 invalid frame.
6792
a1d58e5b
GM
67932000-12-01 Gerd Moellmann <gerd@gnu.org>
6794
52283633 6795 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6796 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6797 (save_window_save, Fset_window_configuration): Save/restore
6798 window's orig_top and orig_height.
6799
89c609af
JR
68002000-12-01 Jason Rumney <jasonr@gnu.org>
6801
4d177746 6802 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6803
89c609af
JR
6804 * w32fns.c (x_set_cursor_color): Fix last change.
6805
eccc05db
GM
68062000-11-30 Gerd Moellmann <gerd@gnu.org>
6807
31b6671b
GM
6808 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6809 sure that the next redisplay displays the minibuffer, so that
6810 the cursor will be replaced with what the minibuffer wants.
6811
eccc05db
GM
6812 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6813 #ifndef instead of using #if.
6814 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6815 USE_TOOLKIT_SCROLL_BARS is defined.
6816
162de750
JR
68172000-11-30 Jason Rumney <jasonr@gnu.org>
6818
6819 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6820 x_display_cursor.
6821
693c4692
GM
68222000-11-30 Gerd Moellmann <gerd@gnu.org>
6823
6824 * fns.c (Fmd5): Doc fix.
6825
b5d8d2ca 68262000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6827
6828 * fns.c (Fmd5): New function.
6829 (syms_of_fns): Defsubr md5.
6830
6831 * Makefile.in (obj): Add md5.o
6832
b02cd40b
GM
68332000-11-30 Gerd Moellmann <gerd@gnu.org>
6834
edfb795e
GM
6835 * md5.h, md5.c: New files, taken from glibc.
6836
df3aedcf
GM
6837 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6838
b02cd40b 6839 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6840 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6841
8b5176cd
SM
68422000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6843
6844 * eval.c (Frun_hooks): Allow 0 arguments.
6845
346598f1
GM
68462000-11-29 Gerd Moellmann <gerd@gnu.org>
6847
f9396e03
GM
6848 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6849 is over the menu bar widget, say it's not on the frame.
6850
4a967a9b
GM
6851 * xfns.c (Fx_create_frame): Reintroduce the call to
6852 face-set-after-frame-defaults.
6853
346598f1
GM
6854 * eval.c (Fsignal): Reset handling_signal.
6855
222456a1
JR
68562000-11-28 Jason Rumney <jasonr@gnu.org>
6857
6858 * w32menu.c (add_menu_item): Reset menu item text when changing
6859 type to radio button.
6860
8049ddc0
GM
68612000-11-28 Gerd Moellmann <gerd@gnu.org>
6862
346598f1 6863 * xselect.c: Update copyright.
f4f4ee4d 6864
bebe4a2c
GM
6865 * window.c (coordinates_in_window): If on a mode or header line,
6866 but sufficiently close to its start, return ``on vertical
6867 border''. This gives us a way to drag windows horizontally when
6868 using toolkit scroll bars.
6869
6870 * xterm.c (note_mouse_highlight): Change the cursor shape
6871 on the vertical border between windows.
6872
6873 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6874
6875 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6876 (syms_of_xfns): DEFVAR_LISP it.
6877 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6878
8d2c2642
GM
6879 * textprop.c (text_read_only): New function.
6880 (verify_interval_modification): Use it instead of signaling
6881 `text-read-only'. This makes it easier to catch this error
52283633 6882 with a breakpoint.:
8d2c2642 6883
52283633 6884 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6885 not end of line, which includes CR.
6886
5a2bae6c
KH
68872000-11-28 Kenichi Handa <handa@etl.go.jp>
6888
6889 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6890 include no-conversion.
6891
ae31f84d
JR
68922000-11-27 Jason Rumney <jasonr@gnu.org>
6893
6894 * w32fns.c (w32_load_system_font): Always mark font as double byte
6895 if codepage is unicode.
6896
67f1cf4c
GM
68972000-11-27 Gerd Moellmann <gerd@gnu.org>
6898
4a74d071 6899 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6900 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6901
902ae620
GM
6902 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6903 `vertical-line', `mode-line' and `header-line' events.
6904
6905 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6906 of a character, a TAB for instance. This is easier than to set
6907 up the iterator exactly, and it's not a frequent case, so the
6908 additional effort wouldn't really pay off.
6909
c1e279c2
AC
69102000-11-26 Andrew Choi <akochoi@i-cable.com>
6911
67f1cf4c 6912 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6913 init_window_once.
6914
a609568a
JR
69152000-11-25 Jason Rumney <jasonr@gnu.org>
6916
52283633
SM
6917 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6918 Args to window_from_coordinates should be pixel coordinates.
48b21762 6919
a609568a
JR
6920 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6921 redisplay handles them properly.
6922
a658d039
MB
69232000-11-25 Miles Bader <miles@gnu.org>
6924
6925 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6926
d3416cca
JR
69272000-11-24 Jason Rumney <jasonr@gnu.org>
6928
6929 * w32.c (init_environment): Set LANG environment variable based on
6930 locale settings, if not set.
6931
6932 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6933 making tool bar smaller. When clearing the frame, also
6934 clear current matrices. Clear frame when tool bar disappears.
6935 Don't use more lines for the tool-bar than is available.
6936 (x_change_window_heights): New function.
6937
ba193890
GM
69382000-11-24 Gerd Moellmann <gerd@gnu.org>
6939
2be8f184
GM
6940 * xdisp.c (init_from_display_pos): If POS says we're already after
6941 an overlay string ending at POS, make sure to pop the iterator
6942 because it will be in front of that overlay string. When POS is
6943 ZV, we've thereby also ``processed'' overlay strings at ZV.
6944
ba193890
GM
6945 * xfaces.c (lface_from_face_name): Function comment fix.
6946
1862a24e
MB
69472000-11-24 Miles Bader <miles@gnu.org>
6948
6949 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6950 apply `mode-line-inverse-video' -- zero means force display using
6951 the default face, non-zero means display using the specialized face.
6952 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6953
f07fa1b8
KH
69542000-11-23 Kenichi Handa <handa@etl.go.jp>
6955
6956 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6957 hard coded `4'.
6958
2bcdf662
EZ
69592000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6960
6961 * coding.c (decode_coding_emacs_mule): Fix the case of
6962 CODING_EOL_LF, which used uninitialized value of c.
6963
ba8299ff
SM
69642000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6965
6966 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6967
f4117c4d
GM
69682000-11-22 Gerd Moellmann <gerd@gnu.org>
6969
03e757c1
GM
6970 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6971 buffer object.
6972
f4117c4d
GM
6973 * frame.h (struct frame): Replace desired_tool_bar_items,
6974 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6975 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6976
6977 * frame.c (make_frame): Change initialization of tool bar
6978 items accordingly.
6979
6980 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6981 Change references to members deleted from struct frame to use the
f4117c4d
GM
6982 new ones.
6983
6984 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6985 references to members deleted from struct frame to use the new ones.
f4117c4d 6986
52283633 6987 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6988
6989 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6990
6991 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6992 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6993 from struct frame to use the new ones.
6994
f8e2f3f2
MB
69952000-11-23 Miles Bader <miles@gnu.org>
6996
6997 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6998 the face's inverse-video attribute, rather than overriding it.
6999
60e8e0a5
GM
70002000-11-22 Gerd Moellmann <gerd@gnu.org>
7001
7002 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7003 making tool bar smaller.
7004
92dd1b29
DL
70052000-11-22 Dave Love <fx@gnu.org>
7006
7007 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7008
e672fdce
MB
70092000-11-22 Miles Bader <miles@gnu.org>
7010
3a17d6cc
MB
7011 * keyboard.c (Vminibuffer_message_timeout): New variable.
7012 (command_loop_1): Use it to determine message timeout.
7013 (syms_of_keyboard): Initialize it.
7014
60e8e0a5 7015 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7016
e9655d81
KH
70172000-11-22 Kenichi Handa <handa@etl.go.jp>
7018
7019 * sysdep.c: Move the code for declaring h_errno after #include
7020 <netdb.h>.
7021
77270fac
GM
70222000-11-21 Gerd Moellmann <gerd@gnu.org>
7023
cd913aae
GM
7024 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7025 the menu bar when the tooltip is unmapped.
7026
77270fac
GM
7027 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7028 sole visible buffer when we're currently in the mini-buffer, and
7029 give up if so.
52283633 7030
556635d6
JR
70312000-11-21 Jason Rumney <jasonr@gnu.org>
7032
7033 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7034 put on the clipboard.
7035 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7036 copy of what Emacs last put there. If they are the same, do not
52283633 7037 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7038
5b7bde64
MB
70392000-11-22 Miles Bader <miles@gnu.org>
7040
7041 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7042 (syms_of_minibuf): Initialize it.
7043 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7044 to prompt, don't make read-only.
7045
ff23e1dd
GM
70462000-11-21 Gerd Moellmann <gerd@gnu.org>
7047
52283633
SM
7048 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7049 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7050
7aaf4388
GM
7051 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7052
f5f47add 7053 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7054
ff23e1dd
GM
7055 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7056
37c35586
KH
70572000-11-21 Kenichi Handa <handa@etl.go.jp>
7058
7059 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7060 ... #endif scope.
7061
ff9ab414
GM
70622000-11-20 Gerd Moellmann <gerd@gnu.org>
7063
52283633 7064 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7065 screen supports it.
7066
29a01b72
GM
7067 * s/gnu-linux.h: Don't use `#cpu'.
7068
09dfdf85
GM
7069 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7070 not defined in mman.h.
7071
52283633 7072 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7073 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7074 and store an index in the XClientMessageEvent. Storing a
7075 Lisp_Object or pointer can fail on a 64 bit system, since X only
7076 transfers 32 bits.
52283633
SM
7077 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7078
81459ac9
DL
70792000-11-20 Dave Love <fx@gnu.org>
7080
7081 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7082
56c13ae6
GM
70832000-11-20 Gerd Moellmann <gerd@gnu.org>
7084
7085 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7086
495a6df3
KH
70872000-11-20 Kenichi Handa <handa@etl.go.jp>
7088
2bcf3714
KH
7089 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7090 by WIDTH.
7091
495a6df3
KH
7092 * alloc.c (make_string): Fix previous change. Be sure to make
7093 unibyte string correctly.
7094
6d950f4c
GM
70952000-11-19 Gerd Moellmann <gerd@gnu.org>
7096
39b39373
GM
7097 * window.c (Fwindow_list): Change parameter list to be XEmacs
7098 compatible.
7099 (window_list_1): New function.
7100 (window_loop): Use it instead of Fwindow_list.
7101
b95b34e5
GM
7102 * sysdep.c (emacs_ospeed): New variable.
7103 (toplevel): Don't declare ospeed extern.
7104 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7105
7106 * termcap.c (ospeed): Remove.
7107 (tputs) [!emacs]: Remove unused code.
7108 (tgetent): Avoid a compiler warning.
7109
e83dc917
GM
7110 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7111 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7112 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7113
7114 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7115 removed.
7116 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7117 Take the X display as additional argument.
7118 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7119 `Widget' is a pointer type that's not easily stored in Lisp_Object
7120 form in a portable way.
52283633 7121
6d950f4c
GM
7122 * dispnew.c (update_text_area): Fix last change.
7123
e47306e6
GM
71242000-11-18 Gerd Moellmann <gerd@gnu.org>
7125
fb3cd89b
GM
7126 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7127
7128 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7129 clear current matrices.
7130
edaa9aed
GM
7131 * buffer.c (mmap_enlarge): Don't print a message on stderr
7132 if mapping new memory at the end of the existing region fails.
7133
e47306e6
GM
7134 * dispnew.c (update_text_area): Don't skip over equal glyphs
7135 when the last current glyph overlaps the glyph to its right.
7136
509633e3
MB
71372000-11-18 Miles Bader <miles@gnu.org>
7138
7139 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7140 lines that *end* with "..." too (that's the most common case!).
7141
d392e9c5
GM
71422000-11-18 Gerd Moellmann <gerd@gnu.org>
7143
67988445
GM
7144 * xdisp.c (resize_mini_window): Temporarily change to the
7145 mini-window's buffer if necessary.
1bfdbe43 7146
d392e9c5
GM
7147 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7148 the tooltip obscures less text under it.
7149
71502000-11-17 Gerd Moellmann <gerd@gnu.org>
7151
7152 * puresize.h (BASE_PURESIZE): Increase to 700000.
7153
92bb977f
JR
71542000-11-18 Jason Rumney <jasonr@gnu.org>
7155
7156 * w32term.c (w32_draw_bitmap): Use face to set colors.
7157
26fbf20b
DL
71582000-11-17 Dave Love <fx@gnu.org>
7159
7160 * lread.c (Fload): Fix #ifdef for pcc.
7161
100b593b
GM
71622000-11-17 Gerd Moellmann <gerd@gnu.org>
7163
7164 * xdisp.c (pos_visible_p): Compute the default character height
7165 differently.
7166
a288d0d1
GM
71672000-11-16 Gerd Moellmann <gerd@gnu.org>
7168
cac94de6 7169 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7170 knowing the line's height; use the default font's height in that case.
cac94de6 7171
a288d0d1
GM
7172 * xfaces.c (weight_table): Add `demi' with the same meaning as
7173 `demibold'.
7174
981fb6f6
KH
71752000-11-16 Kenichi Handa <handa@etl.go.jp>
7176
2cca872d 7177 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7178 (clear_glyph_row): Delete local static variable null_row.
7179
e5fa381b
JR
71802000-11-15 Jason Rumney <jasonr@gnu.org>
7181
7182 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7183 (w32_alloc_lighter_color): Use new brightness calculations from
7184 xterm.c. Scale delta to be in the range expected by W32.
7185 (w32_draw_relief_rect): Use frame relief colors.
7186
8e42f043
GM
71872000-11-15 Gerd Moellmann <gerd@gnu.org>
7188
6d133d1f
GM
7189 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7190 (Qinhibit_default_face_x_resources): New variable.
7191 (syms_of_frame): Initialize it.
7192 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7193
7194 * xdisp.c (pos_visible_p): Improve function comment.
7195
7196 * lisp.h (BINDING_STACK_SIZE): New macro.
7197
8e42f043
GM
7198 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7199 reading the directory if readdir returns null and errno is EAGAIN
7200 or EINTR.
7201
e8c87124
SM
72022000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7203
7204 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7205 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7206 Set amount_to_scroll to max of dx and scroll_step so that
7207 scroll-conservatively doesn't defeat scroll-step>1.
7208 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7209 scroll-conservatively for line-at-a-time scrolling.
7210
5f0c971d
GM
72112000-11-14 Gerd Moellmann <gerd@gnu.org>
7212
7213 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7214 extra argument.
7215
7216 * xdisp.c (current_mode_line_height, current_header_line_height):
7217 New variables.
7218 (init_xdisp): Initialize them.
7219 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7220 and use exact mode line heights if it is set.
7221
7222 * lisp.h (pos_visible_p): Change prototype.
7223
7224 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7225 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7226 and current_header_line_height first.
52283633
SM
7227 (current_mode_line_height, current_header_line_height):
7228 Declare extern.
5f0c971d 7229
d7361edf
MB
72302000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7231
7232 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7233 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7234 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7235
ee5e440a
MB
72362000-11-14 Miles Bader <miles@gnu.org>
7237
7238 * xterm.c (x_alloc_lighter_color): Include an additive component
7239 too for dark colors, because FACTOR isn't enough.
7240 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7241 New macros.
7242
5ca020fc
GM
72432000-11-13 Gerd Moellmann <gerd@gnu.org>
7244
7245 * keyboard.c (show_help_echo): Call message3_nolog with number of
7246 bytes in the help string as 2nd parameter, instead of the number
7247 of characters.
7248
9d348294
MB
72492000-11-13 Miles Bader <miles@gnu.org>
7250
7251 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7252 (Fload): Use new openp return protocol.
7253 Don't try to use Vload_source_file_function to load .elc files.
7254 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7255 openp return protocol.
7256 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7257
1729bb9a
KH
72582000-11-11 Kenichi Handa <handa@etl.go.jp>
7259
4e677396
KH
7260 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7261
7262 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7263 Defined these macros.
7264 (NLIST_STRUCT): Avoid re-defining it.
7265
1729bb9a
KH
7266 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7267 -I/usr/contrib/X11R6/include.
7268 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7269
a82fe213
JR
72702000-11-10 Jason Rumney <jasonr@gnu.org>
7271
7272 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7273
7274 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7275 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7276
7277 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7278 (Qw32_charset_vietnamese): New symbol.
7279 (xlfd_charset_of_font): New function.
7280 (w32_load_system_font): Use it.
7281 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7282 when Vw32_charset_info_alist is nil to ensure default face always
7283 has font. Use Fcar and Fcdr for safety.
7284 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7285 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7286 pseudo-codepages for special cases.
7287 (w32_to_x_font): New parameter to allow charset portion to be
7288 specified where there is many to one mapping. Callers changed.
7289 (w32_list_fonts): Avoid listing fonts that won't display.
7290
52d89894
GM
72912000-11-10 Gerd Moellmann <gerd@gnu.org>
7292
7293 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7294 (font_list_1): Renamed from font_list.
7295 (font_list): New function, trying alternative registries from
7296 Vface_alternative_font_registry_alist.
7297 (Finternal_set_alternative_font_registry_alist): New function.
7298 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7299 Vface_alternative_font_registry_alist.
7300 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7301
651cd3da
KR
73022000-11-09 Ken Raeburn <raeburn@gnu.org>
7303
7304 * lisp.h (Flooking_at): Declare.
7305
388ac098
GM
73062000-11-09 Gerd Moellmann <gerd@gnu.org>
7307
778fbc46 7308 * dired.c (directory_files_internal): Fix a braino.
52283633 7309
388ac098
GM
7310 * dired.c (directory_files_internal): Add missing GCPRO's.
7311 Some cleanup.
7312
ecaedde1
GM
73132000-11-08 Gerd Moellmann <gerd@gnu.org>
7314
f7eb32aa
GM
7315 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7316 (resize_mini_window): Return quickly if Vresize_mini_window is
7317 nil. Don't return if Vmax_mini_window_height is nil.
7318
7319 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7320 (syms_of_xdisp): Initialize them.
7321 (resize_mini_window): Act according to the setting of
7322 Vresize_mini_window.
7323 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7324
ecaedde1
GM
7325 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7326 scroll bar widget after configuring it, so that it will appear at
7327 the right position from the start.
7328 (XTredeem_scroll_bar): Cleaned up.
7329
3747ef2c
KH
73302000-11-08 Kenichi Handa <handa@etl.go.jp>
7331
7332 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7333 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7334 division by two.
7335
7336 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7337
03391420
DL
73382000-11-07 Dave Love <fx@gnu.org>
7339
7758f1c1 7340 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7341
7342 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7343
b5de343d
GM
73442000-11-07 Gerd Moellmann <gerd@gnu.org>
7345
acad3c0b
GM
7346 * window.c (Fset_window_configuration): Don't try to preserve
7347 point in the current buffer, if that buffer is displayed in more
7348 than one window.
7349
b5de343d
GM
7350 * xfaces.c (lookup_named_face): If default face isn't realized,
7351 try to realize it. Return -1 if not successful.
7352 (Fx_list_fonts): Handle case that face cannot be determined.
7353 (Fface_font): Likewise.
7354
cdb1fe49
GM
73552000-11-06 Gerd Moellmann <gerd@gnu.org>
7356
7357 * window.c (displayed_window_lines): Detect partially
7358 visible lines at the bottom correctly.
7359
d3a67486
SM
73602000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7361
7362 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7363 when ensuring we don't do visit in indirect buffer.
7364
ff8dd5d5
KH
73652000-11-06 Kenichi Handa <handa@etl.go.jp>
7366
7367 * composite.h (compose_chars_in_text): Add prototype.
7368
7369 * composite.c (Vcomposition_function_table): New variable.
7370 (Qcomposition_function_table): New variable.
7371 (run_composition_function): Call
7372 Vcompose_chars_after_function with three arguments.
7373 (compose_chars_in_text): New function.
7374 (syms_of_composite): Modified the doc-string of
7375 Vcompose_chars_after_function. Declare composition-function-table
7376 as a lisp variable, and initialize it.
7377
7378 * xfns.c (x_encode_text): Suppress producing escape sequences for
7379 composition.
7380
7381 * xselect.c: Include composite.h.
7382 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7383
d1145f85
AI
73842000-11-05 Andrew Innes <andrewi@gnu.org>
7385
7386 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7387
7388 * sysdep.c (read_input_waiting): Remove extraneous argument to
7389 read_socket_hook.
7390
7391 * w32fns.c (Fx_server_version): Include w32_build_number in the
7392 return list.
7393
7394 * w32heap.c (w32_build_number): New variable.
7395 (cache_system_info): Set it.
7396
7397 * w32heap.h (w32_build_number): Add extern.
7398
7399 * emacs.c (syms_of_emacs): Update docstring for
7400 system-configuration, to reflect the actual usage on MS-Windows.
7401
e85ee976
GM
74022000-10-31 Gerd Moellmann <gerd@gnu.org>
7403
26dcb81b
GM
7404 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7405 process idle timers while waiting for another event.
7406
52283633 7407 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7408 the default face are colored.
7409
e85ee976
GM
7410 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7411 window height hasn't changed.
7412
01b220b6
JR
74132000-10-31 Jason Rumney <jasonr@gnu.org>
7414
7415 * w32term.c (x_produce_glyphs): Handle composite characters.
7416 (x_draw_glyph_string_foreground)
7417 (x_draw_composite_glyph_string_foreground): Restore old font.
7418
4e6b7204
MB
74192000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7420
7421 * minibuf.c (read_minibuf): Reset the undo history just before
7422 starting the recursive-edit.
7423
d4358b37
GM
74242000-10-30 Gerd Moellmann <gerd@gnu.org>
7425
563f68f1
GM
7426 * xfaces.c (menu_face_change_count): New variable.
7427 (Finternal_set_lisp_face_attribute): Increment it for changes
7428 of the `menu' face.
7429 (realize_basic_faces): Reflect changes in the `menu' faces
7430 in menu bars.
7431
82e274d1
GM
7432 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7433 dy obtained from the iterator's y-position after moving from
7434 scroll_margin_pos to PT; see comment there.
52283633 7435
0dbf9fd2
GM
7436 * xdisp.c (safe_eval_handler): Call add_to_log.
7437
906b3b14
GM
7438 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7439 is not a symbol or string.
7440
d4358b37
GM
7441 * xdisp.c (echo_area_display): Don't perform a display update from
7442 inside redisplay. The update will happen anyway at the end of
7443 redisplay, and it can confuse redisplay (GC messages while
7444 redisplaying, for instance.)
7445
70c825df
SM
74462000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7447
cf9b4b0b
SM
7448 * xrdb.c (x_load_resources): Use the class name in the defaults.
7449
70c825df
SM
7450 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7451 (regex_compile): Catch bogus \(\1\).
7452
a1d34b1e
GM
74532000-10-30 Gerd Moellmann <gerd@gnu.org>
7454
cae71efe
GM
7455 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7456 RGB values.
52283633 7457
35efe0a1
GM
7458 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7459 we have a color cache, check that the cached color equals the
7460 allocated color. If not, clear the color cache.
7461
1d3baf74
GM
7462 * window.c (displayed_window_lines): Change buffers if necessary.
7463 Fix computation of displayed lines.
7464
a1d34b1e
GM
7465 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7466 update_menu_bindings to DEFVAR_BOOL.
7467
70737ea9
KH
74682000-10-30 Kenichi Handa <handa@etl.go.jp>
7469
70c825df 7470 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7471
fa0cb51d
KH
7472 * puresize.h (BASE_PURESIZE): Increase to 680000.
7473
70737ea9
KH
7474 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7475
0e4c08e8
JR
74762000-10-29 Jason Rumney <jasonr@gnu.org>
7477
7478 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7479
7480 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7481 (w32_cache_char_metrics): Handle possibility that 'x' does not
7482 exist in a BDF font.
7483 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7484
7485 * w32bdf.h (bdffont): Add nchars.
7486
7487 * w32bdf.c (set_bdf_font_info): Set it.
7488 (w32_BDF_TextOut): Swap byte order of double byte characters.
7489 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7490
45b84006
EZ
74912000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7492
7493 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7494 don't override the colors in frame's param_alist, unless they are
7495 unspecified.
7496
7497 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7498 reverse the effect of the highlight flag.
7499
caf9deee
KR
75002000-10-27 Ken Raeburn <raeburn@gnu.org>
7501
7502 * window.h (Fwindow_live_p): Declare.
7503
ae0b9b46
KR
7504 * undo.c (record_delete): Check that last_undo_buffer is really a
7505 buffer before applying XBUFFER to it.
7506
7507 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7508 Faref.
7509
02067692
SM
75102000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7511
7512 * lisp.h (KEYMAPP): New macro.
7513 (get_keymap): Remove.
7514 (get_keymap_1): Rename get_keymap.
7515
7516 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7517
7518 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7519
7520 * xmenu.c (single_submenu): Use KEYMAPP.
7521 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7522 Use KEYMAPP rather than Fkeymapp.
7523
7524 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7525
7526 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7527 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7528 Use KEYMAPP rather than Fkeymapp.
7529 (single_submenu): Use KEYMAPP.
7530 (w32_menu_show, w32_dialog_show): Use TRUE.
7531
7532 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7533
7534 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7535 (Fkeymapp): Use KEYMAPP.
7536 (get_keymap): Rename from get_keymap_1. Remove old def.
7537 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7538 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7539 (Fminor_mode_key_binding): Don't raise an error if the binding
7540 is not a keymap.
7541 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7542 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7543
7544 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7545 Allow Vspecial_event_map to be autoloaded.
7546 (menu_bar_items): Fetch the keymap rather than using keymapp.
7547 (menu_bar_one_keymap): No need to follow func-indirect any more.
7548 (parse_menu_item): get_keymap_1 -> get_keymap.
7549 (tool_bar_items): Fetch the keymap rather than using keymapp.
7550 (read_key_sequence): Use KEYMAPP.
7551
7552 * intervals.c (get_local_map): Use get_keymap rather than following
7553 function-indirections explicitly.
7554
7555 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7556
f9d80af3
JR
75572000-10-27 Jason Rumney <jasonr@gnu.org>
7558
7559 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7560 point, as Windows has oversized fonts.
7561
7562 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7563
a3ba27da
GM
75642000-10-27 Gerd Moellmann <gerd@gnu.org>
7565
7566 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7567 (freehook, reallochook): Handle null pointer arguments.
7568 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7569
aa3b80cc
SM
75702000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7571
7572 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7573 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7574 Giving in to popular pressure to shut up the compiler with casts.
7575
e24e84cc
GM
75762000-10-27 Gerd Moellmann <gerd@gnu.org>
7577
7578 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7579 signed value, and use a default value computed from the font's
7580 maximum descent.
7581
05ea7ef2
MB
75822000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7583
7584 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7585 that specify a negative underline position can still use underlines.
7586
7587 * window.c (Fpos_visible_in_window_p): Make POS default to
7588 WINDOW's point, not the current buffer's point.
7589
0b95284b
DL
75902000-10-26 Dave Love <fx@gnu.org>
7591
7592 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7593 when it's necessary.
7594
6c5b90af
GM
75952000-10-26 Gerd Moellmann <gerd@gnu.org>
7596
8b6d9dc9
GM
7597 * window.c (size_window): Compute size difference from sum of old
7598 child window sizes instead of from parent's size.
7599
6bc92b2e
GM
7600 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7601 Handle obscured lines at the top of the window.
7602
7603 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7604 down after the last error condition check.
7605
6c5b90af
GM
7606 * frame.c (Fdelete_frame): Run delete-frame-hook.
7607
42f92d4d
KH
76082000-10-26 Kenichi Handa <handa@etl.go.jp>
7609
7610 * coding.c (decode_coding): Fix previous change (check also
7611 CODING_MODE_LAST_BLOCK).
7612
d97151cb
SM
76132000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7614
e7efc503
SM
7615 * regex.c: More `unsigned char' -> `re_char' changes.
7616 Also change several `int' into `re_wchar_t'.
7617 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7618 (PUSH_FAILURE_POINTER): Don't cast any more.
7619 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7620 We want GCC to complain, since this piece of code makes
7621 re_match non-reentrant, which *should* be fixed.
7622 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7623 (EXTEND_BUFFER): Use RETALLOC.
7624 (SET_LIST_BIT): Don't cast.
7625 (re_wchar_t): New type.
7626 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7627 that those two functions will always properly return.
7628 (IMMEDIATE_QUIT_CHECK): Cast to void.
7629 (analyse_first): Use recursion rather than an explicit stack.
7630 (re_compile_fastmap): Can't fail anymore.
7631 (re_search_2): Don't check re_compile_fastmap for failure.
7632 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7633 Now also sets the new value (passed in a new argument).
7634 (re_match_2_internal): Use it.
7635 Also, use a new var `reg' of type size_t when looping through regs
7636 rather than reuse the inappropriate `mcnt'.
7637
d97151cb
SM
7638 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7639 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7640 (where_is_internal): Renamed from Fwhere_is_internal.
7641 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7642 (Fwhere_is_internal): New function wrapping where_is_internal.
7643 (where_is_internal_1): Handle the case where we're filling the cache.
7644 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7645
d5789b65
MB
76462000-10-25 Miles Bader <miles@gnu.org>
7647
7648 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7649
4ecda532
GM
76502000-10-25 Gerd Moellmann <gerd@gnu.org>
7651
7652 * window.c (pos_fully_visible_p): Removed.
7653 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7654 if position is visible and/or fully visible.
7655
7656 * lisp.h (pos_visible_p): Add prototype.
7657
7658 * xdisp.c (pos_visible_p): New function.
7659
68c3a137
KH
76602000-10-25 Kenichi Handa <handa@etl.go.jp>
7661
7662 * process.c (send_process): If OBJECT is t, it means that the data
7663 is from C string, but we should encode it. Before calling
7664 setup_raw_text_coding_system, be sure to flush out data by the
7665 previous coding system.
7666
7ae1c032
MB
76672000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7668
ff4dcd4b
MB
7669 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7670 assignment of startpos to prev when startpos == pos.
7671
7ae1c032
MB
7672 * editfns.c (find_field): Set the field stickiness correctly from
7673 overlay fields. Use renamed `text_property_stickiness'.
7674 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7675 Only check text properties, not overlays.
7ae1c032
MB
7676 * textprop.c (get_char_property_and_overlay): New function.
7677 (Fget_char_property): Use it.
7678 * intervals.h (get_char_property_and_overlay): Add declaration.
7679
49801145
SM
76802000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7681
7682 * keymap.c: Use AREF, ASET and ASIZE macros.
7683 (Fmake_sparse_keymap): Docstring fix.
7684 (synkey): Remove.
7685 (shadow_lookup): Move up.
7686 Handle the case where lookup-key returns an integer.
7687 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7688 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7689 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7690 Simplify/rewrite the keymap-finding code.
7691 Add check for command shadowing, using shadow_lookup.
7692
39e776cd
SM
76932000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7694
7695 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7696 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7697 a symbol.
7698
2488aba5
AI
76992000-10-24 Andrew Innes <andrewi@gnu.org>
7700
7701 * dired.c (directory_files_internal_unwind): New function.
7702 (directory_files_internal): Use it to ensure closedir is called
7703 even if expand-file-name or file-attributes throw, eg. because of
7704 a user interrupt. Also enable immediate_quit while calling
7705 re_search, so that matching can be interrupted as well.
7706
b94fdf61
AI
77072000-10-24 Andrew Innes <andrewi@gnu.org>
7708
7709 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7710 NT-Emacs only.
7711 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7712 so that re_search functions only quit when callers expect them to.
7713
77142000-10-24 Kenichi Handa <handa@etl.go.jp>
7715
7716 * regex.c (regex_compile): Change the way of handling a range from
7717 a char less than 256 to a char not less than 256.
7718
1946f901
GM
77192000-10-24 Gerd Moellmann <gerd@gnu.org>
7720
7ae2f10f
GM
7721 * window.c (size_window): Prevent setting window's width or
7722 height to a negative value (esp. with XSETFASTINT).
7723
5dcab13e
GM
7724 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7725 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7726 (protect_malloc_state) [GC_MALLOC_CHECK &&
7727 GC_PROTECT_MALLOC_STATE]: New function.
7728 (PROTECT_MALLOC_STATE): New macro.
7729 (__malloc_initialize, morecore, _malloc_internal)
7730 (_free_internal) _realloc_internal): Use it to make _heapinfo
7731 read-only outside of gmalloc.
7732
63e1b552
GM
7733 * keymap.c: Update copyright.
7734
1946f901
GM
7735 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7736 a symbol.
7737
4fa09beb
GM
77382000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7739
7740 * filelock.c (unlock_all_files): Use unlock_file to expand each
7741 buffer's file_truename before trying remove its lock file.
7742
23afac01
EZ
77432000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7744
7745 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7746 or CRLF, decode EOLs.
7747
04448b95
KH
77482000-10-24 Kenichi Handa <handa@etl.go.jp>
7749
7750 * window.c (Fdisplay_buffer): Fix doc.
7751
3090a5a5
JR
77522000-10-23 Jason Rumney <jasonr@gnu.org>
7753
7754 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7755 ASCII font of default fontset on Windows.
7756
7757 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7758 xterm.c comment below).
7759
7760 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7761
a83fee2c
GM
77622000-10-23 Gerd Moellmann <gerd@gnu.org>
7763
7764 * xterm.c (x_connection_closed): Reset handling_signal.
7765
52283633 7766 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7767
6ffdb539
MB
77682000-10-23 Miles Bader <miles@gnu.org>
7769
7770 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7771 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7772 maintain old behavior.
7773 * minibuf.c (Fminibuffer_complete): Likewise.
7774
7f1c969b
MB
77752000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7776
7777 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7778 that when a font can't be exactly centered, it errs up rather than
7779 down.
7780
23afac01 77812000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7782
52283633 7783 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7784
1a578e9b
AC
77852000-10-23 Andrew Choi <akochoi@i-cable.com>
7786
7787 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7788
7789 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7790 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7791
7792 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7793 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7794 syms_of_search, x_term_init, and init_keyboard before calling
7795 init_window_once. Also, call syms_of_xmenu.
7796
7797 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7798 default fontset to Monaco.
7799
7800 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7801 NewMacWindow and DisposeMacWindow.
7802 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7803 instead of calling NewMacWindow and setting fields of
7804 f->output_data.mac directly. Call init_frame_faces.
7805 (Fdelete_frame) [macintosh]: Remove unused code.
7806 (Fmodify_frame_parameters) [macintosh]: Call
7807 x_set_frame_parameters instead of mac_set_frame_parameters.
7808
7809 * frame.h [macintosh]: Define menu_bar_lines field in struct
7810 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7811
7812 * keyboard.c [macintosh]: Include macterm.h.
7813 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7814 and menu_bar_activate_event type events as for X and NT.
7815 (make_lispy_event) [macintosh]: Construct lisp events of type
7816 MENU_BAR_EVENT as for X and NT.
7817
7818 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7819 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7820 (sys_subshell) [macintosh]: Remove definition entirely.
7821 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7822 Vwindow_system_version here. Remove initialization of
7823 Vx_bitmap_file_path.
7824 (read_input_waiting): Correct the number of parameters passed to
7825 read_socket_hook.
7826 Move all Macintosh functions to mac/mac.c.
7827
7828 * term.c [macintosh]: Include macterm.h.
7829
7830 * window.c [macintosh]: Include macterm.h.
7831
7832 * xdisp.c [macintosh]: Include macterm.h. Declare
7833 set_frame_menubar and pending_menu_activation.
7834 (echo_area_display) [macintosh]: Do not return if terminal frame
7835 is the selected frame.
7836 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7837 Allow only the selected frame to set menu bar.
7838 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7839 calling FRAME_EXTERNAL_MENU_BAR (f).
7840 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7841
7842 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7843 and check_x. Declare XCreateGC. Define x_create_gc and
7844 x_free_gc. Initialize font_sort_order.
7845 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7846 but call x_list_fonts instead of w32_list_fonts.
7847 (Finternal_face_x_get_resource) [macintosh]: Do not call
7848 display_x_get_resource.
7849 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7850 (realize_x_face) [macintosh]: Load the font if it is specified in
7851 ATTRS.
52283633 7852 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7853
1ffbabe3
SM
78542000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7855
7856 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7857 is nil: since we go to the end of submap anyway, we'd end up
7858 setting nil to nil.
7859 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7860 doesn't obey autoload.
7861
bed43f1d
EZ
78622000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7863
1ffbabe3 7864 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7865
ea4233a7
JR
78662000-10-21 Jason Rumney <jasonr@gnu.org>
7867
7868 * w32term.c (w32_cache_char_metrics): Double check that font is
7869 really fixed pitch before trusting tmPitchAndFamily.
7870
f3d3c491
AI
78712000-10-21 Andrew Innes <andrewi@gnu.org>
7872
7873 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7874
7875 * w32term.h: Extern decl for w32_cache_char_metrics.
7876
7877 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7878
7879 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7880 (w32_unload_font): Free per_char array if present.
7881
7882 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7883 cached information in emulated XFontStruct to handle common cases
7884 quickly. Do not allocate XCharStruct for return.
7885 (w32_native_per_char_metric): New function.
7886 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7887 allocating one.
7888 (x_produce_glyphs): Don't get an HDC. Change calls to
7889 w32_per_char_metric to match arg change above. Remove calls to
7890 free results.
7891 (w32_get_glyph_overhangs): Ditto.
7892 (w32_cache_char_metrics): New function.
7893
7894 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7895 ($(BLD)/casefiddle.$(O)): Remove compile command.
7896 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7897 ($(BLD)/dispnew.obj):
7898 ($(BLD)/keyboard.obj):
7899 ($(BLD)/w32inevt.obj):
7900 ($(BLD)/w32bdf.obj):
7901 ($(BLD)/alloc.obj):
7902 ($(BLD)/buffer.obj):
7903 ($(BLD)/editfns.obj):
7904 ($(BLD)/emacs.obj):
7905 ($(BLD)/fileio.obj):
7906 ($(BLD)/fns.obj):
7907 ($(BLD)/indent.obj):
7908 ($(BLD)/insdel.obj):
7909 ($(BLD)/intervals.obj):
7910 ($(BLD)/minibuf.obj):
7911 ($(BLD)/print.obj):
7912 ($(BLD)/scroll.obj):
7913 ($(BLD)/sysdep.obj):
7914 ($(BLD)/textprop.obj):
7915 ($(BLD)/widget.obj):
f3d3c491
AI
7916 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7917 ($(BLD)/term.obj): Add dependency on dispextern.h.
7918
52283633
SM
7919 * makefile.nt ($(BLD)\dispnew.obj):
7920 ($(BLD)\keyboard.obj):
7921 ($(BLD)\w32inevt.obj):
7922 ($(BLD)\w32bdf.obj):
7923 ($(BLD)\alloc.obj):
7924 ($(BLD)\buffer.obj):
7925 ($(BLD)\editfns.obj):
7926 ($(BLD)\emacs.obj):
7927 ($(BLD)\fileio.obj):
7928 ($(BLD)\fns.obj):
7929 ($(BLD)\indent.obj):
7930 ($(BLD)\insdel.obj):
7931 ($(BLD)\intervals.obj):
7932 ($(BLD)\minibuf.obj):
7933 ($(BLD)\print.obj):
7934 ($(BLD)\scroll.obj):
7935 ($(BLD)\sysdep.obj):
7936 ($(BLD)\textprop.obj):
7937 ($(BLD)\widget.obj):
f3d3c491
AI
7938 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7939 ($(BLD)\term.obj): Add dependency on dispextern.h
7940
18ad4821
EZ
79412000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7942
7943 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7944 with an additional argument of Qt.
7945
de54681a
MB
79462000-10-21 Miles Bader <miles@gnu.org>
7947
7948 * window.c (pos_fully_visible_in_window_p): New function.
7949 (Fpos_visible_in_window_p): Add FULLY argument.
7950 Use pos_fully_visible_in_window_p.
7951 (window_scroll_pixel_based, window_scroll_line_based): Update
7952 calls to Fpos_visible_in_window_p.
7953 * lisp.h (Fpos_visible_in_window_p): Update prototype
7954
13c844fb
GM
79552000-10-20 Gerd Moellmann <gerd@gnu.org>
7956
7957 * alloc.c (toplevel): Conditionalize compilation of mem_*
7958 functions differently.
52283633 7959
d9506268
JR
79602000-10-20 Jason Rumney <jasonr@gnu.org>
7961
7962 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7963 mem_init where it used to be. mem_z etc not defined otherwise.
7964
8094989b
GM
79652000-10-20 Gerd Moellmann <gerd@gnu.org>
7966
7967 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7968 GC_MALLOC_CHECK.
7969 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7970 structure definition and related variabled to the top of the file.
7971 Include this code when GC_MALLOC_CHECK is defined.
7972 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7973 register/unregister allocated region.
7974 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7975 which isn't allocated.
7976 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7977 something which is already in use.
7978 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7979 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7980 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7981 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7982
7983 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7984 _malloc_internal instead of malloc.
7985 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7986 of free.
7987
ea456eb4
AI
79882000-10-20 Andrew Innes <andrewi@gnu.org>
7989
7990 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7991 Windows.
7992 (my_strftime) <macro>: Don't use macro arg list when redefining as
7993 _strftime_copytm.
7994 (my_strftime) <function>: Supply 0 as ut argument.
7995
e64c3a75
JR
79962000-10-19 Jason Rumney <jasonr@altavista.net>
7997
7998 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7999 including dispextern.h, as it stops faces from working.
8000
8001 * w32fns.c (Fx_create_frame): Don't bother calling
8002 face-set-after-frame-default since the caller does it for us
8003 anyway. Clean up calls to x_get_arg to be consistent with X.
8004
8005 * w32term.c (x_produce_glyphs): Handle
8006 unibyte_display_via_language_environment correctly.
8007 (w32_draw_box_rect): Fix the calculation of width and height.
8008
8009 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8010 as it has stopped working.
8011 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8012 menu-bar.
8013
17401c97
GM
80142000-10-19 Gerd Moellmann <gerd@gnu.org>
8015
8016 * eval.c (skip_debugger): Prevent a compiler warning.
8017 (Fcondition_case): Likewise.
8018 (Fbacktrace_frame): Use a null interactive spec.
8019
773272d8
KH
80202000-10-19 Kenichi Handa <handa@etl.go.jp>
8021
8022 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8023
a42943e9
GM
80242000-10-18 Gerd Moellmann <gerd@gnu.org>
8025
e50517d9
GM
8026 * strftime.c: Sync with glibc, file version 1.78.
8027 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8028 should no longer be used according to ISO 8601.
8029
9035a35a
GM
8030 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8031 no map for meta_prefix_char, don't try to use it as a keymap.
8032 Instead, if T_OK is non-zero, look up a default binding, if any,
8033 otherwise, if T_OK is zero, return nil.
8034
a42943e9
GM
8035 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8036 (x_to_xcolors, png_load): Use x_query_color.
8037
52283633
SM
8038 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8039 New functions.
a42943e9
GM
8040 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8041 which can be slow.
8042 (x_copy_color, x_alloc_lighter_color): Likewise.
8043
8044 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8045 (x_query_color, x_query_colors): Add prototype.
8046
8047 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8048 check_string_bytes only if not noninteractive, increase count to 50.
8049
00de2987
MB
80502000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8051
8052 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8053 markers correctly.
8054
54918e2b
GM
80552000-10-17 Gerd Moellmann <gerd@gnu.org>
8056
1f0b3fd2
GM
8057 * alloc.c (pure_bytes_used): Renamed from pureptr.
8058 (ALIGN): New macro.
8059 (pure_alloc): New function.
8060 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8061 Use it.
8062 (Fpurecopy): Use PURE_POINTER_P.
8063
68c5d1db
GM
8064 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8065 PT has moved backward.
52283633 8066
9a038881
GM
8067 * xdisp.c (cursor_row_p): Take continued lines into account.
8068
361b097f
GM
8069 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8070 string's size_byte.
8071 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8072 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8073 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8074 string allocated.
8075
54918e2b
GM
8076 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8077 of selective display off while searching for the next line start.
8078
03ed0806
KH
80792000-10-17 Kenichi Handa <handa@etl.go.jp>
8080
8081 * Makefile.in (term.o): Depend on dispextern.h.
8082
7e05cdaf
SM
80832000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8084
8085 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8086
a6801fd1
GM
80872000-10-16 Gerd Moellmann <gerd@gnu.org>
8088
483de32b
GM
8089 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8090 the iterator at the beginning, so that they can be set later on,
8091 for instance in reseat_at_next_visible_line_start, without being
8092 overwritten.
8093
a6801fd1
GM
8094 * xfns.c (pbm_format): Add :foreground and :background keywords.
8095 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8096 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8097
dbf1fcc1
EZ
80982000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8099
8100 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8101
52283633 8102 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8103
8104 * msdos.c (IT_set_face): Compare highlighted face with the default
8105 face, and invert colors if these faces' colors are identical.
8106 (Fmsdos_remember_default_colors): Don't swap foreground and
8107 background colors in initial_colors[].
8108 (IT_set_frame_parameters): Don't swap frame's foreground and
8109 background pixels. If ALIST includes "(reverse . t)", swap
8110 foreground-color and background-color properties in frame's
8111 param_alist. If the original frame's param_alist doesn't specify
8112 the colors, store unspecified-fg and unspecified-bg, reversed if
8113 required.
8114
8115 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8116 the colors are unspecified and reversed, reverse fore- and back-
8117 ground in the returned value.
8118 (Fframe_parameter): Ditto.
8119
b41fe2c3 81202000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8121
3a6b59d9
GM
8122 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8123 get_last_unchanged_at_beg_row.
8124 (find_first_unchanged_at_end_row): Renamed from
8125 get_first_unchanged_at_end_row.
8126 (find_first_unchanged_at_end_row): Convert assertions to
8127 unconditional tests which abort. When looking for a row in
8128 unchanged text, don't go further back than first_text_row.
8129
b41fe2c3
GM
8130 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8131 Don't add in the last line's height when deciding if the new
8132 position is below the scroll margin.
9d1af64f 8133
b41fe2c3 81342000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8135
8136 * editfns.c (Fconstrain_to_field): Check carefully for field
8137 boundaries if either OLD_POS or NEW_POS has a non-nil field
8138 property, even if they're the same.
8139
c412cb7b
KH
81402000-10-16 Kenichi Handa <handa@etl.go.jp>
8141
8142 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8143 height for XFillRectangle.
8144
5586f3eb
SM
81452000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8146
8147 * syntax.c (Fstring_to_syntax): New function extracted from
8148 Fmodify_syntax_entry.
8149 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8150 (skip_chars, Fforward_comment): Remove unused variables.
8151 (syms_of_syntax): Add defsubr for string-to-syntax.
8152 (describe_syntax): Add code for comment and string fences.
8153
db785038
SM
81542000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8155
8156 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8157 Do the meta->esc mapping. Call get_keyelt before returning.
8158 Start scanning from the second element (the first is always `keymap')
8159 to make it easier to detect when we reach a parent map.
8160 Handle the case of inheriting from a symbol whose function is a map.
8161 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8162 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8163 (get_keyelt, Flookup_key): Update call to access_keymap.
8164 Remove the meta->esc mappings.
8165 (define_as_prefix): Delete old disabled code.
8166 (menu_item_p): New function.
8167 (where_is_internal_1): Skip over the few remaining menu items.
8168 * lisp.h (access_keymap): Update prototype.
8169 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8170 Update call to access_keymap.
8171 (follow_key, read_key_sequence): Update calls to access_keymap.
8172 Remove the meta->esc mappings.
8173
cafafe0b
GM
81742000-10-13 Gerd Moellmann <gerd@gnu.org>
8175
a2e2a7f6
GM
8176 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8177 with additional argument.
8178
cafafe0b
GM
8179 * xdisp.c (cursor_row_p): New function.
8180 (try_cursor_movement, display_line): Use it.
52283633 8181
cafafe0b
GM
8182 * xdisp.c (append_space): Also save/restore iterator's current
8183 character and its length.
8184
8185 * xdisp.c (init_from_display_pos): Add an assertion.
8186 (handle_stop): Don't set iterator's add_overlay_start.
8187 (handle_invisible_prop): Likewise.
8188 (load_overlay_strings): If text under an overlay is invisible,
8189 take both before- and after-strings into account when the iterator
8190 is positioned either at the start or at the end of the overlay.
8191 (forward_to_next_line_start): Rewritten.
8192 (reseat_at_next_visible_line_start): Rewritten.
8193 (set_iterator_to_next): Add parameter RESEAT_P.
8194
8195 * dispextern.h (struct it): Remove member add_overlay_start.
8196 (set_iterator_to_next): Change prototype.
8197
c744452b
KH
81982000-10-13 Kenichi Handa <handa@etl.go.jp>
8199
8200 * coding.c (code_convert_region): Be sure to initialize
8201 coding->category_idx.
e4a3f4e1
KH
8202 (decode_coding_string): Set coding->src_multibyte and
8203 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8204 (encode_coding_string): Set coding->src_multibyte and
8205 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8206
321fd26f
SM
82072000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8208
8209 * xfns.c (Fx_create_frame): Don't bother calling
8210 face-set-after-frame-default since the caller does it for us anyway.
8211
76832439
EZ
82122000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8213
8214 * window.c (coordinates_in_window): Fix detection of vertical line
8215 on character terminals.
8216
2483cf58
GM
82172000-10-12 Gerd Moellmann <gerd@gnu.org>
8218
8219 * editfns.c (save_excursion_save): Additionally record the
8220 selected window.
8221 (save_excursion_restore): If buffer was visible in a window, and a
8222 different window was selected, and the old selected window is
8223 still live, restore point in that window.
8224
eb991b25
KH
82252000-10-12 Kenichi Handa <handa@etl.go.jp>
8226
8a0eba09
KH
8227 * xterm.c (x_produce_glyphs): Handle
8228 unibyte_display_via_language_environment correctly.
8229
20401fcc
KH
8230 * regex.c (regex_compile): Change the way of handling a range from
8231 unibyte char to multibyte char.
8232
8233 * syntax.c (skip_chars): Change the way of handling a range from
8234 unibyte char to multibyte char.
8235
eb991b25
KH
8236 * process.c (read_process_output): Cancel previous change.
8237
365dd325
EZ
82382000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8239
c1b096cb
EZ
8240 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8241
365dd325
EZ
8242 * charset.c (Ffind_charset_string): Doc fix.
8243 (Ffind_charset_region): Doc fix.
8244
eb483c2b
KH
82452000-10-11 Kenichi Handa <handa@mule.m17n.org>
8246
8247 * process.c (read_process_output): Fix previous change. Adjust
8248 multibyteness of text to insert in a buffer by
52283633 8249 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8250
b40bfb99
AS
82512000-10-10 Andreas Schwab <schwab@suse.de>
8252
8253 * alloc.c (mark_object): Remove all workarounds installed on
8254 1993-08-08.
8255
caff31d4
KH
82562000-10-10 Kenichi Handa <handa@etl.go.jp>
8257
52283633 8258 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8259 (base64_encode_1): Make it work for a text of multibyte form.
8260 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8261 case. Don't call str_to_multibyte because base64_decode_1
8262 produces correct multibyte form for eight-bit codes.
52283633 8263 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8264 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8265 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8266 codes.
8267
8268 * charset.h (CHAR_STRING): Optimized for single byte characters.
8269
cba026ef
AS
82702000-10-09 Andreas Schwab <schwab@suse.de>
8271
8272 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8273 -1 after socket is closed, to fall through to error processing.
8274
1e21fe48
EZ
82752000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8276
8277 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8278 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8279 background-color, change also the colors of the default face for
8280 this frame.
8281
a640322e
EZ
82822000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8283
8284 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8285 them extern (they are defined on xfaces.c).
8286 (syms_of_msdos): Don't intern and don't staticpro
8287 Qbackground_color and Qforeground_color.
8288
a115794c
EZ
82892000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8290
8291 * frame.c (Fframe_parameter): For non-windowed frames, if
8292 f->param_alist says foreground or background color is unspecified,
8293 call tty_color_name to return the color name computed from the
8294 frame's current colors.
8295
f5533b63
DL
82962000-10-06 Dave Love <fx@gnu.org>
8297
8298 * terminfo.c (ospeed): Don't declare.
8299
8300 * sysdep.c: Don't include string.h.
8301 (h_errno): Declare conditional also on TRY_AGAIN.
8302
8303 * charset.c (Ffind_charset_string): Doc fix.
8304
52283633 8305 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8306 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8307 error messages.
8308
2b06561a
DL
83092000-10-05 Dave Love <fx@gnu.org>
8310
8311 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8312 position like menu-bar.
8313
ca839c85
GM
83142000-10-05 Gerd Moellmann <gerd@gnu.org>
8315
8316 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8317
8318 * xdisp.c (handle_single_display_prop): Use safe_call1.
8319 (safe_call): Renamed from call_function.
8320 (safe_call1): New function.
8321 (handle_fontified_prop): Use safe_call1 instead of call1.
8322 (safe_eval): Renamed from eval_form.
8323 (safe_eval_handler): Renamed from eval_handler.
8324 (handle_single_display_prop, display_mode_element): Use safe_eval
8325 instead of eval_form.
8326
8327 * xfaces.c (merge_face_heights): Use safe_call instead of
8328 call_function.
8329
8330 * keyboard.c (show_help_echo): Use safe_call instead of
8331 call_function; use safe_eval instead of eval_form.
8332
8333 * lisp.h (safe_call): Renamed from call_function.
8334 (safe_eval): Renamed from eval_form.
8335 (safe_call1): Add prototype.
8336
a3489ece
MB
83372000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8338
8339 * xfns.c (image_ascent): Rearrange ascent calculation for the
8340 has-a-font case.
8341
35810b6f
SM
83422000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8343
8344 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8345 (where_is_internal_1): Don't bother ignoring menu-items any more.
8346
3dc78168
GM
83472000-10-04 Gerd Moellmann <gerd@gnu.org>
8348
8349 * keyboard.c (update_menu_bindings): New variable.
8350 (parse_menu_item): Use AREF. If update_menu_bindings
8351 is 0, don't update menu bindings.
8352 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8353
1efc2bb9
EZ
83542000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8355
8356 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8357 to `mark_object'.
8358
3f679f55
SM
83592000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8360
8361 * syntax.c (forw_comment): Match nestedness of ender/starter.
8362 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8363 (prev_char_comstart_first): Remove.
8364 (back_comment): Check two-char comment markers more carefully
8365 to better handle overlapping cases like *//* or /* */* */ ...
8366 Match nestedness of ender/starter.
8367
2021ab61
DL
83682000-10-02 Dave Love <fx@gnu.org>
8369
8370 * config.in (HAVE_GAI_STRERROR): Add undef.
8371
8372 * process.c (Fopen_network_stream): Use it.
8373
8374 * m/alpha.h (NO_REMAP): Don't define.
8375
64e6cc18
GM
83762000-10-02 Gerd Moellmann <gerd@gnu.org>
8377
8378 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8379 return with a string converted to an integer or vice versa when
8380 Vmocklisp_arguments is t.
8381 (Fsignal): Likewise. The function can return for `quit'.
8382 (struct gcpro): Declare member `var' to point to a volatile
8383 Lisp_Object.
8384
8385 * eval.c (error): Prevent compiler warning.
8386
b1904cd9
SM
83872000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8388
8389 * keymap.c (keymap_memberp): New function.
8390 (Fset_keymap_parent): Use it.
8391 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8392 Use keymap_memberp to avoid creating cycles.
8393 (access_keymap): Use KEYMAPP.
8394
71c9ec51
GM
83952000-09-30 Gerd Moellmann <gerd@gnu.org>
8396
8397 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8398 gai_strerror. Make sure xerrno is set if connect fails. Improve
8399 error recovery.
71c9ec51 8400
c70c6b58
JR
84012000-09-29 Jason Rumney <jasonr@gnu.org>
8402
8403 * w32term.c (w32_char_font_type, w32_encode_char)
8404 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8405 (w32_bdf_per_char_metric): New function.
8406 (w32_per_char_metric): Use it.
8407 (x_draw_glyph_string_background): Always draw background for BDF
8408 glyphs.
8409
8410 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8411 GDI object which is a scarce resource.
8412
8413 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8414 (get_quoted_string): Fix limit on memchr search.
8415 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8416 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8417 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8418 (get_cached_font_char, cache_char_offset): Use macro
8419 BDF_CODEPOINT_RANGE_COVER_P.
8420 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8421 (clear_cached_bitmap_slots): New function.
8422 (GET_HEX_VALUE): G-Z, g-z are not hex.
8423 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8424 (get_bitmap_with_cache): Use new cache implementation.
8425 (create_offscreen_bitmap): New function.
8426 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8427
8428 * w32term.c (x_produce_glyphs): If the distance from the current
8429 position to the next tab stop is less than a canonical character
8430 width, use the tab stop after that.
8431 (x_draw_glyphs): Handle case START and END are out of bounds more
8432 carefully.
8433 (x_clear_mouse_face): Block/unblock input.
8434 (x_display_and_set_cursor): Don't show a hollow box cursor for
8435 buffers whose cursor_type is nil.
8436
fe01239f
GM
84372000-09-29 Gerd Moellmann <gerd@gnu.org>
8438
52283633 8439 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8440
8441 * dispextern.h (updating_frame): Declare extern.
8442
e7c52f1f
AS
84432000-09-29 Andreas Schwab <schwab@suse.de>
8444
8445 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8446
de6e1f7c
GM
84472000-09-29 Gerd Moellmann <gerd@gnu.org>
8448
25126faa
GM
8449 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8450 use its function definition.
8451 (tool_bar_items): Likewise.
8452
de6e1f7c 8453 * lisp.h (fatal): Declare NO_RETURN.
52283633 8454
454ee39b
KH
84552000-09-29 Kenichi Handa <handa@etl.go.jp>
8456
8457 * keymap.c: Remove the line "#undef NULL".
8458
96301c5f
GM
84592000-09-28 Gerd Moellmann <gerd@gnu.org>
8460
52283633 8461 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8462
efffeeb4
DL
84632000-09-28 Dave Love <fx@gnu.org>
8464
ecb8b666
DL
8465 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8466
dc3cd20f
DL
8467 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8468
8469 * .gdbinit (xreload): Note its need on GNU/Linux.
8470
efffeeb4
DL
8471 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8472 r_alloc, r_alloc_free.
8473
8610d903
KH
84742000-09-28 Kenichi Handa <handa@etl.go.jp>
8475
8476 * syntax.c (skip_chars): Handle negation correctly.
8477
8901d1ac
GM
84782000-09-27 Gerd Moellmann <gerd@gnu.org>
8479
6f22f1ad
GM
8480 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8481 with non-zero FORCE_P argument.
8482
52283633 8483 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8484 Add assertions.
8485
8486 * xdisp.c (window_box_height): Add an assertion.
8487
8488 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8489 tool-bar than is available.
8490 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8491
36f1966f
DL
84922000-09-27 Dave Love <fx@gnu.org>
8493
efffeeb4 8494 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8495
31d929e5
GM
84962000-09-26 Gerd Moellmann <gerd@gnu.org>
8497
c98863bf
GM
8498 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8499 instead of BITS_PER_INT.
8500 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8501 EMACS_UINT, respectively.
8502 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8503
8504 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8505
8506 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8507
77072ab1
GM
8508 * window.c (freeze_window_starts): Construct last argument for
8509 foreach_window differently.
8510
8511 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8512
8513 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8514 EMACS_UINT instead of `int' and `unsigned int'.
8515 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8516
8517 * frame.h (struct frame): Make the `nothing' member of union
8518 output_data an EMACS_INT.
8519
52283633 8520 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8521 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8522 size in the sdata structure.
8523 (SDATA_NBYTES, SDATA_DATA): New macros.
8524 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8525 differently for the different layout of the sdata structure.
8526 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8527 in sdata.
8528 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8529 Check that size recorded in the string size and size recorded in
8530 the sdata structure agree.
8531
3e60b029
DL
85322000-09-25 Dave Love <fx@gnu.org>
8533
8534 * buffer.c: Include stdio.h.
8535
8536 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8537
3e60b029
DL
8538 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8539
8540 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8541 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8542 (__malloc_extra_blocks): Declare as __malloc_size_t.
8543
8ff16b4e
GM
85442000-09-25 Gerd Moellmann <gerd@gnu.org>
8545
755a2ccd
GM
8546 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8547
d8b4516f
GM
8548 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8549 (read_char): If help-echo is showing, preserve the echo area
8550 when redisplaying.
8551
8552 * xdisp.c (help_echo_showing_p): New variable.
8553 (set_message): Reset it to 0.
8554 (init_xdisp): Initialize help_echo_showing_p.
8555
8556 * dispextern.h (help_echo_showing_p): Declare extern.
8557
8558 * config.in: Fix typo in __GNUC_MINOR__.
8559
8560 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8561
b11af2dd
GM
8562 * s/freebsd.h (POSIX_SIGNALS): Define.
8563
8ff16b4e
GM
8564 * xterm.c (x_clear_mouse_face): Block/unblock input.
8565
844eb643
DL
85662000-09-24 Dave Love <fx@gnu.org>
8567
8568 * fns.c (base64_encode_1): Fix last change.
8569
b30ab1b3
GM
85702000-09-22 Gerd Moellmann <gerd@gnu.org>
8571
8572 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8573
8574 * xdisp.c (try_window_reusing_current_matrix): More fixes
8575 for the case window has a header-line.
8576
c6cbe5f0
DL
85772000-09-22 Dave Love <fx@gnu.org>
8578
4c7c1f3f
DL
8579 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8580 a doc string.
8581
8582 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8583
c6cbe5f0
DL
8584 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8585
550a625e
GM
85862000-09-21 Gerd Moellmann <gerd@gnu.org>
8587
4c7c1f3f 8588 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8589 for GCC >= 2.5.
8590
52283633
SM
8591 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8592 Declare NO_RETURN.
fca99116 8593
80d26f99
GM
8594 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8595 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8596 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8597 warnings.
52283633 8598
80d26f99
GM
8599 * marker.c (byte_char_debug_check): Return void.
8600
623a0aae
GM
8601 * xfns.c (Fx_create_frame): Set default frame parameter value
8602 for tool-bar-lines to 1.
8603
8604 * dispnew.c (scrolling_window): Compare y-positions of rows
8605 equal at the start. Some simplification.
8606
8607 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8608 reused rows' y-position in the case window has a header-line, and
8609 new window start is greater than old window start.
8610
42ac0ae5
GM
8611 * process.c (process_sent_to): New variable.
8612 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8613 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8614 Declare more parameters volatile.
8615
550a625e
GM
8616 * lread.c (Vrecursive_load_depth_limit): New variable.
8617 (Fload): Check recursive loads whose recursion depth exceeds
8618 Vrecursive_load_depth_limit.
8619 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8620
8320414c
GM
86212000-09-20 Gerd Moellmann <gerd@gnu.org>
8622
f46c275e
GM
8623 * fileio.c (Fread_file_name): Doc fix.
8624
8625 * editfns.c (Fmessage_or_box): Doc fix.
8626
8627 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8628
b7e11c5b 8629 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8630
8320414c
GM
8631 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8632 symbols are specified, add color translations to the cache.
52283633 8633 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8634 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8635 xpm_cache_color.
8636 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8637 structures to xpm_init_color_cache.
8638
da1608d9
GM
86392000-09-19 Gerd Moellmann <gerd@gnu.org>
8640
52283633 8641 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8642
6badfa25
AI
86432000-09-19 Andrew Innes <andrewi@gnu.org>
8644
8645 * makefile.nt (bootstrap-emacs): Don't change directory.
8646
3a5f42bb
KH
86472000-09-19 Kenichi Handa <handa@etl.go.jp>
8648
1b7649bd
KH
8649 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8650
3a5f42bb
KH
8651 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8652 If output buffer is too small, signal an appropriated error.
8653
9f83cf0b
DL
86542000-09-18 Dave Love <fx@gnu.org>
8655
52283633 8656 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8657 (current_active_maps): Remove redundant get_local_map call.
8658
28c7826c
GM
86592000-09-18 Gerd Moellmann <gerd@gnu.org>
8660
5cefa566
GM
8661 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8662 cursor for buffers whose cursor_type is nil.
52283633 8663
6fed3546
GM
8664 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8665 a feature to implement that is already implemented.
8666 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8667 warnings.
8668
8669 * xfns.c (x_clear_image_1): New function.
8670 (x_clear_image): Use it.
52283633 8671 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8672
05b1f851
GM
8673 * dispnew.c (update_window): Move test for invisible lines
8674 at the top to update_window_line.
8675 (update_window_line): Handle invisible lines here.
8676
f4779de9
GM
8677 * xfns.c (clear_image_cache): Clear current matrices of all
8678 frames sharing an image cache. Block input while freeing
8679 images. Fix timestamp comparison.
8680 (x_clear_image): Also free the mask.
8681
28c7826c
GM
8682 * xfns.c (lookup_image): Block input while loading the image so
8683 that we won't get interrupted in a state where the image isn't yet
8684 set up completely.
8685 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8686 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8687 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8688 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8689
b7412313
GM
86902000-09-16 Gerd Moellmann <gerd@gnu.org>
8691
8692 * dispnew.c (update_window): Make sure to make desired rows
8693 current even if they are completely invisible at the top
8694 of a window.
8695
47e351a3
GM
86962000-09-15 Gerd Moellmann <gerd@gnu.org>
8697
7f8f1edc
GM
8698 * xfns.c (lookup_image): Build mask before applying an algorithm.
8699 Recognize algorithm `disabled'.
8700 (cross_disabled_images): New variable.
8701 (COLOR_INTENSITY): New macro.
8702 (x_detect_edges): Use COLOR_INTENSITY.
8703 (x_disable_image): New function.
8704 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8705
8706 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8707 disabled state, don't apply an image transformation algorithm if
8708 the user specified an image for the disabled state. Use
28c7826c 8709 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8710 user hasn't specified an image.
8711
ebb8f116
GM
8712 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8713 allocation functions with the XPM lib.
8714 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8715 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8716 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8717 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8718 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8719 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8720 functions, if possible, because these handle color allocation
8721 failure more gracefully.
8722 (Fimage_mask_p): New function.
8723
47e351a3
GM
8724 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8725 (Qedge_detection, Qheuristic): New symbols.
8726 (syms_of_xfns): Initialize new symbols.
8727 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8728 `algorithm (edge-detection ...)'.
8729 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8730 (tiff_format, gif_format, gs_format): Add `:mask'.
8731 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8732 (GIF_MASK, GS_MASK): New enumerators.
8733 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8734 (emboss_matrix, laplace_matrix): New variables.
8735 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8736 (x_edge_detection): New functions.
8737 (x_laplace): Rewritten in terms of x_detect_edges.
8738 (x_build_heuristic_mask): If image has a mask, free it.
8739
fe83b953
AI
87402000-09-14 Andrew Innes <andrewi@gnu.org>
8741
8742 * makefile.w32-in: Revert to Unix line endings.
8743
3021e816
AI
87442000-09-14 Andrew Innes <andrewi@gnu.org>
8745
8746 * makefile.w32-in: Standardize indentation somewhat.
8747 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8748 cater for differences between shells.
8749
8750 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8751
2a32b5ea
GM
87522000-09-14 Gerd Moellmann <gerd@gnu.org>
8753
8754 * xterm.c (x_produce_glyphs): If the distance from the current
8755 position to the next tab stop is less than a canonical character
8756 width, use the tab stop after that.
8757
b4331e96
DL
87582000-09-14 Dave Love <fx@gnu.org>
8759
8760 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8761
ef9e4345
GM
87622000-09-14 Gerd Moellmann <gerd@gnu.org>
8763
085536c2
GM
8764 * xdisp.c (handle_fontified_prop): While running fontification
8765 functions, bind `fontification-functions' and
8766 `after-change-functions' to nil.
8767
ef9e4345
GM
8768 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8769 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8770
8771 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8772
8773 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8774 USE_MMAP_FOR_BUFFERS.
8775
8776 * insdel.c (make_gap): Use enlarge_buffer_text.
8777
8778 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8779 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8780 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8781 from former r_alloc_* functions in ralloc.c.
52283633 8782 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8783 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8784 (mmap_init) [REL_ALLOC_MMAP]: New function.
8785 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8786 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8787 BUFFER_FREE.
8788
8789 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8790 (enlarge_buffer_text): Add prototype.
8791
8792 * ralloc.c: Remove everything having to do with the use of mmap.
8793
f8608968
GM
87942000-09-13 Gerd Moellmann <gerd@gnu.org>
8795
2a494b2d
GM
8796 * sound.c (Fplay_sound): Doc fix.
8797
8c907a56
GM
8798 * keyboard.c: Avoid some more compiler warnings.
8799 (parse_tool_bar_item): Ignore cached key bindings.
8800
f8608968
GM
8801 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8802 and allocation of Lisp data.
8803
6ab70e9a
GM
88042000-09-12 Gerd Moellmann <gerd@gnu.org>
8805
d12d0a9b
GM
8806 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8807 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8808 defaults first.
8809
6ab70e9a
GM
8810 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8811
63c36c3c
KH
88122000-09-12 Miyashita Hisashi <himi@meadowy.org>
8813
8814 * ccl.c: Comment fixed.
8815 (MAX_MAP_SET_LEVEL): Increased to 30.
8816 (PUSH_MAPPING_STACK): Enclose with do-while block.
8817 (POP_MAPPING_STACK): Likewise.
8818 (stack_idx_of_map_multiple): New variable.
8819 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8820 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8821 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8822 (ccl_driver) <CCL_MapSingle>: Likewise.
8823 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8824 with the case where looking up process reaches to the end of
8825 map-set, and call CCL programs as the above change.
8826
7ee3bd7b
GM
88272000-09-11 Gerd Moellmann <gerd@gnu.org>
8828
8ec8a5ec
GM
8829 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8830 that might be clobbered by longjmp.
8831 (check_x_display_info, x_decode_color, create_frame_xic)
8832 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8833 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8834
f74b0705
GM
8835 * lread.c (init_lread): Set Vloads_in_progress to nil.
8836 (Fload): Show list of recursively loaded files, when signaling an
8837 error.
8838
7ee3bd7b
GM
8839 * lread.c (Vloads_in_progress): New variable.
8840 (record_load_unwind): New function.
8841 (Fload): Check for recursive loads.
8842 (syms_of_lread): Initialize Vloads_in_progress.
8843 (read_integer, read1): Avoid some compiler warnings.
8844
8845 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8846 compiler warnings.
8847
974e1e5b
MB
88482000-09-11 Miles Bader <miles@gnu.org>
8849
8850 * editfns.c (Fbuffer_string): Doc fix.
8851
9824c4e3
GM
88522000-09-10 Gerd Moellmann <gerd@gnu.org>
8853
8854 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8855
6a72fdd1
KR
88562000-09-09 Ken Raeburn <raeburn@gnu.org>
8857
8858 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8859 whether to include other header files.
8860
28e6fb66
GM
88612000-09-09 Gerd Moellmann <gerd@gnu.org>
8862
52283633 8863 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8864 by Fmemq as a boolean.
28e6fb66 8865
7f8b6551
SM
88662000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8867
8868 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8869
a8710abf
GM
88702000-09-08 Gerd Moellmann <gerd@gnu.org>
8871
d1a02881
GM
8872 * ralloc.c (mmap_fd): Remove initializer which can make it
8873 read-only in a dumped Emacs.
8874 (mmap_fd_1): New variable.
8875 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8876 restore it from there.
8877 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8878 unconditionally so that mmap_fd can be initialized there.
8879 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8880 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8881 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8882
c454aac1
GM
8883 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8884
8885 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8886 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8887
fc653ef2
GM
8888 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8889
3015eec0
GM
8890 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8891 inheritance.
8892
bfe0ee88
GM
8893 * xdisp.c (try_window_id): When trying to locate cursor in
8894 unchanged rows at the top, handle the case that we can't find it.
8895
a8710abf
GM
8896 * xterm.c (x_draw_glyphs): Handle case START and END are out
8897 of bounds more carefully.
8898
6b7d4ae4
DL
88992000-09-08 Dave Love <fx@gnu.org>
8900
423193c5
DL
8901 * s/sol2.h (REL_ALLOC_MMAP): Define.
8902 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8903
8904 * ralloc.c: Don't include string.h (redundant).
8905 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8906 [!MAP_ANON]: Include fcntl.h.
8907 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8908 (r_alloc, r_re_alloc, r_alloc_free)
8909 (mmap_enlarge, mmap_set_vars): Use it.
8910 (r_alloc_init_fd): New function.
8911 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8912 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8913 malloc type.
8914
8915 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8916 Remove vm-limit.o.
8917
6b7d4ae4
DL
8918 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8919 change to __NetBSD__.
8920
44d31981
KH
89212000-09-08 Kenichi Handa <handa@etl.go.jp>
8922
8923 * search.c (compile_pattern): Check the multibyteness of cached
8924 string and PATTERN.
8925
aad40737
MB
89262000-09-08 Miles Bader <miles@gnu.org>
8927
8928 * xfaces.c (default_face_vector): Function removed.
8929 (Finternal_merge_in_global_face): Restore old global/local
8930 attribute override order. Use inline loop instead of calling
8931 default_face_vector.
8932
91a211b5
GM
89332000-09-07 Gerd Moellmann <gerd@gnu.org>
8934
8935 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8936 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8937 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8938 where necessary, in case POINTER_TYPE is `void'.
8939
03419440
EZ
89402000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8941
8942 * frame.c (make_terminal_frame): Initialize frame foreground and
8943 background colors to unspecified, for the initial instance of an
8944 MSDOS frame.
8945
f46f845b
GM
89462000-09-07 Gerd Moellmann <gerd@gnu.org>
8947
24f76fbf
GM
8948 * ralloc.c (mmap_find): Fix overlap computation.
8949 (mmap_enlarge): Compute nbytes before trying to find an
8950 overlapping region.
8951
f46f845b
GM
8952 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8953 instead of `!='.
8954
8955 * lread.c (syms_of_lread): Change value of regexp
8956 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8957
8958 * xmenu.c (xdialog_show): When looking up the selection in
8959 menu_items, take `quote' boundaries into account; this corresponds
8960 to a nil ITEM in x-popup-dialog.
8961
3c014385
KH
89622000-09-07 Kenichi Handa <handa@etl.go.jp>
8963
fd6f711b
KH
8964 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8965 not 0x81.
8966 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8967
3c014385 8968 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8969 encoding, not decoding. Fix the handling of latin-jisx0201.
8970 Check for the charset katakana-jisx0201 too.
3c014385 8971 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8972 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8973
0da3ecef
GM
89742000-09-07 Gerd Moellmann <gerd@gnu.org>
8975
ab0ee409
GM
8976 * xfaces.c (Vparam_value_alist): New variable.
8977 (syms_of_xfaces): Initialize it.
8978 (Finternal_set_lisp_face_attribute): Avoid more consing.
8979
8980 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8981 specially.
8982 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8983 (Qbackground_mode): New variable.
8984 (syms_of_frame_1): Initialize Qbackground_mode.
8985
8986 * lisp.h (Qdisplay): Declare extern.
1091dd67 8987
0da3ecef
GM
8988 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8989 change face on all frames, and change the default for new frames.
8990
b14654b9
DL
89912000-09-07 Dave Love <fx@gnu.org>
8992
8993 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8994
d24fd56f
KH
89952000-09-07 Kenichi Handa <handa@etl.go.jp>
8996
794f3670
KH
8997 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8998
0fddd0dc
KH
8999 * charset.c: Include composite.h
9000 (lisp_string_width): New function.
9001 (Fstring_width): Call lisp_string_width instead of strwidth.
9002
9003 * Makefile.in (charset.o): Depends on composite.h.
9004
d24fd56f
KH
9005 * process.c (read_process_output): Before inserting the decoded
9006 text in the buffer, adjust the multibyteness.
9007
fa0b693c
GM
90082000-09-06 Gerd Moellmann <gerd@gnu.org>
9009
52283633 9010 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9011 buffer's text buffer is null, map new memory.
9012
0a58f946
GM
9013 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9014 POINTER_TYPE and size_t.
9015 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9016 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9017 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9018 [REL_ALLOC_MMAP]: New macros.
9019 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9020 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9021 [REL_ALLOC_MMAP]: New functions.
9022
9023 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9024 before and after unexec.
9025
9026 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9027 text buffers if necessary.
9028
9029 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9030 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9031 in prototypes.
9032
fa0b693c
GM
9033 * config.in (HAVE_MMAP): Add #undef.
9034
877055f6
GM
90352000-09-05 Gerd Moellmann <gerd@gnu.org>
9036
08ba3862
GM
9037 * frame.c (Qdisplay_type): New variable.
9038 (syms_of_frame_1): Initialize it.
9039 (Fframe_parameter): New function that avoids consing.
9040 (syms_of_frame): Defsubr it.
9041
66ffe51c
GM
9042 * buffer.c (Fother_buffer): Consider buffers as invisible when
9043 they are displayed in a window on an invisible frame.
9044
877055f6
GM
9045 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9046 get-largest-window always return nil.
9047
bb970e67
GM
90482000-09-04 Gerd Moellmann <gerd@gnu.org>
9049
9050 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9051 variable; recognize Emacs 19 elc files.
9052
7a3d0e0e
MB
90532000-09-04 Miles Bader <miles@gnu.org>
9054
9055 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9056 before initially popping up the menu, so the menu doesn't flash
52283633 9057 when the face settings are significantly different from the defaults.
7a3d0e0e 9058
14473664
SM
90592000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9060
9061 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9062 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9063 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9064 (BIT_UNIBYTE): Remove.
9065 (re_match_2_internal): Delete corresponding code and streamline the
9066 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9067 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9068 (re_wctype_t): New type.
9069 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9070 (regex_compile): Use them and fix handling of overly long char classes.
9071
c1174479
AI
90722000-09-03 Andrew Innes <andrewi@gnu.org>
9073
f8803e97
AI
9074 * makefile.w32-in: Change to DOS line endings.
9075
c1174479
AI
9076 * s/ms-w32.h (ORDINARY_LINK): New define.
9077
9078 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9079 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9080
9081 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9082 (distclean): Delete them here instead.
9083
44ef7cf6
AI
9084 * w32proc.c (compare_env): Convert to uppercase for comparison,
9085 not lowercase, to match how the native Windows shell works.
9086
49b3bd82
JR
90872000-09-03 Jason Rumney <jasonr@gnu.org>
9088
9089 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9090 CVS changes the line-ends when checking in/out on DOS/Windows.
9091
9092 * makefile.nt (emacs): Do not change directory to run temacs, as
9093 the load-path is set relative to current directory.
9094
a3d35a39
MB
90952000-09-03 Miles Bader <miles@gnu.org>
9096
9097 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9098
d276b0cf
GM
90992000-09-02 Gerd Moellmann <gerd@gnu.org>
9100
715e84c9
GM
9101 * xdisp.c (redisplay_mode_lines): New function.
9102 (display_mode_lines): Return number of mode lines displayed.
9103 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9104 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9105
8892f40b
GM
9106 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9107 string.h and strings.h.
9108 (index) [HAVE_INDEX]: Add prototype.
9109
d276b0cf
GM
9110 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9111 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9112
9113 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9114 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9115
38404229
GM
91162000-09-01 Gerd Moellmann <gerd@gnu.org>
9117
9118 * lread.c (read1): Accept `?' as symbol constituent, for
9119 compatiblity with XEmacs.
9120
c0f9ea08
SM
91212000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9122
9123 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9124 (struct re_pattern_buffer): Remove newline_anchor.
9125 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9126 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9127 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9128 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9129 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9130 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9131 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9132 Get rid of references to newline_anchor.
9133 (regcomp): Allocate and precompute a fastmap.
9134
8c0f83fe
GM
91352000-08-31 Gerd Moellmann <gerd@gnu.org>
9136
9137 * lread.c (openp): GCPRO local variable `filename'.
9138
4bb91c68
SM
91392000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9140
9141 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9142
9143 * regex.c: Merge some changes from GNU libc. Add prototypes.
9144 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9145 Use memcmp and memcpy instead of bcopy and bcmp.
9146 (init_syntax_once): Use ISALNUM.
9147 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9148 (REG_UNSET_VALUE): Remove. Use NULL instead.
9149 (REG_UNSET, re_match_2_internal): Use NULL.
9150 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9151 New macros.
9152 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9153 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9154 (regex_compile): In handle_interval, return an error rather than try to
9155 unfetch the interval if we can't find the closing brace.
9156 Obey the RE_NO_GNU_OPS syntax bit.
9157 (TOLOWER): New macro.
9158 (regcomp): Use it.
9159 (regexec): Allocate regs.start and regs.end as one block.
9160
5226a931
GM
91612000-08-30 Gerd Moellmann <gerd@gnu.org>
9162
868dd24b
GM
9163 * xdisp.c (echo_area_display): Check display_completed instead
9164 of calling detect_input_pending.
9165
9166 * dispnew.c (update_frame): Only set display_completed here; move
9167 the update_begin and update_end calls here from update_frame_1.
9168 (update_frame_1): Don't set display_completed here, don't call
9169 update_begin/update_end.
9170
5226a931
GM
9171 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9172 instead of store_frame_param.
9173
2a8bd25f
GM
91742000-08-29 Gerd Moellmann <gerd@gnu.org>
9175
9176 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9177 desired window matrix hasn't been displayed, use the current row
9178 instead. Make sure that only those frame rows are updated for
9179 which there exists a corresponding enabled desired row.
52283633 9180
ba3478d9
MB
91812000-08-29 Miles Bader <miles@gnu.org>
9182
9183 * xfaces.c (default_face_vector): New function.
9184 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9185
87d0f685
GM
91862000-08-29 Gerd Moellmann <gerd@gnu.org>
9187
9188 * lread.c (openp): Prevent temporary string passed to
9189 Ffile_readable_p from being garbage collected.
9190
6fa86045
DL
91912000-08-28 Dave Love <fx@gnu.org>
9192
9193 * keymap.c (store_in_keymap): Add `static' to declaration.
9194
bb17930d
GM
91952000-08-28 Gerd Moellmann <gerd@gnu.org>
9196
9197 * emacs.c, callint.c, doc.c, editfns.c
9198 (toplevel) [HAVE_STRING_H]: Include string.h.
9199 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9200 (index): Remove prototypes which might conflict with non-standard
9201 definitions of index/strchr.
9202
9203 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9204 (rindex): Define only if !HAVE_RINDEX.
9205
9206 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9207
9208 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9209
87188200
MB
92102000-08-28 Miles Bader <miles@gnu.org>
9211
9212 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9213 made inconsistent by a font-related attribute in FROM.
9214 (merge_face_inheritance): Add function comment.
9215
41a68aef
KH
92162000-08-28 Kenichi Handa <handa@etl.go.jp>
9217
9218 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9219 the 4th arg (PREV_EVENT) Qt to suppress input method.
9220
f7c436c1
SM
92212000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9222
0b32bf0e
SM
9223 * regex.c: Indent cpp directives and remove parens after `defined'.
9224 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9225 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9226 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9227 (re_compile_pattern): Use size_t for length.
9228 (init_syntax_once): Move to a better place.
9229 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9230 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9231
f7c436c1
SM
9232 * syntax.c (back_comment): Detect cases where a comment-starter is
9233 actually inside another comment as in: /* a // b */ c // d \n.
9234 Make it clear that `comstart_pos' is unused for nested comments.
9235
9236 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9237 (KEYMAPP): New macro.
9238 (Fkeymap_parent, Fset_keymap_parent): Use it.
9239 (fix_submap_inheritance): Mark it static.
9240 (define_as_prefix, describe_buffer_bindings, describe_command)
9241 (describe_translation, describe_map): Complete prototypes.
9242
9243 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9244
9245 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9246 to better match the key-lookup behavior.
9247
6288c62f
GM
92482000-08-27 Gerd Moellmann <gerd@gnu.org>
9249
9250 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9251 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9252
e931344e
EZ
92532000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9254
9255 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9256 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9257 (xterm.o): Depend on coding.h
9258
d10dfeef
KH
92592000-08-26 Kenichi Handa <handa@etl.go.jp>
9260
9261 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9262 the corresponding '#endif'.
9263
2d73e8d3
MB
92642000-08-26 Miles Bader <miles@gnu.org>
9265
9266 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9267 * xfaces.c (QCinherit): New variable.
9268 (syms_of_xfaces): Initialize it.
9269 (LFACE_INHERIT): New macro.
9270 (Finternal_get_lisp_face_attribute)
52283633 9271 (merge_face_vector_with_property)
2d73e8d3
MB
9272 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9273 (check_lface_attrs): Allow new types of face height. Check
9274 inherit attribute.
9275 (CYCLE_CHECK): New macro.
9276 (merge_face_inheritance): New function.
9277 (merge_face_vectors): Merge inherited faces too. Add F and
9278 CYCLE_CHECK arguments.
9279 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9280 (lookup_named_face, lookup_derived_face, realize_named_face)
9281 (face_at_string_position, face_at_buffer_position): Supply
9282 new F and CYCLE_CHECK arguments to merge_face_vectors.
9283 (merge_face_heights): New function.
52283633 9284 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9285 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9286 handle relative face heights.
9287 (lface_same_font_attributes_p): Compare heights using EQ.
9288
6ce974d4
KH
92892000-08-26 Kenichi Handa <handa@etl.go.jp>
9290
9291 * charset.c (char_to_string): Check the character validity.
52283633 9292 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9293
dc1e502d
SM
92942000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9295
9296 * regex.c (PUSH_FAILURE_COUNT): New macro.
9297 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9298 Handle popping of a register's or a counter's data.
9299 (POP_FAILURE_POINT): Use the new name.
9300 (re_match_2_internal): Push counter data on the stack for succeed_n,
9301 jump_n and set_number_at and remove misleading dead code in succeed_n.
9302
bd9d0f3f
GM
93032000-08-25 Gerd Moellmann <gerd@gnu.org>
9304
9305 * xdisp.c (redisplay_internal): If considering all windows on all
9306 frames, update the display for each frame as soon as possible,
9307 instead of first building all desired matrices for all frames, and
9308 then updating them all.
9309 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9310
aa5b8e15
GM
93112000-08-24 Gerd Moellmann <gerd@gnu.org>
9312
17494071
GM
9313 * bytecode.c (mark_byte_stack): Add a comment.
9314
52283633
SM
9315 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9316 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9317 a graphical frame.
9318
c543db81
KH
93192000-08-24 Kenichi Handa <handa@etl.go.jp>
9320
d246d5f5
KH
9321 * minibuf.c (do_completion): Always use compare-string, not
9322 string-equal because the latter doesn't pay attention to
9323 multibyteness of strings.
9324
c543db81
KH
9325 * process.c (create_process): Don't setup raw-text coding here.
9326 (Fopen_network_stream): Don't set coding->src_multibyte and
9327 coding->dst_multibyte here.
9328 (read_process_output): For process filter, return unibyte string
9329 if default-enable-multibyte-characters is nil.
9330 (send_process): If OBJECT is multibyte text, be sure to encoded it
9331 by the specified coding system for the process. Otherwise, setup
9332 raw-text coding.
52283633 9333 (init_process): Don't initialize default-process-coding-system here.
c543db81 9334
9b47cfe0
EZ
93352000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9336
9337 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9338 <scroll-down-aggressively>: Likewise.
9339
f5a36960
KH
93402000-08-23 Kenichi Handa <handa@etl.go.jp>
9341
9342 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9343 zero. Set coding->produced_char correctly.
9344
69a7ffa7
AI
93452000-08-22 Andrew Innes <andrewi@gnu.org>
9346
9347 * makefile.w32-in: New file.
9348
9349 * unexw32.c (unexec): Ignore old_name, and use the actual location
9350 of the current executable instead. Base new_name on this.
9351
9352 * w32proc.c (create_child): Remove reference to security
9353 descriptor, which isn't needed and doesn't compile with mingw32.
9354
9355 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9356 up dllimport attributes.
9357 (x_update_window_end): Update prototype.
9358
9359 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9360 extern, which screws up dllimport attributes.
9361
9362 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9363 up dllimport attributes.
9364
9365 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9366 screws up dllimport attributes.
9367
9368 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9369 up dllimport attributes.
9370 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9371 screws up dllimport attributes.
9372
9373 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9374 up dllimport attributes.
9375
9376 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9377 screws up dllimport attributes.
9378
9379 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9380 screws up dllimport attributes.
9381
9382 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9383 up dllimport attributes.
9384
9385 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9386 unnecessary extern, which screws up dllimport attributes.
9387 (main): Ditto.
9388
9389 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9390 up dllimport attributes.
9391
9392 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9393 unnecessary extern, which screws up dllimport attributes.
9394
9395 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9396 screws up dllimport attributes.
9397
9398 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9399 up dllimport attributes.
9400
9401 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9402
52283633
SM
9403 * w32bdf.c (search_file_line):
9404 (set_bdf_font_info):
9405 (seek_char):
9406 (w32_get_bdf_glyph):
69a7ffa7
AI
9407 (w32_BDF_to_x_font): Fix compile warnings.
9408
52283633 9409 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9410
9411 * w32select.c: Include keyboard.h before frame.h.
9412
9413 * w32fns.c (max): Define macro.
9414 (JOHAB_CHARSET): Define if not known.
9415 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9416 (Fx_show_tip): Synch with X version.
9417
9418 * w32xfns.c: Include keyboard.h before frame.h.
9419
9420 * w32fns.c: Include keyboard.h before frame.h.
9421
9422 * w32term.c: Include keyboard.h before frame.h.
9423
9424 * fontset.c: Include keyboard.h before frame.h.
9425
9426 * w32inevt.c: Include keyboard.h before frame.h.
9427 (MOUSE_MOVED): Define if not known.
9428
9429 * minibuf.c: Include keyboard.h before frame.h.
9430
9431 * keyboard.c: Include keyboard.h before frame.h.
9432
9433 * indent.c: Include keyboard.h before frame.h.
9434
9435 * dispnew.c: Include keyboard.h before frame.h.
9436
9437 * buffer.c: Include keyboard.h before frame.h.
9438
9439 * alloc.c: Include keyboard.h before frame.h.
9440
9441 * print.c: Include keyboard.h before frame.h.
9442
9443 * process.c: Include keyboard.h before frame.h.
9444
9445 * scroll.c: Include keyboard.h before frame.h.
9446
9447 * sysdep.c: Include keyboard.h before frame.h.
9448
9449 * term.c: Include keyboard.h before frame.h.
9450
9451 * window.c: Include keyboard.h before frame.h.
9452
9453 * xdisp.c: Include keyboard.h before frame.h.
9454 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9455
9456 * frame.c: Include keyboard.h before frame.h.
9457
9458 * w32heap.h: Undefine min, max.
9459
9460 * w32gui.h: Undefine min, max.
9461
9462 * unexw32.c: Change PUCHAR to PCHAR.
9463 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9464 (relocate_offset):
9465 (get_section_info):
69a7ffa7
AI
9466 (copy_executable_and_dump_data): Remove unnecessary static defs.
9467 (copy_executable_and_dump_data): Fix compile warnings.
9468
9469 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9470
9471 * w32console.c (min): Define macro.
9472 (clear_frame, write_glyphs): Fix compile warning.
9473
52283633 9474 * w32proc.c (compare_env):
69a7ffa7
AI
9475 (find_child_console): Fix compile warning.
9476
9477 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9478 sys_errlist instead of _sys_errlist.
9479 (get_emacs_configuration_options): New function.
9480
9481 * s/ms-w32.h (sys_nerr): Provide default definition.
9482 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9483 name with _ prepended.
9484 (NSIG): Define if not known.
9485 (get_emacs_configuration): Provide extern declaration.
9486 (get_emacs_configuration_options): Provide extern declaration.
9487 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9488
9489 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9490 (map_w32_filename):
69a7ffa7
AI
9491 (read_unc_volume): Fix compile warning.
9492
9493 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9494 definitions from being used.
9495
9496 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9497
52283633 9498 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9499 (open_unc_volume): Make arg const.
9500
9501 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9502 (read_input_waiting): Remove excess parameter.
9503
9504 * w32.c (init_environment): Call _access.
9505 (check_windows_init_file): Call _close.
9506 (init_user_info): Call _putenv.
9507 (init_environment): Call _putenv and _strdup.
9508 (init_ntproc): Reset volume info cache on startup.
9509
9510 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9511 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9512 cannot override the CRT malloc.
9513
9514 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9515 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9516
9517 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9518 unless we are linking with a static CRT.
9519 (RVA_TO_PTR): Cast result to unsigned char*.
9520
9521 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9522 (add_volume_info): Use xstrdup.
9523
25060080
SM
95242000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9525
9526 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9527 (do_completion, Fminibuffer_complete_word): Use it.
9528 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9529 var so it can take non-boolean values.
9530
6917e6bb
GM
95312000-08-21 Gerd Moellmann <gerd@gnu.org>
9532
acb7cc89 9533 * editfns.c (find_field): Formatting changes.
52283633 9534 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9535 changed to prototypes, some new protypes added, some functions
9536 made static.
9537
9538 * lisp.h (set_time_zone_rule): Add prototype.
9539 (use_dialog_box): External declaration.
9540
0bbfdc25
GM
9541 * keyboard.c (gen_help_event): Add parameter SIZE.
9542 (kbd_buffer_events_waiting): Slightly rewritten.
9543 (clear_event): New function.
9544 (kbd_buffer_get_event): Use it, and clear the input_events of
9545 HELP_EVENTs.
9546 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9547 don't fill the newly created array with nils.
9548 (toplevel): Convert some old-style function forward declarations
9549 to prototypes.
9550
9551 * keyboard.h (gen_help_event): Change prototype.
9552
9553 * xterm.c (XTread_socket): Change calls to gen_help_event.
9554
9555 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9556
6917e6bb
GM
9557 * eval.c (Fmacroexpand): Doc fix.
9558
e5cd3d11
JR
95592000-08-20 Jason Rumney <jasonr@gnu.org>
9560
9561 * w32term.h (x_display_info_for_display): Remove as this function
9562 does not exist on W32.
9563
9564 * w32term.c (help_echo_window): New variable.
9565 (syms_of_w32term): staticpro it.
9566 (note_mode_line_highlight): Set it.
9567 (XTextExtents16): Removed as there is no equivalent on W32.
9568 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9569 the X way of doing this will not work for W32.
9570 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9571 (x_draw_image_foreground): Avoid drawing outside of the clip area
9572 when image doesn't have a mask.
9573 (note_mouse_highlight): Process overlays in the right order of
9574 priority. Set help_echo_window.
9575 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9576 because that's more visible for large images.
9577
9578 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9579 name to single_keymap_panes.
9580 (w32_menu_show): Set wv->title when dealing with titles.
9581 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9582
6e69ab8c
MB
95832000-08-21 Miles Bader <miles@gnu.org>
9584
9585 * minibuf.c (do_completion): Try again if we rewrite the input
9586 string, but no completion was done, so that any completion message
9587 will be correct.
9588
511bd4eb
GM
95892000-08-20 Gerd Moellmann <gerd@gnu.org>
9590
9591 * xfaces.c (lface_equal_p): Compare strings differently.
9592 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9593 (realize_tty_face): Use them.
9594 (syms_of_xfaces): Initialize new variables.
9595 (map_tty_color): New function, extracted from realize_tty_face.
9596 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9597 foreground or background color, store the new color name in the
9598 realized face; previous code trying to do this had no effect.
9599 (realize_tty_face): Use map_tty_color.
9600 (Fclear_face_cache): Set face_change_count and ensure thorough
9601 redisplay.
9602
1433385f
GM
96032000-08-19 Gerd Moellmann <gerd@gnu.org>
9604
511bd4eb
GM
9605 * undo.c (record_first_change, record_marker_adjustment): Don't
9606 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9607
419ac0a2
KH
96082000-08-18 Kenichi Handa <handa@etl.go.jp>
9609
9610 * coding.c (decode_coding_string): Set members consumed,
9611 consumed_char, produced, produced_char of *coding correctly. If
9612 decode_coding doesn't consume any byte, don't try anymore.
9613 (encode_coding_string): Likewise.
9614
7eb9e30d
GM
96152000-08-18 Gerd Moellmann <gerd@gnu.org>
9616
511bd4eb
GM
9617 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9618 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9619
9620 * xdisp.c (redisplay_internal): Compare windows for equality with
9621 EQ, instead of applying XWINDOW to something that might not
9622 be a window.
52283633 9623
dd34a735
KH
96242000-08-18 Kenichi Handa <handa@etl.go.jp>
9625
9626 * fontset.c (Finternal_char_font): Search only the selected frame
9627 for a window of the current buffer.
9628
385ff9e3
GM
96292000-08-18 Gerd Moellmann <gerd@gnu.org>
9630
511bd4eb 9631 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9632 Lisp_Objects.
9633
385ff9e3
GM
9634 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9635 second half of a HELP_EVENT is found at the start of kbd_buffer.
9636
d6abb4c7
MB
96372000-08-18 Miles Bader <miles@gnu.org>
9638
4618074a
MB
9639 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9640
d6abb4c7
MB
9641 * editfns.c (save_restriction_save): Rewrite to use markers.
9642 (save_restriction_restore): Rewrite to understand new form of data
9643 saved by save_restriction_save.
9644 (Fsave_restriction): Remove cautionary note in doc-string.
9645
a7b28523
GM
96462000-08-17 Gerd Moellmann <gerd@gnu.org>
9647
9648 * fileio.c (build_annotations): Add a comment explaining the
9649 return value of format-annotate-function. Replace a spurious call
9650 to Flength with a CONSP test. Call format-annotate-function with
9651 a fifth arg specifying how many times the function is been called
9652 in a row, to let it choose temporary buffers appropriately.
9653
03c9ed77
DL
96542000-08-17 Dave Love <fx@gnu.org>
9655
9656 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9657 declare make_temp_name twice.
9658
52283633 9659 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9660 (unreadpure): Give it an arg.
9661
9662 * unexalpha.c: Prototype fatal_unexec, mark_x,
9663 update_dynamic_symbols. Declare unexec as void.
9664
9665 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9666 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9667
9668 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9669 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9670
9671 * alloca.c: Use #error.
9672 [POINTER_TYPE]: Use it.
9673
9674 * eval.c (Fdefvar): Doc fix.
9675
9676 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9677 INITIALIZE_INTERVAL.
9678
9679 * buffer.h: Avoid DECLARE_INTERVALS.
9680
9681 * config.in: Add size_t.
9682
aae41d97
EZ
96832000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9684
9685 * w16select.c (set_clipboard_data): If there's not enough memory
9686 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9687 expects. In case of other failures, return 3.
9688 (system_error_msg): New error message.
9689 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9690 system_error_msg.
9691
65aa5e85
GM
96922000-08-16 Gerd Moellmann <gerd@gnu.org>
9693
9694 * term.c (write_glyphs): Also turn off inverse video after turning
9695 off other appearances in case TS_exit_attribute_mode is not equal
9696 to TS_end_standout_mode.
9697 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9698 with the same face.
9699 (turn_off_face): Reset standout_mode only if
9700 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9701 is equal to TS_end_standout_mode.
9702
ece23901
KH
97032000-08-16 Kenichi Handa <handa@etl.go.jp>
9704
9d7bcb2e
KH
9705 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9706 sequence at the end of the source block.
9707
ece23901
KH
9708 * ccl.c (Fccl_program_p): Docstring modified.
9709 (Fccl_execute): Likewise.
9710 (Fccl_execute_on_string): Likewise.
9711
5e30eaa2
EZ
97122000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9713
9714 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9715
290602fd
KH
97162000-08-16 Kenichi Handa <handa@etl.go.jp>
9717
9718 The following changes are mainly to fix bugs of
9719 encode/decode-coding-string failing if encoding/decoding return
9720 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9721 variable conversion_buffer.
9722
9723 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9724 decrement dst_end to avoid buffer overflow in the later call of
9725 string_as_multibyte
9726
9727 * coding.h (conversion_buffer_size, conversion_buffer)
9728 (get_conversion_buffer): Extern deleted.
9729
9730 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9731 (conversion_buffer, conversion_buffer_size): Variables deleted.
9732 (get_conversion_buffer): Function deleted.
9733 (struct conversion_buffer): New structure.
9734 (MAX_ALLOCA): New macro.
9735 (allocate_conversion_buffer): New macro.
9736 (extend_conversion_buffer, free_conversion_buffer): New functions.
9737 (ccl_coding_driver): Set coding->result.
9738 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9739 this is the last block of source.
9740 (encode_coding): Likewise. Handle the source block as the last
9741 one only when the whole source text is consumed.
9742 (decode_coding_string): Handle the case that the output buffer is
9743 too small to decode the whole source text. Use
9744 allocate_conversion_buffer, extend_conversion_buffer and
9745 free_conversion_buffer, not get_conversion_buffer.
9746 (encode_coding_string): Likewise.
9747 (init_coding): Function deleted.
52283633 9748 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9749
9750 * emacs.c (main): Don't call init_coding.
9751
52283633 9752 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9753
9754 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9755 (insert_glyphs): Likewise.
9756
9757 * w32console.c (write_glyphs): Use a locally declared
9758 conversion_buffer.
9759
b9f80d41
EZ
97602000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9761
9762 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9763 member of display_info is NULL.
9764
32dc52f7
GM
97652000-08-15 Gerd Moellmann <gerd@gnu.org>
9766
52283633 9767 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9768
32dc52f7 9769 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9770 appearances with capability `me'.
32dc52f7
GM
9771 (write_glyphs): Switch on inverse video before each face change.
9772
4eb22d33
DL
97732000-08-14 Dave Love <fx@gnu.org>
9774
9775 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9776 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9777 (lisp_free): Declare and make static.
9778
9779 * window.c: Fix embedded comment.
9780 (syms_of_window): Fix doc string.
9781
90cbf47e
GM
97822000-08-14 Gerd Moellmann <gerd@gnu.org>
9783
52283633 9784 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9785 make sure to print `C-' before `M-', like in the manual.
9786
440fc135
GM
97872000-08-11 Gerd Moellmann <gerd@gnu.org>
9788
9789 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9790 since they aren't relocated anymore.
52283633 9791 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9792
9793 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9794 partially visible line which is smaller than the window's height.
440fc135 9795
6e264fad
KH
97962000-08-11 Kenichi Handa <handa@etl.go.jp>
9797
9798 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9799 the multibyte form of eight-bit-control characters.
6e264fad
KH
9800 (Fccl_execute_on_string): Initialize ccl->multibyte.
9801
9802 * ccl.h (struct ccl_program): New member multibyte.
9803
9804 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9805
c371f69a
KH
98062000-08-11 Kenichi Handa <handa@etl.go.jp>
9807
9808 * regex.c (regex_compile) <normal_char>: Pay attention to
9809 multibyteness.
9810 (analyse_first) <exactn>: Setup fastmap correctly for
9811 eight-bit-control characters.
9812
98132000-08-11 Kenichi Handa <handa@etl.go.jp>
9814
52283633 9815 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9816
9817 * keyboard.c (make_lispy_event): Handle the new event type
9818 multibyte_char_keystroke.
9819
9820 * xterm.c: Include coding.h.
9821 (XTread_socket): Work around a bug of XmbLookupString. If the
9822 input is from XIM, decode it according to the current locale. In
9823 that case, generate multibyte_char_keystroke events.
9824
b8ddbe71
KH
98252000-08-11 Kenichi Handa <handa@etl.go.jp>
9826
9827 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9828 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9829
47589c8c
GM
98302000-08-10 Gerd Moellmann <gerd@gnu.org>
9831
9832 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9833 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9834 (move_it_in_display_line_to): Record iterator's ascent and descent
9835 before producing glyphs, and restore them when we know the glyph
9836 doesn't fit on the line.
9837 (move_it_to): Restructured so that it's easier to debug. If
9838 moving to a vpos, and not moving to an x or character position,
9839 stop as soon as the specified vpos is reached; don't move further
9840 into that line because that might change the computed line height.
9841 (try_cursor_movement): New function, extracted from the cursor
9842 movement branch of redisplay_window. If ending on a partially
9843 visible line, don't try to scroll if the cursor line is taller
9844 than the window.
9845 (redisplay_window): Use try_cursor_movement.
9846
9847 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9848 because that function doesn't cope with variable-height lines.
9849
9850 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9851 box cursor because that's better visible for large images.
52283633 9852
c51bacd6
MB
98532000-08-10 Miles Bader <miles@gnu.org>
9854
9855 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9856
bea56df7
GM
98572000-08-10 Gerd Moellmann <gerd@gnu.org>
9858
9859 * xdisp.c (Vmessages_buffer_name): New variable.
9860 (message_dolog): Use it.
9861 (syms_of_xdisp): Initialize it.
9862
99cd7364
EZ
98632000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9864
52283633 9865 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9866 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9867 redundant now that keyboard.h is included.
9868
7d093d56
EZ
98692000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9870
9871 * keyboard.c (kbd_buffer_events_waiting): New function.
9872
9873 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9874
9875 * msdos.c: Include keyboard.h.
9876 (XMenuActivate): Empty no_event events from the event buffer. If
9877 no events are left after that, call clear_input_pending.
9878 (mouse_clear_clicks): New function, code moved from mouse_init.
9879 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9880 mouse driver to ``forget'' any past clicks.
9881
9882 * Makefile.in (msdos.o): Depend on keyboard.h.
9883
41e757a6
GM
98842000-08-09 Gerd Moellmann <gerd@gnu.org>
9885
8e7bd231
GM
9886 * lisp.h (input_pending): External declaration.
9887
9888 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9889
8e7bd231
GM
9890 * xdisp.c (echo_area_display): Display thoroughly if input is
9891 pending. Bind redisplay-dont-pause to t during the redisplay.
9892 in case input is pending.
9893
9894 * dispnew.c (Qredisplay_dont_pause): New variable.
9895 (syms_of_display): Initialize and staticpro it.
9896 (update_frame_1): Don't interrupt the display for pending input if
9897 redisplay_dont_pause is set.
52283633 9898
43028b7e
GM
9899 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9900
41e757a6
GM
9901 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9902
2f2174fa
KH
99032000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9904
9905 * callproc.c (Fcall_process): Terminate the unwind-protect around
9906 the post-read-conversion of coding system.
9907
0a6fd67e
MB
9908 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9909 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9910 * buffer.h (overlays_at): Update prototype.
9911 * xdisp.c (next_overlay_change): Update call to overlays_at.
9912 * xfaces.c (face_at_buffer_position): Likewise.
9913 * textprop.c (Fget_char_property): Likewise.
9914 * xterm.c (note_mouse_highlight): Likewise.
9915
0c80756e
MB
9916 * minibuf.c (do_completion): Don't consider a simple change of
9917 case as `completion'.
9918
975f250a
KR
99192000-08-08 Ken Raeburn <raeburn@gnu.org>
9920
52283633 9921 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9922 * undo.c (record_delete): Make sure last_point_position_buffer is
9923 a buffer before comparing pointers.
9924
9925 * coding.h (decode_coding_string): Declare.
9926
9927 * intervals.h (Fprevious_single_char_property_change): Declare.
9928
9929 * textprop.c (Fprevious_single_char_property_change): Don't do
9930 arithmetic directly on lisp objects.
9931
52283633 9932 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9933
9934 * keyboard.h (menu_item_eval_property): Declare.
9935
9936 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9937 reuse as buffer name, instead of recreating (and discarding) every
9938 time a message is logged.
9939 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9940 (current_message_1, truncate_message_1, set_message_1)
9941 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9942 (current_message, truncate_echo_area, display_echo_area)
9943 (resize_echo_area_axactly): Changed calls.
b347b3fd 9944
975f250a 9945 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9946 Lisp object.
975f250a 9947 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9948 must be an integer, not a Lisp object.
975f250a 9949
46dc9912
KH
99502000-08-08 Kenichi Handa <handa@etl.go.jp>
9951
9952 * charset.c (Fchar_width): Doc fix.
9953
9f6d1a6c
GM
99542000-08-08 Gerd Moellmann <gerd@gnu.org>
9955
9956 * charset.c (Fstring_width): Doc fix.
9957
ff3d9573
GM
99582000-08-07 Gerd Moellmann <gerd@gnu.org>
9959
41e757a6 9960 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9961 line, clear ascent and descent members of the iterator structure;
9962 the height of the continued line does not affect the height of the
9963 continuation line.
9964 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9965 line taller than the window.
9966 (redisplay_window) <forced window start>: Handle case that the
9967 middle of the window is not found in any row.
9968 (dump_glyph_row): Show more information.
9969 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9970 first text line in a glyph matrix.
9971
9972 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9973 of the clip area when image doesn't have a mask.
9974
70fc58b3
GM
9975 * fns.c (sweep_weak_table): Fix survival conditions for
9976 key-or-value and key-and-value weakness.
9977
9978 * .gdbinit (xhashtable): New command.
9979
ac0e96ee
GM
9980 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9981 tables out of the list of all weak hash tables.
9982
ff3d9573
GM
9983 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9984 a new buffer is created, make sure echo_area_buffer[] references
9985 the new buffer.
9986
e0d8827b
EZ
99872000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9988
9989 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9990 the doc string.
9991
c6f35378
KH
99922000-08-07 Kenichi Handa <handa@etl.go.jp>
9993
9994 * syntax.c (skip_chars): Fix previous change. Make the handling
9995 of unibyte string consistent with that of regex search.
9996
1fd4c450
GM
99972000-08-05 Gerd Moellmann <gerd@gnu.org>
9998
e49aa397
GM
9999 * xmenu.c (popup_get_selection): Use xfree instead of free.
10000
10001 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10002
10003 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10004
10005 * callproc.c (child_setup): Use xfree instead of free.
10006
10007 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10008 instead of malloc.
10009 (run_mac_command, closedir): Use `xfree' instead of `free'.
10010
10011 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10012
10013 * eval.c (error): Use xfree instead of free.
10014
1fd4c450
GM
10015 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10016
10017 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10018 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10019
82d497fc
KH
100202000-08-05 Kenichi Handa <handa@etl.go.jp>
10021
10022 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10023 conversion.
10024
59f953a2
NF
100252000-08-04 Noah Friedman <friedman@splode.com>
10026
10027 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10028 docstring.
10029
688351f2
GM
100302000-08-04 Gerd Moellmann <gerd@gnu.org>
10031
10032 * syntax.c (skip_chars): Fix typo in error message.
10033
2dad51cc
AS
100342000-08-04 Andreas Schwab <schwab@suse.de>
10035
10036 * m/ia64.h: Moved from s/ia64.h.
10037
99bb2c60
KH
100382000-08-04 Kenichi Handa <handa@etl.go.jp>
10039
082a1df2
KH
10040 * process.c (read_process_output): Big simplification. Handle
10041 composition and post-read-conversion of coding system correctly.
10042 (send_process): Handle composition correctly.
10043
10044 * callproc.c (Fcall_process): Handle post-read-conversion of
10045 coding system if any.
10046
99bb2c60
KH
10047 * coding.c (decode_coding_iso2022): More strict check for handling
10048 single shifting.
082a1df2
KH
10049 (coding_restore_composition): Pay attention to the case that
10050 cmp_data is not set properly (because of invalid code in the
10051 source text).
10052 (run_pre_post_conversion_on_str): Include text properties in the
10053 resulting string.
10054 (decode_coding_string): Set members of coding correctly.
99bb2c60 10055
f4988be7
GM
100562000-08-03 Gerd Moellmann <gerd@gnu.org>
10057
10058 * s/ia64.h: New file.
10059
10060 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10061 Use NULL instead of 0 at the end of variable argument list of
10062 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10063 sizeof (int) < sizeof (void *).
10064
10065 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10066 of variable argument lists of XtVaGetValues and XtVaSetValues.
10067
10068 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10069 variable argument lists of XtVaGetValues and XtVaSetValues.
10070
ead53494
GM
100712000-08-02 Gerd Moellmann <gerd@gnu.org>
10072
10073 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10074 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10075
10076 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10077 prototype.
10078
10079 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10080 in call to Fsingle_key_description.
10081
10082 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10083 Callers changed.
10084
100852000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10086
10087 * window.c (display_buffer_reuse_frames): New variable.
10088 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10089 frames displaying BUFFER.
52283633 10090 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10091
10b0f752
MB
100922000-08-01 Miles Bader <miles@gnu.org>
10093
10094 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10095 when to constrain NEW_POS (they were pretty screwed up before).
10096
16425c4a
EZ
100972000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10098
10099 * msdos.c (run_msdos_command): Save and restore the master
10100 environment, for the case that child_setup signals an error.
10101 When mirroring slashes in DOS shell commands, don't fail when
10102 argv[2] has embedded blanks.
da288c14
EZ
10103 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10104 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10105 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10106
10107 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10108 using alloca; free it after run_msdos_command returns.
10109
27f73852
DL
101102000-07-27 Dave Love <fx@gnu.org>
10111
52283633
SM
10112 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10113 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10114
10115 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10116
c0261b5e
EZ
101172000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10118
10119 * editfns.c (lisp_time_argument): Fix last change.
10120
b548072f
GM
101212000-07-27 Gerd Moellmann <gerd@gnu.org>
10122
3ab82477
GM
10123 * fns.c (Fdelete): Make it work on vectors and strings in addition
10124 to lists.
10125
b548072f
GM
10126 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10127 (syms_of_fns): Initialize new variables.
52283633 10128 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10129 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10130 weakness, with t meaning the same as `key-and-value'.
10131
91ae8751
KH
101322000-07-27 Kenichi Handa <handa@etl.go.jp>
10133
10134 * coding.h (struct coding_system): Member safe_charset deleted.
10135
10136 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10137 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10138 New variables.
91ae8751
KH
10139 (coding_safe_chars): New function.
10140 (CODING_SAFE_CHAR_P): New macro.
10141 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10142 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10143 (detect_coding_iso2022): New local variable safe_chars.
10144 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10145 safe_charsets member of the coding system.
10146 (decode_coding_iso2022): New local variable safe_chars.
10147 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10148 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10149 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10150 (ENCODE_UNSAFE_CHARACTER): New macro.
10151 (encode_coding_iso2022): New local variable safe_chars. Check
10152 unsafe chars.
10153 (setup_coding_system): Delete the code to initialize
10154 coding->safe_charses
10155 (intersection, find_safe_codings): New functions.
10156 (Ffind_coding_systems_region_internal): New function.
10157 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10158 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10159 variable and initialize it.
10160
10161 * fns.c (char_table_ref_and_index): New function.
10162
10163 * lisp.h (char_table_ref_and_index): Add prototype.
10164
34a7a267
SS
101652000-07-26 Sam Steingold <sds@gnu.org>
10166
10167 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10168 (Ffloat_time): New built-in Lisp function.
34a7a267 10169
a95cb10a
GM
101702000-07-26 Gerd Moellmann <gerd@gnu.org>
10171
3353ef5a
GM
10172 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10173 for the character code.
10174
10175 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10176 GNU/Linux.
10177
a95cb10a
GM
10178 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10179 if called for a popup menu.
10180 (xmenu_show): Store help string in widget values.
10181
b4a12321
DL
101822000-07-26 Dave Love <fx@gnu.org>
10183
10184 * syswait.h: Move some definitions.
10185 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10186 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10187 perspicuous definitions.
10188 (WTERMSIG): Fix bit pattern used.
10189
13f5ad37
KH
101902000-07-26 Kenichi Handa <handa@etl.go.jp>
10191
10192 * print.c (print_object): If vector printing is truncated, print
10193 "..." to indicate it as well as the case of list printing.
10194
070fe99c
GM
101952000-07-25 Gerd Moellmann <gerd@gnu.org>
10196
969065c3
GM
10197 * xdisp.c (next_element_from_display_vector): Improve comments.
10198
10199 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10200 for the character code, and the rest for the face id as in 20.x.
10201 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10202
10203 * window.c (window_display_table): Cleaned up.
10204
070fe99c
GM
10205 * syntax.c (Fforward_word): Add last arg nil in call of
10206 Fconstrain_to_field.
10207
bad77ef7
EZ
102082000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10209
969065c3 10210 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10211 identical but for the letter-case, don't call
10212 barf_or_query_if_file_exists.
bad77ef7 10213
c28da489
MB
102142000-07-25 Miles Bader <miles@gnu.org>
10215
10216 * editfns.c (find_field): Honor special `boundary' fields.
10217 (Qboundary): New variables.
10218 (syms_of_editfns): Initialize Qboundary.
10219 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10220 Use scan_buffer instead of find_before_next_newline, because it
10221 allows us to detect the boundary case where there's a newline at
10222 the search limit.
10223 * lisp.h (Fconstrain_to_field): Update external declaration.
10224
e3c31fd5
GM
102252000-07-24 Gerd Moellmann <gerd@gnu.org>
10226
10227 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10228 if that is nil.
c28da489 10229
c66c29a2
DL
102302000-07-24 Dave Love <fx@gnu.org>
10231
10232 * s/sunos4-0.h, s/sol2.h:
10233 (LIBS_TERMCAP): Move from m/sparc.h.
10234
10235 * m/sparc.h (TERMINFO): Moved to system files (probably only
10236 relevant for sunos4 judging by its vintage).
10237 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10238 __arch64__.
10239
fbe0a958
EZ
102402000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10241
10242 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10243 name to single_keymap_panes.
10244
7d88e5c9
AS
102452000-07-24 Andreas Schwab <schwab@suse.de>
10246
10247 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10248
e024b101
GM
102492000-07-24 Gerd Moellmann <gerd@gnu.org>
10250
10251 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10252 parameters instead of using int parameters. Expect FN to accept
10253 EMACS_INT parameters.
10254 (display_echo_area, resize_echo_area_axactly, current_message)
10255 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10256 with new argument list.
10257 (resize_mini_window_1): New callback function.
10258 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10259 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10260
25c1a9ce
KH
102612000-07-24 Kenichi Handa <handa@etl.go.jp>
10262
10263 * fontset.c (fontset_ref): Remove INLINE declaration.
10264 (fontset_ref_via_base): Likewise.
10265 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10266 to downcase.
10267
7f987ac0
EZ
102682000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10269
10270 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10271 correct order of priority. If help echo was found in an overlay,
10272 use that overlay as the object in which the help echo was found.
10273
e2db3069
MB
102742000-07-22 Miles Bader <miles@gnu.org>
10275
10276 * textprop.c (Fprevious_single_char_property_change): The initial
10277 property value should be from the position preceding POSITION, not
10278 following it.
10279
5e3203e4
EZ
102802000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10281
10282 * coding.c (syms_of_coding): Doc fix for
10283 inhibit-iso-escape-detection.
10284
62145073
GM
102852000-07-21 Gerd Moellmann <gerd@gnu.org>
10286
c20aeb83
GM
10287 * xterm.c (note_mouse_highlight): Process overlays in the right
10288 order of priority.
34a7a267 10289
743934db
GM
10290 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10291
10292 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10293 overlay, use that overlay as the object in which the help was found.
743934db 10294
d1dc7e43 10295 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10296
62145073
GM
10297 * window.c (foreach_window): Instead of a fake variable argument
10298 list, take one USER_DATA argument.
10299 (foreach_window_1): Likewise, and call callback functions with two
10300 args, the window and USER_DATA.
10301 (struct check_window_data): New struct.
10302 (check_window_containing): Use it.
10303 (window_from_coordinates): Set up a struct check_window_data for
10304 foreach_window.
10305 (add_window_to_list, freeze_window_start): Change parameters
10306 according to new calling convention.
10307
10308 * window.h (foreach_window): Change prototype.
10309
10310 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10311
103122000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10313
10314 * xmenu.c (menu_help_callback): Call show_help_echo with
10315 additional arguments OBJECT and POS.
10316
11270583
KH
103172000-07-21 Kenichi Handa <handa@etl.go.jp>
10318
07b14857
KH
10319 * data.c (Faset): Allow storing any multibyte character in a
10320 string. Convert unibyte string to multibyte if necessary.
10321
11270583
KH
10322 * xfns.c (x_encode_text): New function.
10323 (x_set_name): Use x_encode_text.
10324 (x_set_title): Likewise.
10325
10326 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10327
10328 * xterm.h (x_encode_text): Add prototype.
10329
bc75b4fd
DL
103302000-07-20 Dave Love <fx@gnu.org>
10331
10332 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10333 xfree, not free.
10334
48c14970
EZ
103352000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10336
10337 * msdos.c (help_echo_window): New variable.
10338 (syms_of_msdos): Initialize and staticpro it.
10339 (IT_note_mode_line_highlight): Set help_echo_window.
10340 (IT_note_mouse_highlight): Ditto.
10341 (dos_rawgetc): Store help_echo_window in the second event produced
10342 for HELP_EVENTs.
10343
10344 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10345 Record the object that generated the help echo and the position of
10346 that object in help_echo_object and help_echo_pos. Record that
10347 some glyphs in a row are displayed in mouse-face.
10348 (IT_update_begin): Don't clear mouse highlight unless one of the
10349 enabled glyph rows is marked as being displayed in mouse-face.
10350 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10351 and position recorded in help_echo_object and help_echo_pos to the
10352 event queue.
10353 (IT_menu_display): Accept a new argument PN: the pane number of
10354 the current menu pane. Record the pane number and the item
10355 number of the item which has associated help string.
10356 (XMenuActivate): Update the prototype for help_callback in
10357 function declaration. Call IT_menu_display with the current menu
10358 pane number as an additional argument. Call help_callback with
10359 two additional arguments: the pane number and the item number of
10360 the menu item associated with the help text.
10361 (help_echo_object, help_echo_pos): New variables.
10362 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10363
10364 * msdos.h (XMenuActivate): Update prototype.
10365
4279296d
GM
103662000-07-19 Gerd Moellmann <gerd@gnu.org>
10367
47db06aa
GM
10368 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10369 Add some more prototypes.
10370
10371 * xterm.c, xterm.h: Add some more prototypes.
10372
10373 * lisp.h (Fnext_single_char_property_change): Add prototype.
10374
10375 * dispnew.c (direct_output_for_insert): Remove confusing
10376 outer local variable mouse_face_overwritten_p.
10377 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10378
4279296d
GM
10379 * alloc.c (allocate_string_data): Don't copy old string contents.
10380
670acd62
KH
103812000-07-19 Kenichi Handa <handa@etl.go.jp>
10382
10383 * coding.c (code_convert_region): Delete text properties before
10384 shrinking the conversion region.
10385
7cea38bc
GM
103862000-07-18 Gerd Moellmann <gerd@gnu.org>
10387
dc1cac59
GM
10388 * dispnew.c (update_text_area): Write the whole row if it
10389 has mouse-face in it.
10390
85a8aca9
GM
10391 * xfaces.c (face-alternative-font-family-alist): Remove
10392 DEFVAR_LISP; staticpro instead.
10393
34a7a267 10394 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10395 new arguments.
10396
10397 * keyboard.c (show_help_echo): Add parameter WINDOW.
10398 (read_char): Call show_help_echo with window extracted from Lisp
10399 help event.
10400 (gen_help_event): Add parameter WINDOW.
10401
10402 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10403
10404 * xterm.c (help_echo_window): New variable.
52283633 10405 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10406 (XTread_socket): Pass help_echo_window to gen_help_event.
10407 (syms_of_xterm): Initialize and staticpro help_echo_window.
10408
f8276b77
DL
104092000-07-18 Dave Love <fx@gnu.org>
10410
52283633 10411 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10412
088831a6
GM
104132000-07-18 Gerd Moellmann <gerd@gnu.org>
10414
3d6cd763
GM
10415 * alloc.c (allocate_string_data): If string had already data
10416 assigned, copy old contents to new string data.
10417
10418 * coding.c (syms_of_coding): Fix typo in spelling of variable
10419 `inhibit-iso-escape-detection'.
10420
088831a6
GM
10421 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10422
10423 * Makefile.in: Add dependencies on dispextern.h.
10424 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10425 `free'; both can conflict with system header files.
10426
bc8a8d55
KH
104272000-07-18 Kenichi Handa <handa@etl.go.jp>
10428
10429 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10430 undefined.
10431
069f5950
DL
104322000-07-18 Dave Love <fx@gnu.org>
10433
10434 * window.c (Fwindow_list): Declare arg `window'.
10435
aa96c820
KH
104362000-07-18 Kenichi Handa <handa@etl.go.jp>
10437
10438 * coding.c (setup_coding_system): Don't override the explicitly
10439 specified designations.
10440
06be8d32
MB
104412000-07-15 Miles Bader <miles@gnu.org>
10442
10443 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10444 from `text_property_eq' and `text_property_stickiness', respectively.
10445 (find_field, Fconstrain_to_field, char_property_eq)
10446 (char_property_stickiness): Changed to call char-property functions
10447 instead of text-property-only ones.
10448
10449 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10450 `next_single_char_property_change'). Do more error checking, and
10451 cleanup limit behavior.
10452 (Fprevious_single_char_property_change): New function.
10453 (syms_of_textprop): Initialize new subrs.
10454
10455 * xdisp.c (display_prop_end, invisible_text_between_p):
10456 Call Fnext_single_char_property_change instead of
10457 next_single_char_property_change.
10458
3fddcdc3
JR
104592000-07-15 Jason Rumney <jasonr@gnu.org>
10460
10461 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10462 after menu is finished with.
10463 (add_menu_item): Only consider wv->title as a menu title.
10464 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10465
10466 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10467 null title.
10468 (FONT_REGEXP): Remove unused macro, and its sub-components.
10469 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10470
10471 * w32term.c (help_echo_object, help_echo_pos): New variables.
10472 (note_mode_line_highlight): Store additional information about the
10473 help-echo in help_echo_object and help_echo_pos. Check both
10474 `local-map' and `keymap' properties for changing the cursor
10475 (note_mouse_highlight): Store additional information about the
10476 help-echo in help_echo_object and help_echo_pos.
10477 (note_tool_bar_highlight): Set help_echo_object to nil and
10478 help_echo_pos to -1.
10479 (w32_read_socket): Use gen_help_event instead of filling
10480 input_events manually.
10481 (syms_of_w32term): Staticpro help_echo_object.
10482 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10483 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10484 (x_clear_mouse_face): New function.
10485 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10486 (x_update_window_begin): No need to turn off the mouse
10487 highlight here.
10488 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10489 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10490 (x_fill_stretch_glyph_string): Consume runs of stretch
10491 glyphs instead of a single one.
10492 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10493 with new argument list.
10494 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10495 (x_append_glyph, x_append_composite_glyph)
10496 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10497 changes in struct glyph starting 1999-12-27. See comments for
10498 xterm.c on 2000-07-05.
10499
178c5d9c
SS
105002000-07-14 Sam Steingold <sds@gnu.org>
10501
10502 * xfaces.c (realize_x_face): Fix the last patch:
10503 check `default_face' before dereferencing.
10504
6fe533f6
DL
105052000-07-14 Dave Love <fx@gnu.org>
10506
069f5950 10507 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10508
dd7b81cf
KH
105092000-07-14 Kenichi Handa <handa@etl.go.jp>
10510
0693904a 10511 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10512 default_face's fontset, not using the default fontset.
0693904a 10513
dd7b81cf
KH
10514 * coding.c (inhibit_iso_escape_detection): New variable.
10515 (syms_of_coding): Make it a Lisp variable.
10516 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10517 nonzero, ignore ISO2022's escape sequence.
10518
d5aa31d8
GM
105192000-07-14 Gerd Moellmann <gerd@gnu.org>
10520
e5acf0ca
GM
10521 * alloca.c (malloc) [emacs]: Define as xmalloc.
10522
bd23a692
GM
10523 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10524 use that instead of the mouse position. Add parameters DX and DY.
10525
10526 * dispextern.h (Fx_show_tip): Adjust number of parameters
10527 in prototype.
10528
9662da0b
GM
10529 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10530 if HELP is a function, call it with OBJECT and POS as parameters
10531 to get the help to display.
10532 (gen_help_event, kbd_buffer_store_help_event): New functions.
10533 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10534 (read_char): Call show_help_echo with new parameters.
10535
178c5d9c 10536 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10537 Add prototypes.
10538
10539 * xterm.c (help_echo_object, help_echo_pos): New variables.
10540 (note_mode_line_highlight): Store additional information about the
10541 help-echo in help_echo_object and help_echo_pos. Check both
10542 `local-map' and `keymap' properties for changing the cursor
10543 (note_mouse_highlight): Store additional information about the
10544 help-echo in help_echo_object and help_echo_pos.
10545 (note_tool_bar_highlight): Set help_echo_object to nil and
10546 help_echo_pos to -1.
10547 (XTread_socket): Use gen_help_event instead of filling
10548 input_events manually.
10549 (syms_of_xterm): Staticpro help_echo_object.
10550
10551 * xmenu.c (menu_highlight_callback): Use
10552 kbd_buffer_store_help_event instead of setting up and input_event
10553 structure manually.
10554
10555 * xdisp.c (eval_form): GCPRO argument sexpr.
10556 (call_function): New function.
10557 (handle_single_display_prop): Use call_function and FUNCTIONP
10558 instead of checking whether if font_height is a symbol and
10559 using eval_form.
10560
10561 * eval.c (internal_condition_case_2): New function.
10562
10563 * lisp.h (FUNCTIONP): New macro.
10564 (internal_condition_case_2, call_function): Add prototypes.
10565
d5aa31d8
GM
10566 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10567 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10568 Always set `arg' member of input_events.
10569 (construct_menu_click): Unused function removed.
10570
10571 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10572
10573 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10574 (construct_drag_n_drop, x_scroll_bar_handle_click)
10575 (w32_read_socket): Always set `arg' member of input_events.
10576
10577 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10578
10579 * lisp.h (eval_form): Add prototype.
10580
10581 * xdisp.c (eval_form): Make it externally visible.
10582
0f1a9b23
GM
105832000-07-13 Gerd Moellmann <gerd@gnu.org>
10584
10585 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10586 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10587 consing. For prefix events, store the frame in the `arg' slot of
10588 the event, otherwise store the key there.
10589 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10590 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10591
10592 * xmenu.c (menu_highlight_callback): Store help string in the
10593 `arg' member of the input event; don't cons.
10594 (menubar_selection_callback): Use the `arg' slot of input events
10595 to queue additional information, instead of consing.
10596
10597 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10598
10599 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10600 TOOL_BAR_EVENTs.
10601 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10602
10603 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10604 input events to queue additional information, instead of consing.
10605
10606 * keyboard.c (kbd_buffer_gcpro): Renamed from
10607 kbd_buffer_frame_or_window. Now used for all Lisp objects
10608 referenced from the input queue.
10609 (kbd_buffer_store_event): Always use structure assignment for
10610 copying input events. Record all Lisp objects referenced from
10611 events in kbd_buffer_gcpro.
10612 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10613 differently from input events. Test for prefix menu_bar_events
10614 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10615 event in kbd_buffer_gcpro to nil.
10616 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10617 frame_or_window is equal to its arg member as prefix events.
10618 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10619 used by an input event to nil.
10620 (init_keyboard): Use two times the size of the input queue
10621 for kbd_buffer_gcpro.
10622 (syms_of_keyboard): Likewise.
10623
52283633
SM
10624 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10625 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10626
10627 * termhooks.h (struct input_event): Add member `arg'.
10628 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10629 (USER_SIGNAL_EVENT): Renamed from user_signal.
10630
10631 * xfaces.c (ASET): Remove definition.
10632
10633 * lisp.h (AREF, ASET, ASIZE): New macros.
10634
10635 * fontset.c (AREF, ASIZE): Remove definitions.
10636
10637 * fns.c (AREF): Remove definition.
178c5d9c 10638
0f1a9b23
GM
10639 * composite.c (AREF): Remove definition.
10640
712eaef2
GM
106412000-07-12 Gerd Moellmann <gerd@gnu.org>
10642
d8ee7803
GM
10643 * dispnew.c (redraw_overlapped_rows): Add missing local.
10644 (scrolling_window): Remove debug code.
10645
712eaef2
GM
10646 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10647 Before scrolling, turn off a mouse-highlight in the window
10648 being scrolled.
10649
10650 * xterm.c (x_update_window_end): Add parameter
10651 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10652 redisplay in XTframe_up_to_date.
10653 (x_clear_mouse_face): New function.
10654 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10655
10656 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10657 current glyph row.
10658 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10659 it when any row is written to that contains glyphs highlighted in
10660 mouse-face.
10661 (update_window): Call the window update end hook with new
10662 parameter MOUSE_FACE_OVERWRITTEN_P.
10663 (direct_output_for_insert): Give up if row contains mouse-face.
10664
10665 * dispextern.h (struct redisplay_interface): Add parameter
10666 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10667 (clear_mouse_face): New function pointer member.
10668
02010917
SM
106692000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10670
10671 * syntax.c (back_comment): Use one switch rather than a few `if's.
10672 Obey open_paren_in_column_0_is_defun_start.
10673 When reverting to the `slow' method, try to nicely handle the case
10674 of nested comments by checking that the comment-starter we found
10675 does indeed match the comment-ender.
10676 (scan_sexps_forward, scan_sexps_forward):
10677 Ignore excessive opening parenthesis rather than throwing an error.
10678
d76c03ea
GM
106792000-07-11 Gerd Moellmann <gerd@gnu.org>
10680
10681 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10682 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10683
10684 * dispnew.c (direct_output_forward_char): Give up if currently
10685 displaying a message instead of the minibuffer contents.
10686
10687 * xterm.c (x_update_window_begin): No need to turn off the mouse
10688 highlight here.
10689 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10690 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10691
10692 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10693 compare the mouse_face_p flags of both rows.
10694
10695 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10696
d55ead18
EZ
106972000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10698
10699 * keyboard.c (show_help_echo): Accept additional parameter
10700 ok_to_overwrite_keystroke_echo.
10701 (read_char): Call show_help_echo with a zero
10702 ok_to_overwrite_keystroke_echo argument.
52283633 10703 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10704 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10705 ok_to_overwrite_keystroke_echo argument.
10706 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10707 non-zero ok_to_overwrite_keystroke_echo argument.
10708
df75b1a3
GM
107092000-07-10 Gerd Moellmann <gerd@gnu.org>
10710
4b92c49a
GM
10711 * xdisp.c (try_window_id): If changes are all below what is
10712 displayed in the window, and point is in the window, we still
10713 might have to find point on the display.
10714
10715 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10716 glyphs instead of a single one.
10717 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10718 with new argument list.
10719 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10720
df75b1a3
GM
10721 * keymap.c (get_keymap_1): Add comment that this function can GC.
10722 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10723 comment that functions can GC.
10724 (Fset_keymap_parent): GCPRO arg KEYMAP.
10725
4314cf3e
EZ
107262000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10727
10728 * msdos.c (XMenuActivate): After exiting the menu, restore the
10729 echo area message and erase it.
10730
ab49ce15
KH
107312000-07-10 Kenichi Handa <handa@etl.go.jp>
10732
10733 * fontset.c (Ffontset_info): Make the return value more compatible
10734 with that of Emacs 20.
10735
090a072f
GM
107362000-07-07 Gerd Moellmann <gerd@gnu.org>
10737
10738 * eval.c (Fsignal): Handle case that backtrace_list is null.
10739
f92de4a6
KH
107402000-07-07 Kenichi Handa <handa@etl.go.jp>
10741
10742 * ccl.c (Fccl_execute): Typo fixed.
10743
dd8888a1
GM
107442000-07-06 Gerd Moellmann <gerd@gnu.org>
10745
e5c81191 10746 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10747
dd8888a1
GM
10748 * window.c (Fwindow_list): Reverse list at the end.
10749 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10750 means allow windows on OWINDOW's frame, only.
10751 (window_loop): Simplified; use Fwindow_list.
10752
10753 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10754
485266d0
GM
107552000-07-05 Gerd Moellmann <gerd@gnu.org>
10756
10757 * xterm.c (XTread_socket): Increment handling_signal at the start,
10758 decrement it at the end.
10759
10760 * eval.c (handling_signal): New variable.
10761 (Fsignal): Abort if handling_signal is non-zero.
10762
10763 * lisp.h (handling_signal): External declaration.
178c5d9c 10764
485266d0
GM
10765 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10766
80fcd514
KR
107672000-07-05 Ken Raeburn <raeburn@gnu.org>
10768
10769 Sound support for NetBSD through "Linux emulation" support:
10770 * config.in (HAVE_SOUNDCARD_H): Undef.
10771 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10772 * Makefile.in (LIBSOUND): New variable.
10773 (LIBES): Include it.
52283633
SM
10774 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10775 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10776 (vox_open): Use DEFAULT_SOUND_DEVICE.
10777 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10778
d5c5cddd
GM
107792000-07-05 Gerd Moellmann <gerd@gnu.org>
10780
10781 * print.c (print_error_message): If Vsignaling_function is set,
10782 show it in *Messages*.
10783
10784 * lisp.h (Vsignaling_function): External declaration.
10785
10786 * eval.c (Vsignaling_function): New variable.
10787 (Fsignal): Compute it.
10788 (syms_of_eval): Staticpro it.
10789
65171e3a
DL
107902000-07-05 Dave Love <fx@gnu.org>
10791
10792 * syswait.h: Use the autoconf recommended approach. Old code
10793 #if'd out in case we need to revert.
10794
178c5d9c 10795 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10796
e2c46326
AI
107972000-07-05 Andrew Innes <andrewi@gnu.org>
10798
10799 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10800 when non-NULL instead of __morecore, to take account of buffer
10801 memory. This also solves a problem with spurious memory warnings
10802 on Windows.
10803
10804 * ralloc.c: Make real_morecore non-static.
10805
10806 * eval.c (internal_condition_case): Comment out abort if
10807 interrupt_input_blocked is not zero.
10808
10809 * makefile.nt: Add support for `bootstrap' and related targets.
10810 Include minimal debug info in emacs.exe in release build.
10811 Remove all dependencies on lisp.h, and fixup some others.
10812
10813 * w32.c (init_environment): Install code from 20.7 for providing
10814 default values for environment variables, based on the
10815 executable's own location.
52283633 10816 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10817 (sys_socket): Install socket inheritance bug fix from 20.7.
10818
10819 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10820 here via blockinput.h).
10821
a027a91b
SM
108222000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10823
e4b31601
SM
10824 * w32menu.c (w32_menu_display_help):
10825 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10826
10827 * keyboard.h (show_help_echo): Declare.
10828
10829 * keyboard.c (show_help_echo): New function, extracted from read_char.
10830 Feval its `msg' argument if it's a cons cell.
10831 (read_char): Use it.
4cf8d9d5 10832 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10833
178c5d9c 10834 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10835 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10836 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10837 (dos_rawgetc):
10838 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10839 (note_tool_bar_highlight, w32_read_socket):
10840 Do not gratuitously ignore non-string `help-echo' properties.
10841
88d75730
GM
108422000-07-05 Gerd Moellmann <gerd@gnu.org>
10843
969f7e79
GM
10844 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10845
71201b00
GM
10846 * window.c (delete_all_subwindows): Reset Vwindow_list.
10847
88d75730
GM
10848 * xterm.c (x_append_glyph, x_append_composite_glyph)
10849 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10850 changes in struct glyph starting 1999-12-27. Some bit-fields of
10851 struct glyph were not set, which made glyphs unequal when compared
10852 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10853 effects were the result. This also depended on the contents of
10854 memory returned by xmalloc. If flickering happens again, activate
10855 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10856 gone with that, chances are that it is caused by something similar.
88d75730
GM
10857
10858 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10859
88d75730
GM
10860 * dispextern.h: Add some comments.
10861
10862 * window.c (add_window_to_list): Add parameter LIST.
10863 (window_list): Order list so that, for each frame, windows are
10864 in canonical order, and so that frames appear in the list in
10865 the order given by Vframe_list.
10866 (next_window): Reverse the handling of NEXT_P.
10867
53654733
GM
108682000-07-04 Gerd Moellmann <gerd@gnu.org>
10869
87efd256
GM
10870 * window.c (Vwindow_list): New variable.
10871 (make_window, delete_window): Set Vwindow_list to nil.
10872 (check_window_containing): New function.
10873 (window_from_coordinates): Rewritten.
10874 (add_window_to_list, window_list, candidate_window_p)
10875 (decode_next_window_args, next_window): New functions.
52283633 10876 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10877 (Fwindow_list): New function.
10878 (Fother_window): Cleaned up.
10879 (foreach_window): Add a longer "variable argument list". Let
10880 callback function return 0 to indicate that cycling over windows
10881 should stop.
10882 (foreach_window_1): Likewise.
10883 (freeze_window_start): Return int.
10884 (init_window): New function.
10885 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10886
10887 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10888 input_event with bzero.
10889 (main): Call init_window.
10890
53654733
GM
10891 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10892 a menu filter.
10893
4a8c194f
KH
108942000-07-04 Kenichi Handa <handa@etl.go.jp>
10895
10896 * composite.h (make_composition_value_copy): Extern it.
10897
10898 * composite.c (make_composition_value_copy): New function.
10899
10900 * editfns.c (Fformat): While copying text properties, make each
10901 composition property value a copy.
10902
10903 * fns.c (concat): While copying text properties, make each
10904 composition property value a copy.
10905
831a6cb0
GM
109062000-07-03 Gerd Moellmann <gerd@gnu.org>
10907
2f516940
GM
10908 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10909
178c5d9c 10910 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10911 marked already.
10912
831a6cb0
GM
10913 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10914 include those frames as candidates which have their focus
10915 redirected to the minibuffer frame.
10916
d9c4f922
SM
109172000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10918
10919 * fns.c (Fputhash): Return `value' rather than nil.
10920
3780bc22
GM
109212000-06-30 Gerd Moellmann <gerd@gnu.org>
10922
97d176db
GM
10923 * frame.c (next_frame): Don't check focus redirection in case
10924 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10925 unless their focus is redirected, which contradicts the
10926 specification of next-frame, and leads to infinite loops in
10927 certain situations when cycling through windows with next-window.
10928
dca9961d
KH
109292000-06-30 Kenichi Handa <handa@etl.go.jp>
10930
10931 * coding.c (code_convert_region): Even if the length of text is
10932 zero, try to convert it if coding->type is coding_type_ccl.
10933 (decode_coding_string, encode_coding_string): Likewise.
10934
d5483ab1
GM
109352000-06-28 Gerd Moellmann <gerd@gnu.org>
10936
af5c25e1 10937 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10938 the display if windows_or_buffers_changed.
af5c25e1
GM
10939
10940 * dispnew.c (struct row_entry): New structure.
10941 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10942 (row_table_size, old_lines, new_lines, old_lines_size)
10943 (new_lines_size, run_pool, runs_size, runs): New variables.
10944 (add_row_entry): New function.
10945 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10946 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10947 holding them in local variables. Use a larger hash table whose
10948 size depends on glyph matrix sizes. Don't use bzero to clear the
10949 hash table; instead, clear used slots only.
10950
10951 * fns.c (next_almost_prime): Make it externally visible.
10952
10953 * lisp.h (next_almost_prime): Add prototype.
10954
d5483ab1
GM
10955 * s/isc4-0.h (sigunblock): Define.
10956
10957 * s/sco5.h (sigunblock): Define.
10958
93e40f40
DL
109592000-06-27 Dave Love <fx@gnu.org>
10960
10961 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10962 (moved to osf5-0.h).
10963 [!NOT_C_CODE]: Protect string.h stuff.
10964
10965 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10966 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10967
3c4b7685
GM
109682000-06-27 Gerd Moellmann <gerd@gnu.org>
10969
97d176db 10970 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10971 below the last line from the needed window height.
10972
32cad0aa
SM
109732000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10974
10975 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10976 (Fwidget_get): Use it.
10977 (syms_of_fns): Defsubr it.
10978
2c69ced2
GM
109792000-06-26 Gerd Moellmann <gerd@gnu.org>
10980
178c5d9c 10981 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10982 display info for XIM.
10983 (xim_open_dpy): Likewise.
10984 (xim_close_dpy): Don't free the display info's XIM.
10985
10986 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10987
10988 * config.in (USE_XIM): New define.
10989
3fc720e4
GM
10990 * keymap.c (get_keyelt): For menu-items containing a `:filter
10991 FILTER', apply FILTER to the menu-item's definition to get the
10992 real definition to use.
10993
10994 * lisp.h (QCfilter): External declaration.
10995
2c69ced2
GM
10996 * xfns.c (Fimage_size): New function.
10997 (syms_of_xfns): Defsubr it.
10998
f978b2a2
AS
109992000-06-26 Andreas Schwab <schwab@suse.de>
11000
11001 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11002 Fstring_as_unibyte.
11003
94cc7892
DL
110042000-06-25 Dave Love <fx@gnu.org>
11005
52283633 11006 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11007
11008 * Makefile.in (blockinput.h): Depend on atimer.h.
11009 (atimer.h): Depend on systime.h.
11010
52283633 11011 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11012
52283633 11013 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11014
11015 * lisp.h (swap_in_global_binding): Declare.
11016
b8c24556
KR
110172000-06-24 Ken Raeburn <raeburn@gnu.org>
11018
11019 * process.c (Fopen_network_stream): Turn off atimers for duration
11020 of call to connect. (Patch from Gerd.)
11021
8cf8560b
DL
110222000-06-23 Dave Love <fx@gnu.org>
11023
511c7541
DL
11024 * ralloc.c: Maybe include unistd.h
11025
8cf8560b
DL
11026 * emacs.c (setgrp): Undefine before defining.
11027 (malloc_warning, set_time_zone_rule, index): Prototype.
11028
11029 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11030 HAVE_STRUCT_TIMEZONE.
11031
11032 * s/osf1.h: Move string.h hack here from alpha.h and make it
11033 conditional.
11034 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11035 _XOPEN_SOURCE.
11036 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11037 (SOCKLEN_TYPE): Don't define.
11038
11039 * m/alpha.h: Remove string.h hack.
11040
11041 * s/osf5-0.h: New file.
11042
11043 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11044 include time.h, done by systime.h.
11045 [__FreeBSD__]: Remove redundant includes.
11046
3fc720e4 11047 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11048 (delete_temp_file): Return Qnil to avoid warning.
11049
11050 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11051
11052 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11053 HAVE_X_WINDOWS.
11054
11055 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11056
11057 * composite.h (compose_text): Declare.
11058
11059 * xterm.c: Don't include sys/types.h unconditionally. Don't
11060 protect its inclusion with !USG (following xmenu.c).
11061
ea055732
GM
110622000-06-23 Gerd Moellmann <gerd@gnu.org>
11063
11064 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11065 in x_create_frame.
11066
74b01b80
EZ
110672000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11068
11069 * coding.c (decode_eol_post_ccl): Special handling for undecided
11070 and inconsistent EOL types.
11071
64f3a166
GM
110722000-06-22 Gerd Moellmann <gerd@gnu.org>
11073
16cf31f7
GM
11074 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11075 trough color and main window's background color.
11076
52283633 11077 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11078
11079 * xterm.h (Xt_app_con): External declaration.
11080
11081 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11082
486a103d
GM
11083 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11084
64f3a166
GM
11085 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11086 (handle_invisible_prop): Record the start of invisible text in
11087 it->add_overlay_start.
11088 (struct overlay_entry): Add member `overlay'.
11089 (handle_overlay_change): Simplify.
11090 (next_overlay_string): After having processed overlay strings at the
11091 end of the buffer, record that fact in
11092 it->overlay_strings_at_end_processed_p.
11093 (compare_overlay_entries): If before- and after-strings come
11094 from the same overlay, let before-strings come first.
11095 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11096 (load_overlay_strings): Take it->add_overlay_start into account
11097 when adding overlay strings.
11098
11099 * dispextern.h (struct it): Add member add_overlay_start.
11100
bb746ea6
DL
111012000-06-22 Dave Love <fx@gnu.org>
11102
11103 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11104
11105 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11106
a8f573f3
KH
111072000-06-22 Kenichi Handa <handa@etl.go.jp>
11108
11109 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11110 is greater than 0.
11111
9f2bbc92
DL
111122000-06-21 Dave Love <fx@gnu.org>
11113
178c5d9c 11114 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11115
3ee5041c
SM
111162000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11117
11118 * syntax.c (back_comment): Simplify string-parity counting (with
11119 the added benefit of handling multiple string-styles as long as
11120 they are not intertwined).
11121 Jump to the slow code as soon as a comment starter is found in
11122 a "string_lossage" position. Fixes the case: " /* " /* " */.
11123
4c343001
DL
111242000-06-21 Dave Love <fx@gnu.org>
11125
11126 * Makefile.in: Use GETLOADAVG_LIBS.
11127
11128 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11129 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11130
e6365855
SM
111312000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11132
11133 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11134 (Fforward_comment, scan_lists):
11135 Check the comstyle of single-char comment-starters.
11136 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11137 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11138 Check the comstyle of single-char comment-starters.
11139 Clarify control-flow around the Scomment case.
e6365855 11140
5700d2cc
DL
111412000-06-20 Dave Love <fx@gnu.org>
11142
d355bd8a
SM
11143 * fns.c (make_hash_table, maybe_resize_hash_table):
11144 Cast arg of next_almost_prime.
5700d2cc 11145
178c5d9c 11146 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11147
11148 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11149 and unistd.h.
11150
4a27bdfb
GM
111512000-06-20 Gerd Moellmann <gerd@gnu.org>
11152
a61d762c 11153 * keyboard.c (adjust_point_for_property): Check if display
52283633 11154 property should be treated as intangible by looking at its value.
a61d762c 11155
178c5d9c 11156 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11157 (display_prop_intangible_p): New functions.
11158
11159 * dispextern.h (display_prop_intangible_p): Add prototype.
11160
11161 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11162
4a27bdfb
GM
11163 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11164 argument to sigprocmask.
11165
11166 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11167 argument to sigprocmask.
11168
11169 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11170 sigprocmask_set, and pass a pointer to it to sigprocmask.
11171
11172 * sysdep.c (sigprocmask_set): New variable.
11173
11174 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11175 report_file_error.
11176
427ec082
SS
111772000-06-20 Sam Steingold <sds@gnu.org>
11178
11179 * xrdb.c: Don't declare xmalloc, xrealloc.
11180
8972fe79 111812000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11182
11183 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11184 (re_comp): Cast gettext return value to avoid complaints when
11185 !HAVE_LIBINTL.
11186
074b6efe
DL
111872000-06-20 Dave Love <fx@gnu.org>
11188
52283633 11189 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11190
5700d2cc 11191 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11192
d355bd8a 11193 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11194
11195 * m/alpha.h: Don't declare xmalloc, xrealloc.
11196
0af4f205
DL
11197 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11198
11199 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11200
11201 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11202
11203 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11204 HAVE_GETWD.
11205
074b6efe
DL
11206 * keyboard.h (poll_for_input_1): Declare.
11207
11208 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11209
11210 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11211
11212 * doprnt.c: Don't declare xmalloc, xrealloc.
11213
11214 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11215 (getenv, ctime, getwd): Removed.
11216 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11217
11218 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11219 x_set_tool_bar_lines.
11220
11221 * config.in: Add HAVE_GETWD. Move some definitions above
11222 machine/system includes.
11223
68a5e97b
KH
112242000-06-20 Kenichi Handa <handa@etl.go.jp>
11225
95417e1e
KH
11226 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11227
68a5e97b
KH
11228 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11229 contain information about ENCODING.
11230
11231 * fontset.c (FONTSET_ASCII): Use the first element of char table
11232 for an ASCII font, not defalt slot.
11233 (fontset_ref_via_base): If FONTSET doesn't contain information for
11234 C, try the default fontset.
11235 (make_fontset): Don't copy the default fontset.
11236 (fontset_font_pattern): Likewise.
11237 (accumulate_font_info): If ELT is nil, use the corresponding
11238 element in the default fontset.
11239
3b4fa1b2
DL
112402000-06-19 Dave Love <fx@gnu.org>
11241
943e731c
DL
11242 * syntax.c (Fparse_partial_sexp): Doc fix.
11243
11244 * regex.h: Test PROTOTYPES as well as __STDC__.
11245
3b4fa1b2
DL
11246 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11247 errno, strerror. Put text after #endif in comment.
11248
52283633 11249 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11250
11251 * xterm.c (x_frame_of_widget): Likewise.
11252
cdf0357b
GM
112532000-06-19 Gerd Moellmann <gerd@gnu.org>
11254
11255 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11256 to Vfundamental_mode_abbrev_table.
11257
11258 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11259 bogus objects are marked. This slows down GC by ~80 percent, but
11260 it might be worth trying when debugging GC-related problems.
11261 This feature requires conservative stack marking to be enabled.
11262
11263 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11264 returns XLookupChars, reset `modifiers' to zero.
11265
998e9f8c
DL
112662000-06-19 Dave Love <fx@gnu.org>
11267
11268 * mktime.c: Unprotoized.
11269
18e21ce8 112702000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11271
11272 * data.c (set_internal): If variable is frame-local,
11273 store the new value immediately into the frame parameter alist.
11274
140c4ac6
KR
112752000-06-19 Ken Raeburn <raeburn@gnu.org>
11276
14358466
KR
11277 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11278 in the custom handler pointer.
11279
140c4ac6
KR
11280 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11281 value, or checks for CHAR_META can fail when Lisp_Object is a
11282 union type.
11283 * keymap.c (get_keyelt): Likewise.
11284
10d7bf84
KH
112852000-06-19 Kenichi Handa <handa@etl.go.jp>
11286
11287 * ccl.h (struct ccl_program): New member eol_type.
11288 (struct ccl_spec): New member cr_carryover.
11289
11290 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11291 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11292
11293 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11294 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11295 (decode_eol_post_ccl): New function.
11296 (decode_coding): Don't detect EOL format here for CCL based coding
11297 systems.
11298 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11299 decode_eol_post_ccl after running the CCL program.
11300 (code_convert_region): Don't detect EOL format here for CCL based
11301 coding systems.
11302 (decode_coding_string): Likewise.
11303
52e386c2
KR
113042000-06-18 Ken Raeburn <raeburn@gnu.org>
11305
11306 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11307 when treating it as an integer.
11308
11309 * coding.h (encode_coding_string): Declare.
11310
11311 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11312 it as an integer.
11313
11314 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11315 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11316 to be passed to get_local_map.
11317
11318 * sound.c (Fplay_sound): Don't call make_number on
11319 Frun_hook_with_args count argument.
11320
11321 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11322 for lisp objects in X event structure data field, when lisp
11323 objects are represented with unions.
11324 (x_scroll_bar_to_input_event): Ditto.
11325
b357b9d4
KR
113262000-06-16 Ken Raeburn <raeburn@gnu.org>
11327
11328 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11329 termination of string. Fix sense of test whether
11330 Vline_number_display_limit is an integer.
b357b9d4 11331
a871441d
GM
113322000-06-16 Gerd Moellmann <gerd@gnu.org>
11333
a9021acd
GM
11334 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11335 only if HAVE_X_WINDOWS.
11336
6344985d
GM
11337 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11338 of titles.
11339
427ec082 11340 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11341 out of bounds.
11342
228b083e
EZ
113432000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11344
11345 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11346 of its headers.
11347
c25b53a2
KH
113482000-06-15 Kenichi Handa <handa@etl.go.jp>
11349
11350 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11351 start of the while loop.
11352
a6981b11
GM
113532000-06-15 Gerd Moellmann <gerd@gnu.org>
11354
e9924e52
GM
11355 * atimer.c (alarm_signal_handler): Add forward declaration.
11356
a6981b11
GM
11357 * data.c (set_internal): Remove debug code.
11358
25fa6deb
GM
113592000-06-14 Gerd Moellmann <gerd@gnu.org>
11360
dce6b995
GM
11361 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11362
9f817ea4
GM
11363 * unexec.c (toplevel) [COFF]: Include coff.h.
11364
11365 * s/lynxos.h: New file.
11366
11367 * keymap.c (Fsingle_key_description): Enclose function key and
11368 event symbol names in angle brackets.
11369
8a4e3c0c
GM
11370 * xdisp.c (setup_echo_area_for_printing): Call
11371 message_log_maybe_newline if message_buf_print is not set.
11372
11373 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11374 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11375 function does something useful even when message_buf_print is
11376 already set.
11377
52283633
SM
11378 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11379 New variables.
25fa6deb
GM
11380 (ensure_echo_area_buffers): Initialize echo buffer's
11381 truncate lines setting to nil.
11382 (with_echo_area_buffer): Don't set the echo buffer's truncate
11383 lines setting here.
8a4e3c0c 11384 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11385 of message_truncate_lines.
11386 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11387 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11388 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11389
11390 * keyboard.c (read_char): Bind message-truncate-lines to t
11391 while displaying a help-echo.
11392
11393 * lisp.h (Qmessage_truncate_lines): External declaration.
11394
163dcff3
GM
113952000-06-13 Gerd Moellmann <gerd@gnu.org>
11396
1681ead6
GM
11397 * xdisp.c (Vline_number_display_limit): Renamed from
11398 line_number_display_limit.
11399 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11400 Extend documentation string. Initialize
11401 Vline_number_display_limit to nil meaning no limit.
11402 (decode_mode_spec): Use Vline_number_display_limit with its new
11403 meaning.
11404
163dcff3
GM
11405 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11406
18e21ce8 114072000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11408
11409 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11410
163dcff3
GM
11411 * xfns.c (x_set_frame_parameters): Comment fix.
11412
11413 * frame.c (store_frame_param): Call swap_in_global_binding if the
11414 variable's current binding was chosen based on this frame.
11415
11416 * data.c (swap_in_global_binding): New function.
11417
a704139d
EZ
114182000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11419
11420 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11421 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11422
9b6610db
EZ
114232000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11424
11425 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11426
c68833d2
JR
114272000-06-12 Jason Rumney <jasonr@gnu.org>
11428
11429 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11430
11431 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11432
11433 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11434
11435 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11436
ed1056b3
GM
114372000-06-12 Gerd Moellmann <gerd@gnu.org>
11438
11439 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11440 (syms_of_xfaces): Defsubr Sdump_colors.
11441 (x_free_colors): Don't treat b&w specially on default visual.
11442 (x_free_dpy_colors): New function.
11443 (free_face_colors): Don't check visual class; it's done
11444 in x_free_colors.
11445
11446 * xterm.c (x_frame_of_widget): New function.
11447 (x_alloc_nearest_color_for_widget): Use it.
11448 (x_copy_dpy_color): New function.
11449 (x_destroy_window): Free various colors.
11450
5050a2ef
KH
114512000-06-12 Kenichi Handa <handa@etl.go.jp>
11452
11453 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11454
11455 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11456
11457 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11458
11459 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11460
11461 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11462
fb1b041d
DL
114632000-06-11 Dave Love <fx@gnu.org>
11464
11465 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11466
ff96b5f4
EZ
114672000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11468
11469 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11470
db8eeecd
GM
114712000-06-11 Gerd Moellmann <gerd@gnu.org>
11472
ed1056b3 11473 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11474 to `XEvent *'.
11475
49b71c5f
KH
114762000-06-10 Kenichi Handa <handa@etl.go.jp>
11477
c479bd55
KH
11478 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11479 (regex_compile): Fix the code for handling the case of single byte
11480 char and multibyte char being mixed in a range within [...].
11481
ff6a65c2
KH
11482 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11483 and dst_multibyte members of coding.
11484
49b71c5f
KH
11485 * charset.c (update_charset_table): Update the table
11486 bytes_by_char_head.
11487 (init_charset_once): Initialize elements of bytes_by_char_head to
11488 1 except for leading codes for private charases.
11489
11490 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11491 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11492
9e80b57d
KR
114932000-06-09 Ken Raeburn <raeburn@gnu.org>
11494
11495 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11496 access the data it doesn't point to.
11497
f83fe4b4
GM
114982000-06-08 Gerd Moellmann <gerd@gnu.org>
11499
11500 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11501 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11502 event queue. This is necessary because Emacs otherwise won't
11503 perform a switch-frame to a new frame until some other event, for
11504 example a keystroke event, forces it to do so. This has various
11505 effects, one visible being that the cursor of a frame created with
11506 C-x 5 2 or switched to with a window manager key binding like
11507 A-TAB stays hollow because selected_window isn't on the newly
11508 focused frame until the switch-frame is performed.
11509
11510 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11511 generating a switch-frame event if necessary.
11512
11513 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11514
11515 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11516 it's an integer.
11517
0890801b
KH
115182000-06-08 Kenichi Handa <handa@etl.go.jp>
11519
52283633 11520 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11521
173cbca8
GM
115222000-06-07 Gerd Moellmann <gerd@gnu.org>
11523
3091c2a6
GM
11524 * window.c (displayed_window_lines): Take empty lines at
11525 the bottom of a window into account.
427ec082 11526
f38952fe
GM
11527 * window.c (displayed_window_lines): New function.
11528 (Fmove_to_window_line): Use displayed_window_lines to determine
11529 the number of lines to move, instead of using the window's height.
11530
11531 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11532 to stop reading, even if the form read sets point to a different
11533 value when evaluated.
11534
427ec082 11535 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11536 put the cursor.
11537
6ba6c818
KH
115382000-06-07 Kenichi Handa <handa@etl.go.jp>
11539
11540 * fileio.c (e_write): Free composition data if stored in
11541 coding->cmp_data.
11542
5f1aea9a
GM
115432000-06-06 Gerd Moellmann <gerd@gnu.org>
11544
666852af
GM
11545 * xdisp.c (display_line): Set row's and iterator's
11546 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11547 Set cursor even if row ends in the middle of a character.
11548 (dump_glyph_row): Print values of new flags.
11549 (redisplay_window) <cursor movement in unchanged window>: When
11550 point has been moved forward, and PT is at the end of the cursor
11551 row, don't place the cursor in the next row if the cursor row ends
11552 in the middle of a character or at ZV.
11553
11554 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11555 (struct glyph_row): Add starts_in_middle_of_char_p and
11556 ends_in_middle_of_char_p.
11557 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11558 ends_in_middle_of_char_p flag.
11559 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11560
d13f3e2e
GM
11561 * term.c (append_glyph): Revert change of 2000-06-06.
11562
11563 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11564 padding glyph not fitting on line as whole character not
11565 fitting on line.
11566
5f1aea9a
GM
11567 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11568 this isn't true for images with `:ascent 100'.
11569
10cda9b0
KH
115702000-06-06 Kenichi Handa <handa@etl.go.jp>
11571
ed00559d
KH
11572 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11573 as modified if it is originally unmodified.
11574
10cda9b0
KH
11575 * term.c (encode_terminal_code): Change the way to check if
11576 terminal coding does any conversion.
11577 (append_glyph): Set glyph->pixel_width correctly.
11578
11579 * xdisp.c (display_line): While checking line continuation, pay
11580 attention to a padding glyph.
11581
1969fae2
GM
115822000-06-05 Gerd Moellmann <gerd@gnu.org>
11583
11584 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11585
162ccef4
DL
115862000-06-05 Dave Love <fx@gnu.org>
11587
f19f32dd
DL
11588 * xdisp.c: Include fontset.h.
11589
11590 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11591
11592 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11593
11594 * dispnew.c: Conditionally include term.h.
11595
11596 * coding.h: Declare code_convert_string_norecord.
11597
11598 * frame.h (struct frame): Use volatile unconditionally.
11599
11600 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11601
11602 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11603
11604 * systime.h: Protect against multiple inclusion.
11605 (timezone) [USG5_4]: Define as time_t.
11606
11607 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11608 (Foptimize_char_table, make_temp_name): Declare.
11609
11610 * Makefile.in (xdisp.o): Depend on fontset.h.
11611
11612 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11613
11614 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11615 (Foptimize_char_table, make_temp_name): Declare.
11616
427ec082 11617 * s/irix4-0.h:
162ccef4
DL
11618 * s/irix5-0.h:
11619 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11620
2082fe81
DL
116212000-06-02 Dave Love <fx@gnu.org>
11622
11623 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11624
dcf671d2
GM
116252000-06-02 Gerd Moellmann <gerd@gnu.org>
11626
11627 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11628 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11629 be freed.
11630
11631 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11632 glyph, use the ASCII NUL character to determine the face.
11633
d42122a3
DL
116342000-06-02 Dave Love <fx@gnu.org>
11635
11636 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11637 (VFORK_RETURN_TYPE): Remove.
427ec082 11638
d42122a3
DL
11639 * config.in: Add NO_MATHERR.
11640
dd432f16
DL
116412000-06-01 Dave Love <fx@gnu.org>
11642
90aa4ea8
DL
11643 * cmds.c (internal_self_insert): Don't check
11644 Vbefore_change_function, Vafter_change_function.
11645
11646 * insdel.c (signal_before_change, signal_after_change): Likewise.
11647
11648 * buffer.c (Vbefore_change_function, Vafter_change_function):
11649 Variables and their initializations deleted.
11650
2330c9d4
DL
11651 * callint.c (Fcall_interactively): Doc fix.
11652
dd432f16
DL
11653 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11654
bf9e8804
DL
116552000-05-31 Dave Love <fx@gnu.org>
11656
11657 * textprop.c: Revert last change -- duplicated.
11658
3694b4ab
GM
116592000-05-31 Gerd Moellmann <gerd@gnu.org>
11660
11661 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11662 in #if 0.
11663
11664 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11665
f14156cd
JR
116662000-05-31 Jason Rumney <jasonr@gnu.org>
11667
8119aab8
JR
11668 * search.c (Fre_search_forward, Fre_search_backward)
11669 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11670
f14156cd
JR
11671 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11672
4aab9be3
JR
116732000-05-30 Jason Rumney <jasonr@gnu.org>
11674
11675 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11676 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11677
52283633 11678 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11679
11680 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11681 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11682 expand a nil default_filename.
11683
11684 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11685 pointer to glyph_to_pixel_coords, not a frame.
11686
11687 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11688 coding.h to dependencies.
11689
11690 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11691
11692 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11693 window pointer to be consistent with w32term.c and xterm.c.
11694
11695 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11696 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11697 (Qline_spacing, Qcenter): New variables.
11698 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11699 (x_set_line_spacing): New function.
52283633 11700 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11701 (x_specified_cursor_type): New function.
11702 (x_set_cursor_type): Use it.
11703 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11704 and icon strings.
11705 (validate_x_resource_name, x_get_resource_string): Measure lengths
11706 of external strings in bytes.
11707 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11708 GetTextExtentPoint32 with NULL title.
11709 (Fx_create_frame): Initialize Qline_spacing.
11710 (w32_load_system_font): Initialize font->double_byte_p.
11711 (x_to_w32_charset): Use Vw32_charset_info_alist.
11712 (Image, busy cursor, tooltip functions): Merged changes from
11713 xfns.c. Not yet functional on Windows.
11714
11715 * w32gui.h (W32FontStruct): Add double_byte_p member.
11716
11717 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11718 (emacs_button_translation): Use it.
11719 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11720 in `mask' to be set.
11721
11722 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11723 menu strings.
11724
11725 * w32term.c: Format and doc changes to bring closer to xterm.c.
11726 (w32_char_font_type): New enum.
11727 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11728 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11729 (w32_encode_char): New function.
11730 (x_encode_char): Removed.
11731 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11732 x_encode_char and w32_font_is_double_byte.
11733 (x_produce_image_glyph): Use image_ascent.
11734 (x_produce_glyphs): Use new version of w32_per_char_metric and
11735 handle NULL return value. Allow extra line spacing.
11736 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11737 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11738 w32_font_type member of glyph instead.
11739 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11740 (fast_find_position): Make sure not to consider rows not visible
11741 in the window.
11742 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11743 w32_menu_display_help with input blocked, as it can abort.
11744 (x_display_and_set_cursor): Choose cursor depending
11745 on buffer-local value of cursor_type.
11746 (x_draw_bar_cursor): Add parameter WIDTH.
11747
11748 * w32term.h (CP_DEFAULT): Define.
11749 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11750
10fc3187
GM
117512000-05-30 Gerd Moellmann <gerd@gnu.org>
11752
11753 * search.c (Fre_search_forward, Fre_search_backward)
11754 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11755
d0555360
KH
117562000-05-30 Kenichi Handa <handa@etl.go.jp>
11757
11758 * coding.c (detect_coding_iso2022): Fix code for checking
11759 CODING_CATEGORY_MASK_ISO_8_2.
11760
f1ad044f
SM
117612000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11762
11763 * regex.c (PREFETCH_NOLIMIT): New function.
11764 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11765
84ec3b4b
GM
117662000-05-29 Gerd Moellmann <gerd@gnu.org>
11767
66254a13
GM
11768 * syntax.c (find_defun_start): Move test for
11769 open_paren_in_column_0_is_defun_start outside of the loop.
11770
49e70dec
GM
11771 * xdisp.c (redisplay_window): Really switch buffers when
11772 displaying mode lines, and temporarily set selected_frame to the
11773 frame of the window that's redisplayed.
11774
84ec3b4b
GM
11775 * xfaces.c (free_realized_faces): Block/unblock input.
11776 (free_realized_multibyte_face): Ditto.
11777
869a3a14
DL
117782000-05-29 Dave Love <fx@gnu.org>
11779
11780 * textprop.c (Qkeymap): New variable.
11781 (syms_of_textprop): Intern it.
11782
11783 * keymap.c: Include intervals.h.
11784 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11785
11786 * Makefile.in (keymap.o): Depend on intervals.h.
11787
11788 * keyboard.c (menu_bar_items, tool_bar_items)
11789 (Fexecute_extended_command): Deal with `keymap' property.
11790 (read_key_sequence): Track map from `keymap' property as well as
11791 `local_map'.
11792
11793 * intervals.c (get_local_map): Extra arg to allow looking for
11794 `keymap' too.
11795
11796 * intervals.h (map_property): New enum.
11797 (get_local_map): Extra arg using it.
11798 (Qkeymap): Declare.
11799
84ec3b4b 11800 * lisp.h (get_local_map): Don't declare here.
869a3a14 11801
89d0c844
KH
118022000-05-29 Kenichi Handa <handa@etl.go.jp>
11803
11804 * Makefile.in (callproc.o): Depend on composite.h.
11805
11806 * callproc.c: Include composite.h.
11807 (Fcall_process): Handle composition correctly.
11808
11809 * coding.h (coding_allocate_composition_data): Extern it.
11810 (coding_restore_composition): Likewise.
11811
11812 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11813 yet allocated, finish decoding with result
11814 CODING_FINISH_INSUFFICIENT_CMP.
11815 (coding_allocate_composition_data): Make it non-static.
11816 (coding_restore_composition): Likewise.
11817
797a084a
EZ
118182000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11819
11820 * charset.c (syms_of_charset): Revert last change.
11821
cf872af5
EZ
118222000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11823
11824 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11825 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11826 Handa.
cf872af5 11827
5b1ae051
EZ
118282000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11829
11830 * charset.c (syms_of_charset): Set width of character sets
11831 eight-bit-control and eight-bit-graphic to 1 column.
11832
34ec9ebe
GM
118332000-05-26 Gerd Moellmann <gerd@gnu.org>
11834
11835 * config.in (HAVE_SPEED_T): New define.
11836
11837 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11838 `extern speed_t'.
11839
dd854dc2
DL
118402000-05-26 Dave Love <fx@gnu.org>
11841
11842 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11843
11844 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11845 (Fsubr_arity): New function.
11846 (syms_of_data): Install them.
11847
ba9f8f95
KH
118482000-05-26 Kenichi Handa <handa@etl.go.jp>
11849
0f3e0672
KH
11850 * charset.c (init_charset_once): Set the table bytes_by_char_head
11851 correctly.
11852
cebefb44
KH
11853 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11854 the default fontset to what Emacs uses by default.
0f3e0672
KH
11855 (check_registry_encoding): This function deleted.
11856 (Fset_fontset_font): Remove the adhoc condition for the default
11857 fontset. Allow cons in FONTNAME.
cebefb44 11858
0f3e0672
KH
11859 * fns.c (map_char_table): Ignore char-table entries for
11860 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11861
7a18af49
KR
118622000-05-25 Ken Raeburn <raeburn@gnu.org>
11863
11864 * emacs.c (main): Initialize keyboard syms before initializing
11865 window code, so face names are available.
11866
d2af47df
SM
118672000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11868
11869 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11870 of an anchor at the beginning of a shy-group.
11871
fc6a6a4e
GM
118722000-05-25 Gerd Moellmann <gerd@gnu.org>
11873
11874 * xdisp.c (handle_invisible_prop): Don't try to skip over
11875 invisible text if end of text is already reached.
11876
005f0d35
DL
118772000-05-25 Dave Love <fx@gnu.org>
11878
02513cdd
DL
11879 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11880
005f0d35
DL
11881 * coding.c (encode_eol): Add null statement after label.
11882
89f6ca4e
EZ
118832000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11884
11885 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11886 2000-05-20.
11887
a4e1759e
KH
118882000-05-25 Kenichi Handa <handa@etl.go.jp>
11889
11890 * ccl.c (ccl_driver): Fix previous change.
11891
eacfd7fe
KH
118922000-05-25 Kenichi Handa <handa@etl.go.jp>
11893
46ab33a9
KH
11894 * coding.c (run_pre_post_conversion_on_str): Set point to the
11895 beginning of buffer before calling coding->post_read_conversion.
11896 (decode_coding_string): Give correct args to
11897 run_pre_post_conversion_on_str.
11898 (encode_coding_string): Likewise.
11899
eacfd7fe
KH
11900 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11901 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11902 eight-bit-graphic correctly.
11903
f8569325
DL
119042000-05-24 Kenichi HANDA <handa@etl.go.jp>
11905
11906 * fileio.c (Finsert_file_contents): Even if a file is not found,
11907 execute codes for setting up coding system. Call
11908 after-insert-file-functions unconditionally.
11909
04545643
GM
119102000-05-24 Gerd Moellmann <gerd@gnu.org>
11911
11912 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11913 BSD_PGRPS are not defined.
11914
747d90ea
KH
119152000-05-24 Kenichi Handa <handa@etl.go.jp>
11916
11917 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11918 DESCRIPTION.
11919 (syms_of_charset): Avoid building same strings.
11920
716e3b88
GM
119212000-05-23 Gerd Moellmann <gerd@gnu.org>
11922
11923 * lread.c (Fload): Add a comment about the meaning of
11924 Vuser_init_file being t.
11925
11926 * puresize.h (BASE_PURESIZE): Increase to 675000.
11927
11928 * s/gnu-linux.h (setpgrp): Don't define it here because this
11929 prevents compilation on GNU/Linux systems with glib 2.2.
11930
11931 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11932 as setpgid.
427ec082 11933
9aeb39fa
EZ
119342000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11935
11936 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11937 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11938 version.
11939 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11940
29ced61b
KH
119412000-05-23 Kenichi Handa <handa@etl.go.jp>
11942
52283633 11943 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11944
3d80f24d
KH
11945 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11946
52283633 11947 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11948
29ced61b
KH
11949 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11950
d7e00792
KH
119512000-05-22 Kenichi Handa <handa@etl.go.jp>
11952
c9d80d38
KH
11953 * keyboard.c (read_char): Allow character codes 128..255 to be
11954 handled by input-method-function.
11955
d7e00792
KH
11956 * insdel.c (adjust_markers_for_replace): Fix previous change.
11957 (adjust_after_replace): If PREV_TEXT is nil, call
11958 adjust_markers_for_insert, not adjust_markers_for_replace.
11959
087121cc 119602000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11961
087121cc
GM
11962 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11963 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11964 [HAVE_GRANDPT]: Define.
11965 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11966
11967 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11968 like SYSV_PTYS.
11969
11970 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11971
11972 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11973
c9671f81
KH
119742000-05-20 Kenichi Handa <handa@etl.go.jp>
11975
11976 The following changes are to handle 8-bit characters in a
11977 multibyte buffer/string without facing with byte combining
11978 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11979 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11980
11981 * Makefile.in (fns.o): Depend on charset.h.
11982
11983 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11984 convert it to unibyte.
11985 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11986
11987 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11988 apparent char boundary.
11989 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11990 0x80..0x9F to/from multibyte form.
11991
11992 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11993 to unibyte.
11994
11995 * callproc.c (Fcall_process): Always encode an argument string if
11996 it is multibyte. Setup src_multibyte and dst_multibyte members of
11997 process_coding properly.
ce75fd23 11998
c9671f81
KH
11999 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12000 SPLIT_NON_ASCII_CHAR.
12001
12002 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12003 as is.
12004 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12005
52283633 12006 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12007 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12008 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12009 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12010 and eight-bit-graphic.
12011 (char_to_string): Likewise. Signal an error for too large
12012 character code.
12013 (char_printable_p): Return 0 for 8-bit characters.
12014 (update_charset_table): Update iso_charset_table only when a final
12015 character is non-negative.
12016 (find_charset_in_text): Renamed from find_charset_in_str.
12017 Arguments and return value changed. Callers changed.
12018 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12019 be -1 if CHARSET is used only internally.
12020 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12021 eight-bit-graphic.
12022 (Fcharset_after): Simplified.
12023 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12024 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12025 (multibyte_chars_in_text): Simplified by assuming there's no
12026 invalid multibyte sequence.
52283633
SM
12027 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12028 (str_as_unibyte): New functions.
12029 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12030 (init_charset_once): Initialization for
12031 LEADING_CODE_8_BIT_CONTROL.
12032 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12033 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12034 eight-bit-control and eight-bit-graphic.
12035
52283633
SM
12036 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12037 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12038 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12039 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12040 (CHARSET_REVERSE_CHARSET): Likewise.
12041 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12042 eight-bit-graphic.
12043 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12044 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12045 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12046 encounter an invalid multibyte sequence.
12047 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12048 sequence is always valid.
12049 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12050 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12051 (CHAR_STRING): For 8-bit characters, call char_to_string.
12052 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12053 multibyte sequence is always valid.
12054 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12055 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12056 (str_as_unibyte): Extern them.
c9671f81 12057 (BCOPY_SHORT): Fix a bug.
52283633 12058 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12059 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12060 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12061 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12062
bd4bde7f 12063 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12064 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12065 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12066 (EMIT_BYTES): New macros.
12067 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12068 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12069 macros deleted.
12070 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12071 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12072 check the validity of multibyte sequence.
12073 (decode_coding_emacs_mule): New function.
12074 (encode_coding_emacs_mule): New macro.
12075 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12076 the source.
12077 (DECODE_ISO_CHARACTER): Just return a character code.
12078 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12079 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12080 EMIT_CHAR to produced decoded characters. Exit the loop only by
12081 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12082 block here.
12083 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12084 only position codes for an invalid character.
12085 (encode_designation_at_bol): Return new destination pointer. 5th
12086 arg DSTP is changed to DST.
12087 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12088 from the source by ONE_MORE_CHAR. Don't handle the case of last
12089 block here.
12090 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12091 macros deleted.
52283633
SM
12092 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12093 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12094 TWO_MORE_BYTES to fetch a byte from the source.
12095 (encode_eol): Pay attention to coding->src_multibyte.
12096 (detect_coding, detect_eol): Preserve members src_multibyte and
12097 dst_multibyte.
12098 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12099 (encoding_buffer_size): Set magnification to 3 for all coding
12100 systems that require encoding.
12101 (ccl_coding_driver): For decoding, be sure that the result is
12102 valid multibyte sequence.
12103 (decode_coding): Initialize coding->errors and coding->result.
12104 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12105 and raw-text, always call decode_eol. Handle the case of last
12106 block here. If not coding->dst_multibyte, convert the resulting
12107 sequence to unibyte.
12108 (encode_coding): Initialize coding->errors and coding->result.
12109 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12110 and raw-text, always call encode_eol. Handle the case of last
12111 block here.
12112 (shrink_decoding_region, shrink_encoding_region): Detect cases
12113 that we can't skip data more rigidly.
12114 (code_convert_region): Setup src_multibyte and dst_multibyte
12115 members of coding. For decoding, if the buffer is multibyte,
12116 convert the source sequence to unibyte in advance. For encoding,
12117 if the buffer is multibyte, convert the resulting sequence to
12118 multibyte afterward.
12119 (run_pre_post_conversion_on_str): New function.
12120 (code_convert_string): Deleted and divided into the following two.
12121 (decode_coding_string, encode_coding_string): New functions.
12122 (code_convert_string1, code_convert_string_norecord): Call one of
12123 above.
12124 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12125 MAKE_NON_ASCII_CHAR.
52283633
SM
12126 (Fset_terminal_coding_system_internal)
12127 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12128 and dst_multibyte members.
12129 (init_coding_once): Initialize iso_code_class with new enum
12130 ISO_control_0 and ISO_control_1.
12131
12132 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12133 devided into ISO_control_0 and ISO_control_1.
12134 (struct coding_system): New members src_multibyte, dst_multibyte,
12135 errors, and result. Delete member fake_multibyte.
12136 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12137 nonzero.
12138 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12139 nonzero.
12140
12141 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12142 (Faset): Likewise.
12143
12144 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12145 multibyte form.
12146 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12147 combining occurs.
12148 (Ftranspose_region): Delete codes for handling byte combining.
12149
12150 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12151 dst_multibyte members of coding. On handling REPLACE on unibyte
12152 buffer, convert the result of decode_coding to unibyte. On
12153 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12154 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12155 multibyteness of the source (buffer or string).
12156
12157 * fns.c (concat): Handle 8-bit characters correctly.
12158 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12159 unibyte in the result.
12160 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12161 valid multibyte form in the result.
12162 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12163 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12164 return -1, signal an error.
12165 (base64_encode_1): New arg MULTIBYTE. Get each character by
12166 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12167 character is found, return -1.
12168 (Fbase64_decode_region): Delete codes for handling byte-combining.
12169 Treat each decoded byte as a unibyte character.
12170 (Fbase64_decode_string): Return unibyte string.
12171 (Fcompare_strings, concat, string_byte_to_char): Use
12172 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12173 FETCH_STRING_CHAR_ADVANCE.
12174 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12175 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12176
12177 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12178 SPLIT_NON_ASCII_CHAR.
12179 (fontset_ref_via_base, fontset_set): Likewise
12180
12181 * insdel.c (adjust_markers_for_record_delete): Deleted.
12182 (adjust_markers_for_insert): Argument changed. Caller changed.
12183 (adjust_markers_for_replace): Likewise.
52283633
SM
12184 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12185 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12186 (copy_text): Delete unused local varialbe c_save. For converting
12187 to multibyte, be sure to make all 8-bit characters in valid
12188 multibyte form.
12189 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12190 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12191 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12192 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12193 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12194 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12195 handling byte combining.
12196 (adjust_before_replace): Deleted.
427ec082 12197
c9671f81
KH
12198 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12199 SPLIT_NON_ASCII_CHAR.
12200 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12201 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12202 (Fkey_description): Likewise.
12203
12204 * lread.c (read1): On reading multibyte string, be sure to make
12205 all 8-bit chararacters in valid multibyte form.
12206 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12207
12208 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12209 unconditionally.
12210
12211 * process.c (Fstart_process): GCPRO current_dir before calling
12212 Ffind_operation_coding_system. Encode arguments here.
12213 (create_process): Don't encode arguments here. Setup
12214 src_multibyte and dst_multibyte members of struct coding.
12215 (read_process_output): Setup src_multibyte and dst_multibyte
12216 members of struct coding. If the output is to multibyte buffer,
12217 always decode the output of the process. Adjust the
52283633 12218 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12219 (send_process): Setup coding->src_multibyte according to the
12220 multibyteness of the source.
12221
52283633 12222 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12223 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12224 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12225
52283633 12226 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12227
12228 * w16select.c (Fw16_set_clipboard_data): Setup members
12229 src_multibyte and dst_multibyte of coding. Adjusted for the
12230 change for find_charset_in_str.
12231 (Fw16_get_clipboard_data): Likewise.
12232
12233 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12234 dst_multibyte of coding.
12235 (x_to_w32_font): Likewise.
12236
12237 * w32select.c (Fw32_set_clipboard_data): Setup members
12238 src_multibyte and dst_multibyte of coding. Adjusted for the
12239 change for find_charset_in_str.
12240 (Fw32_get_clipboard_data): Likewise.
12241
12242 * xdisp.c (get_next_display_element): Handle 8-bit characters
12243 correctly.
52283633
SM
12244 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12245 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12246
12247 * xselect.c (selection_data_to_lisp_data): Setup members
12248 src_multibyte and dst_multibyte of coding. Adjusted for the
12249 change for find_charset_in_str.
12250 (lisp_data_to_selection_data): Likewise.
12251
5f64c9e0
GM
122522000-05-19 Gerd Moellmann <gerd@gnu.org>
12253
52283633 12254 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12255
5f64c9e0
GM
12256 * dispextern.h (Vimage_types): Add extern declaration.
12257
12258 * xdisp.c (Vimage_types): Moved here from xfns.c.
12259 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12260
12261 * xfns.c (Vimages_types): Moved to xdisp.c.
12262 (syms_of_xfns): Move `image-types' to xdisp.c.
12263
12264 * w32fns.c (Vimage_types): Removed.
12265 (syms_of_w32fns): Remove `image-types'.
12266
813086ea
KH
122672000-05-18 Kenichi Handa <handa@etl.go.jp>
12268
12269 * fns.c (map_char_table): Pay attention to character number of
12270 charset. Check the validity of charset at the first level. For
12271 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12272 the default value.
12273
12274 * fontset.c: Include "buffer.h".
12275 (fs_load_font): If the face has fontset, record the face ID in
12276 that fontset.
12277 (Finternal_char_font): New function.
12278 (accumulate_font_info): New function.
12279 (Ffontset_info): Rewritten for the new fontset implementation.
12280 (syms_of_fontset): Register Vdefault_fontset in the first element
12281 of Vfontset_table. Include Vdefault_fontset in
12282 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12283 function.
12284
bdaebbf0
DL
122852000-05-16 Dave Love <fx@gnu.org>
12286
12287 * m/iris5d.h: Deleted -- unused.
12288
cb613bb8
GM
122892000-05-16 Gerd Moellmann <gerd@gnu.org>
12290
b15f3b77
GM
12291 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12292 `invalid' instead of `illegal'.
12293
12294 * indent.c (Fmove_to_column): When ending within a tab, insert
12295 spaces first so that markers at the end of the tab get adjusted.
12296
835c1b36
GM
12297 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12298 buffer list that wasn't selected in that frame.
12299
cb613bb8
GM
12300 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12301 is needed on mescaline, use a 2 char prefix, and call
12302 make_temp_name with second arg non-zero.
12303
12304 * fileio.c (make_temp_name): New function, extracted from
12305 Fmake_temp_name.
12306 (Fmake_temp_name): Use it.
12307
f685bea9
EZ
123082000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12309
52283633 12310 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12311
a1b8d58b
GM
123122000-05-15 Gerd Moellmann <gerd@gnu.org>
12313
12314 * Makefile.in (lisp): Add env.elc.
12315
12316 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12317
a265079f
GM
123182000-05-12 Gerd Moellmann <gerd@gnu.org>
12319
12320 * search.c (Freplace_match): Handle case of `\N' in the
12321 replacement when there's no group N.
12322
da4496b6
GM
123232000-05-11 Gerd Moellmann <gerd@gnu.org>
12324
0ace421a
GM
12325 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12326 of the message to message_dolog.
12327
1172eb8d
GM
12328 * keyboard.c (read_char): Don't clear current message for help
12329 events; let the code handling help events handle this. Change
12330 code detecting help events that should be ignored.
12331
da4496b6
GM
12332 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12333 we're interating over a string.
12334
0623e40f
DL
123352000-05-09 Dave Love <fx@gnu.org>
12336
12337 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12338 that offset before writing. Move gcpro region past call of
12339 Ffile_regular_p.
12340
bae2503b
DL
123412000-05-04 Dave Love <fx@gnu.org>
12342
12343 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12344
ec82fb2f
GM
123452000-05-04 Gerd Moellmann <gerd@gnu.org>
12346
12347 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12348 of inserted characters when BUF equals the current buffer, and PT
12349 is in front of or equal to FROM.
12350
cbf18892
GM
123512000-05-03 Gerd Moellmann <gerd@gnu.org>
12352
4ff40dd0
GM
12353 * xdisp.c (handle_single_display_prop): If display property value
12354 is invalid, or something not supported on the frame, restore
12355 iterator's position to what it was initially. Make sure to return
12356 0 for invalid and unsupported property values.
12357
cbf18892
GM
12358 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12359 that x_per_char_metric returns null.
12360
1b0672c3
GM
123612000-05-02 Gerd Moellmann <gerd@gnu.org>
12362
576da55d
GM
12363 * xterm.h (struct face): Add forward declaration.
12364 (struct image): Ditto.
12365 (image_ascent): Add prototype.
12366
12367 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12368 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12369 image_ascent instead of using IMAGE_ASCENT.
12370
12371 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12372 (IMAGE_ASCENT): Removed.
12373
12374 * xfns.c (Qcenter): New variable.
12375 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12376 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12377 (image_ascent): New function.
12378 (lookup_image): Recognize `:ascent center'.
12379 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12380 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12381 (xbm_load): Don't set image's ascent here.
12382 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12383 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12384 check ascent values here.
12385 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12386 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12387 (syms_of_xfns): Initialize Qcenter.
12388
1b0672c3
GM
12389 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12390 to the limits, increase the limits.
12391
0d7811ed
KH
123922000-05-01 Kenichi Handa <handa@etl.go.jp>
12393
12394 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12395 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12396
a943a5ca
GM
123972000-04-28 Gerd Moellmann <gerd@gnu.org>
12398
12399 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12400 taller than the window.
12401
5dba1e29
KH
124022000-04-28 Kenichi Handa <handa@etl.go.jp>
12403
12404 * xfaces.c (realize_x_face): Fix the argument of the second
12405 xassert. BASE_FACE may not be a face for ASCII.
12406
353964e3
GM
124072000-04-27 Gerd Moellmann <gerd@gnu.org>
12408
c76e04a8
GM
12409 * print.c (print_object): Treat print-length < 0 as nil.
12410
12411 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12412
12413 * s/freebsd.h (TERMCAP_OBJ): Removed.
12414 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12415
12416 * lread.c (read1): Don't treat period followed by certain
12417 characters as symbol start.
12418
12419 * xfns.c (slurp_file): New function.
12420 (xbm_image_p): Handle case of in-memory XBM files.
12421 (xbm_scan): Rewritten to work on memory buffers instead of files.
12422 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12423 Work on memory buffers instead of files. If DATA is null test
12424 if buffer looks like an in-memory XBM file.
12425 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12426 memory buffers instead of files.
12427 (xbm_file_p): New function.
12428 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12429
353964e3
GM
12430 * lread.c (end_of_file_error): New function.
12431 (read1): Call it instead of signaling `end-of-file' directly.
12432
427ec082 12433 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12434 with Fprinc instead of Fprin1.
12435
24d744ac
KR
124362000-04-26 Ken Raeburn <raeburn@gnu.org>
12437
12438 * window.c (freeze_window_start): Check that minibuffer scroll
12439 window isn't nil before extracting the window structure pointer
12440 from it.
12441
12442 * undo.c (record_delete): If we hit the end of the undo list, stop
12443 picking elements apart.
12444
7464346d
GM
124452000-04-26 Gerd Moellmann <gerd@gnu.org>
12446
12447 * xdisp.c (display_line): If lines are continued, restore
12448 iterator's ascent/descent information to the values before the
12449 first glyph not fitting on the line.
12450
612839b6
GM
124512000-04-25 Gerd Moellmann <gerd@gnu.org>
12452
12453 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12454 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12455
12456 * dispnew.c (increment_matrix_positions): Renamed from
12457 increment_glyph_matrix_buffer_positions.
12458 (increment_row_positions): Renamed from
12459 increment_glyph_row_buffer_positions.
12460
12461 * dispextern.h: Change names of renamed functions from dispnew.c
12462 in prototypes.
12463
cc181e95
GM
124642000-04-24 Gerd Moellmann <gerd@gnu.org>
12465
abfcc168
GM
12466 * fileio.c (Fdo_auto_save): Create directories for auto-save
12467 list file if necessary.
12468
cc181e95
GM
12469 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12470 from buffer or frame.
12471 (automatic_hscrolling_p): New variable.
12472 (hscroll_windows): Scroll windows horizontally only if automatic
12473 hscrolling is allowed.
12474 (syms_of_xdisp): New variable `automatic-hscrolling'.
12475
12476 * frame.h (struct frame): Add member extra_line_spacing.
12477
12478 * xfns.c (x_set_line_spacing): New function.
12479 (Fx_create_frame): Set line spacing from resources.
12480 (Qline_spacing): New variable.
12481 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12482
cc181e95
GM
12483 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12484
12485 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12486 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12487 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12488 extra_line_spacing from default value.
12489 (init_buffer_once): Initialize default value of extra_line_spacing.
12490
12491 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12492 and extra3.
12493
12494 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12495 prompt_width. Add extra line spacing.
12496
12497 * term.c (produce_glyphs): Remove reference to struct it's
12498 prompt_width.
12499
12500 * dispextern.h (struct it): Remove member prompt_width, add
12501 extra_line_spacing.
12502
58827478
GM
125032000-04-22 Gerd Moellmann <gerd@gnu.org>
12504
12505 * dispnew.c (update_frame_line): When writing a whole line, make
12506 sure cursor is in the right row afterwards, otherwise a use of
12507 capability `ch' in cmgoto might leave the cursor in the row below.
12508
25a87f42
GM
125092000-04-21 Gerd Moellmann <gerd@gnu.org>
12510
12511 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12512
12513 * keyboard.c (timer_check): Fix typo in comment.
12514
54edf5c2
KH
125152000-04-21 Kenichi Handa <handa@etl.go.jp>
12516
12517 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12518 name change: ch -> character.
12519
3a64eef5
GM
125202000-04-20 Gerd Moellmann <gerd@gnu.org>
12521
12522 * keyboard.c (echo_message_buffer): New variable.
12523 (echo_now): Set echo_message_buffer to the echo area buffer used
12524 to display the echo.
12525 (cancel_echoing): Reset echo_message_buffer to nil.
12526 (read_char): Code rewritten that handles canceling an echo or
12527 echoing a dash, respectively.
12528
12529 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12530 directory doesn't exist.
12531
6142fdcb
DL
125322000-04-19 Dave Love <fx@gnu.org>
12533
12534 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12535 (concat): Don't allow numeric args.
12536 (Fconcat): Doc change.
6142fdcb 12537
ac6b5352
SM
125382000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12539
12540 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12541 instead define end_match(1|2) more carefully.
12542 Use GET_CHAR_BEFORE_2 for `begline'.
12543
cb9215e4
GM
125442000-04-19 Gerd Moellmann <gerd@gnu.org>
12545
5e3dac3f
GM
12546 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12547 on 64-bit systems where NULL is defined as `0'.
12548
12549 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12550 the `variable argument list' to make it work on Alpha.
12551
cb9215e4
GM
12552 * m/alpha.h (_LP64) [!_LP64]: Define.
12553 (ORDINARY_LINK): Define for NetBSD.
12554
12555 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12556
f532dca0
DL
125572000-04-19 Dave Love <fx@gnu.org>
12558
c750667e
DL
12559 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12560 change.
12561
12562 * Makefile.in (LIBS): Don't use.
12563 (GETLOADAVG_OBJ): Define again.
12564 (otherobj): Add GETLOADAVG_OBJ.
12565
f532dca0
DL
12566 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12567
1c7e22fd
GM
125682000-04-18 Gerd Moellmann <gerd@gnu.org>
12569
f6d3257b
GM
12570 * lread.c (read_filtered_event): Cancel and start busy cursor.
12571
427ec082 12572 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12573 that the per-character metrics may be null.
12574
e10f64e7
GM
125752000-04-17 Gerd Moellmann <gerd@gnu.org>
12576
0daee095
GM
12577 * buffer.c (clone_per_buffer_values): New function.
12578 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12579 clone_per_buffer_values if CLONE is not nil.
12580
e10f64e7
GM
12581 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12582
38687d43
DL
125832000-04-16 Dave Love <fx@gnu.org>
12584
12585 * Makefile.in: Remove obsolete localcpp stuff.
12586 (GETLOADAVG_OBJ): Don't define.
12587 (obj): Move LIBOBJS...
12588 (otherobj): ... to here.
12589 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12590 whitespace-only lines after the continuation (Irix).
12591
c21c7262
GM
125922000-04-14 Gerd Moellmann <gerd@gnu.org>
12593
12594 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12595
12596 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12597
314767c0
DL
125982000-04-14 Dave Love <fx@gnu.org>
12599
12600 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12601 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12602 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12603 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12604 NLIST_STRUCT.
12605
12606 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12607 autoconfiscated HAVE_GETLOADAVG.
12608
12609 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12610 BROKEN_MKTIME.
12611
a2522dca
GM
126122000-04-14 Gerd Moellmann <gerd@gnu.org>
12613
12614 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12615 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12616
33744b5d
DL
126172000-04-14 Dave Love <fx@gnu.org>
12618
c21c7262 12619 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12620 (INTERVAL_SRC): Convert to make variable.
12621 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12622 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12623 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12624 add LIBOBJS.
12625 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12626 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12627 (shortlisp): Add facemenu, float-sup, frame.
12628 (SOME_MACHINE_LISP): Remove them from here.
12629 (LIBES): Change unused LDLIBS to autoconf LIBS.
12630
12631 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12632
9d3d5916
KH
126332000-04-14 Kenichi Handa <handa@etl.go.jp>
12634
12635 * composite.c (update_compositions): If FROM and TO are not in a
12636 valid range, do nothing.
12637
198e3c7a
GM
126382000-04-13 Gerd Moellmann <gerd@gnu.org>
12639
52283633 12640 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12641
52283633 12642 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12643
12644 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12645 as TERMCAP_OBJ.
12646
055a28c9
EZ
126472000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12648
12649 * fileio.c (a_write): Remove redundant semi-colons.
12650 (e_write): Return -1 if failed to write all the data.
12651 This fixes the changes made at 1999-12-15.
12652
f5c75033
DL
126532000-04-12 Dave Love <fx@gnu.org>
12654
12655 * fns.c (mapcar1): Test for null vals to support mapc.
12656 (Fmapc): New function.
12657
0c3cfc51
EZ
126582000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12659
12660 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12661 (IT_frame_up_to_date): Support the buffer local value of
12662 cursor-type, if defined.
12663
33465a31
DL
126642000-04-10 Dave Love <fx@gnu.org>
12665
12666 * editfns.c (preceding-char, following-char): Doc fix.
12667
6ed56568
KR
126682000-04-10 Ken Raeburn <raeburn@gnu.org>
12669
12670 * Makefile.in (temacs): Revert 2000-03-12 change.
12671
7cf80d4e
JR
126722000-04-10 Jason Rumney <jasonr@gnu.org>
12673
12674 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12675
34f3f342
GM
126762000-04-10 Gerd Moellmann <gerd@gnu.org>
12677
1a1b1895
GM
12678 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12679 area buffer, if it's not set up yet.
12680
34f3f342
GM
12681 * indent.c (compute_motion): Set immediate_quit.
12682
be0dbdab
GM
126832000-04-09 Gerd Moellmann <gerd@gnu.org>
12684
52283633 12685 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12686 (realize_tty_face): Suppress boldness if colors are the inverse of
12687 the default colors, and tty_suppress_bold_inverse_default_colors_p
12688 is set.
12689 (Ftty_suppress_bold_inverse_default_colors): New function.
12690 (syms_of_xfaces): Defsubr it.
12691
be0dbdab
GM
12692 * buffer.c (Frestore_buffer_modified_p): New function.
12693 (syms_of_buffer): Defsubr it.
12694
e8413c3b
KR
126952000-04-08 Ken Raeburn <raeburn@gnu.org>
12696
87f67317
KR
12697 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12698 charset id (int) argument, not a charset (Lisp_Object).
12699
e8413c3b
KR
12700 * coding.h (code_convert_string): Declare.
12701 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12702 object, as the fourth argument to code_convert_string.
12703
52283633 12704 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12705 (Fset_fontset_font): Use EQ to compare lisp objects.
12706
7c752c80
KR
127072000-04-05 Ken Raeburn <raeburn@gnu.org>
12708
c0333abc
KR
12709 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12710 a pointer that looks like a lisp object.
12711 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12712 zero, instead see whether it's an integer object, since they can't
12713 have intervals.
12714 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12715
52283633
SM
12716 * dispnew.c (allocate_matrices_for_frame_redisplay)
12717 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12718 to convert between (unsigned) int values and lisp integers.
12719 * keyboard.c (read_key_sequence): Likewise.
12720 * lread.c (substitute_object_recurse): Likewise.
12721 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12722 * minibuf.c (do_completion, Fminibuffer_complete_word)
12723 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12724 * term.c (produce_special_glyphs): Likewise.
12725
12726 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12727 * print.c (print_preprocess, print_object): Likewise.
12728
12729 * search.c (compile_pattern): Use NILP when checking for nil.
12730
74e49b38
KR
12731 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12732 __OPTIMIZE__]: Provide a GNU C macro version that handles
12733 lisp-object unions.
12734 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12735 field, to better cope with ENABLE_CHECKING and calls that modify a
12736 Lisp_Object using its old value.
12737
685e5ed2
GM
127382000-04-04 Gerd Moellmann <gerd@gnu.org>
12739
c407c570
GM
12740 * window.c (compare_window_configurations): Signal an error
12741 if parameters C1 or C2 aren't window configurations.
12742
685e5ed2
GM
12743 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12744 AFTER_POTENTIAL_GC calls around calls to functions that can
12745 signal an error and thus invoke the debugger.
12746
587a49ab
GM
127472000-04-03 Gerd Moellmann <gerd@gnu.org>
12748
62f20204
GM
12749 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12750 an error if decoding fails.
12751
587a49ab
GM
12752 * keyboard.c (lispy_mouse_names): Variable removed.
12753 (Vlispy_mouse_stem): New variable.
12754 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12755 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12756 for any mouse button number. Increase size of mouse_syms and
12757 button_down_location as needed. Call modify_event_symbol with
12758 different arguments.
12759 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12760 Call modify_event_symbol with different arguments.
12761 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12762 for any button number. Call modify_event_symbol with different
12763 arguments.
12764 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12765 Accept a string for NAME_ALIST_OR_STEM.
12766
12767 * lisp.h (larger_vector): Add prototype.
12768
12769 * fns.c (larger_vector): Make externally visible.
12770
12771 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12772
2d1675e4
SM
127732000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12774
12775 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12776 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12777 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12778 we are between str1 and str2.
12779 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12780 (PATFETCH): Use `TRANSLATE'.
12781 (PATFETCH_RAW): Fetch multibyte char if applicable.
12782 (PATUNFETCH): Remove.
12783 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12784 When writing a char, write it directly into the pattern buffer rather
12785 than going needlessly through a temp char-array.
12786 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12787 multibyte magic and remove the useless `#ifdef emacs'.
12788 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12789 buffer.
12790
12791 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12792 conditional on `emacs'.
12793
12794 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12795
cc2d8c6b
KR
127962000-04-01 Ken Raeburn <raeburn@gnu.org>
12797
12798 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12799 non-union-type versions of XMARK and friends here, because XMARK
12800 and friends won't work on an integer field if NO_UNION_TYPE is not
12801 defined.
52283633 12802 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12803
52283633 12804 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12805 (syms_of_composite): Delete local var NARGS, pass an int as first
12806 argument to Fmake_hash_table.
12807
2387b382
KR
12808 * editfns.c (text_property_stickiness): Use NILP to test
12809 Lisp_Object boolean value.
12810 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12811 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12812 problems reading from and changing the same lisp value in an
12813 XSETSTRING call.
12814
27660e89
GM
128152000-04-01 Gerd Moellmann <gerd@gnu.org>
12816
12817 * term.c (TN_no_color_video): New variable.
12818 (term_init): Intitialize TN_no_color_video.
12819 (enum no_color_bit): New enumeration.
12820 (MAY_USE_WITH_COLORS_P): New macro.
12821 (turn_on_face): Use it to determine if attributes may be used
12822 combined with colors.
12823
3578db3c
KR
128242000-04-01 Ken Raeburn <raeburn@gnu.org>
12825
12826 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12827 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12828 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12829 proper accessor macros.
12830 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12831 (grow_mini_window): Fix typo getting int value of root->height.
12832
6fc556fd
KR
12833 * xdisp.c (compute_string_pos): Fix order of arguments to
12834 string_pos_nchars_ahead.
12835 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12836 count arg to variable-arg routines like Frun_hook_with_args and
12837 Fformat.
587a49ab
GM
12838 (back_to_previous_visible_line_start)
12839 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12840 fixed-arg routines like Fget_char_property and Fmake_string.
12841 (reconsider_clip_changes): Use XINT when comparing integer lisp
12842 objects, or passing them as int arguments.
587a49ab
GM
12843 (mark_window_display_accurate, insert_left_trunc_glyphs)
12844 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12845 storing or passing integer values as lisp objects.
12846 (set_cursor_from_row, highlight_trailing_whitespace): Use
12847 INTEGERP, not implicit test against zero, for glyph object.
12848 (try_window_id): Don't use make_number when we want an int value.
12849
12850 * xfaces.c (xlfd_symbolic_value): Make last argument a
12851 Lisp_Object, to be consistent with callers.
12852 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12853 (lface_hash): Apply XFASTINT to lisp values before folding in.
12854
12855 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12856 fill in window width and height. Pass an int, not a lisp object,
12857 as first arg to Finsert.
12858
6e7b2457
GM
128592000-04-01 Gerd Moellmann <gerd@gnu.org>
12860
610d841e
GM
12861 * xfaces.c (realize_basic_faces): Block input while realizing
12862 the faces.
12863
6e7b2457
GM
12864 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12865
12866 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12867
aa110c0c
GM
128682000-03-31 Gerd Moellmann <gerd@gnu.org>
12869
12870 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12871 or ASCII, handle case that per-char metric is null.
aa110c0c 12872
8801a864
KR
128732000-03-30 Ken Raeburn <raeburn@gnu.org>
12874
c6129d7e
KR
12875 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12876
52283633
SM
12877 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12878 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12879 pointer, using eassert.
12880 * frame.h (XFRAME): Likewise.
12881
52283633
SM
12882 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12883 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12884 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12885 * data.c (set_internal): Likewise.
52283633
SM
12886 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12887 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12888 * fileio.c (auto_save_1): Likewise.
12889 * insdel.c (check_markers): Likewise.
12890 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12891 * undo.c (record_insert): Likewise.
12892 * vmsproc.c (child_sig): Likewise.
12893 * window.c (unshow_buffer, window_loop): Likewise.
12894 * xterm.c (x_erase_phys_cursor): Likewise.
12895
8e7af858
GM
128962000-03-30 Gerd Moellmann <gerd@gnu.org>
12897
12898 * xfns.c (free_image_cache): Free the cache structure itself
12899 last, after all its members have been freed.
12900
12901 * lisp.h (xstrdup): Add prototype.
12902
12903 * alloc.c (xstrdup): Moved here from xfaces.c.
12904 (allocating_for_lisp): Variable removed.
52283633 12905 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12906
12907 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12908 of Fsymbol_value.
12909 (xstrdup): Moved to alloc.c.
12910
e0b8c689
KR
129112000-03-29 Ken Raeburn <raeburn@gnu.org>
12912
b96f9fb7
KR
12913 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12914
12915 * emacs.c (main): Fix sense of no-loadup test.
12916
e0b8c689
KR
12917 * config.in (ENABLE_CHECKING): Undef.
12918
12919 * lisp.h (struct interval): Replace "parent" field with a union of
12920 interval pointer and Lisp_Object; add new bitfield to use as
12921 discriminant. Change other flag fields to bitfields.
12922 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12923 is defined and the supplied test fails, print a message and abort.
12924 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12925
12926 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12927 pointers; abort if the value looks like a lisp object.
52283633
SM
12928 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12929 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12930 Modify for new interval parent definition.
12931
52283633
SM
12932 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12933 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12934 addressable lisp object in the interval structure.
12935 (die): New function.
12936 (suppress_checking): New variable.
12937
12938 * intervals.c (interval_start_pos): Just return 0 if there's no
12939 parent object.
12940
f83c5440
GM
129412000-03-29 Gerd Moellmann <gerd@gnu.org>
12942
12943 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12944 and earlier Emacs versions.
12945
12946 * keyboard.c (Ftop_level): Cancel busy-cursor.
12947
12948 * eval.c (call_debugger): Cancel busy-cursor.
12949
fdce64ff
KH
129502000-03-29 Kenichi Handa <handa@etl.go.jp>
12951
12952 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12953 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12954
f6a3f532
SM
129552000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12956
12957 * regex.c (analyse_first): New function obtained by ripping out most
12958 of re_compile_fastmap and generalizing it a little bit so that it
12959 can also just return whether a given (sub)pattern can match the empty
12960 string or not.
12961 (regex_compile): Use `analyse_first' to decide whether the loop-check
12962 needs to be done or not for *, +, *? and +? (the loop check is costly
12963 for non-greedy repetition).
12964 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12965
e9b309ac
DL
129662000-03-28 Dave Love <fx@gnu.org>
12967
52283633 12968 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12969
e9b309ac
DL
12970 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12971
ed0767d8
SM
129722000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12973
12974 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12975 an expression.
12976 (enum re_opcode_t): Update description of succeed_n.
12977 (PATFETCH): Always define.
12978 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12979 operators, char classes, shy-groups and intervals).
12980 Optimize special cases of intervals so as to only use succeed_n and
12981 jump_n when really needed.
12982 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12983 that we don't have to handle the special cases any more.
12984 Simplify on_failure_jump handling as well.
12985
e11e7e46
JR
129862000-03-28 Jason Rumney <jasonr@gnu.org>
12987
12988 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12989
88faab89
GM
129902000-03-27 Gerd Moellmann <gerd@gnu.org>
12991
182ff242
GM
12992 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12993
12994 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12995
182ff242
GM
12996 * alloc.c (mark_maybe_object): New function.
12997 (mark_memory): Use it.
12998 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12999 (setjmp_tested_p, longjmp_done): New variables.
13000 (test_setjmp): New function.
13001 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13002 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13003
c1005d06
GM
13004 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13005 to DEC_TEXT_POS and INC_TEXT_POS.
13006
13007 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13008 with parameter MULTIBYTE_P.
13009
52283633 13010 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13011
7439e5b9 13012 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13013 buffers because it looks for multibyte character byte sequences
13014 which don't exist in unibyte text.
7439e5b9 13015
d9c545da
GM
13016 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13017
11fd416e 13018 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13019 [DEBUG_X_COLORS]: New functions.
13020 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13021
13022 * xfns.c (x_set_cursor_color): Get color reference counts right.
13023
13024 * xterm.c (x_copy_color): New function.
13025 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13026
13027 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13028 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13029 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13030 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13031 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13032 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13033 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13034 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13035 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13036 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13037
11fd416e
GM
13038 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13039 names for handling per-buffer variables.
d9c545da
GM
13040
13041 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13042 instead of MAX_BUFFER_LOCAL_VARS.
13043 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13044
13045 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13046
88faab89
GM
13047 * xfns.c (x_specified_cursor_type): New function.
13048 (x_set_cursor_type): Use it.
13049
13050 * buffer.h (struct buffer): Add cursor_type.
13051
d80f42b7
SM
130522000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13053
13054 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13055 (print_partial_compiled_pattern, re_compile_fastmap):
13056 Handle new opcode.
d80f42b7
SM
13057 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13058 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13059 executing it as well as when popping it off the stack to find infinite
13060 loops in non-greedy repetition operators.
13061
89e80928
GM
130622000-03-26 Gerd Moellmann <gerd@gnu.org>
13063
3d4ff2dd
GM
13064 * doc.c (Qfunction_documentation): New variable.
13065 (syms_of_doc): Initialize Qfunction_documentation.
13066 (Fdocumentation): If FUNCTION is a symbol with non-nil
13067 `function-documentation' property, return a documentation derived
13068 from that.
13069
bd96bd79
GM
13070 * buffer.c (syms_of_buffer): Add default-cursor-type.
13071 (init_buffer_once): Don't let cursor_type have a local value
13072 in every buffer.
13073
19d1bc27
GM
13074 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13075 on buffer-local value of cursor_type.
13076 (x_draw_bar_cursor): Add parameter WIDTH.
13077
13078 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13079 (init_buffer_once): Set default cursor_type value to t.
13080 Mark cursor_type as local everywhere.
13081 (syms_of_buffer): New per-buffer variable cursor-type.
13082
89e80928
GM
13083 * buffer.h (struct buffer): Remove member local_var_flags,
13084 add local_flags.
13085 (MAX_BUFFER_LOCAL_VARS): New macro.
13086 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13087 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13088 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13089 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13090
52283633 13091 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13092
13093 * category.c (Fset_category_table): Use new macros for per-buffer
13094 variables.
13095
13096 * buffer.c (buffer_permanent_local_flags): Make a char array.
13097 (max_buffer_local_idx): New variable.
13098 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13099 for new handling of per-buffer variables.
13100 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13101 (init_buffer_once): Initialize per-buffer vars differently.
13102 Set max_buffer_local_idx.
13103
13104 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13105 variables.
13106
52283633 13107 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13108
13109 * data.c (do_symval_forwarding, store_symval_forwarding)
13110 (find_symbol_value, set_internal, default_value, Fset_default)
13111 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13112 per-buffer variables.
13113
13114 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13115
9a0dd3dc
GM
131162000-03-24 Gerd Moellmann <gerd@gnu.org>
13117
b68c375f
GM
13118 * xterm.c (x_term_init): Unblock input around call1 of
13119 Qvendor_specific_keysyms.
13120
9a0dd3dc
GM
13121 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13122 (find_defun_start): Consider an open parenthesis in column 0
13123 a defun start only if open_paren_in_column_0_is_defun_start is set.
13124 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13125
7973e637
SM
131262000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13127
13128 * eval.c (Fautoload): Add entry in load-history (if after dump).
13129 * lread.c (load-history): Update docstring.
13130
39210e90
GM
131312000-03-24 Gerd Moellmann <gerd@gnu.org>
13132
13133 * indent.c (Fvertical_motion): Always use the current buffer.
13134 Temporarily change the window's buffer, if necessary.
13135
72db3ab5
GM
131362000-03-23 Gerd Moellmann <gerd@gnu.org>
13137
13138 * xterm.c (fast_find_position): Make sure not to consider rows
13139 not visible in the window.
13140
990b2375
SM
131412000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13142
13143 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13144 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13145
ff4df011
JR
131462000-03-22 Jason Rumney <jasonr@gnu.org>
13147
13148 * w32menu.c (single_submenu): Set help string to NULL if none.
13149 (w32_menu_show): Set help string correctly.
13150 (add-menu-item): Set help string in MIIM_DATA for menu item.
13151 Load SetMenuItemInfoA explicitly.
13152 (w32_menu_display_help): New function.
427ec082 13153
ff4df011
JR
13154 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13155 (QCdata): Moved to xdisp.c.
13156
13157 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13158 (Vw32_charset_to_codepage_alist): Removed.
13159 (Vw32_charset_info_alist): New variable.
52283633
SM
13160 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13161 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13162 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13163 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13164 with TODO comment.
13165 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13166 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13167 Define Vw32_charset_info_alist and w32_charset symbols.
13168
131692000-03-22 Jason Rumney <jasonr@gnu.org>
13170
13171 * makefile.nt (w32bdf.obj): Update dependencies.
13172
13173 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13174
13175 * w32fns.c: Include fontset.h after dispextern.h.
13176 (Fx_create_frame): Do not create fontset.
13177 (w32_load_system_font): Doc fix.
13178 (Fx_close_connection): Free full_name if it is not shared.
13179
13180 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13181 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13182 Callers updated.
ff4df011
JR
13183 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13184 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13185 (w32_font_is_double_byte): New function, needs body.
13186 (x_append_glyph): Set glyph->glyph_not_available_p.
13187 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13188 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13189 character, convert it to a unibyte character.
13190 (struct glyph_string): Delete member `charset'.
13191 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13192 calculating it is found.
13193 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13194 the case that per char metric is not available correctly.
13195 (x_fill_glyph_string): Handle the case that the specific glyph is
13196 not available correctly.
13197 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13198 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13199 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13200 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13201 fontset. Don't call FS_LOAD_FONT.
13202
439d5cb4
KR
132032000-03-22 Ken Raeburn <raeburn@gnu.org>
13204
13205 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13206 (INT_LISPLIKE): New macro.
13207 (NULL_INTERVAL_P): Use it.
52283633
SM
13208 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13209 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13210 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13211
13212 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13213 explicit references to "parent" field of struct interval and
13214 associated unclean type conversions.
52283633
SM
13215 * intervals.c (create_root_interval, root_interval, rotate_right)
13216 (rotate_left, balance_possible_root_interval, split_interval_right)
13217 (split_interval_left, interval_start_pos, find_interval)
13218 (next_interval, previous_interval, update_interval)
13219 (adjust_intervals_for_insertion, delete_node, delete_interval)
13220 (adjust_intervals_for_deletion, merge_interval_right)
13221 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13222 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13223 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13224 Likewise.
13225 * syntax.c (update_syntax_table): Likewise.
13226
13227 * intervals.c (reproduce_tree_obj): New function, like
13228 reproduce_tree but takes a Lisp_Object for the parent. Declare
13229 with prototype.
13230 (graft_intervals_into_buffer): Use it when appropriate.
13231 (reproduce_tree): Declare with prototype.
13232 (balance_possible_root_interval): Check that the parent is a lisp
13233 object before trying to examine its type.
13234
ee1c5b21
GM
132352000-03-22 Gerd Moellmann <gerd@gnu.org>
13236
13237 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13238 as strings only if both are known to be strings.
13239
13240 * s/openbsd.h (LIBS_TERMCAP): Undef.
13241
1fb352e0
SM
132422000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13243
13244 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13245 definitions for non-Emacs compilation.
13246 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13247 outside of `#ifdef emacs'.
13248 (print_partial_compiled_pattern): Update.
13249 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13250 (re_compile_fastmap): Merge handling of charset and charset_not (for
13251 emacs and non-emacs compilation as well).
13252 Similarly for (not)categoryspec and (not)syntaxspec.
13253 Don't use the fastmap when reaching `anychar' since the added
13254 complexity is not justified.
13255 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13256 and (not)syntaxspec. Merge (not)categoryspec.
13257
fdaa1f77
KH
132582000-03-22 Kenichi Handa <handa@etl.go.jp>
13259
52283633
SM
13260 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13261 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13262 --without-x.
fdaa1f77 13263
d152fb46
DL
132642000-03-21 Dave Love <fx@gnu.org>
13265
13266 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13267 doc string.
13268
d2cafc8c
GM
132692000-03-21 Gerd Moellmann <gerd@gnu.org>
13270
13271 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13272 (lface_fully_specified_p): Don't check contents of
13273 LFACE_FONT_INDEX because that attribute is optional.
13274 (realize_x_face): Remove now unwarranted xassert.
13275
9111d4b5
KH
132762000-03-21 Kenichi HANDA <handa@etl.go.jp>
13277
13278 The following changes are to make font selection based on
13279 characters, not charset. In addition, they recover fontset
13280 facilities while utilizing the new font selection mechanism.
13281
6c4bfdc0
KH
13282 * Makefile.in (fontset.o): Depend on dispextern.h.
13283
13284 * alloc.c (mark_face_cache): Don't mark face->registry.
13285
9111d4b5
KH
13286 * dispextern.h (struct glyph): New member glyph_not_available_p.
13287 Use 22 bits for face_id.
13288 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13289 (struct face): Delete member registry, new member ascii_face.
13290 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13291 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13292 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13293 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13294
13295 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13296 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13297 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13298 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13299 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13300 (fs_free_face_fontset, fontset_font_pattern)
13301 (face_suitable_for_char_p, face_for_char)
13302 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13303 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13304 (FS_LOAD_FACE_FONT): New macro.
13305
13306 * fontset.c: All codes rewritten or adjusted for the change of
13307 fontset implementation. Now fontset is represented by char table.
52283633
SM
13308 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13309 Variables removed.
9111d4b5 13310 (my_strcasecmp): Function removed.
52283633 13311 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13312 (AREF, ASIZE): New macros.
52283633
SM
13313 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13314 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13315 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13316 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13317 (fontset_id_valid_p, font_family_registry, fontset_name)
13318 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13319 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13320 New functions.
13321 (fs_load_font): New arg FACE. Caller changed.
13322 (fs_query_fontset): Argument changed. Caller changed.
13323 (Fquery_fontset): call fs_query_fontset.
13324 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13325 Functions removed.
52283633
SM
13326 (clear_fontset_elements, check_registry_encoding)
13327 (check_fontset_name): New functions.
9111d4b5
KH
13328 (syms_of_fontset): Set char-table-extra-slots property of fontset
13329 to 3. Staticpro and initialize Vfontset_table and
13330 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13331
13332 * frame.h (struct frame): Member `fontset_data' removed.
13333 (FRAME_FONTSET_DATA): Macro removed.
13334
13335 * frame.c (make_frame): Don't allocate f->fontset_data.
13336 (Fdelete_frame): Don't free f->fontset_data.
13337
6c4bfdc0
KH
13338 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13339
9111d4b5
KH
13340 * xdisp.c (charset_at_position): Function removed.
13341 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13342 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13343 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13344 Likewise.
13345 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13346 FACE_FOR_CHARSET.
52283633
SM
13347 (get_next_display_element, append_space)
13348 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13349
13350 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13351 Variables removed.
13352 (clear_font_table, frame_update_line_height, load_face_font):
13353 Adjusted for the change of fontset implementation.
13354 (load_face_fontset_font): Function removed.
13355 (pixel_point_size): New function.
13356 (font_list): Argument type changed. Caller changed.
13357 (LFACE_FONT): New macro.
13358 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13359 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13360 Lisp_Object. Determine the font name by actually loading a font
13361 by the specified pattern. Set LFACE_FONT (lface) to the specified
13362 pattern. Even if a font is not found, don't try alternatives.
13363 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13364 (set_font_frame_param): If `font' is specified in lface, use it.
13365 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13366 (lface_same_font_attributes_p): Likewise.
13367 (make_realized_face): Arguent changed. Caller changed. Set
13368 face->ascii_face to face itself.
13369 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13370 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13371 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13372 (free_realized_multibyte_face): New function.
13373 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13374 changed. Caller changed.
13375 (try_font_list): Argument type changed.
13376 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13377 (choose_face_font): Argument changed. Handle fontset properly.
13378 (choose_face_fontset_font): Function removed.
13379 (realize_default_face, realize_named_face): Don't remove the
13380 former face here.
13381 (realize_face): Argument changed. Caller changed. Remove face
52283633 13382 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13383 (realize_x_face): Argument changed. Caller changed. For a
13384 multibyte character, share fontset with base_face. For a single
52283633 13385 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13386 (realize_tty_face): Argument changed. Caller changed.
13387 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13388 (face_at_buffer_position): Don't check multibyte_p for returning
13389 DEFAULT_FACE_ID.
13390 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13391 FACE_SUITABLE_FOR_CHARSET_P.
13392 (syms_of_xfaces): Remove code for Qx_charset_registry and
13393 Vface_default_registry.
13394
6c4bfdc0
KH
13395 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13396 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13397 (x_per_char_metric): Don't try FONT->default_char. Even if
13398 pcm->width is zero, glyph bits may exist.
13399 (x_encode_char): Always initialize char2b->byte1.
13400 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13401 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13402 (x_append_glyph): Set glyph->glyph_not_available_p.
13403 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13404 it->charset. Handle the case that per char metric is not
13405 available. If it->multibyte_p is zero and it->c is a multibyte
13406 character, convert it to a unibyte character.
13407 (struct glyph_string): Delete member `charset'.
13408 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13409 the case that per char metric is not available correctly.
13410 (x_fill_glyph_string): Handle the case that the specific glyph is
13411 not available correctly.
13412 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13413 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13414 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13415 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13416 fontset. Don't call FS_LOAD_FONT.
13417
13418 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13419 (x_create_tip_frame): Likewise.
13420 (Fx_close_connection): Free full_name of font_info.
13421
13422 * fns.c (optimize_sub_char_table): New function.
13423 (Foptimize_char_table): New function.
13424 (syms_of_fns): Defsubr Soptimize_char_table.
13425
b33dd3b0
GM
134262000-03-20 Gerd Moellmann <gerd@gnu.org>
13427
13428 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13429 only if buffer is displayed in some window.
13430
13431 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13432 (try_window_reusing_current_matrix): Don't call scroll run
13433 function if run's current and desired position are the same;
13434 this prevents cursor flickering.
13435
4e8a9132
SM
134362000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13437
13438 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13439
13440 * regex.c (RE_STRING_CHAR): New macro.
13441 (GET_CHAR_AFER_2): Remove.
13442 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13443 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13444 (print_partial_compiled_pattern, re_compile_fastmap)
13445 (re_match_2_internal): Remove on_failure_jump_exclusive.
13446 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13447 optimization only need to work for * (ie. can use of_keep_string_jump).
13448 Remove the special case for .*\n since it is now covered by the general
13449 optimization.
13450 (re_search_2): Don't bother with `room'.
13451 (skip_one_char): New function.
13452 (skip_noops): Simplify since `memory' is not needed any more.
13453 (mutually_exclusive_p): Restructure slightly to use `switch' and
13454 add handling for "all" remaining cases.
13455 (re_match_2_internal): Change on_failure_jump_smart to use
13456 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13457 rather than on_failure_jump_exclusive.
13458
2136fdd4
GM
134592000-03-19 Gerd Moellmann <gerd@gnu.org>
13460
13461 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13462 number of bits per RGB because it's everywhere used as the depth
13463 of the visual.
13464
13465 * term.c (calculate_costs): Remove code dealing with X frames.
13466
18e21ce8 134672000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13468
13469 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13470
d7b511c4
GM
134712000-03-18 Gerd Moellmann <gerd@gnu.org>
13472
13473 * lread.c (read_integer): Unread the last char not consumed.
13474
16b5d424
GM
134752000-03-17 Gerd Moellmann <gerd@gnu.org>
13476
13477 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13478 which are in the process of being deleted.
16b5d424 13479
1fa28578
GM
134802000-03-16 Gerd Moellmann <gerd@gnu.org>
13481
83488cce
GM
13482 * Makefile.in (mostlyclean): Add `*.core'.
13483 (clean): Add `bootstrap-emacs'.
13484
1fa28578
GM
13485 * lread.c (read_integer): New function.
13486 (read1): Support read syntax #o, #x, #b, #r.
13487
99633e97
SM
134882000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13489
1fa28578
GM
13490 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13491 make sure POINTER_TO_OFFSET gives the same value before and after
13492 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13493 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13494 (debug): Now only active if > 0 rather than if != 0.
13495 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13496 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13497 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13498 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13499 (store_op1, store_op2, insert_op1, insert_op2)
13500 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13501 (group_in_compile_stack): Move to after its arg's types are
13502 declared and add a prototype.
99633e97 13503 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13504 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13505 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13506 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13507 indentation of the greedy-op and shy-group code.
99633e97
SM
13508 (at_(beg|end)line_loc_p): Fix argument's types.
13509 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13510 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13511 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13512 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13513 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13514 QUIT unconditionally.
99633e97 13515
699238d9
GM
135162000-03-15 Gerd Moellmann <gerd@gnu.org>
13517
13518 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13519 a sole completion.
13520
13521 * process.c (send_process): Add a hint that the function
13522 can call Lisp code to its comment.
13523
13524 * lread.c (load_dangerous_libraries): New variable.
13525 (Vbytecomp_version_regexp): New variable.
13526 (safe_to_load_p): New function.
13527 (Fload): Handle files not compiled with Emacs specially.
13528 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13529
34e23e5a
GM
135302000-03-14 Gerd Moellmann <gerd@gnu.org>
13531
9c763cca
GM
13532 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13533
13534 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13535 support functions only if HAVE_X11R6_XIM is defined.
13536 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13537
13538 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13539
13540 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13541 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13542 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13543
13544 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13545 (HAVE_X11R6_XIM): Define.
13546
13547 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13548
34e23e5a
GM
13549 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13550 If set, call XSynchronize.
13551
66f0296e
SM
135522000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13553
34e23e5a
GM
13554 * regex.c: Declare a new type `re_char' used throughout the code
13555 for the string char type. It's `const unsigned char' to match the
13556 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13557 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13558 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13559 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13560 code duplication.
66f0296e
SM
13561
13562 * charset.h (GET_CHAR_AFTER_2): Remove.
13563 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13564
854a025c
KR
135652000-03-12 Ken Raeburn <raeburn@gnu.org>
13566
13567 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13568 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13569 of them try to use backquotes.
13570
b9d2c7e2
DL
135712000-03-12 Dave Love <fx@gnu.org>
13572
13573 * unexelf.c: Restore changes of 1999-10-19.
13574 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13575 fix its type and alignment; copy it from current process.
13576
5e5dff44
GM
135772000-03-12 Gerd Moellmann <gerd@gnu.org>
13578
9b2f3c38
GM
13579 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13580 has been found. Fix bug not computing timer's predecessor.
13581
427ec082 13582 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13583 file name.
13584
e1cff360
GM
13585 * window.c (Fsave_window_excursion): Doc fix.
13586
52283633 13587 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13588
e411ce4b
EZ
135892000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13590
13591 * msdos.c (vga_installed): New function, code moved from
13592 dos_set_window_size.
13593 (Qbar, Qcursor_type, outside_cursor): New variables.
13594 (syms_of_msdos): Intern and staticpro them.
13595 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13596 shape used outside Emacs when called for the first time.
13597 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13598 cursor shape used outside Emacs.
13599 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13600 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13601 type has changed.
13602 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13603 parameters specify the cursor. Make qreverse a global
13604 variable (renamed to Qreverse).
13605
80460654
GM
136062000-03-09 Gerd Moellmann <gerd@gnu.org>
13607
13608 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13609
95cd4c40
SM
136102000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13611
13612 This is a big redesign of failure-stack and register handling, prompted
13613 by bugs revealed when trying to add shy-groups. Overall, what happened
13614 is that loops are now structured a little differently, groups can be
13615 shy and the code is a little simpler.
13616
13617 * regex.h: Update the copyright.
13618 (RE_SHY_GROUPS): New value.
13619 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13620 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13621
80460654
GM
13622 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13623 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13624 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13625 for (start|stop)_memory since they now only take one argument (the
13626 second has becomes unnecessary).
52283633 13627 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13628 (print_compiled_pattern): Use %ld to printf long ints and flush to
13629 make debugging a little easier.
95cd4c40
SM
13630 (union fail_stack_elt): Make the integer unsigned.
13631 (struct fail_stack_type): Add a `frame' element.
13632 (INIT_FAIL_STACK): Init `frame' as well.
13633 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13634 (DEBUG_PUSH, DEBUG_POP): Remove.
13635 (NUM_REG_ITEMS): Remove.
13636 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13637 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13638 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13639 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13640 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13641 New macros.
80460654
GM
13642 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13643 address pushed is not the destination of the jump but the source
13644 of it instead.
95cd4c40
SM
13645 (NUM_FAILURE_ITEMS): Remove.
13646 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13647 registers before the actual failure point). Don't hardcode any
13648 meaning for str==NULL anymore.
95cd4c40 13649 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13650 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13651 Remove.
95cd4c40
SM
13652 (REG_UNSET_VALUE): Use NULL (why not?).
13653 (compile_range): Remove declaration since it doesn't exist.
13654 (struct compile_stack_elt_t): Remove inner_group_offset.
13655 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13656 (regex_grow_registers): Remove dead code.
13657 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13658 (regex_compile): Add shy-groups Change loops to use
13659 on_failure_jump_smart&jump instead of
13660 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13661 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13662 variable to me). Use `jump' instead of `jump_past_alt' and don't
13663 bother with push_dummy_failure in alternatives since it is now
13664 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13665 emacs' for (re)allocating the stack.
13666 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13667 from loop when bufp->can_be_null rather than jumping to `done'.
13668 Avoid jumping backwards so as to ensure termination. Use
13669 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13670 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13671 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13672 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13673 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13674 (lowest_active_reg, highest_active_reg)
13675 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13676 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13677 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13678 variables. Push register (in `start_memory') on the stack rather
13679 than storing it in old_reg(start|end). Remove the cycle detection
13680 from `stop_memory', replaced by the use of on_failure_jump_loop
13681 for greedy loops. Add code for the new on_failure_jump_<foo>.
13682 Remove ad-hoc code in `on_failure_jump' to push more registers in
13683 the case of a loop. Take out code from `maybe_pop_jump' into
13684 separate functions and adapt it to the semantics of
13685 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13686 and push_dummy_failure. Remove dummy_failure handling and
13687 handling of `failures to jump to on_failure_jump' (this last one
13688 was already dead code, it seems).
13689 (group_match_null_string_p, alt_match_null_string_p)
13690 (common_op_match_null_string_p): Remove.
95cd4c40 13691
7397acc4
DL
136922000-03-08 Dave Love <fx@gnu.org>
13693
13694 * config.in: Don't depend on __STDC__ for volatile.
13695 Add POINTER_TYPE, PTR, PROTOTYPES.
13696
13697 * hftctl.c, strftime.c: Use PROTOTYPES.
13698 * eval.c (find_handler_clause): Likewise.
13699
13700 * mem-limits.h: Use POINTER_TYPE.
13701
13702 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13703 (memory_warnings): Declare using POINTER_TYPE.
13704
5e91ff9e
GM
137052000-03-08 Gerd Moellmann <gerd@gnu.org>
13706
feab4fba
GM
13707 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13708
52283633 13709 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13710
5e91ff9e
GM
13711 * xfns.c: Remove obsolete code in #if 0.
13712 (Fx_focus_frame): New function.
13713
a735b7e1
KH
137142000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13715
13716 * coding.c (coding_category_name): Add coding-category-utf-8,
13717 coding-category-utf-16-be, coding-category-utf-16-le.
13718 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13719 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13720 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13721 (detect_coding_utf_8): New function.
13722 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13723 UTF_16_LOW_SURROGATE_P): New macros.
13724 (detect_coding_utf_16): New function
13725 (detect_coding_mask): When priorities are specified, skip any
13726 categories that have `nil' coding-system. Fix bug of returning
13727 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13728 returns a mask not set in PRIORITIES.
13729 (detect_eol_type_in_2_octet_form): New function.
13730 (detect_eol): selects detect_eol_type_XXX to call according to
13731 cooding->category_idx.
13732 (detect_coding_system): Remove `nil' coding-system in the result.
13733 (Fupdate_coding_systems_internal): Update all coding-categories.
13734
52283633
SM
13735 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13736 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13737 New macros.
13738 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13739 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13740 (CODING_CATEGORY_IDX_UTF_16_LE)
13741 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13742 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13743 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13744 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13745
9994cc69
GM
137462000-03-07 Gerd Moellmann <gerd@gnu.org>
13747
e9b4e5ff
GM
13748 * doc.c (Fdocumentation_property): If value is not a string,
13749 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13750
f7daf1e1
GM
13751 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13752 close the display with XtCloseDisplay. This caused a bus error
13753 on OpenWindows.
13754
9994cc69
GM
13755 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13756 complete but not unique.
13757
4336c705
GM
137582000-03-06 Gerd Moellmann <gerd@gnu.org>
13759
18bb0684
GM
13760 * process.c (send_process): Remove local variable `procname' that
13761 might become invalid when a GC happens. Instead, access the
13762 process name slot directly.
13763
4336c705
GM
13764 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13765 orig_height if set.
13766
13767 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13768 orig_height if set.
13769
515d0d0e
EZ
137702000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13771
13772 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13773 glyph matrices have been freed.
13774
100b3cbb
GM
137752000-03-05 Gerd Moellmann <gerd@gnu.org>
13776
50df5e5a 13777 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13778 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13779
13780 * xfns.c (QCdata): Moved to xdisp.c.
13781
13782 * xdisp.c (QCdata): Moved here from xfns.c.
13783 (syms_of_xdisp): Initialize QCdata.
13784
13785 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13786
13787 * window.c (coordinates_in_window): Use
13788 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13789 FRAME_INTERNAL_BORDER_WIDTH.
13790
100b3cbb 13791 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13792 it is obviously invalid.
100b3cbb
GM
13793
13794 * xterm.c (x_term_init): Create a colormap if not using the
13795 default visual.
13796
13797 * xterm.h (select_visual): Change prototype.
13798
13799 * xfns.c (select_visual): Rewritten. Recognize user-specified
13800 visual classes.
13801 (visual_classes): New variable.
13802
64d739c4
GM
138032000-03-04 Gerd Moellmann <gerd@gnu.org>
13804
13805 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13806 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13807 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13808 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13809 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13810 XtNcolormap resources.
13811 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13812 (Fx_create_frame): Initialize color members of x_output structure.
13813 (xpm_load): Pass colormap to XPM lib.
13814
13815 * xfaces.c (x_free_colors): Access colormap of frame using
13816 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13817 when default colormap is used.
13818
13819 * xterm.c (x_term_init): Set Colormap member of x_display_info
13820 structure. Copy colormap if resource `privateColormap' is
13821 specified (PseudoColor only).
13822 (x_setup_relief_color): Access colormap of frame using
13823 FRAME_X_COLORMAP.
13824
13825 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13826 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13827
c3cee013
JR
138282000-03-04 Jason Rumney <jasonr@gnu.org>
13829
13830 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13831 other non-platform-specific equivalents.
64d739c4 13832 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13833 specific functions and macros as their w32 equivalents where
13834 non-platform-specifics are not available.
13835 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13836 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13837 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13838 (frame_update_line_height): Use macros to access f->output_data.
13839 (defined_color): Remove FIXME comments; fixed.
13840 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13841 into #ifdef blocks. Add WINDOWSNT blocks.
13842 (Fx_list_fonts): Use macros for accessing font data.
13843 (set_lface_from_font_name): Different default fonts for X and
13844 WINDOWSNT.
13845 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13846 scalable for backward compatibility.
64d739c4 13847 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13848 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13849
64d739c4 13850 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13851 syms_of_w32faces.
13852
13853 * makefile.nt (w32faces.obj): Remove.
13854 (xfaces.obj): Add.
13855
807cc41c
JR
138562000-03-03 Jason Rumney <jasonr@gnu.org>
13857
13858 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13859 correct parameters.
13860
0007072a
KR
138612000-03-03 Ken Raeburn <raeburn@gnu.org>
13862
13863 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13864 standard ELF definitions here if the system header does not.
13865
71a6ba55
GM
138662000-03-03 Gerd Moellmann <gerd@gnu.org>
13867
13868 * xterm.c (PER_CHAR_METRIC): Removed.
13869 (x_per_char_metric_1, x_default_char): New functions.
13870 (x_per_char_metric): If font's default char is invalid, return
13871 metrics of a suitably chosen usable default char.
13872 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13873 char, replace occurrences of unprintable chars with a suitably
13874 chosen usable default char.
71a6ba55 13875
900fa1f1
GM
138762000-03-02 Gerd Moellmann <gerd@gnu.org>
13877
42f55fe0
GM
13878 * xterm.c (note_mouse_highlight): Return quickly if frame's
13879 glyph matrices have been freed.
13880
13881 * dispnew.c (free_glyphs): Block input while freeing matrices.
13882
900fa1f1
GM
13883 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13884
52283633
SM
13885 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13886 Use x_free_colors.
900fa1f1
GM
13887
13888 * dispextern.h (x_free_colors): Add prototype.
13889
13890 * xfaces.c (x_free_colors): New function.
13891 (unload_color, free_face_colors): Use it.
13892
2f950292
EZ
138932000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13894
13895 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13896
13897 * window.c [MSDOS]: Include msdos.h.
13898
54d04320
DL
138992000-03-02 Dave Love <fx@gnu.org>
13900
13901 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13902
13903 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13904 set C_OPTIMIZE_SWITCH for gcc.
13905
0ba93ac4
KH
139062000-03-02 Kenichi Handa <handa@etl.go.jp>
13907
13908 * coding.c (coding_save_composition): Be sure to allocate
13909 composition data area in coding even if there's no composition in
13910 the current run.
13911
a2bc11d4
JR
139122000-03-01 Jason Rumney <jasonr@gnu.org>
13913
13914 * w32term.c: Equivalent changes to those made to xterm.c on
13915 2000-02-25 and 2000-02-24.
13916
13917 * w32fns.c: Equivalent changes to those made to xfns.c on
13918 2000-02-25 and 2000-02-21.
13919
13920 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13921 correct line-end convention is followed.
13922
13923 * w32menu.c [HAVE_BOXES]: Remove #undef.
13924 (single_keymap_panes): Remove code for simulating checkmarks.
13925 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13926 Remove code for drawing simulated checkmarks.
13927 (w32_menu_show): make unibyte help string correctly.
13928 (add_menu_item): draw standard Windows checkmarks. Draw radio
13929 buttons as radio buttons if possible.
13930
72d19d75
GM
139312000-03-01 Gerd Moellmann <gerd@gnu.org>
13932
2df636f4
GM
13933 * sysdep.c (start_of_text): Don't define this function for NetBSD
13934 with ELF.
13935
427ec082 13936 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13937 Don't define.
13938 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13939 (LINKER): Don't undef if __NetBSD__ is defined.
13940
13941 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13942
13943 * fileio.c [__NetBSD__]: Define `unix'.
13944
72d19d75
GM
13945 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13946
ed4d0512
GM
139472000-02-29 Gerd Moellmann <gerd@gnu.org>
13948
50b1039f
GM
13949 * atimer.c (start_atimer): Don't abort when timers are stopped.
13950 (append_atimer_lists): New function.
13951 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13952 arbitrary lists of stopped and running atimers.
13953
ed4d0512
GM
13954 * atimer.c (cancel_atimer): Handle canceling an atimer when
13955 some timers are stopped.
13956
13957 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13958 after canceling it.
13959
13960 * fns.c (maybe_resize_hash_table): Handle case of new size
13961 coming out as being the same as old size.
13962
387023ee
JR
139632000-02-27 Jason Rumney <jasonr@gnu.org>
13964
13965 * makefile.nt: Add atimer.h to dependencies.
13966 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13967 * w32console.c: Only disable window system features for dispextern.h
13968 (initialize_w32_display): Build a display info for the console.
13969 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13970 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13971 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13972 as 2 button mice.
13973 * w32gui.h (struct W32FontStruct): Revert last change after change
13974 to xdisp.c.
13975 * w32menu.c (single_submenu): Set up help string.
13976 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13977 (w32_dialog_show): Set up help string.
13978 * w32term.c (w32_display_info_for_display): Remove unused function.
13979 (w32_draw_bitmap): Use pre-built bitmaps.
13980 (w32_initialize_display_info): New function to initialize parts of
13981 display info that are common to both GUI and console frames.
13982 (w32_term_init): Use w32_initialize_display_info. Do not set
13983 Vw32_num_mouse_buttons here, as it is not called for console
13984 frames. Build bitmaps for indicating truncated lines etc.
13985 (x_delete_display): Destroy pre-built bitmaps.
13986 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13987 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13988
4516715a
DL
139892000-02-27 Dave Love <fx@gnu.org>
13990
13991 * lisp.h: Add a bunch of prototypes.
13992
171ca836
KH
139932000-02-26 Kenichi Handa <handa@etl.go.jp>
13994
13995 * keyboard.c (read_char): Set `usec' correctly.
13996
4013921d
KH
139972000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13998
13999 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14000 `lambda', set reg[RRR] to the map index.
14001 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14002 reg[RRR] to 0. Otherwise, set it to -1.
14003
9244a058
GM
140042000-02-25 Gerd Moellmann <gerd@gnu.org>
14005
2df636f4 14006 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14007
18e21ce8 140082000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14009
f43d79c1
GM
14010 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14011 and contains a `:', prepend `/:'.
14012
14013 * window.c (select_window_1): If selected_window is nil,
14014 don't "swap out" the buffer's point.
14015 (Fset_window_configuration): Set selected_window to nil
14016 before calling Fselect_window.
14017 (unshow_buffer): Don't set point in buffer from window's point
14018 if another more recently selected window also shows the buffer.
14019
bed0c171
GM
140202000-02-25 Gerd Moellmann <gerd@gnu.org>
14021
449c3c52
GM
14022 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14023
f5b58615
GM
14024 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14025 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14026 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14027 New variables.
f5b58615
GM
14028 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14029 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14030 (hide_busy_cursor): New functions.
14031 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14032
14033 * minibuf.c (read_minibuf): Cancel busy-cursor.
14034
14035 * keyboard.c (command_loop_1): Call start_busy_cursor before
14036 Fcommand_execute and cancel_busy_cursor after it.
14037 (timer_check): Remove busy-cursor code.
14038 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14039 cursor timer.
14040
14041 * process.c (wait_reading_process_input): Remove busy-cursor code.
14042
14043 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14044 Fx_hide_busy_cursor.
14045
14046 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14047 Remove prototyoes.
14048 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14049
14050 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14051
14052 * xterm.c (XTread_socket): Remove busy-cursor code.
14053
4eb8436f
GM
14054 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14055 (build_frame_matrix_from_leaf_window): Put code handling
14056 glyph row's not being a slice of a frame row in #if 0.
14057 (sync_window_with_frame_matrix_rows): New function.
14058 (frame_row_to_window): New function.
14059 (mirror_line_dance): Handle copies between windows.
14060
3cb65b0e
GM
14061 * lread.c (Fload): Use `xfree' instead of `free'.
14062 (init_obarray): Use `xmalloc' instead of `malloc'.
14063
bed0c171
GM
14064 * window.c (Fset_window_buffer): Set WINDOW to the window
14065 after decoding.
2add4349
GM
14066 (coordinates_in_window): Take frame's internal border width
14067 into account.
bed0c171 14068
42088c12
GM
140692000-02-24 Gerd Moellmann <gerd@gnu.org>
14070
14071 * xterm.c (x_display_and_set_cursor): Display cursor of
14072 non-selected windows depending on the setting of
14073 cursor_in_non_selected_windows.
14074
14075 * xdisp.c (cursor_in_non_selected_windows): New variable.
14076 (syms_of_xdisp): DEFVAR_BOOL it.
14077
d1e103b2
GM
140782000-02-23 Gerd Moellmann <gerd@gnu.org>
14079
723e779c
GM
14080 * data.c (Fstring_to_number): If number is greater than what
14081 fits into an integer, return a float.
14082
d1e103b2
GM
14083 * eval.c (specbind): Remove references to
14084 keyword_symbols_constant_flag.
14085
14086 * data.c (keyword_symbols_constant_flag): Removed.
14087 (Fmakunbound, set_internal, syms_of_data): Remove references to
14088 keyword_symbols_constant_flag.
14089
14090 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14091
214f877f
KH
140922000-02-23 Kenichi Handa <handa@etl.go.jp>
14093
14094 * syntax.c (multibyte_syntax_as_symbol): New variable.
14095 (syms_of_syntax): Declare it as a Lisp variable.
14096 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14097 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14098 nonzero, treat all multibyte characters as symbol.
52283633 14099 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14100
130adcb7
EZ
141012000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14102
3cb65b0e 14103 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14104 a deleted frame.
130adcb7 14105
17cbbf95
GM
141062000-02-21 Gerd Moellmann <gerd@gnu.org>
14107
14108 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14109
14110 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14111 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14112
beb0bc36
DL
141132000-02-21 Dave Love <fx@gnu.org>
14114
14115 * frame.c (Vmouse_position_function): New variable.
14116 (Fmouse_position): Use it.
14117 (syms_of_frame): Install it.
14118
14119 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14120
1d92afcd
GM
141212000-02-20 Gerd Moellmann <gerd@gnu.org>
14122
14123 * fileio.c (Finsert_file_contents): Unbind the binding of
14124 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14125
14126 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14127 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14128 (specbind, unbind_to): Handle most common case of non-constant
14129 symbol with trivial value specially.
14130
14131 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14132
18e21ce8 141332000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14134
14135 * data.c (Fmake_variable_buffer_local): Doc fix.
14136 Init found_for_buffer to 0.
14137 (Fmake_variable_frame_local): If the variable has already
14138 been buffer-local, set the check_frame field.
14139
1d4311c3
EZ
141402000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14141
14142 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14143 produced for CODING_MODE_LAST_BLOCK requires.
14144
2dc95ddd
DL
141452000-02-18 Dave Love <fx@gnu.org>
14146
14147 * keyboard.c (echo_keystrokes): Remove declaration.
14148 (Vecho_keystrokes) New variable.
14149 (read_char, record_menu_key, read_key_sequence): Use it to allow
14150 use of float value.
14151 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14152
14153 * lread.c: Undef feature selection macros before defining.
14154
f0930f35
GM
141552000-02-18 Gerd Moellmann <gerd@gnu.org>
14156
14157 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14158 for symbols other than the symbol in question.
14159
e3d4de90
DL
141602000-02-17 Dave Love <fx@gnu.org>
14161
14162 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14163
0b378936
GM
141642000-02-17 Gerd Moellmann <gerd@gnu.org>
14165
d621caf7
GM
14166 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14167
0b378936
GM
14168 * alloc.c (enum mem_type): Compile unconditionally.
14169
3b451f74
EZ
141702000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14171
14172 * xfaces.c (tty_defined_color): Don't return faulire indication
14173 for unspecified-fg and unspecified-bg pseudo-colors.
14174
10689a01
GM
141752000-02-17 Gerd Moellmann <gerd@gnu.org>
14176
1216f5e4
GM
14177 * alloc.c (mark_object): Don't mark symbol names in pure space.
14178 (gc_sweep): Don't unmark symbol names in pure space.
14179
14180 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14181 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14182 [GC_MARK_STACK]: New defines.
427ec082 14183 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14184 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14185
14186 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14187
14188 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14189 allocate_buffer instead of xmalloc.
14190
14191 * alloc.c (toplevel): Include setjmp.h.
14192 (PURE_POINTER_P): New define.
14193 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14194 (Vdead) [GC_MARK_STACK]: New variable.
14195 (lisp_malloc): Add parameter TYPE, call mem_insert if
14196 GC_MARK_STACK is defined.
14197 (allocate_buffer): New function.
427ec082 14198 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14199 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14200 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14201 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14202 (MEM_NIL) [GC_MARK_STACK]: New define.
14203 (struct mem_node) [GC_MARK_STACK]: New structure.
14204 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14205 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14206 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14207 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14208 (mark_stack) [GC_MARK_STACK]: New functions.
14209 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14210 (clear_marks): Removed.
14211 (gc_sweep): Set free conses' car, free floats' type, free
14212 symbols' function to Vdead. Use lisp_free to free buffers.
14213 (init_alloc_once): Initialize Vdead.
14214 (survives_gc_p): Return non-zero for pure objects.
14215
14216 * alloc.c: Add comments throughout the file.
14217
2503c8b1
GM
14218 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14219 that unblocks alarms.
14220
8389e1e2
GM
14221 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14222 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14223 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14224
10689a01 14225 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14226
bfc17d18
KH
142272000-02-17 Kenichi Handa <handa@etl.go.jp>
14228
4a09dee0
KH
14229 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14230 avoid infinite error signaling. Allocate sufficient memory for
14231 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14232
2b927d02
SM
142332000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14234
14235 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14236 depends on the previous behavior.
14237
b49cb764
GM
142382000-02-16 Gerd Moellmann <gerd@gnu.org>
14239
14240 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14241
99e95407
GM
142422000-02-15 Gerd Moellmann <gerd@gnu.org>
14243
14244 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14245
14246 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14247 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14248 write(2).
14249
6ffd3cf7
RS
142502000-02-15 Richard M. Stallman <rms@gnu.org>
14251
14252 * data.c (set_internal): Don't make variable buffer-local
14253 if within a let-binding for the same buffer.
14254 (let_shadows_buffer_binding_p): New function.
14255
14256 * eval.c (specbind): For buffer-local value,
14257 record the current buffer also.
14258 (unbind_to): Cope with that change.
14259
cad53475
GM
142602000-02-15 Gerd Moellmann <gerd@gnu.org>
14261
14262 * window.c (Fsave_window_excursion): Doc fix.
14263
1aa963c8
SM
142642000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14265
14266 * syntax.c (back_comment): Make sure we only consider comment-starters
14267 of the relevant style and return -1 in case of a failure to find the
14268 beginning of the comment.
14269 (Fforward_comment): If back_comment fails, go back to the position just
14270 after the comment-end.
14271 (scan_lists): Add comment describing a very minor bug.
14272
b9b84fd3
SM
142732000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14274
14275 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14276 `completion-regexp-list' in the docstring.
14277
3a28db80
DL
142782000-02-14 Dave Love <fx@gnu.org>
14279
14280 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14281
fb4a568d
SM
142822000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14283
14284 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14285 to Emacs' syntax. Also fix the comment about set/not-set meanings
14286 since Emacs syntax is not the value 0 any more.
14287 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14288 since it's now part of RE_SYNTAX_EMACS.
14289
1063ebb5
DL
142902000-02-12 Dave Love <fx@gnu.org>
14291
52283633 14292 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14293
fb07a302
GM
142942000-02-12 Gerd Moellmann <gerd@gnu.org>
14295
14296 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14297
aaf2320c
DL
142982000-02-12 Dave Love <fx@gnu.org>
14299
14300 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14301
14302 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14303 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14304 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14305
14306 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14307
14308 * s/nextstep.h: Don't define HAVE_ALLOCA.
14309
14310 * config.in: Add vfork bits.
14311
eedf8bde
GM
143122000-02-12 Gerd Moellmann <gerd@gnu.org>
14313
14314 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14315 unwind function to undo the effect of stopping atimers.
14316
52283633 14317 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14318
14319 * atimer.c (stopped_atimers): New variable.
14320 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14321 New functions.
14322
14323 * atimer.h (stop_other_atimers, run_all_atimers)
14324 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14325
eedf8bde
GM
14326 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14327
8476c2f8
KR
143282000-02-11 Ken Raeburn <raeburn@gnu.org>
14329
14330 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14331 library may depend on jpeg.
14332 (atimer.o): Depends on atimer.c.
14333
0e85e4a3
KH
143342000-02-11 Kenichi Handa <handa@etl.go.jp>
14335
14336 * insdel.c (del_range_1): Call update_compositions.
14337 (del_range_both): Call update_compositions just once..
14338
97fa0cc8
DL
143392000-02-10 Dave Love <fx@gnu.org>
14340
14341 * xfns.c (create_frame_xic): Fix initialization of automatic
14342 aggregates for pcc.
14343
25566a3c
KH
143442000-02-09 Kenichi Handa <handa@etl.go.jp>
14345
14346 * ccl.c (CCL_MAKE_CHAR): New macro.
14347 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14348 registers by CCL_MAKE_CHAR before calling translate_char.
14349 <CCL_TranslateCharacterConstTbl> Likewise.
14350
69da54ba
DL
143512000-02-08 Dave Love <fx@gnu.org>
14352
14353 * lread.c (__EXTENSIONS__): Define.
14354
f7136ee8
GM
143552000-02-08 Gerd Moellmann <gerd@gnu.org>
14356
14357 * puresize.h (BASE_PURESIZE): Increase to 650000.
14358
7768790b
EZ
143592000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14360
14361 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14362 the help message.
14363
38fd211b
EZ
143642000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14365
14366 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14367 md, mh, mb, mr, and me to the fake termcap entry.
14368
66e4690f
KR
143692000-02-06 Ken Raeburn <raeburn@gnu.org>
14370
14371 * sound.c (sound_cleanup): Don't call device close routine if the
14372 function pointer is null.
14373
a75dfea0
AI
143742000-02-06 Andrew Innes <andrewi@gnu.org>
14375
14376 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14377 around image definitions and prototypes.
14378 (gamma_correct) [WINDOWSNT]: New prototype.
14379
14380 * w32term.c (x_make_frame_visible): Replace call to
14381 input_poll_signal with poll_for_input.
14382
14383 * window.c [WINDOWSNT]: Include w32term.h.
14384
14385 * xdisp.c [WINDOWSNT]: Include w32term.h.
14386
14387 * makefile.nt: Add dependencies on w32gui.h.
14388 (OBJ1): Include atimer.obj.
14389 ($(BLD)\atimer.obj): New dependency rule.
14390
14391 * w32.c (sigmask): New function (does nothing).
14392 (sigunblock): Ditto.
14393
14394 * frame.c [WINDOWSNT]: Include w32term.h.
14395
14396 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14397
14398 * lread.c (syms_of_lread): Fix literal newlines.
14399
14400 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14401 the string constant limit (2048 bytes) in MSVC.
14402 (main): Ditto.
14403
59ddecde
GM
144042000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14405
52283633 14406 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14407 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14408 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14409 dispatch the event.
14410
07590973
DL
144112000-02-04 Dave Love <fx@gnu.org>
14412
14413 * fileio.c: Remove some unused vars.
14414 (_GNU_SOURCE): Define (for euidaccess).
14415
14416 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14417
14418 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14419 gcpro1, gcpro2.
14420 (read_minibuf): Deal with allow_props correctly.
14421
649351f9
EZ
144222000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14423
14424 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14425
66e4690f 144262000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14427
14428 * search.c (compile_pattern): If a cache entry has a nil regexp,
14429 fill in that entry instead of clobbering a previously cached
14430 string regexp.
14431
66e4690f 144322000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14433
14434 * puresize.h (BASE_PURESIZE): Increase to 610000.
14435
d240a249
GM
144362000-02-02 Gerd Moellmann <gerd@gnu.org>
14437
14438 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14439 can GC.
14440
ca91fb26
KH
144412000-02-02 Kenichi Handa <handa@etl.go.jp>
14442
25660570
KH
14443 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14444 instead of incrementing ic directly.
14445 <CCL_WriteExprConst> Likewise.
14446 <ccl_set_expr>: Set ic to jump_address.
14447
ca91fb26
KH
14448 * fileio.c (e_write): Fix the handling of
14449 CODING_FINISH_INSUFFICIENT_SRC.
14450
2ede9689
DL
144512000-02-01 Dave Love <fx@gnu.org>
14452
14453 * editfns.c (Fpropertize): Doc fix.
14454
14455 * process.c (Fstart_process): Doc fix.
14456
14457 * eval.c: Fix various doc strings not to duplicate information
14458 from help-manyarg-func-alist.
14459
52283633 14460 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14461
14462 * doc.c (Vhelp_manyarg_func_alist): New variable.
14463 (Fdocumentation): Use it.
14464 (syms_of_doc): Define it.
14465
b6680a0e
GM
144662000-01-31 Gerd Moellmann <gerd@gnu.org>
14467
2cb750ba
GM
14468 * xterm.c (xim_open_dpy): Remove unused local variable.
14469
52283633 14470 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14471
14472 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14473 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14474
b6680a0e
GM
14475 * fns.c (sweep_weak_table): New function.
14476 (sweep_weak_hash_tables): Use it. Keep on marking until there
14477 is no more change.
14478
994c5afe
GM
144792000-01-30 Gerd Moellmann <gerd@gnu.org>
14480
14481 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14482 that XTread_socket does not crash by trying to call XNoOp on a
14483 closed display.
427ec082 14484
f00276e3
JR
144852000-01-30 Jason Rumney <jasonr@gnu.org>
14486
14487 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14488 Change selected_frame to SELECTED_FRAME ().
14489 (w32_console_mouse_position): Remove #ifndef MULE from around
14490 `insist' parameter.
14491
14492 * makefile.nt: Remove dosfns.obj.
14493
14494 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14495
14496 * w32fns.c (w32_defined_color): Check for valid frame before
14497 applying gamma correction. Eliminate dependency on frame elsewhere.
14498 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14499 (w32_to_x_font): Use resx and resy not height_in and width_in.
14500 (x_to_w32_font): Doc fix.
14501 (xlfd_strip_height): New function to strip and return font height.
14502 (w32_font_match): Compare height separately from rest of xlfd
14503 spec, using xlfd_strip_height.
14504
14505 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14506 width_in. Use w32_defined_color in place of defined_color.
14507
14508 * w32faces.c: Merge more of DOS and X specifics in preparation for
14509 merge with xfaces.c.
14510 (defined_color): Remove FIXME comment.
14511 (tty_color_name): Provide w32-specific function.
14512 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14513
14514 * w32console.c (turn_on_face, turn_off_face): Removed.
14515 (w32_face_attributes): New function.
14516 (Global_variables): Reduce scope where possible.
14517 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14518 fill attribute.
14519 (hl_mode): Don't modify text attributes.
14520 (write_glyphs): Don't do anything if len <= 0. Use
14521 w32_face_attributes to get attributes for drawing. Write
14522 terminating codes using char_attr_normal.
14523 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14524 (update_begin, update_end): Likewise.
14525 (vga_stdcolor_name): New function.
14526 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14527 (Fset_screen_color): Remove char_attr_reverse.
14528
b08e8bb2
GM
145292000-01-29 Gerd Moellmann <gerd@gnu.org>
14530
14531 * xfns.c (xic_set_preeditarea): Take window parameter and
14532 window-relative pixel-positions.
14533
14534 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14535 is its frame's selected window.
14536 (xim_instantiate_callback): Likewise.
14537
14538 * xfns.c (x_create_im): Removed.
14539 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14540 (supported_xim_styles): Renamed from supported_styles.
14541 (best_xim_style): Renamed from best_style.
14542 (create_frame_xic): Renamed from xic_create_frame.
14543 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14544
b08e8bb2
GM
145452000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14546
14547 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14548 our frames, call XFilterEvent with 2nd parameter `None'.
14549 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14550 returning XBufferOverflow.
52283633 14551 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14552 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14553 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14554 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14555 (xim_initialize, xim_close)
14556 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14557 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14558 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14559 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14560
14561 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14562 and `xim_styles'.
14563 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14564 `xic_style' and `xic_xfs'.
14565 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14566 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14567 (FRAME_XIM): Removed.
14568
14569 * xfns.c (supported_styles): New variable.
14570 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14571 (xic_create_xfontset, best_style, xic_create_frame)
14572 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14573 (xic_set_xfontset): New functions.
14574
142e109c
DL
145752000-01-28 Dave Love <fx@gnu.org>
14576
14577 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14578
14579 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14580
b02786f9
GM
145812000-01-28 Gerd Moellmann <gerd@gnu.org>
14582
d060bc9f
GM
14583 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14584 for *scratch* if it already existed.
14585
b02786f9
GM
14586 * emacs.c (USAGE): New macro.
14587 (main): Use it to display usage information.
14588
2c52d7e4
EZ
145892000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14590
14591 Support for the menu-help feature:
14592
52283633 14593 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14594
14595 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14596 part of the line to the termscript file.
14597 (IT_clear_to_end): Clear the entire line, not just its beginning.
14598 (menu_help_message, prev_menu_help_message): New variables.
14599 (IT_menu_make_room): Make room for the help_text member.
14600 (IT_menu_display): New argument disp_help; all callers changed.
14601 If disp_help is non-zero, store the help text of the active menu
14602 item in menu_help_message.
14603 (XMenuAddPane): Initialize the help_text member to NULL.
14604 (XMenuAddSelection): New argument help_text. Store it in the
14605 XMenu structure.
14606 (XMenuActivate): New argument help_callback. If the value of
14607 menu_help_message has changed since the last time, display the
14608 menu help message text while waiting for the mouse to move. Clear
14609 the echo area before exiting.
14610 (XMenuDestroy): Free the help_text member.
14611
ffe0bcd1
GM
146122000-01-27 Gerd Moellmann <gerd@gnu.org>
14613
14614 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14615 XMenuAddSelection. Pass help callback to XMenuActivate.
14616 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14617
50dbd23f
EZ
146182000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14619
14620 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14621 and EMACS_SET_USECS.
14622
f5941bf8
GM
146232000-01-26 Dave Love <fx@gnu.org>
14624
6c67ddee
DL
14625 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14626
f5941bf8
GM
14627 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14628 an error may be signalled.
14629
9e49c990
GM
146302000-01-26 Gerd Moellmann <gerd@gnu.org>
14631
fc3cb460
GM
14632 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14633 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14634
9e49c990
GM
14635 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14636
d0c037d8
GM
146372000-01-25 Gerd Moellmann <gerd@gnu.org>
14638
14639 * charset.c (Fstring): If there is a multibyte char among
14640 the args, always return a multibyte string.
14641
e12489f9
GM
146422000-01-25 Gerd Moellmann <gerd@gnu.org>
14643
14644 * sysdep.c (sys_select): Turn atimers off and on instead of
14645 recording and restoring old alarm handler
14646
14647 * process.c (toplevel): Include atimer.h.
14648 (create_process_1): Rewritten.
14649 (create_process): Use atimers instead of alarm.
14650 (wait_reading_process_input) [hpux]: Turn atimers off instead
14651 of turning off SIGALRM.
14652 (wait_reading_process_input): Turn off atimers instead off
14653 calling stop_polling.
14654
14655 * emacs.c (main): Call init_atimer.
14656
14657 * keyboard.c (toplevel): Include systime.h and atimer.h.
14658 (polling_for_input): Removed because unused.
14659 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14660 (poll_timer): New variable.
14661 (poll_for_input, poll_for_input_1): New functions.
14662 (start_polling, stop_polling): Rewritten.
14663
14664 * keyboard.h (polling_for_input): Removed.
427ec082 14665
e12489f9
GM
14666 * atimer.h, atimer.c: New files.
14667
14668 * Makefile.in (obj): Add atimer.o.
14669 (atimer.o): New target.
14670
14671 * blockinput.h (pending_atimers): Add extern declaration.
14672 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14673
14674 * lisp.h (popup_activated_flag): Add extern declaration.
14675
14676 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14677 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14678 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14679
14680 * xterm.c (toplevel): Include atimer.h.
14681 (toolkit_scroll_bar_interaction): New variable.
14682 (Fxt_process_timeouts): Removed.
14683 (x_process_timeouts): New function.
14684 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14685 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14686 (x_make_frame_visible): Call poll_for_input_1 instead of
14687 input_poll_signal. Don't call alarm.
14688 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14689
1e5279b9
DL
146902000-01-24 Dave Love <fx@gnu.org>
14691
6c67ddee 14692 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14693 Don't use -cckr -- apparently not now necessary.
14694
edf6aeb8
EZ
146952000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14696
14697 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14698 screen boundary.
14699
9badad41
JR
147002000-01-23 Jason Rumney <jasonr@gnu.org>
14701
14702 * w32fns.c (w32_defined_color): Apply gamma correction before
14703 trying to map to the palette.
14704 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14705 to w32_clear_rect.
14706
14707 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14708 here. Callers changed to always pass real device context.
14709 (w32_draw_bitmap): Likewise.
14710 (w32_get_glyph_overhangs): Likewise.
52283633 14711 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14712 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14713 pfnSetScrollInfo and SetScrollRange.
14714 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14715 back into MULE characters after decoding them.
14716 (x_get_glyph_face_and_encoding): Likewise.
14717 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14718 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14719 (x_produce_glyphs): Calculate per char metrics for a character
14720 that we know exists in default font when font_not_found_p is true.
14721
63bd786b
JR
147222000-01-22 Jason Rumney <jasonr@gnu.org>
14723
14724 * makefile.nt (intervals.obj, composite.obj): New modules.
14725 (composite.h): Added as dependency where appropriate.
14726
14727 * w32gui.h (XGCValue): New struct for emulating X GCs.
14728
14729 * w32term.h (XCharStruct): New struct for emulating X.
14730
14731 * w32console.c (turn_on_face, turn_off_face): New functions.
14732 (change_line_highlight): New prototype for new redisplay.
14733 (write_glyphs): Support multibyte text. Support faces.
14734
52283633 14735 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14736
14737 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14738 throughout. struct frame * in place of FRAME_PTR.
14739 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14740 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14741 (w32_get_arg): Renamed from x_get_arg.
14742 (Fx_file_dialog): New function.
14743 (w32_list_fonts): Check cache before asking system.
14744 (Vw32_enable_synthesized_fonts): New variable.
14745 (Vw32_enable_italics): Obsolete, removed.
14746
14747 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14748 Use SELECTED_FRAME macro.
14749
14750 * w32menu.c: Add skeleton support for help strings on menus.
14751 (add_menu_item): Native checkbox and radio support added, but not
14752 yet enabled due to bugs.
14753 (push_menu_item): Add parameters type, selection and help.
14754 Callers updated.
14755 Formatting changes to reduce unnecessary diffs with xmenu.c.
14756
14757 * w32select.c (Fw32_set_clipboard_data): Update call to
14758 find_charset_in_str.
14759
14760 * w32term.c: Complete rewrite for new redisplay based on new
14761 xterm.c with necessary sections merged back in from old w32term.c.
14762
6ffd3cf7 147632000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14764
14765 * data.c (set_internal): Further fix in same criterion.
14766
6ffd3cf7 147672000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14768
14769 * data.c (set_internal): Fix the criteria for whether
14770 to swap out the old cached binding.
14771
60af03f1
DL
147722000-01-19 Dave Love <fx@gnu.org>
14773
14774 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14775
f9be074f
KH
147762000-01-18 Kenichi Handa <handa@etl.go.jp>
14777
14778 * regex.c (re_compile_fastmap): While checking a range table for
14779 `charset', skip flag bits for a character class correctly.
14780
52b8dbf9
GM
147812000-01-17 Gerd Moellmann <gerd@gnu.org>
14782
d36100c9
GM
14783 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14784
52283633 14785 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14786
14787 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14788 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14789
14790 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14791 MENU_ITEMS_ITEM_.*.
14792 (MENU_ITEMS_ITEM_HELP): New enumerator.
14793 (push_menu_item): Add parameter HELP. Record help in menu_items.
14794 (single_menu_item, single_submenu, list_of_items): Call
14795 push_menu_item with new parameter.
14796 (single_submenu): Set help string in widget value.
14797 (menu_highlight_callback): New function.
14798 (set_frame_menubar): Call lw_create_widget with new
14799 parameter list.
14800 (xmenu_show, xdialog_show): Ditto.
14801
3139018f
GM
148022000-01-13 Gerd Moellmann <gerd@gnu.org>
14803
14804 * sound.c (Fplay_sound): Improve doc string.
14805
83c8f461
RS
148062000-01-11 Richard M. Stallman <rms@gnu.org>
14807
14808 * lisp.h (set_internal): Enter the new arg.
14809
14810 * eval.c (specbind): Record buffer-local variables specially,
14811 indicating which buffer's binding was saved.
14812 (unbind_to): Restore buffer-local variables specially
14813 in the proper buffer.
14814
14815 * data.c (set_internal): New arg BUF.
427ec082 14816
83c8f461
RS
14817 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14818 * data.c (Fset): Pass new arg to set_internal.
14819 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14820
1fab1775
GM
148212000-01-11 Gerd Moellmann <gerd@gnu.org>
14822
52283633 14823 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14824
83c8f461 148252000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14826
14827 * minibuf.c (Ftry_completion): Doc fix.
14828
7a85e4df
GM
148292000-01-11 Gerd Moellmann <gerd@gnu.org>
14830
14831 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14832 vector, too.
14833
a970dae4
AS
148342000-01-11 Andreas Schwab <schwab@suse.de>
14835
14836 * coding.c (code_convert_region): Initialize total_skip.
14837
c65d14ee
DL
148382000-01-08 Dave Love <fx@gnu.org>
14839
14840 * eval.c (Fuser_variable_p): Check customizability too.
14841
834938d2
GM
148422000-01-07 Gerd Moellmann <gerd@gnu.org>
14843
14844 * minibuf.c (Fcompleting_read): Doc fix.
14845
e0303cd6
GM
148462000-01-05 Gerd Moellmann <gerd@gnu.org>
14847
8a26744b
GM
14848 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14849 -L /usr/local/lib.
14850
e0303cd6
GM
14851 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14852 Check that input style is supported before trying to create an
14853 IC for it.
14854 (x_window): Call x_create_im.
427ec082 14855
2e471eb5
GM
148562000-01-04 Gerd Moellmann <gerd@gnu.org>
14857
560a7bd2
GM
14858 * xfns.c (current_gif_memory_src): New variable.
14859 (gif_load): Record the address of the current memory source
14860 in current_gif_memory_src.
14861 (gif_read_from_memory): Use current_gif_memory_src.
14862
f9ee84a3
GM
14863 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14864 macros statement form.
14865
d1299cde
GM
14866 * sound.c (struct sound): Renamed from struct sound_file.
14867 (struct sound): Add members `data' and `header_size'.
14868 (enum sound_attr): Add SOUND_DATA.
14869 (current_sound, current_sound_device): Variables renamed from
14870 sound_file and sound_device.
14871 (parse_sound): Parse :data.
14872 (parse_sound): Handle sound data in strings.
14873 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14874 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14875 needed header size.
14876 (wav_play, au_play): Play sounds from string data.
14877
2e471eb5
GM
14878 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14879
14880 * lisp.h: Add prototype for allocate_string_data.
14881
52283633 14882 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14883
14884 * alloc.c (mark_buffer): Remove code in #if 0.
14885 (gc_sweep): Ditto.
14886 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14887 (strings_consed): New variable.
14888 (allocate_string): Set it.
14889 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14890 (Fmemory_use_counts): Return strings_consed. Use Flist.
14891
14892 * alloc.c: General cleanup in comments etc. Remove conditional
14893 compilation for `standalone'.
14894
14895 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14896
14897 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14898 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14899 (DONT_COPY_FLAG): Removed.
14900 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14901 (struct sdata, struct sblock): New
14902 (struct string_block): Rewritten.
14903 (STRINGS_IN_STRING_BLOCK): New macro.
14904 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14905 (large_sblocks, string_blocks, string_free_list): New variables.
14906 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14907 (init_strings): Rewritten.
14908 (allocate_string, allocate_string_data, compact_small_strings)
14909 (free_large_strings, sweep_strings): New functions.
14910 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14911 (struct string_block_head, current_string_block)
14912 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14913 (STRING_PAD): Removed.
14914 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14915 (Fgarbage_collect): Don't set mark bit in large strings.
14916 (mark_object): Mark strings differently. Mark symbol names
14917 differently.
14918 (survives_gc_p): Test marked strings differently.
427ec082 14919 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14920 symbol names.
14921 (compact_strings): Removed.
14922
42608ba8
EZ
149232000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14924
14925 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14926 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14927
e0a09e1a
KH
149282000-01-04 Kenichi Handa <handa@etl.go.jp>
14929
dd9f0750 14930 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14931 in a non-empty buffer.
dd9f0750 14932
3c0f3b15 14933 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14934
44cd3ae5
GM
149352000-01-03 Gerd Moellmann <gerd@gnu.org>
14936
14937 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14938 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14939
14940 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14941
c182a70f
EZ
149422000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14943
14944 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14945 need to test for MSDOS frames.
14946
24480d5b
EZ
149472000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14948
14949 * dosfns.c (unspecified_colors): Remove.
14950 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14951 unspecified_bg.
14952 (msdos_stdcolor_name): Return strings for unspecified fore- and
14953 back-ground colors.
14954
14955 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14956 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14957 (tty_color_name): Return Lisp strings for unspecified fore- and
14958 back-ground colors.
14959 (Finternal_set_lisp_face_attribute): Remove the special treatment
14960 for Qunspecified_{f,b}g.
52283633 14961 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14962
047f434a
GM
149632000-01-03 Gerd Moellmann <gerd@gnu.org>
14964
14965 * xdisp.c (reseat_at_next_visible_line_start): Position before
14966 newline only if ending up on a newline.
14967 (next_element_from_ellipsis): Return success. Handle case of
52283633 14968 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14969 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14970 returns 0.
14971
d684c676
EZ
149722000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14973
14974 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14975 (Fcolor_supported_p): Renamed from face-color-supported-p.
14976
5fe1d139
EZ
149772000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14978
14979 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14980 list of colors renamed to tty-defined-color-alist.
14981 (tty_color_name): Pass the frame to tty-color-by-index.
14982 (realize_tty_face): tty-color-alist is now a function which
14983 accepts the frame as argument.
14984
52283633 14985 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14986
816be8b8
EZ
149872000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14988
14989 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14990 encode_terminal_code.
14991
b635321e
EZ
149922000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14993
14994 * dispnew.c (mode_line_string): Support termcap frames as well.
14995
9b784e96
GM
149962000-01-01 Gerd Moellmann <gerd@gnu.org>
14997
27189709
GM
14998 * syntax.c (Fforward_word): Undo previous change.
14999
15000 * editfns.c (Fconstrain_to_field): Don't constrain if
15001 inhibit-field-text-motion is non-nil.
15002 (Fline_beginning_position): Undo previous change.
15003 (Fline_end_position): Ditto.
15004
15005 * syntax.c (Fforward_word): Notice field boundaries only if
15006 inhibit-field-text-motion is nil.
15007
15008 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15009
15010 * editfns.c (Vinhibit_field_text_motion): New variable.
15011 (inhibit-field-text-motion): New DEFVAR_LISP.
15012 (Fline_beginning_position, Fline_end_position): Notice field
15013 boundaries only if inhibit-field-text-motion is nil.
15014
45158a91
GM
15015 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15016 All calls adjusted.
15017 (x_build_heuristic_mask): Likewise.
15018 (xbm_load_image_from_file): Change error output.
15019 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15020 (gif_load, gs_load, x_kill_gs_process): Ditto.
15021
9b784e96
GM
15022 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15023 color indices when accessing raster pixels.
63cec32f
GM
15024 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15025 one of :file or :data.
15026 (enum pbm_keyword_index): Add PBM_DATA.
15027 (pbm_format): Add :data.
15028 (pbm_image_p): Allow either :file or :data.
15029 (pbm_read_file): New function.
15030 (pbm_scan_number): Rewritten to read from string.
15031 (pbm_load): Support :data.
9b784e96 15032
2cb085db 15033See ChangeLog.8 for earlier changes.
6922b018
KH
15034
15035;; Local Variables:
49b3bd82 15036;; coding: iso-2022-7bit
6922b018 15037;; End:
2a34a036
GM
15038
15039 Copyright (C) 2001 Free Software Foundation, Inc.
15040 Copying and distribution of this file, with or without modification,
15041 are permitted provided the copyright notice and this notice are preserved.