(Fwrite_region): Doc fix.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
201c831a
GM
12001-12-12 Gerd Moellmann <gerd@gnu.org>
2
3 * xdisp.c (move_it_vertically_backward): Change heuristic
4 for the case that we didn't move far enough initially.
5
6 * window.c (Frecenter): Simplify computation in the case of window
7 system frames and ARG < 0; use window_box_height.
8
34e39c95
RS
92001-12-11 Richard M. Stallman <rms@gnu.org>
10
11 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
12 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
13
d77fbc16
AI
142001-12-11 Andrew Innes <andrewi@gnu.org>
15
16 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
17 arg is negative.
18
61e3b944
RS
192001-12-11 Richard M. Stallman <rms@gnu.org>
20
21 * m/hp800.h: Split the __hpux conditional into the parts
22 that are right for GNU/Linux too and the parts that are not.
23 Use the former if GNU_LINUX.
24 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
25
26 * s/gnu-linux.h (GNU_LINUX): Defined.
27
70da46c3
PJ
282001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
29
30 * macros.c, msdos.c, w16select.c: Change doc-string comments to
31 `new style' [w/`doc:' keyword].
32
8af01033
JR
332001-12-10 Jason Rumney <jasonr@gnu.org>
34
35 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
36 before using.
37
7363986a
PJ
382001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
39
40 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
41 keyword].
42
d9e6c4b1
EZ
432001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
44
d20fc48a
EZ
45 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
46
d9e6c4b1
EZ
47 * s/hpux10.h (srand48): Don't undefine.
48
f1a85b89
JR
492001-12-09 Jason Rumney <jasonr@gnu.org>
50
51 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
52 comment to explain where the struct came from.
53 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
54 (add_menu_item): Process pop-up menus first to avoid memory leak.
55 (add_menu_item, w32_menu_display_help): Use `help' field as
56 Lisp_Object.
57 (w32_free_submenu_strings): Only free owner-drawn strings.
58
3a62677f
PJ
592001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
60
72244db2
PJ
61 * COPYING: Moved back.
62
3a62677f
PJ
63 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
64 Add parentheses around && within ||.
65
66 * indent.c (compute_motion): Likewise.
67
68 * intervals.c (merge_properties_sticky): Likewise.
69
70 * coding.c (setup_coding_system, shrink_encoding_region)
71 (Fdecode_sjis_char): Likewise.
72
9d113d9d
AS
732001-12-07 Andreas Schwab <schwab@suse.de>
74
b8523839
AS
75 * xdisp.c (display_mode_element): Don't read past end of string if
76 it ends with '%'.
77
9464dea4
AS
78 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
79 can hold.
80
9d113d9d
AS
81 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
82 from most_positive_fixnum and most_negative_fixnum, resp., and
83 type changed to Lisp_Object.
84 (syms_of_data): DEFVAR_LISP them.
85
70ec1377
RS
862001-12-07 Richard M. Stallman <rms@gnu.org>
87
88 * callproc.c (init_callproc): Set Vdata_directory based on the source
89 location whenever Emacs was run uninstalled.
90
92f7dd37
PE
912001-12-06 Paul Eggert <eggert@twinsun.com>
92
93 * config.in (HAVE_WORKING_VFORK): New #undefs.
94 * process.c (create_process):
95 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
96 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
97 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
98 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
99 * m/intel386.h (HAVE_VFORK): Likewise.
100 * m/mips-siemens.h (HAVE_VFORK): Likewise.
101 * m/mips.h (HAVE_VFORK): Likewise.
102 * s/freebsd.h (vfork): Remove #define.
103 * s/lynxos.h (HAVE_VFORK): Remove #undef.
104 * s/usg5-4-2.h: Fix comment about vfork.
105
c93674bb
RS
1062001-12-06 Richard M. Stallman <rms@gnu.org>
107
108 * s/hpux10.h (random): Add undef.
109 (HAVE_RANDOM): Define it just once.
110
59b59892
SM
1112001-12-06 Stefan Monnier <monnier@cs.yale.edu>
112
113 * eval.c: Undo last change: the standard syntax is not wanted.
114
c6ea2775
EZ
1152001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
116
117 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
118 scroll bars of the frame before deleting the frame itself. If the
119 frame has a widget, delete the frame with XtDestroyWidget, and do
120 not call XDestroyWindow before that.
121
91175673
KS
1222001-12-06 Kim F. Storm <storm@cua.dk>
123
124 * xfns.c (x_report_frame_params): Return actual fringe widths.
125
126 * w32fns.c (x_report_frame_params): Return actual fringe widths.
127
e0fead5d
AI
1282001-12-05 Andrew Innes <andrewi@gnu.org>
129
130 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
131 excessively large.
132
133 * insdel.c (make_gap_larger): New function.
134 (make_gap_smaller): New function.
135 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
136 make_gap_smaller if arg is negative.
137
c186cdb3
SM
1382001-12-04 Stefan Monnier <monnier@cs.yale.edu>
139
140 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
141 Pass a dummy argument when calling interrupt_signal.
142 (parse_menu_item): Mark disabled items before checking for empty def.
143 (read_char_minibuf_menu_prompt): Make safety more visible.
144 (read_key_sequence): Add a `first_unbound' variable.
145 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
146 unbound prefix as soon as we can detect it.
147
148 * doc.c (Fsnarf_documentation): Add prototype.
149 (get_doc_string): Handle negative arguments.
150 (Fdocumentation): Use AREF and ASIZE.
151 Move the calls to get_doc_string to a single place.
152 Don't confuse an interactive-spec for a docstring reference.
153 (Fdocumentation_property): Take advantage of the fact that
154 get_doc_string now ignores the sign of the docstring position.
155
156 * eval.c: Use standard syntax for usage in docstrings.
157
58cfce98
PJ
1582001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
159
c186cdb3 160 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 161
62854fe2
PJ
1622001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
163
164 * xterm.c (x_draw_image_relief): Use predefined macro instead of
165 constant when the value of `tool_bar_button_relief' is negative.
166
656f46bb
RS
1672001-12-02 Richard M. Stallman <rms@gnu.org>
168
169 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
170 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
171
172 * fileio.c (read_non_regular): Delete Fsignal call.
173
036e218d
SM
1742001-12-01 Stefan Monnier <monnier@cs.yale.edu>
175
176 * lisp.h (run_hook_list_with_args): Undo last change.
177
7ddb2c16
GM
1782001-12-01 Gerd Moellmann <gerd@gnu.org>
179
180 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
181
ace9b298
JR
1822001-12-01 Jason Rumney <jasonr@gnu.org>
183
90647b07
JR
184 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
185
186 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
187 [!WM_MOUSELEAVE]: Define.
188
ace9b298
JR
189 * w32menu.c (current_popup_menu, get_menu_item_info):
190 (set_menu_item_info): New vars.
191 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
192 (w32_menu_show): Set current_popup_menu.
193 (add_menu_item): Allocate new strings for owner-drawn menu items
194 and help strings.
195 Use owner-draw for disabled menu items again.
196 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
197 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
198
199 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
200 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
201 <WM_EXITMENULOOP>: Free menu strings.
202 <WM_MOUSELEAVE>: Stop tracking mouse.
203 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
204
205 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
206 and mouse face.
207
a9549909 2082001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
209
210 The following changes add left-fringe and right-fringe
211 frame parameters to adjust fringe widths, or remove one or
212 both fringes.
036e218d 213
9fbc32aa
KS
214 * frame.h (struct frame): Remove trunc_area_pixel_width and
215 trunc_area_cols fields.
216 (Qleft_fringe, Qright_fringe): Declare.
217 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
218
219 * frame.c (Qleft_fringe, Qright_fringe): New vars.
220 (syms_of_frame): Initialize them.
221
222 * window.c (coordinates_in_window): Handle separate left and right
223 fringe widths.
224
225 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
226 and fringe_cols fields.
227 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
228 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
229 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
230 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
231 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
232 (x_compute_fringe_widths): Add prototype.
233
234 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
235 fill fringe evenly with small dashes.
236 (x_draw_fringe_bitmap): Clear background if necessary. Align and
237 clip the new ZV bitmap to avoid jitter between rows.
238 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
239 background. Don't draw fringe bitmaps if fringe width is zero.
240 (x_compute_fringe_widths): New function.
241 (x_new_font, x_set_window_size_1): Use it.
242
243 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
244 (x_set_frame_parameters): Process Process `font' parameter before other
245 parameters as fringe widths depend on it.
246 (x_set_fringe_width): New function.
247 (x_figure_window_size): Use x_compute_fringe_widths.
248 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
249 parameters.
250
251 * widget.c (set_frame_size): Use x_compute_fringe_widths.
252 (EmacsFrameSetCharSize): Ditto.
253
254 * w32term.h: Merged changes from xterm.h.
255 * w32term.c: Merged changes from xterm.c.
256 * w32fns.c: Merged changes from xfns.c.
257
0142178a
PJ
2582001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
259
260 * COPYING: Removed.
261
d4824a5d
DL
2622001-11-29 Dave Love <fx@gnu.org>
263
264 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
265 extra extra slot.
266 (detect_coding_mask): Fix call of detect_coding_iso2022.
267
b1356234
PJ
2682001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
269
270 * fileio.c (file-name-coding-system)
271 (default-file-name-coding-system): Doc fix (links to referenced
272 variables added).
273
3ce081f5
SM
2742001-11-28 Stefan Monnier <monnier@cs.yale.edu>
275
99e380ee
SM
276 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
277 Add dummy uses of gcproN variables.
278
3ce081f5 279 * category.c (describe_category, describe_category_1)
2ad56c09 280 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
281 (syms_of_category): Don't defsubr Sdescribe_categories.
282
66458f32
RS
2832001-11-28 Richard M. Stallman <rms@gnu.org>
284
285 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
286
287 * Makefile.in (lispdir): New variable, referring to build dir.
288 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
289
59a86c99
AI
2902001-11-28 Andrew Innes <andrewi@gnu.org>
291
292 * w32menu.c (w32_menu_display_help): Actually add the new argument
293 OWNER.
294
eb77a5f4
JR
2952001-11-28 Jason Rumney <jasonr@gnu.org>
296
297 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
298 menu items. From David Ponce <dponce@wanadoo.fr>.
299 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
300 conditionally.
301 (w32_menu_display_help): New argument OWNER. Rewritten to store a
302 help event in the owner frame's keyboard buffer.
303
304 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
305 (Fx_show_tip): Don't subtract last width from row width.
306
307 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
308 (w32_read_socket): Use EQ to compare frames.
309
bb313871
GM
3102001-11-28 Gerd Moellmann <gerd@gnu.org>
311
312 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
313 OVERLAPS_P.
314
55b43a63
PJ
3152001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
316
6052529b
PJ
317 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
318 `gcpro3' and `gcpro4'.
319
3ce081f5
SM
320 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
321
3222001-11-28 Stefan Monnier <monnier@cs.yale.edu>
323
324 * ccl.c: Use AREF and ASIZE.
325
3262001-11-27 Stefan Monnier <monnier@cs.yale.edu>
327
328 * lisp.h (run_hook_list_with_args): Remove.
329 (LIST_END_P): Fix call to wrong_type_argument.
330 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 331
111ed14e
SM
3322001-11-26 Stefan Monnier <monnier@cs.yale.edu>
333
9fabb2f5
SM
334 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
335 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
336
337 * eval.c: Use AREF and ASIZE.
338 (Ffetch_bytecode): Add the file name to the error message.
339
340 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
341 which match the end of the file-name.
342 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
343 is not a valid env var, but leave it as is instead.
344
111ed14e
SM
345 * keymap.c (access_keymap): Handle t bindings like nil bindings.
346 Make nil bindings in char-tables transparent.
347 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
348
2fa0eedf
RS
3492001-11-26 Richard M. Stallman <rms@gnu.org>
350
d1420435
RS
351 * textprop.c (set_text_properties_1): Allow START, END in either order.
352 Do nothing if range is empty.
353
2fa0eedf
RS
354 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
355
ebcbef4e
RS
356 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
357 (clean): Not here.
358
5c131048
SM
3592001-11-25 Stefan Monnier <monnier@cs.yale.edu>
360
361 * textprop.c (set_text_properties_1): Clearly mark that the
362 interval should not be empty.
363
364 * intervals.c (graft_intervals_into_buffer):
365 Don't call set_text_properties_1 on an empty interval.
366
96d276c3
RS
3672001-11-25 Richard M. Stallman <rms@gnu.org>
368
6108b49c
RS
369 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
370
96d276c3
RS
371 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
372 don't lose the data in it.
373
5eea19a4
RS
3742001-11-25 Juanma Barranquero <lektu@terra.es>
375
376 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
377
378 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
379
380 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
381
438e57dd
SM
3822001-11-25 Stefan Monnier <monnier@cs.yale.edu>
383
384 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
385
c88e5347
EZ
3862001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
387
388 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
389 Niemitalo <kon@iki.fi>.
390
59ce1461
JR
3912001-11-25 Jason Rumney <jasonr@gnu.org>
392
393 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
394
395 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
396 (Fx_show_tip): Block input during frame creation.
397 (Fx_show_tip, Fx_hide_tip): Enable.
398
8727d588
RS
3992001-11-24 Richard M. Stallman <rms@gnu.org>
400
401 * lread.c (Fload): Detect recursive load error for more than 3
402 nestings of the same file.
403 (Vrecursive_load_depth_limit): Variable deleted.
404 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
405
cc63037e
JR
4062001-11-24 Jason Rumney <jasonr@gnu.org>
407
408 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
409 mouse position if either left or top is not specified.
410
411 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
412 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
413 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
414 (my_create_tip_window): Assign tip_window.
415 (x_create_tip_frame): Use same defaults as X.
416 (compute_tip_xy): Remove unused variable. Use full screen width.
417 (Fx_show_tip): Do not double height. Call ShowWindow directly.
418
419 * w32term.c (x_after_update_window_line): Doc fix.
420 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
421 frames.
422 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
423
424 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
425 for all Windowed systems.
426
deece6f5
EZ
4272001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
428
429 * msdos.c (IT_clear_screen): If the frame's faces are not yet
430 realized, use the initial screen colors to clear the screen.
431
1b944d9c
PJ
4322001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
433
28ff4293
PJ
434 * textprop.c (Fset_text_properties): Remove unused variables
435 `unchanged', `prev_changed', `s' and `len'.
436
56167cc5
PJ
437 * search.c (Freplace_match): Remove unused variable `inslen'.
438
1b944d9c
PJ
439 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
440
ca56d953
JR
4412001-11-22 Jason Rumney <jasonr@gnu.org>
442
443 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
444 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
445 (my_create_tip_window): New function.
446 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
447 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
448
33399dce
JR
4492001-11-20 Jason Rumney <jasonr@gnu.org>
450
451 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
452 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
453
454 * w32fns.c (Vw32_system_coding_system): Remove.
455 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
456
9b46de40
SM
4572001-11-19 Stefan Monnier <monnier@cs.yale.edu>
458
6710ea06
SM
459 * fileio.c (Fwrite_region): Move choose_write_coding_system to
460 after build_annotations.
461
a395ef6a
SM
462 * syntax.c (describe_syntax): Add dummy arg.
463 (describe_syntax_1): Update call to describe_vector.
464
465 * category.c (describe_category): Add dummy arg.
466 (describe_category_1): Update call to describe_vector.
467
468 * keymap.c (Fdescribe_vector): Add `describer' parameter.
469 (describe_command, describe_translation): Add dummy second param.
470 (describe_map): Call elt_describer with two arguments.
471 (describe_vector_princ): Add `fun' parameter.
472 Call it instead of the hardcoded `princ'.
473 (describe_vector): Add arg `args'.
474 Pass it as a new second argument to elt_describer.
475
476 * keymap.h (describe_vector): Update prototype.
477
9b46de40
SM
478 * frame.c: Don't include keymap.h any more.
479 (keys_of_frame): Remove.
480
481 * lisp.h (keys_of_frame): Remove declaration.
482
483 * emacs.c (main): Don't call `keys_of_frame' any more.
484
aff37336
SS
4852001-11-14 Andreas Schwab <schwab@suse.de>
486
487 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
488 if defined, 0 otherwise.
9b46de40 489 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
490 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
491
b9937f07
RS
4922001-11-19 Richard M. Stallman <rms@gnu.org>
493
494 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
495
2cd23960
JR
4962001-11-18 Jason Rumney <jasonr@gnu.org>
497
498 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
499 (x_draw_bar_cursor): If the background color of the glyph under
500 the cursor equals the frame's cursor color, use the glyph's
501 foreground color for drawing the bar cursor.
502 (x_after_update_window_line): Clear internal border in different
503 circumstances.
504 (w32_set_vertical_scroll_bar): Check for width and height > 0.
505 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
506 (x_set_glyph_string_background_width):
507 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
508 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
509 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
510 if cursor_in_non_selected_windows is false.
9b46de40 511 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
512 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
513 Notice if cursor gets overwritten.
514 (notice_overwritten_cursor): Renamed from
515 note_overwritten_text_cursor. Rewritten to take glyph widths
516 into account, and to take X positions as parameters.
517 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
518 around call to x_draw_glyphs.
519 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
520 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
521 color to use for image glyph reliefs.
522 (x_draw_image_relief): Accept zero tool_bar_button_relief.
523 (glyph_rect): Remove unused variable `area'.
524
525 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
526 some items.
527 (x_set_internal_border_width): Set frame garbaged when window
528 doesn't exist yet.
529 (Fx_create_frame): Accept zero tool_bar_button_relief.
530 (x_clear_image_1, four_corners_best, image_background)
531 (image_background_transparent): New functions.
532 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
533 (gs_format): Add `:background' entry.
534 (lookup_image): Set IMG's background color if specified.
535 (pbm_load, xbm_load_image, png_load): Set IMG's background field
536 when appropriate.
537 (x_clear_image_1): Reset `background_valid' and
538 `background_transparent_valid' fields.
539 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
540 calculating it here. Set IMG's background_transparent field.
541 (enum xpm_keyword_index): Add XPM_BACKGROUND.
542 (enum png_keyword_index): Add PNG_BACKGROUND.
543 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
544 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
545 (enum gif_keyword_index): Add GIF_BACKGROUND.
546 (enum gs_keyword_index): Add GS_BACKGROUND.
547 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
548 Pre-calculate image background color where necessary.
9b46de40
SM
549 (x_create_x_image_and_pixmap, xbm_load, gs_load):
550 Use display info's n_cbits entry for screen depth.
2cd23960
JR
551 (Fx_show_tip): Remove unused variables `buffer', `top',
552 `left', `max_width' and `max_height'.
553
554 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
555
a4184c1c
GM
5562001-11-18 Gerd Moellmann <gerd@gnu.org>
557
558 * puresize.h (BASE_PURESIZE): Increase to 750000.
559
f6fa0866
PJ
5602001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
561
562 * frame.c (Fframe_live_p): Doc fix.
563
f4ca4b00
RS
5642001-11-18 Richard M. Stallman <rms@gnu.org>
565
566 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
567 (message_dolog_marker3): New static variables hold three markers.
568 (syms_of_xdisp): Initialize and staticpro them.
569 (message_dolog): Use message_dolog_marker1..3 instead of
570 allocating markers each time. Unchain them when done.
571
f4e25f94
RS
5722001-11-17 Richard M. Stallman <rms@gnu.org>
573
574 * doc.c (Fsnarf_documentation): Doc fix.
575
91c153e2
AS
5762001-11-17 Andreas Schwab <schwab@suse.de>
577
578 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
579
65b7d3e7
RS
5802001-11-17 Richard M. Stallman <rms@gnu.org>
581
582 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
583
6b5f6311
JR
5842001-11-17 Jason Rumney <jasonr@gnu.org>
585
586 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
587
be676094
GM
5882001-11-17 Gerd Moellmann <gerd@gnu.org>
589
590 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
591 with invalid position.
592
032a857d
RS
5932001-11-16 Richard M. Stallman <rms@gnu.org>
594
595 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
596
597 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
598 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
599 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
600
601 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
602
b6270150
SM
6032001-11-16 Stefan Monnier <monnier@cs.yale.edu>
604
605 * fileio.c (build_annotations): Split off the tail.
606 (build_annotations_2): New fun. Extracted from build_annotations.
607 (Fwrite_region): Split the call to build_annotations into two
608 calls to build_annotations and build_annotations_2.
609
792e5cbd
PJ
6102001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
611
98cbb9fa
PJ
612 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
613 clear_waiting_for_input with argument.
614
615 * xterm.h (x_update_cursor): Remove duplicated prototype.
616
b6270150 617 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 618
ea904403 619 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 620
ea904403 621 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 622
fa336b91
SM
6232001-11-16 Stefan Monnier <monnier@cs.yale.edu>
624
625 * fileio.c (choose_write_coding_system): New fun, extracted
626 from Fwrite_region.
627 (Fwrite_region): Use it.
628
629 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
630 (funcall_lambda, run_hook_with_args): Make static and add prototype.
631 (ml_apply, find_handler_clause): Add prototype.
632
077907d4
EZ
6332001-11-16 Eli Zaretskii <eliz@gnu.org>
634
aa2af83a
EZ
635 * config.in: Add #undef HAVE_COFF_H.
636
077907d4
EZ
637 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
638 Required for ISC 4.1.
639
1756e2fb
EZ
6402001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
641
642 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
643 Andrew Wiseman <a.wiseman@btclick.com>.
644
06e8f738
KS
6452001-11-16 Kim F. Storm <storm@cua.dk>
646
647 The following changes are made to clean up the various internal
648 references to the fringes to actually use the term `fringe' for
649 them. Previously, they were called `flags areas', `bitmap areas',
650 `left/right side of windows', or implicitly as `flags' or
651 `bitmaps':
652
653 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
654 Comments fixed. Use renamed symbols.
fa336b91 655
06e8f738 656 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 657
06e8f738
KS
658 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
659 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
660 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 661
06e8f738 662 * msdos.c: Comment fix.
fa336b91 663
06e8f738 664 * w32fns.c: Use renamed symbols.
fa336b91 665
06e8f738
KS
666 * w32term.c: Comment fixes. Use renamed symbols.
667 (fringe_bitmap_type): Renamed from bitmap_type.
668 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
669 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
670 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 671
06e8f738
KS
672 * w32term.h: Comment fixes. Use renamed symbols.
673 (fringes_extra): Renamed from flags_areas_extra.
674 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
675 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
676 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
677 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
678 (FRAME_X_LEFT_FRINGE_WIDTH):
679 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
680 (FRAME_X_RIGHT_FRINGE_WIDTH):
681 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
682
06e8f738 683 * widget.c: Use renamed symbols.
fa336b91 684
06e8f738
KS
685 * window.c: Comment fixes. Use renamed symbols.
686 (coordinates-in-window-p): Doc fix.
fa336b91 687
06e8f738 688 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 689
06e8f738 690 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 691
06e8f738 692 * xfns.c: Use renamed symbols.
fa336b91 693
06e8f738
KS
694 * xterm.c: Comment fixes. Use renamed symbols.
695 (fringe_bitmap_type): Renamed from bitmap_type.
696 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
697 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
698 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
699
700 * xterm.h: Comment fixes. Use renamed symbols.
701 (fringes_extra): Renamed from flags_areas_extra.
702 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
703 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
704 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
705 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
706 (FRAME_X_LEFT_FRINGE_WIDTH):
707 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
708 (FRAME_X_RIGHT_FRINGE_WIDTH):
709 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 710
9ce647f4
JR
7112001-11-15 Jason Rumney <jasonr@gnu.org>
712
713 * w32menu.c (add-menu-item): Make help_echo and radio buttons
714 work for most menu items. From David Ponce
715 <david.ponce@wanadoo.fr>.
716
9b784ab8
GM
7172001-11-15 Gerd Moellmann <gerd@gnu.org>
718
9f7e52b4
GM
719 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
720 Some x_set_* function expect to be called even if old and new
721 value are equal.
722
723 * xdisp.c (build_desired_tool_bar_string): Accept zero
724 tool_bar_button_relief.
725
726 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
727
728 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 729
34e5d0af
GM
730 * xterm.c (x_draw_bar_cursor): If the background color of the
731 glyph under the cursor equals the frame's cursor color, use
732 the glyph's foreground color for drawing the bar cursor.
733
9b784ab8
GM
734 * dispnew.c (direct_output_forward_char): Fix character/byte
735 position comparison.
736
89512fcd
MB
7372001-11-15 Miles Bader <miles@gnu.org>
738
739 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
740 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
741 Update arguments to find_field.
742 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
743 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
744 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
745 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
746
7d18891d
RS
7472001-11-14 Richard M. Stallman <rms@gnu.org>
748
d2936d21
RS
749 * editfns.c (Fpropertize): Allow call with 1 arg.
750
7d18891d
RS
751 * dispextern.h (image_background, image_background_transparent):
752 Conditionalize on HAVE_X_WINDOWS.
753
7542001-11-13 Richard M. Stallman <rms@gnu.org>
755
756 * print.c (Fprin1_to_string): Doc fix.
757
758 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
759
760 * floatfns.c (Fceiling, Ffloor): Doc fixes.
761
762 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
763
764 * fileio.c (Ffile_accessible_directory_p): Doc fix.
765
766 * eval.c (syms_of_eval): Doc fix.
767
768 * coding.c (syms_of_coding): Doc fix.
769
770 * doc.c (Fsnarf_documentation): Doc fix.
771
772 * dispnew.c (syms_of_display): Doc fix.
773
774 * category.c (Fget_unused_category): Doc fix.
775
776 * buffer.c (syms_of_buffer): Doc fixes.
777
9474c847
EZ
7782001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
779
780 * print.c (prin1, print): Doc fix.
781
e3059a5d
PJ
7822001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
783
2b6f3c2b 784 * fontset.h: Remove declarations of variables
e3059a5d
PJ
785 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
786
787 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
788 `Vclip_large_size_font'.
789
b3700ae7
JR
7902001-11-13 Jason Rumney <jasonr@gnu.org>
791
792 * w32fns.c: Doc fix.
793
eae936e2
PJ
7942001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
795
4bb962be
PJ
796 * xfaces.c (Fface_attributes_as_vector): Doc fix.
797
0a332240
PJ
798 * w32fns.c (Fx_synchronize): Reindent.
799
ddb67bdc
PJ
800 * fns.c: Doc fix.
801
3467c402
PJ
802 * emacs.c: Doc fix.
803
804 * coding.c: Doc fix.
805
6e1b91d7
PJ
806 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
807 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
808 `new style' [w/`doc:' keyword].
809
f6e34773
PJ
810 * xmenu.c (x-popup-menu): Reindent.
811 (x-popup-dialog): Likewise.
812
fa336b91 813 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 814
c2552f79
PJ
815 * xdisp.c (Fdump_tool_bar_row): Reindent.
816
94c7167b
PJ
817 * minibuf.c (Fminibuffer_complete_word): Reindent.
818 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 819 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
820 (Fminibuffer_message): Likewise.
821
462a5e3a
PJ
822 * fns.c (Freverse): Reindent.
823
b8de5714
PJ
824 * eval.c (Fif): Reindent.
825 (Fand): Likewise.
826
deb8e082
PJ
827 * editfns.c (Fuser_real_login_name): Reindent.
828 (Finsert_buffer_substring): Likewise.
829 (Fcompare_buffer_substrings): Likewise.
830 (Fsubst_char_in_region): Likewise.
831
bacf09b4
PJ
832 * dispnew.c (Fsit_for): Reindent.
833 (Fframe_or_buffer_changed_p): Likewise.
834 (Finternal_show_cursor_p): Likewise.
835 (syms_of_display): Likewise.
836
eae936e2
PJ
837 * alloc.c (Flist): Reindent.
838 (Fvector): Likewise.
839
1c1d3d69
RS
8402001-11-12 Richard M. Stallman <rms@gnu.org>
841
842 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
843 LeaveNotify events. Only FocusIn and FocusOut do that now.
844 (x_display_and_set_cursor): Do display hollow cursors in active
845 minibuffer windows when they are not selected.
846
b6f4c7ba
JR
8472001-11-12 Jason Rumney <jasonr@gnu.org>
848
849 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
850 * w32term.c: Change doc-string comments to `new style'.
851 [w/`doc:' keyword]. Doc fixes.
852
853 * w32fns.c: Don't define max.
854 (Fx_open_connection): Only execute once.
855
a89f435d
PJ
8562001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
857
858 * ccl.c: Change macros to use do-while block instead of if-else.
859 Use braces to follow GNU Coding Standards.
860
a4cd0cd7
RS
8612001-11-11 Richard M. Stallman <rms@gnu.org>
862
eafb659a
RS
863 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
864
865 * lread.c (read_escape): Use end_of_file_error for reporting eof.
866
a4cd0cd7
RS
867 * insdel.c (replace_range): Use adjust_markers_for_replace
868 instead of adjust_markers_for_delete and adjust_markers_for_insert.
869
870 * intervals.h: Declare set_text_properties and set_text_properties_1.
871
872 * textprop.c (set_text_properties_1): New subroutine
873 broken out of set_text_properties.
874 (set_text_properties): Use set_text_properties_1.
875
876 * intervals.c (graft_intervals_into_buffer):
877 Use set_text_properties_1 to clear out properties.
878
879 * search.c (Freplace_match): Use replace_range to insert
880 and delete. Don't request property inheritance from
881 surrounding text.
882
91823618
JR
8832001-11-10 Jason Rumney <jasonr@gnu.org>
884
885 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
886 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 887 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 888
86928dfb
GM
8892001-11-10 Gerd Moellmann <gerd@gnu.org>
890
fa336b91 891 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
892 instead of malloc/free.
893
40ef1eda
PJ
8942001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
895
ab8469eb
PJ
896 * xfaces.c (merge_face_vectors): Use braces to follow GNU
897 Coding Standards.
898 (Finternal_set_lisp_face_attribute): Likewise.
899
a78e0303
PJ
900 * buffer.c (Fbury_buffer): Likewise.
901
40ef1eda
PJ
902 * indent.c (current_column_1): Remove unused variable `prev_col'.
903
fabf4a91
PJ
904 * coding.c (encode_coding): Use precomputed value of `src'.
905 (encode_coding): Remove unused variable `src_end'.
906 (code_convert_region): Remove unused variables `count'.
907
0c99b139
JR
9082001-11-07 Jason Rumney <jasonr@gnu.org>
909
910 * w32term.c (x_display_and_set_cursor): Do not move system caret
911 if cursor_glyph is NULL.
912
830ddd77
PJ
9132001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
914
915 * keymap.c (access_keymap): Fix compilation error.
916
55c6d645
MB
9172001-11-07 Miles Bader <miles@gnu.org>
918
919 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
920
5de38842
PJ
9212001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
922
7a4564a4
PJ
923 * intervals.c (graft_intervals_into_buffer):
924 Remove #ifdef'd-out code.
925 (graft_intervals_into_buffer): Remove unused variable `middle'.
926
5de38842
PJ
927 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
928 code (eval-current-buffer).
929 Change doc-string comments to `new style' [w/`doc:' keyword].
930
4fa23df5
RS
9312001-11-06 Richard M. Stallman <rms@gnu.org>
932
933 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
934
7a6a97d7
SM
9352001-11-06 Stefan Monnier <monnier@cs.yale.edu>
936
c191d13c
SM
937 * lread.c (read1): Fix behavior with nested backquoting.
938
7a6a97d7
SM
939 * keyboard.c (make_lispy_event): Check integerness and fix
940 Lisp_Object/int mixup.
941
44dc78e0
PJ
9422001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
943
944 * fns.c (copy_hash_table): Remove unused variable `v'.
945
17893c65
PJ
946 * fontset.c (fontset_font_pattern): Remove unused variable
947 `family_registry'.
948
4d994a79
PJ
949 * indent.c (current_column_1): Remove unused variable `prev_col'.
950
d5360cc7
RS
9512001-11-05 Richard M. Stallman <rms@gnu.org>
952
953 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
954
955 * buffer.c (Fkill_buffer): Don't delete auto save file
956 if buffer is modified.
957
96238a5a
AI
9582001-11-05 Andrew Innes <andrewi@gnu.org>
959
960 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
961 CHECK_NUMBER_CDR.
962
d9d54213
RS
9632001-11-05 Richard M. Stallman <rms@gnu.org>
964
965 * unexelf.c (unexec): Minor changes; clean up comments.
966
b116830b
SS
9672001-11-05 Sam Steingold <sds@gnu.org>
968
969 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
970
3297e2a1
AS
9712001-11-05 Andreas Schwab <schwab@suse.de>
972
973 * sound.c (sound_perror): Save errno from being clobbered.
974
9212319f 9752001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
976
977 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
978 the program image directly.
979
7dd73b78
PJ
9802001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
981
982 * buffer.h (Fbuffer_local_value): Add prototype.
983
982f6c7e
RS
9842001-11-04 Richard M. Stallman <rms@gnu.org>
985
d31053f9
RS
986 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
987 and CHECK_BUFFER.
988
989 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
990 (record_char): Likewise.
991
992 * keyboard.c (make_lispy_event): Don't insist a drag event must
993 move to a different buffer position. Instead, check for moving at
994 least double_click_fuzz.
995
996 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
997
998 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
999
982f6c7e
RS
1000 * indent.c (current_column_1, Fmove_to_column): Separate the code
1001 for display-table glyphs from the code buffer text, to fix
1002 bugs in the former.
1003
830047fd
RS
10042001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1005
1006 * buffer.c (Fbuffer_local_value): New function.
c191d13c 1007 (syms_of_buffer): Defsubr it.
b116830b 1008
830047fd
RS
1009 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1010 value of `cursor-in-non-selected-windows'.
1011
1012 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1013 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1014 (syms_of_xdisp): Initialize it.
b116830b 1015
2df5238c
PJ
10162001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1017
4e397688
PJ
1018 * xfns.c (Fx_create_frame): Doc fix.
1019
48b0f3ae
PJ
1020 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1021 keyword].
1022
2df5238c
PJ
1023 * eval.c (top_level_value, top_level_set): Remove commented and
1024 #ifdef'd-out code.
1025 (Fdefvar): Fix usage in doc-string.
1026
3ecaf7e5
RS
10272001-11-03 Richard M. Stallman <rms@gnu.org>
1028
1029 * xfns.c: Include unistd.h, if it exists.
1030
1031 * editfns.c: Move the include of ctype.h after unistd.h.
1032
1033 * gmalloc.c: Test BROKEN_PROTOTYPES.
1034
8db2e33b
KR
10352001-11-03 Ken Raeburn <raeburn@gnu.org>
1036
1037 * lisp.h (CHECK_STRING_CAR): New macro.
1038 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1039 treating XCAR and XCDR as lvalues.
1040 (openp): Use CHECK_STRING_CAR.
1041 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1042
aed29b97
EZ
10432001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1044
1045 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1046 (SIGMASKTYPE): Define.
aed29b97
EZ
1047
1048 * syssignal.h (sigunblock): Don't define if already defined.
1049
6cb16f95
PJ
10502001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1051
16b45be4
EZ
1052 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1053 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1054 Fix typos in comments.
1055
020f9b38
PJ
1056 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1057 and #ifdef'd-out code.
1058 Fix and reindent comments.
1059
c191d13c 1060 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1061
6cb16f95
PJ
1062 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1063 argument `i' in macros.
1064
1065 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1066 `i' in macros.
1067
16b45be4
EZ
1068 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1069 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1070 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1071 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1072 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1073 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1074 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1075 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1076 in macros.
1077
1078 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
1079 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1080 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1081 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1082 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1083 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1084 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1085 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1086 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
1087 (remove unused second argument).
1088
7e9d3c2f
SM
10892001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1090
1091 * syntax.c (describe_syntax): New wrapper.
1092 (Finternal_describe_syntax_value): Rename from describe_syntax.
1093 Don't insert space at front and \n at the end.
1094 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1095
1096 * regex.c (re_wctype): Try to fix some warnings.
1097 (regcomp, regexec): Don't forget the __restrict.
1098
e6bff182
RS
10992001-11-02 Richard M. Stallman <rms@gnu.org>
1100
1101 * textprop.c (Fget_char_property): Doc fix.
1102
9ba48103
PJ
11032001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1104
1105 * process.c (Fstart_process): Add usage to doc-string.
1106
1107 * data.c (Fsetq_default): Ditto.
1108
1109 * callint.c (Finteractive): Ditto.
1110
c22e59e1
SM
11112001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1112
1113 * macros.c: Don't include keymap.h any more.
1114
9271ed2c
RS
11152001-11-01 Richard M. Stallman <rms@gnu.org>
1116
e6bff182
RS
1117 * data.c (Fmake_local_variable): Doc fix.
1118
1119 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1120 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1121
9271ed2c
RS
1122 * keymap.c (Fdescribe_buffer_bindings): Print character property
1123 bindings along with or instead of the buffer local map.
1124 Make the overriding maps override what they should.
1125
8b8bd9c6
PJ
11262001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1127
1128 * window.c (grow_mini_window): Fix typo in comment.
1129
27188d11
GM
11302001-11-01 Gerd Moellmann <gerd@gnu.org>
1131
7b49b9d2
GM
1132 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1133 (XTset_vertical_scroll_bar): Likewise.
1134
43f7c3ea
GM
1135 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1136 instead of IMAGE_BACKGROUND.
c22e59e1 1137
b350c2e5
GM
1138 * xfns.c (four_corners_best): Reindent.
1139
c22e59e1 1140 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1141 Handle :box so that it is possible to specify sexprs.
1142
d576358b
PJ
11432001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1144
1145 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1146 (Fface_font): Ditto.
1147 (Finternal_set_alternative_font_registry_alist): Ditto.
1148 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1149
1150 * xfns.c (x-get-resource): Reindent.
1151
bf00d461
EZ
11522001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1153
1154 * s/hpux11.h: New file.
1155
4e10df59
PJ
11562001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1157
2b209b97
PJ
1158 * emacs.c (USAGE1): Show command line option --no-window-system
1159 instead of --no-windows in usage.
1160 (standard_args): Rename --no-windows to --no-window-system.
1161 (bug_reporting_address): Follow Emacs coding conventions.
1162
9dbc9081
PJ
1163 * eval.c (Fcommandp): Doc fix.
1164 Change doc-string comments to `new style' [w/`doc:' keyword].
1165
4e10df59
PJ
1166 * frame.c (Fframe_live_p): Doc fix.
1167
1168 * buffer.c (selective-display-ellipses): Doc fix.
1169
dd387b25
GM
11702001-10-31 Gerd Moellmann <gerd@gnu.org>
1171
fe957e65
GM
1172 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1173
dd387b25
GM
1174 * xfaces.c (realize_x_face): If C is not a single-byte character,
1175 set the face's colors_copied_bitwise_p instead of the defaulted_p
1176 members which have a different meaning.
1177 (free_face_colors): Do nothing for a face whose colors have been
1178 copied bitwise.
1179
c22e59e1 1180 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1181
2e1280f8
PJ
11822001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1183
687784e8
PJ
1184 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1185 [w/`doc:' keyword].
2e1280f8 1186
b9d9a9b9
GM
11872001-10-31 Gerd Moellmann <gerd@gnu.org>
1188
1189 * fns.c (require_unwind): Return Lisp_Object.
1190
48400103
PJ
11912001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1192
fa1361cb
PJ
1193 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1194 (last-input-char): Revert doc-string to be the same as the
1195 doc-string of `last-input-event'.
1196
48400103
PJ
1197 * xdisp.c: Fix typos in comments.
1198
eafa3196
GM
11992001-10-31 Gerd Moellmann <gerd@gnu.org>
1200
1201 * window.c (grow_mini_window): Handle case that the root
1202 window is already smaller than the nominal mininum height.
1203
747d3f2a
SM
12042001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1205
bf9bb76f
SM
1206 * emacs.c (main): Don't call keys_of_macros any more.
1207
1208 * lisp.h (keys_of_macros): Remove.
1209
1210 * macros.c (keys_of_macros): Remove.
1211
747d3f2a
SM
1212 * xfaces.c (Fface_attribute_relative_p): Declare args.
1213
5e905a57
JR
12142001-10-30 Jason Rumney <jasonr@gnu.org>
1215
1216 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1217 (enum_font_cb2): Ignore fonts with vertical orientation.
1218
3a426197
RS
12192001-10-30 Richard M. Stallman <rms@gnu.org>
1220
1221 * keyboard.c (Finput_pending_p): Doc fix.
1222
a742d646
GM
12232001-10-30 Gerd Moellmann <gerd@gnu.org>
1224
259cf6bc
GM
1225 * xterm.c (x_after_update_window_line): Don't run the code
1226 clearing in borders for rows whose visible height is 0.
1227
3f99f948
GM
1228 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1229 resized_p flag is set. If not set, use the much less flickering
1230 method previously used.
1231
1232 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1233
1234 * frame.h (struct frame) <resized_p>: New member.
1235
b4a3be43
GM
1236 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1237 as large as the number of bytes to convert.
747d3f2a 1238
a742d646
GM
1239 * lread.c (to_multibyte): New function.
1240 (read1): Use it.
1241
cacbb9e9
EZ
12422001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1243
1244 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1245
99cb6b2f
GM
12462001-10-30 Gerd Moellmann <gerd@gnu.org>
1247
327f42ee 1248 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1249 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1250 if the row's fill_line_p is set and drawing the last glyph with
1251 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1252
99cb6b2f
GM
1253 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1254
8e8223e2
SM
12552001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1256
1257 * xmenu.c: Include coding.h and charset.h.
1258 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1259 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1260 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1261 Explicitly set wv->help. Use `TRUE' rather than `True'.
1262 (menu_help_callback): Use empty_string.
1263
1264 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1265 (Fx_popup_dialog): Explicitly init f.
1266 (w32_menu_display_help): Use empty_string.
1267
4d083a8f
RS
12682001-10-29 Richard M. Stallman <rms@gnu.org>
1269
b2304472
RS
1270 * fns.c (Frequire): Detect recursive try to require the same
1271 feature 3 or more levels deep, and get error.
1272 (require_unwind): New subroutine.
1273 (require_nesting_list): New variable.
1274 (syms_of_fns): Init and staticpro it.
1275
4d083a8f
RS
1276 * print.c (print_object): Clarify indication of insertion type.
1277
2fe41216
EZ
12782001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1279
90480000
EZ
1280 * coding.c (syms_of_coding): Document that locale-coding-system is
1281 used for decoding input on X.
1282
2fe41216
EZ
1283 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1284
74e79967
PJ
12852001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1286
1287 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1288 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1289
60ebcfe8
GM
12902001-10-29 Gerd Moellmann <gerd@gnu.org>
1291
9a7bdceb
GM
1292 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1293 use NO_CURSOR if cursor_in_non_selected_windows is false.
1294
3f08fcd2
GM
1295 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1296 the slant attribute if FRAME is t.
1297
0ccfdad2
GM
1298 * xfns.c (x_set_internal_border_width): Set frame garbaged
1299 when X window doesn't exist yet.
1300
ef253080
GM
1301 * xterm.c (x_after_update_window_line): Clear internal border
1302 in different circumstances.
b116830b 1303
60ebcfe8
GM
1304 * xterm.c (XTread_socket) <KeyPress>: Don't use
1305 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1306 <handa@etl.go.jp>.
1307
73d25f9c
EZ
13082001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1309
1310 * m/ibms390.h: New file. From Adam Thornton
1311 <athornton@sinenomine.net>.
1312
cac1daf0
GM
13132001-10-28 Gerd Moellmann <gerd@gnu.org>
1314
053b3256 1315 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1316
cac1daf0
GM
1317 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1318 a loop counter.
1319
13b1a09c
PJ
13202001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1321
186486eb
PJ
1322 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1323
4707d2d0
PJ
1324 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1325 keyword].
1326 Fix typos in comments.
b116830b 1327
d883731c
PJ
1328 * emacs.c (bug_reporting_address): New function.
1329 Use it when displaying usage message.
1330
04012254
PJ
1331 * minibuf.c (read_minibuf): Remove unused external declaration of
1332 variable `Qread_only'.
1333
13b1a09c
PJ
1334 * keymap.c (access_keymap): Remove unused variable `charset'.
1335
5bbf4378
MB
13362001-10-28 Miles Bader <miles@gnu.org>
1337
1338 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1339 Remove #ifdef'd-out code.
1340 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1341 (syms_of_xfaces): Initialize them.
1342
1ce1e4ee
JR
13432001-10-27 Jason Rumney <jasonr@gnu.org>
1344
1345 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1346 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1347 position using the system caret.
1348
1349 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1350 (w32_system_caret_height, w32_system_caret_x)
1351 (w32_system_caret_y): New variables for tracking system caret.
1352 (w32_initialize): Initialize them.
c2d53558 1353 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1354
c2d53558
SM
1355 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1356 New messages types.
1ce1e4ee
JR
1357
1358 * w32term.c (note_mouse_highlight): Clear old help_echo.
1359
4e30ce42
PJ
13602001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1361
bb4600a4
PJ
1362 * xterm.c: Fix typo in a comment.
1363
7db35a48
PJ
1364 * emacs.c: Fix typos in comments.
1365 Remove unnecessary spaces.
1366 Change doc-string comments to `new style' [w/`doc:' keyword].
1367 (USAGE2): Fix typos in usage string.
1368
a7248e4f
PJ
1369 * xterm.c: Fix typo in a comment.
1370
4e30ce42
PJ
1371 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1372 emacs.c.
1373
62725a92
GM
13742001-10-27 Gerd Moellmann <gerd@gnu.org>
1375
798dbe1f 1376 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1377 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1378 farther backward when target_y was not reached.
1379
62725a92
GM
1380 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1381 Display errno only if non-zero.
1382 (sound_warning): New function.
1383 (vox_configure): Don't treat failing to set sample rate as error.
1384 (various places): Improve error messages.
1385
d4e34d24
EZ
13862001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1387
944e6f60
EZ
1388 * fileio.c (Faccess_file): Run the argument filename through
1389 Fexpand_file_name, before using it.
1390
d4e34d24
EZ
1391 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1392 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1393
38d2af0c
GM
13942001-10-26 Gerd Moellmann <gerd@gnu.org>
1395
da80a8d5
GM
1396 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1397
38d2af0c
GM
1398 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1399 Fix clearing in the case of scroll bars on the right.
c2d53558 1400
56f508dd
EZ
14012001-10-26 Juanma Barranquero <lektu@terra.es>
1402
1403 * w32gui.h (XImage): Add a dummy typedef.
1404
fbd5ceb2
GM
14052001-10-26 Gerd Moellmann <gerd@gnu.org>
1406
c2d53558 1407 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1408
b23236fb
EZ
14092001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1410
1411 * frame.c (Fframe_parameter): Fix last change.
1412
5d991fc4
EZ
1413 * fileio.c: Revert last change (which removed old commented-out
1414 version of expand-file-name). Add a comment that explains why
1415 this old version should not be removed.
1416
879eadc3
GM
14172001-10-25 Gerd Moellmann <gerd@gnu.org>
1418
75700ff2
GM
1419 * frame.c (Fframe_parameter): Fix a bug whereby some
1420 ``artificial'' frame parameters, like `minibuffer' were not
1421 obtained by calling Fframe_parameters.
1422
dfe92a6a
GM
1423 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1424 cursor differently.
1425
879eadc3
GM
1426 * xdisp.c (move_it_vertically_backward): Compute line height
1427 differently. Add heuristic to try to be more compatible to 20.x.
1428
e1010ebe
SM
14292001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1430
d73a471b
SM
1431 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1432
d6da5a06
GM
1433 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1434 boolean.
e1010ebe 1435
f66bd220
MB
14362001-10-25 Miles Bader <miles@gnu.org>
1437
1438 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1439 BG is a pointer to a structure, not a structure.
1440 (gif_format, png_format): Add missing commas.
1441
d436d538
RS
14422001-10-24 Richard M. Stallman <rms@gnu.org>
1443
1444 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1445 (syms_of_xfaces): Defsubr it.
d436d538 1446
075c507b
PJ
14472001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1448
1449 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1450 variable `area'.
1451
d492b584
PJ
14522001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1453
c2d53558 1454 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1455
e2a57b34
MB
14562001-10-25 Miles Bader <miles@gnu.org>
1457
1458 * dispextern.h (struct image): Add `background',
1459 `background_valid', and `background_transparent' fields.
1460 (image_background, image_background_transparent): New declarations.
1461 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1462 * xfns.c (image_background, image_background_transparent)
1463 (four_corners_best): New functions.
c2d53558 1464 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1465 (gs_format): Add `:background' entry.
1466 (lookup_image): Set IMG's background color if specified.
1467 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1468 when appropriate.
1469 (x_clear_image_1): Reset `background_valid' and
1470 `background_transparent_valid' fields.
1471 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1472 calculating it here. Set IMG's background_transparent field.
1473 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1474 (enum png_keyword_index): Add PNG_BACKGROUND.
1475 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1476 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1477 (enum gif_keyword_index): Add GIF_BACKGROUND.
1478 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1479 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1480 Pre-calculate image background color where necessary.
1481 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1482 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1483 color to use for image glyph reliefs.
1484
b547b6e8
GM
14852001-10-24 Gerd Moellmann <gerd@gnu.org>
1486
d9e3b8c6
GM
1487 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1488 in full-width rows.
c2d53558 1489
b547b6e8
GM
1490 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1491 Fix clearing of area not covered by scroll bar.
1492
2beb36f9
PJ
14932001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1494
1495 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1496 and `real_start'.
c2d53558 1497 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1498 (glyph_rect): Remove unused variable `area'.
1499
76cb5e06
GM
15002001-10-24 Gerd Moellmann <gerd@gnu.org>
1501
bdbdebff 1502 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1503
1504 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1505 (row_containing_pos): Take additional argument DY.
1506 Treat rows ending in middle of char differently.
62e33982
GM
1507 (display_line): Handle tabs on window systems differently.
1508
1509 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1510 with additional argument.
1511
1512 * dispextern.h (row_containing_pos): Adjust prototype.
1513
76cb5e06
GM
1514 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1515 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1516 (try_window_id, try_window_reusing_current_matrix)
1517 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1518 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1519
996fee11
PJ
15202001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1521
c9e60620
PJ
1522 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1523 gnuemacs).
1524 (HAVE_BOXES): Fix typo in comment.
1525 (push_menu_pane): Fix typo in comment.
1526
3b552d56
PJ
1527 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1528 of `Qwhen'.
1529 (single_display_prop_string_p): Remove unused local declarations
1530 of `Qwhen' and `Qmargin'.
1531 (string_buffer_position): Remove unused variable `around'.
1532 (store_frame_title): Remove unused variable `width'.
1533
15c565ac
PJ
1534 * window.c: Don't define max.
1535 (coordinates_in_window): Remove unused variable `uy'.
1536
a8818eb9
PJ
1537 * widget.c: Don't define max.
1538
996fee11
PJ
1539 * process.c: Don't define max.
1540 (create_process): Remove unused variable `buffer'.
1541
496e1a5b
GM
15422001-10-23 Gerd Moellmann <gerd@gnu.org>
1543
c2d53558 1544 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1545
5905ae8b
EZ
15462001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1547
1548 * xfaces.c (Finternal_set_lisp_face_attribute)
1549 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1550 frame is on a windowed display.
1551
24db49fb
GM
15522001-10-23 Gerd Moellmann <gerd@gnu.org>
1553
c2d53558
SM
1554 * dispnew.c (sync_window_with_frame_matrix_rows):
1555 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1556 of marginal areas.
1557
c2d53558 1558 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1559
f0487f05
EZ
15602001-10-23 Andreas Schwab <schwab@suse.de>
1561
1562 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1563 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1564
f0a48a01
GM
15652001-10-23 Gerd Moellmann <gerd@gnu.org>
1566
c2d53558 1567 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1568 REAL_END. Notice if cursor gets overwritten.
1569 (notice_overwritten_cursor): Take X positions as parameters.
1570 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1571 around call to x_draw_glyphs.
1572
a50a10a0
PJ
15732001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1574
fc11dff0
PJ
1575 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1576 instead of C) and usage.
a50a10a0 1577
fc11dff0
PJ
1578 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1579 of C) and usage.
a50a10a0
PJ
1580
1581 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1582 `left', `max_width' and `max_height'.
1583
8738febd
GM
15842001-10-23 Gerd Moellmann <gerd@gnu.org>
1585
1586 * xdisp.c (display_line): For a tab continued to the next line,
1587 set row's ends_in_middle_of_char_p.
1588
653c329b
GM
15892001-10-22 Gerd Moellmann <gerd@gnu.org>
1590
1591 * xdisp.c (display_line): Fix computation of continuation lines
1592 width for TABs.
1593
f958c5ac
PJ
15942001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1595
7ba51063
PJ
1596 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1597 `Qlaplace'.
1598
f958c5ac
PJ
1599 * fileio.c: Remove unused code.
1600
eb360291
MB
16012001-10-22 Miles Bader <miles@gnu.org>
1602
1603 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1604 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1605 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1606
98515cf0
JR
16072001-10-21 Jason Rumney <jasonr@gnu.org>
1608
1609 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1610
93026d88
EZ
16112001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1612
1613 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1614 (Finsert_string): Avoid the multi-line string literals warning.
1615
c9a95b79
MB
16162001-10-22 Miles Bader <miles@gnu.org>
1617
1618 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1619 (Fdocumentation): Don't use it.
1620 (syms_of_doc): Don't initialize it.
1621
1622 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1623 * print.c (Fwith_output_to_temp_buffer): Likewise.
1624 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1625 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1626 (Fsave_restriction): Likewise.
c2d53558
SM
1627 * eval.c (Frun_hooks, Frun_hook_with_args)
1628 (Frun_hook_with_args_until_failure)
1629 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1630 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1631 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1632 (Funwind_protect, Fcondition_case): Likewise.
1633 * coding.c (Ffind_operation_coding_system): Likewise.
1634 * keyboard.c (Ftrack_mouse): Likewise.
1635
a3b10252
MB
16362001-10-21 Miles Bader <miles@gnu.org>
1637
c2d53558 1638 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1639 (Fmake_hash_table): Add usage: string to doc string.
1640 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1641 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1642 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1643 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1644 (Fml_prefix_argument_loop): Likewise.
1645
c6f73eec
PJ
16462001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1647
c2d53558 1648 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1649
c6f73eec
PJ
1650 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1651 style' [w/`doc:' keyword].
1652
1653 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1654 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1655 comments to `new style' [w/`doc:' keyword].
1656
3cf3436e
JR
16572001-10-21 Jason Rumney <jasonr@gnu.org>
1658
1659 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1660
c169b8f1
JR
1661 * w32term.c (remember_mouse_glyph): New function.
1662 (w32_mouse_position): Use it.
1663 (note_mouse_movement): If the mouse moved off the glyph, remember
1664 its new position.
c2d53558 1665
4fdd691b
JR
1666 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1667 (w32_display_info): Add mouse_face_overlay.
1668
c169b8f1
JR
1669 * w32term.c (notice_overwritten_cursor): Renamed from
1670 note_overwritten_text_cursor. Rewritten to take glyph widths into
1671 account.
1672 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1673 (fast_find_string_pos): New function.
1674 (fast_find_position): Return the correct vpos. Add parameter
1675 STOP. In the final row, stop before glyphs having STOP as object.
1676 Don't consider glyphs that are not from a buffer.
1677 (fast_find_position) [0]: Add a presumably more correct version
1678 for after 21.1.
1679 (expose_window_tree, expose_frame): Don't compute intersections here.
1680 (expose_window): Do it here instead.
1681 (expose_window_tree, expose_window, expose_line): Return 1 when
1682 overwriting mouse-face.
1683 (expose_window): If W is the window currently being updated, mark
1684 the frame garbaged.
1685 (expose_frame): If mouse-face was overwritten, redo it.
1686 (x_use_underline_position_properties): New variable.
1687 (syms_of_xterm): DEFVAR_BOOL it.
1688 (x_draw_glyph_string): Add comment to use it in future.
1689 (x_draw_glyph_string): Restore clipping after drawing box.
1690 Fix a computation of the underline position.
1691 (w32_get_glyph_string_clip_rect): Minor cleanup.
1692 (x_fill_stretch_glyph_string): Remove an assertion.
1693 (x_produce_glyphs): Don't convert multibyte characters
1694 to unibyte characters in unibyte buffers.
1695 (cursor_in_mouse_face_p): New function.
1696 (x_draw_stretch_glyph_string): Use it to choose a different GC
1697 when drawing a cursor within highlighted text. Don't draw
1698 background again if it has already been drawn.
1699 (x_draw_glyph_string_box): Don't draw a full-width
1700 box just because the glyph row's full_width_p flag is set.
1701 (x_draw_glyphs): Fix computation of rightmost x for
1702 full-width rows.
1703 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1704 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1705 change bottom shadow accordingly. Some cleanup.
1706 (x_update_window_end): Handle overwritten mouse face
1707 also for tool bar windows.
1708 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1709 DRAW is DRAW_IMAGE_RAISED.
1710 (clear_mouse_face): Return 1 if text with mouse face was
1711 actually redrawn. Make the function static. Reset
1712 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1713 optimize away highlighting if we pass over that same overlay again.
1714 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1715 to detect a case where we have to highlight a different region
1716 despite not having left the currently highlighted region.
1717 Set mouse_face_overlay in the x_display_info. Avoid changing the
1718 mouse pointer shape when show_mouse_face has already done it, or
1719 there is no need. Handle mouse-face and help-echo in strings.
1720 (glyph_rect): New function.
1721 (w32_mouse_position): Use it to raise the threshold for mouse
1722 movement event generation.
1723 (w32_initialize_display_info): Initialize the x_display_info's
1724 mouse_face_overlay.
1725 (w32_set_vertical_scroll_bar): Don't clear a zero height
1726 or width area.
1727 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1728 a widget to zero height.
1729
3cf3436e 1730 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1731 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1732 equivalents in menu_items.
1733 (w32_menu_show): Don't overwrite an item's name with its key
1734 description in case the description is a multibyte string.
1735 (single_submenu): Some cleanup.
1736
1737 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1738 (postprocess_image): New function.
1739 (lookup_image): Call it for all image types except PostScript.
1740 (x_kill_gs_process): Call postprocess_image.
1741 (tiff_error_handler, tiff_warning_handler): New functions.
1742 (tiff_load): Install them as handlers.
1743 (x_kill_gs_process): Recognize if someone has cleared the image
1744 cache under us.
1745 (valid_image_p): Protect better against invalid image
1746 specifications. Previous code could signal an error.
1747 (Fx_hide_tip, Fshow_tip): Doc fix.
1748 (Fv_max_tooltip_size): New variable.
1749 (syns_of_xfns): DEFVAR_LISP it.
1750 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1751 window buffer to *tip* right after creating the frame. Set frame's
1752 window_width. Use a maximum tooltip size specified by
1753 Vx_max_tooltip_size, if that has valid contents.
1754 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1755 Make sure the tooltip is completely visible.
1756 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1757 (Fx_create_frame): Adjust the frame's height for presence
1758 of the tool bar before calling x_figure_window_size.
1759 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1760 when the window gets smaller.
1761 (x_set_foreground_color): Set frame's cursor_pixel.
1762 (x_set_foreground_color, x_set_background_color): Cleaned up.
1763 (x_set_font): Handle case of x_new_fontset returning the same name
1764 as before, although there was a change in fontsets.
1765
386ca361
MB
17662001-10-21 Miles Bader <miles@gnu.org>
1767
c2d53558 1768 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1769 (Flogxor): Add usage: string to doc string.
1770 * charset.c (Fstring): Likewise.
1771 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1772 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1773
14ff1ee0
PJ
17742001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1775
03be2694
PJ
1776 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1777
1778 * alloc.c: Reindent DEFUNs with doc: keywords.
1779
1780 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1781
14ff1ee0
PJ
1782 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1783 keyword].
1784
71431a0e
GM
17852001-10-20 Gerd Moellmann <gerd@gnu.org>
1786
6aa97356 1787 * (Version 21.1 released.)
71431a0e 1788
39f624fa
PJ
17892001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1790
c2d53558 1791 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1792
1793 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1794 0 because unused.
1795
1796 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1797 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1798 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1799
abcce93a
MB
18002001-10-20 Miles Bader <miles@gnu.org>
1801
1802 The following changes remove the glyph_row `inverse_p' field,
1803 which is never set anymore, due to other changes:
1804
1805 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1806 (reassert_line_highlight, change_line_highlight): Declarations removed.
1807 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1808 (line_hash_code, row_equal_p, fake_current_matrices)
1809 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1810 (update_frame_line, update_frame_line, update_frame_line):
1811 Don't use `inverse_p' field.
1812 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1813 change_line_highlight_hook.
1814 (XTreassert_line_highlight, x_change_line_highlight):
1815 Functions removed.
c2d53558 1816 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1817 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1818 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1819 `inverse_p' field.
c2d53558 1820 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1821 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1822 (w32_reassert_line_highlight, x_change_line_highlight):
1823 Functions removed.
1824 * w32console.c (reassert_line_highlight, change_line_highlight):
1825 Functions removed.
1826 (initialize_w32_display): Don't set reassert_line_highlight_hook
1827 or change_line_highlight_hook.
1828 (hl_mode): Function removed.
c2d53558
SM
1829 (reset_terminal_modes, set_terminal_modes, update_begin)
1830 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1831 (clear_frame, ins_del_lines): Don't call it.
1832 * termhooks.h (reassert_line_highlight_hook)
1833 (change_line_highlight_hook): Declarations removed.
1834 * term.c (reassert_line_highlight_hook)
1835 (change_line_highlight_hook): Variables removed.
1836 (reassert_line_highlight, change_line_highlight): Functions removed.
1837 * msdos.c (IT_reassert_line_highlight)
1838 (IT_change_line_highlight): Functions removed.
1839 (internal_terminal_init): Don't set reassert_line_highlight_hook
1840 or change_line_highlight_hook.
1841 (highlight): Variable removed.
c2d53558 1842 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1843 (IT_set_terminal_modes): Don't set or use it.
1844
1845 The following changes remove inverse-video support for terminals
1846 that use a `magic cookie' standout mode. Due to changes in the
1847 way mode-lines are displayed, such support no longer works
1848 anyway, and it's probable that almost no one uses such terminals
1849 anymore:
1850
1851 * term.c (standout_requested): Variable removed.
1852 (update_end, highlight_if_desired): Don't use it.
1853 (chars_wasted, copybuf): Variables removed.
1854 (write_standout_marker): Function removed.
c2d53558 1855 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1856 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1857 Don't use `chars_wasted' or `copybuf'.
1858 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1859 Set `costs_set' to true.
1860 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1861 `chars_wasted'.
1862 (clear_end_of_line): Function removed.
1863 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1864 (clear_to_end): Call `clear_end_of_line' instead of
1865 `clear_end_of_line_raw'.
54800acb
MB
1866 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1867 (term_init): Don't set them.
1868 Turn off any standout/underline modes that require magic cookies.
c2d53558 1869 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1870 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1871 Remove special processing for magic-cookie standout modes.
1872 (turn_off_face, turn_on_face): Remove special processing for
1873 underline magic-cookie glitch.
abcce93a 1874
0b5f679f
RS
18752001-10-19 Richard M. Stallman <rms@gnu.org>
1876
1877 * eval.c (syms_of_eval): Doc fixes.
1878
5a4a5bd4
GM
18792001-10-19 Gerd Moellmann <gerd@gnu.org>
1880
1881 * xdisp.c (redisplay_internal): Don't clear echo area if the
1882 mini-window is selected.
1883
79f1f96c
MB
18842001-10-19 Miles Bader <miles@gnu.org>
1885
b57c2708
MB
1886 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1887 doesn't take precedence if the affected property's value is nil.
1888
1889 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1890
79f1f96c
MB
1891 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1892 with fields and suggest using `forward-line' to avoid them.
1893 * editfns.c (Fline_beginning_position, Fline_end_position):
1894 Clarify documentation.
1895
ef879104
SM
18962001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1897
1898 * keymap.c (current_minor_maps): `override' only shadows its
1899 correspondent in minor-mode-map-alist, not the whole tail.
1900
97f4db8c
AI
19012001-10-18 Andrew Innes <andrewi@gnu.org>
1902
1903 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1904 optimization. The fontp->encoding array was not being initialized
1905 correctly when compiled with optimizations by MSVC.
1906
e6b70fd8
GM
19072001-10-18 Gerd Moellmann <gerd@gnu.org>
1908
30903479 1909 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1910
0e804d38
AI
19112001-10-17 Andrew Innes <andrewi@gnu.org>
1912
1913 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1914
1915 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1916 font_info.charset field.
1917
1918 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1919 rather than working it out by calling w32_codepage_for_font for
1920 every glyph.
1921
66e5868a
AI
19222001-10-17 Andrew Innes <andrewi@gnu.org>
1923
1924 * w32term.c (w32_read_socket): Determine clipping rectangle for
1925 the entire frame, including areas covered by scrollbars and the
1926 menubar. This avoids internal arguments about whether a frame is
1927 fully obscured or not.
1928
15b00083
GM
19292001-10-17 Gerd Moellmann <gerd@gnu.org>
1930
23e8bd86
GM
1931 * xdisp.c (try_window_id): Undo last change. Give up if
1932 window ends in strings.
30903479 1933
9c6ba6d1 1934 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1935 end if the rest of the window after the window end was already blank.
23e8bd86 1936
30903479 1937 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1938 for the release of 21.1.
1939
30903479 1940 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1941
945220bd
MB
19422001-10-17 Miles Bader <miles@gnu.org>
1943
1944 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1945 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1946 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1947 Change doc-string comments to `new style' [w/`doc:' keyword].
1948 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1949 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1950 out make-docfile.
1951
14242528
MB
19522001-10-16 Miles Bader <miles@gnu.org>
1953
1954 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1955
3ddf952f
GM
19562001-10-16 Gerd Moellmann <gerd@gnu.org>
1957
1958 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1959 *scratch*.
1960
f3fbd155
KR
19612001-10-16 Ken Raeburn <raeburn@gnu.org>
1962
1963 Avoid the assumption that car and cdr slots of cons cells are
1964 addressable lvalues; this allows for easier experimentation with
1965 other lisp implementations that may not permit such accesses for
1966 various reasons. Not quite complete -- buffer.c still needs some
1967 work, and w32/mac files need rechecking -- so compile-time
1968 enforcement is left disabled for now.
1969
1970 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1971 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1972 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1973 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1974 (XSETCAR, XSETCDR): New macros.
1975 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1976 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1977 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1978 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1979 XSETCDR.
1980 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1981 * buffer.c (record_buffer, Fbury_buffer)
1982 (swap_out_buffer_local_variables, recenter_overlay_lists)
1983 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1984 fields of a cons cell respectively.
1985 * callint.c (quotify_args, Fcall_interactively): Likewise.
1986 * ccl.c (Fregister_code_conversion_map): Likewise.
1987 * coding.c (detect_coding_system): Likewise.
1988 * composite.c (get_composition_id, make_composition_value_copy):
1989 Likewise.
30903479
SM
1990 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1991 (swap_in_symval_forwarding, set_internal, Fset_default)
1992 (Fmake_variable_buffer_local, Fmake_local_variable)
1993 (Fmake_variable_frame_local): Likewise.
f3fbd155 1994 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1995 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1996 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1997 * minibuf.c (get_minibuffer): Likewise.
1998 * search.c (Fmatch_data): Likewise.
1999 * textprop.c (extend_property_ranges): Likewise.
c2d53558 2000 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
2001 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2002 Likewise.
2003 * w32term.c (x_delete_display): Likewise.
2004 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2005 Likewise.
c2d53558 2006 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 2007 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 2008 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
2009 (Fread_file_name): Use XSETCAR.
2010 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2011 CHECK_NUMBER_CDR.
2012 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2013 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2014 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2015 CHECK_NUMBER_CDR.
2016 * keyboard.c (read_char): Alter list traversal to avoid taking the
2017 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2018 (parse_menu_item): Use XSETCAR and XSETCDR.
2019 (reach_char_x_menu_prompt): Use XSETCAR.
2020 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2021 (Fcommand_execute): Use XSETCDR.
2022 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2023 (openp): Change list traversal to avoid using XCAR as lvalue.
2024 (read_list): Use XSETCDR.
2025 * process.c (wait_reading_process_input): Change wait_for_cell
2026 handling to avoid taking addresses of cons cell slots.
30903479
SM
2027 * xselect.c (x_own_selection, x_handle_selection_clear)
2028 (x_clear_frame_selections): Use XSETCDR.
2029 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2030 (x_handle_property_notify, x_get_foreign_selection)
2031 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2032
502150e5
PJ
20332001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2034
018ba359
PJ
2035 * buffer.c: Put doc strings in comments.
2036
30903479 2037 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2038
b56ba8de
SS
20392001-10-15 Sam Steingold <sds@gnu.org>
2040
2041 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2042
6a0b793a
PJ
20432001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2044
30903479
SM
2045 * process.c (process-inherit-coding-system-flag)
2046 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2047 in comment.
2048
a1f17501 2049 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2050 arguments. Put doc strings in comments.
a65da641
PJ
2051
2052 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2053
aa601ad0
GM
20542001-10-15 Gerd Moellmann <gerd@gnu.org>
2055
30903479 2056 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2057
aa601ad0
GM
2058 * window.c (select_window_1): Unfreeze window start. Remove a
2059 doubled test for WINDOW being live.
2060
288148a1
PJ
20612001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2062
dd8d1e71
PJ
2063 * fns.c (Fmapconcat): Fix typo in a doc string.
2064
288148a1
PJ
2065 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2066
9f5eb4a3
GM
20672001-10-15 Gerd Moellmann <gerd@gnu.org>
2068
2069 * xterm.c (x_draw_glyph_string): Restore clipping after
2070 drawing box.
2071
dbae44c8
PJ
20722001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2073
30903479 2074 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2075
0c88c937
SM
20762001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2077
56378db4
GM
2078 * indent.c (skip_invisible): Use new retval of
2079 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2080
845e4cf4
SM
2081 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2082 If a parent is reached and noinherit is set, exit immediately.
2083 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2084
0c88c937
SM
2085 * s/ms-w32.h (EXEC_SUFFIXES):
2086 * s/msdos.h (EXEC_SUFFIXES):
2087 * process.h (EXEC_SUFFIXES): Remove.
2088
2089 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2090 (decode_suffixes): Remove.
2091
2092 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2093 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2094 (invisible_ellipsis_p): Remove.
0c88c937
SM
2095
2096 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2097 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2098 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2099 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2100 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2101
d19be8a9
PJ
21022001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2103
04d7d066
PJ
2104 * lisp.h (Ftop_level): Add prototype.
2105
d624284c
PJ
2106 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2107 (XTread_socket): Improve style of comments to follow other
2108 comments.
2109
a87414f9
PJ
2110 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2111 is already prototyped in included lisp.h).
2112
d19be8a9
PJ
2113 * frame.c (Fset_mouse_position): Improve style of comment to
2114 follow other comments.
2115 (Fset_mouse_pixel_position): Improve style of comment to follow
2116 other comments.
2117 (Fmake_frame_visible): Doc fix and typo in comment.
2118 (Fmake_frame_invisible): Doc fix and typo in comment.
2119 (Ficonify_frame): Fix typo in comment.
2120
c061c855
GM
21212001-10-14 Gerd Moellmann <gerd@gnu.org>
2122
37f6b5b6 2123 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2124 * term.c, alloc.c: Put doc strings in comments.
c061c855 2125
e641b454
GM
21262001-10-13 Gerd Moellmann <gerd@gnu.org>
2127
2128 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2129 Provide definitions for doc strings in comments.
2130
2131 * fns.c: Put doc strings in comments.
2132
51724e26
EZ
21332001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2134
2135 * dired.c (file_name_completion): Ignore a candidate directory if
2136 it matches an element in completion-ignored-extensions that ends
2137 in a slash.
2138 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2139 feature in the doc string.
2140 (Ffile_name_completion): Ditto.
2141
be5fc59b
SM
21422001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2143
5a1373f3
SM
2144 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2145
2146 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2147
2148 * lisp.h (Fprovide): Update prototype.
2149 (Ffeaturep, invisible_p): Remove.
2150
bbc4a3d3 2151 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2152 (DOLIST, LOOP_PROPVAL): New macros.
2153 (invisible_p, invisible_ellipsis_p): Use them.
2154 (invisible_noellipsis_p): New function.
2155 (syms_of_xdisp): Use empty_string.
2156
2157 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2158
2159 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2160 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2161
2162 * print.c (Fwith_output_to_temp_buffer): Align with
2163 internal_with_output_to_temp_buffer.
2164 (print_preprocess): Use traverse_intervals_noorder.
2165 (print_object): Update call to traverse_intervals.
2166
2167 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2168 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2169
2170 * intervals.c (traverse_intervals_noorder): New function.
2171 (search_for_interval, count_intervals): Use it.
2172 (traverse_intervals): Use less stack space and drop `depth' arg.
2173
2174 * fns.c (Ffeaturep): Add new `subfeature' arg.
2175 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2176 (Qsubfeatures): New var.
2177 (syms_of_fns): Initialize it.
2178
026f408d
SM
2179 * keymap.c (Fkey_description): Use empty_string.
2180 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2181 (syms_of_keymap): Setup inheritance between maps.
2182 Don't export Sdescribe_bindings_internal any more.
2183
be5fc59b
SM
2184 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2185
3365175e
GM
21862001-10-12 Gerd Moellmann <gerd@gnu.org>
2187
2188 * xterm.c (notice_overwritten_cursor): Renamed from
2189 note_overwritten_text_cursor. Rewritten to take glyph widths into
2190 account.
2191
2ab7765c
EZ
21922001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2193
2194 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2195 multi-line strings without a trailing "\n\".
2196
311346bb
PJ
21972001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2198
2199 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2200 defined.
2201
2168e04d
SM
22022001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2203
026f408d
SM
2204 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2205
c0ec53ad
SM
2206 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2207 * w32proc.c (sys_spawnve):
2208 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2209 * w32.c (check_windows_init_file):
2210 * sound.c (Fplay_sound):
026f408d 2211 * emacs.c (init_cmdargs):
c0ec53ad
SM
2212 * process.c (Fstart_process): Update calls to openp.
2213
2214 * callproc.c (Vexec_suffixes): New var.
2215 (Fcall_process): Update call to openp.
2216 (decode_suffixes): New function.
2217 (syms_of_callproc): Init exec-suffixes.
2218
2219 * lread.c (Vload_suffixes, default_suffixes): New vars.
2220 (openp): Take a lisp list of suffixes.
2221 Check for file-name-handlers even if the file was absolute already.
2222 (syms_of_lread): Declare load-suffixes.
2223 (Fload): Fix up call to openp.
2224 Don't bother checking for file-name-handler at the very beginning.
2225
f6333468
SM
2226 * keymap.h (Fcopy_keymap): Don't export.
2227
2228 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2229 (Vload_suffixes, Vexec_suffixes): Declare.
2230 (openp): Update prototype.
f6333468
SM
2231
2232 * emacs.c (empty_string): New var.
2233 (syms_of_emacs): Initialize it.
2234
2235 * search.c (wordify): Use it.
2236
2237 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2238 selected window if it's not displayed there. Handle the case
2239 when the window is dedicated.
2240 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2241
2242 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2243
2168e04d
SM
2244 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2245 Remove left_ok and right_ok.
2246 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2247 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2248 new meaning of b_property.
2249
2250 * syntax.c (update_syntax_table): Simplify.
2251 (Fforward_comment): Don't skip quoted chars when going backward.
2252
13d95cc0
GM
22532001-10-11 Gerd Moellmann <gerd@gnu.org>
2254
beb0990f
GM
2255 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2256 in case I is of some unsigned type, in which case
2257 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2258 comparison becomes bogus.
2259
cb938d46
GM
2260 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2261 (Fuser_full_name): Fix bug treating a float as a fixnum.
2262
2263 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2264
2265 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2266
13d95cc0
GM
2267 * lisp.h (circular_list_error): Add prototype.
2268
2269 * data.c (Qcircular_list): New variable.
2270 (circular_list_error): New function.
2271 (syms_of_data): Initialize it Qcircular_list.
2272
e35f6ff7
SM
22732001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2274
2275 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2276 casefiddle.c, buffer.c: Include keymap.h.
2277
619632ac
GM
22782001-10-10 Gerd Moellmann <gerd@gnu.org>
2279
2280 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2281 options. From Dave Love <d.love@dl.ac.uk>.
2282
5e5388f6
GM
22832001-10-09 Gerd Moellmann <gerd@gnu.org>
2284
2285 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2286 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2287
14a3dff7
GM
2288 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2289 unsigned char.
2290 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2291
76ba8daf
AI
22922001-10-08 Andrew Innes <andrewi@gnu.org>
2293
2294 * lisp.h [max]: Undef min and max before redefining them.
2295
2296 * w32gui.h: Do not undef min and max.
2297
2298 * w32heap.h: Do not undef min and max.
2299
2300 * s/ms-w32.h: Do not undef min and max.
2301
166253cb
SM
23022001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2303
2304 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2305
0c4d9527
SS
23062001-10-08 Sam Steingold <sds@gnu.org>
2307
2308 * keymap.c (current-active-maps): Quote newlines (compilation error).
2309
14bfa771
EZ
23102001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2311
2312 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2313 bindings.elc, since otherwise doc strings in bindings.el get wrong
2314 offsets in etc/DOC.
2315
bdb7aa47
SM
23162001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2317
9985827f
SM
2318 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2319
2320 * keyboard.h (map_prompt): Remove.
2321
2322 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2323 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2324
bdb7aa47
SM
2325 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2326
2327 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2328
2329 * keyboard.c (map_prompt): Remove.
2330 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2331 Use Fkeymap_prompt.
2332
2333 * keymap.h: New file. Extracted from lisp.h.
2334
9985827f
SM
2335 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2336 (accessible_keymaps_1): New function.
2337 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2338 (Fwhere_is_internal): Use Fcurrent_active_maps.
2339 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2340 Insert in current buffer rather than standard-output.
2341 Don't call `help-mode'. Export to elisp.
2342 (describe_buffer_bindings): New wrapper.
2343 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2344 and Sdescribe_buffer_bindings.
2345
402c9a51
GM
23462001-10-08 Gerd Moellmann <gerd@gnu.org>
2347
9985827f 2348 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2349 Remove code setting signal handler.
2350
9985827f 2351 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2352 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2353
3fe81fdf
PJ
23542001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2355
2356 * keyboard.c: Don't define min/max.
2357
55fa7820
GM
23582001-10-08 Gerd Moellmann <gerd@gnu.org>
2359
9985827f 2360 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2361 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2362 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2363 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2364 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2365 Don't define min/max.
2366
2367 * lisp.h (min, max): New macros.
2368
55fa7820
GM
2369 * puresize.h (BASE_PURESIZE): Increase to 725000.
2370
1aad31e4
PJ
23712001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2372
9180dc8c
PJ
2373 * xfaces.c (free_frame_menubar): Add prototype.
2374
01f67d2c
PJ
2375 * lisp.h (init_window): Add prototype.
2376
2377 * editfns.c: Include ctype.h.
2378
2379 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2380 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2381 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2382 variable `sb'.
2383
5f351ff1
PJ
2384 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2385 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2386 `popup_activated_flag' and `title'.
2387
479dfe87
PJ
2388 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2389
dff49fc8
PJ
2390 * emacs.c (main): Remove extra `;'.
2391
248ac615
PJ
2392 * atimer.h (struct atimer): Fix typos in a comment.
2393
2394 * atimer.c: Fix typo.
2395
af232c7d
PJ
2396 * Makefile.in: Fix typo.
2397
2398 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2399
d876f455
MB
24002001-10-07 Miles Bader <miles@gnu.org>
2401
2402 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2403
0037e2f2
KR
24042001-10-07 Ken Raeburn <raeburn@gnu.org>
2405
b056f36d
KR
2406 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2407 Lisp_Object.
2408
0037e2f2
KR
2409 * lisp.h (Ffield_end): Declare.
2410
1a4372ef
GM
24112001-10-07 Gerd Moellmann <gerd@gnu.org>
2412
a4a74e8c
GM
2413 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2414
2415 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2416
2417 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2418
2419 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2420
1a4372ef
GM
2421 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2422 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2423
2424 * alloc.c (inhibit_garbage_collection): Simplify.
2425 (Fmemory_use_counts): Ditto.
2426
9985827f 2427 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2428 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2429 most-negative-fixnum.
2430
9985827f 2431 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2432 (FIXNUM_OVERFLOW_P): New macros.
2433
4650e362
MB
24342001-10-06 Miles Bader <miles@gnu.org>
2435
2436 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2437 scroll_bar_bottom_shadow_pixel fields.
2438 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2439 for the shadows, and tell the toolkit about them if we succeed.
2440 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2441 Free scroll-bar shadow colors.
2442 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2443 Free scroll-bar shadow colors when the background color changes.
2444 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2445 Initialize scroll-bar shadow-color fields.
2446
ace64e0a
GM
24472001-10-05 Gerd Moellmann <gerd@gnu.org>
2448
2449 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2450
ec66bdc7
MB
24512001-10-05 Miles Bader <miles@gnu.org>
2452
9985827f
SM
2453 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2454 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2455 New functions (were in simple.el).
9985827f 2456 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2457 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2458 (syms_of_minibuf): Initialize them.
2459
a0fb4492
GM
24602001-10-05 Gerd Moellmann <gerd@gnu.org>
2461
2462 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2463 (tiff_load): Install them as error and warning handler.
2464
0bcf87c1
AI
24652001-10-04 Andrew Innes <andrewi@gnu.org>
2466
2467 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2468 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2469 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2470 (x_to_w32_charset): Handle private format for unknown charsets.
2471 Handle wildcards in charset spec, by ignoring them.
2472 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2473 "*-" prefix from charset.
2474 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2475 handle the truncated font spec form constructed by font_list_1, so
2476 that we correctly identify the charset fields. Don't remove "*-"
2477 prefix from charset.
2478 (w32_list_synthesized_fonts): Fix argument to alloca.
2479
c89e4bc5
GM
24802001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2481
2482 * window.h (MINI_WINDOW_P): Use NILP.
2483
2484 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2485
2486 * termhooks.h (struct input_event): Use proper type for `kind'.
2487
24882001-10-04 Gerd Moellmann <gerd@gnu.org>
2489
2490 This handles unknown keysyms better than before. For example,
2491 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2492 Emacs formerly completely ignored F5. With the change, it derives
2493 a key symbol from the name of the X keysym, `ccaron' in this case.
2494 Reported by Martin Buchholz.
2495
2496 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2497 unknown keysyms.
2498
2499 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2500 that EVENT->code isn't a function key, use the keysym's name.
2501
25022001-10-04 Gerd Moellmann <gerd@gnu.org>
2503
2504 FOREACH is a macro that should make it easier to loop over Lisp
2505 lists with checks for cycles and proper lists.
2506
2507 * lisp.h (LIST_END_P, FOREACH): New macros.
2508
25092001-10-04 Gerd Moellmann <gerd@gnu.org>
2510
2511 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2512 called for a lost connection. Prevent dumping core in this case.
2513 Instead print the X error, and exit. On user request.
2514
2515 * xterm.c (error_msg): New variable.
2516 (x_fatal_error_signal): New function.
2517 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2518 as fatal_error_signal_hook around the call to XtCloseDisplay.
2519
2520 * emacs.c (fatal_error_signal_hook): New variable.
2521 (fatal_error_signal): Call that function.
2522
25232001-10-04 Gerd Moellmann <gerd@gnu.org>
2524
2525 With this, Emacs prints how much pure storage it will
2526 approximately need in case pure storage overflows while dumping.
2527
2528 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2529 New variables.
2530 (init_alloc_once): Initialize new variables.
2531 (PURE_POINTER_P): Use new variables.
2532 (pure_alloc): If pure storage overflows, allocate from the heap.
2533 (check_pure_size): New function.
2534 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2535
2536 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2537 (check_pure_size): Add prototype.
2538
2539 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2540
25412001-10-04 Gerd Moellmann <gerd@gnu.org>
2542
2543 This adds a post-gc-hook that's run with GC inhibited.
2544 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2545
2546 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2547 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2548 (Fgarbage_collect): Run post-gc-hook.
2549
25502001-10-04 Gerd Moellmann <gerd@gnu.org>
2551
2552 This adds `defvaralias' and `indirect-variable'. Changes not
2553 directly related to this feature are there to gain the same
2554 performance again as before variable aliases.
2555
2556 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2557 code to get and set symbol values, to take defvaralias into account.
2558
2559 (Note: the new `constant' bit-flag in symbols would make it
2560 possible to define arbitrary read-only variables, e.g. with
2561 `defconst'.)
2562
2563 Documentation is in lispref/variables.texi. Added to NEWS.
2564
2565 * lisp.h (enum symbol_interned): New enumeration.
2566 (struct Lisp_Symbol): Remove member `obarray', add
2567 `indirect_variable', `constant', and `interned'.
2568 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2569 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2570 (indirect_variable): Add prototype.
2571
2572 * print.c (print_preprocess, print_object): Test internedness of
2573 symbols differently.
2574
2575 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2576 bit-fields.
2577 (init_obarray): Likewise for t and nil.
2578
2579 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2580 (Fdefvaralias): New function.
2581 (specbind): Simplify the test if symbol is a constant.
2582 (syms_of_eval): Defsubr Fdefvaralias.
2583
2584 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2585 (Qcyclic_variable_indirection): New variable.
2586 (Fkeywordp): Check for internedness differently.
2587 (Fmakunbound): Simplify the test if symbol is a constant.
2588 (indirect_variable, Findirect_variable): New functions.
2589 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2590 aliased symbol.
2591 (let_shadows_buffer_binding_p): Check for variable aliases.
2592 (set_internal): Simplify the test if SYMBOL is a constant.
2593 If SYMBOL has a buffer-local value and is an alias, use the aliased
2594 symbol instead.
2595 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2596 Sindirect_variable.
2597
2598 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2599 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2600 set directly.
2601
2602 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2603
2604 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2605 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2606 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2607
ab952a4f
GM
26082001-10-04 Gerd Moellmann <gerd@gnu.org>
2609
2610 * Branch for 21.1.
b56ba8de 2611
ba88ff28
MB
26122001-10-03 Miles Bader <miles@gnu.org>
2613
2614 * callproc.c (syms_of_callproc): Explicitly state in the
2615 documentation for `process-environment' that earlier entries take
2616 precedence over later ones.
2617
ae1a9581
MB
26182001-10-02 Miles Bader <miles@gnu.org>
2619
2620 * textprop.c (Fnext_char_property_change)
2621 (Fprevious_char_property_change): Remove reference to non-existant
2622 argument OBJECT from doc-string.
2623
257e3f57
GM
26242001-10-01 Gerd Moellmann <gerd@gnu.org>
2625
2626 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2627 (try_window_id): Skip back over lines ending in a newline from a
2628 string.
2629
2630 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2631 New bit flag
2632
c1f29759
RS
26332001-10-01 Richard M. Stallman <rms@gnu.org>
2634
2635 * search.c (Freplace_match): Doc fix.
2636
c30dce3d
AI
26372001-09-28 Andrew Innes <andrewi@gnu.org>
2638
2639 * w32menu.c (set_frame_menubar): Take into account that
2640 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2641 <raeburn@gnu.org>.
2642
03be5931
EZ
26432001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2644
2645 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2646
75bec752
PJ
26472001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2648
2649 * s/gnu-linux.h: Fix a typo in comment.
2650
83100e0a
AS
26512001-09-28 Andreas Schwab <schwab@suse.de>
2652
2653 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2654 nocombreloc, in case -z combreloc is the default.
2655
a74b48cf
GM
26562001-09-28 Gerd Moellmann <gerd@gnu.org>
2657
2658 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2659 really going on here.
2660
09c4719e
SM
26612001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2662
2663 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2664
f7d5d963
EZ
26652001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2666
2667 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2668 utf-8, menu-bar, and latin-N.
2669 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2670 unconditionally now.
2671 (lisp): Add latin-N, since they are preloaded.
2672
9240e746
GM
26732001-09-27 Gerd Moellmann <gerd@gnu.org>
2674
14531065
GM
2675 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2676 to the left. Some cleanup.
2677
9240e746
GM
2678 * xdisp.c (display_mode_element): One more case where a string's
2679 multibyteness should be used for display.
2680
edd1e654
GM
26812001-09-26 Gerd Moellmann <gerd@gnu.org>
2682
b02439c8
GM
2683 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2684 reading at EOF.
2685
032906b1 2686 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2687 of the only temporarily set echoing flag for deciding when
032906b1
GM
2688 the cancel echoing.
2689
2690 * keyboard.c (echo_kboard): Make externally visible.
2691
2692 * lisp.h (echo_kboard): Declare extern.
2693
cb617e7c 2694 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2695 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2696 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2697 this round of redisplay if make_cursor_line_fully_visible fails.
2698 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2699 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2700
2701 * dispextern.h (required_matrix_width, required_matrix_height):
2702 Add prototypes.
2703
09c4719e
SM
2704 * dispnew.c (required_matrix_width, required_matrix_height):
2705 New functions.
cb617e7c 2706 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2707 (allocate_matrices_for_frame_redisplay: Use them.
2708 Remove parameters CH_DIM.
cb617e7c 2709
edd1e654
GM
2710 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2711 and selected_window to the frame of the window whose mode-lines
2712 are displayed, and to the window itself.
2713 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2714 here.
edd1e654 2715
924b604c
GM
27162001-09-25 Gerd Moellmann <gerd@gnu.org>
2717
daba7643
GM
2718 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2719 the image cache under us.
2720
b7a22712 2721 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2722 with a string value, use that string's multibyteness for displaying.
b7a22712 2723
ad648212
GM
2724 * keyboard.c (read_char): Don't clear a message for a switch-frame
2725 event. From Stefan Monnier <monnier@cs.yale.edu>.
2726
9f8531e5
GM
2727 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2728 version for after 21.1.
2729
2730 * xdisp.c (row_containing_pos): Make externally visible.
2731
2732 * dispextern.h (row_containing_pos): Add prototype.
2733
924b604c
GM
2734 * process.c (send_process): Disable composition if from_byte < 0.
2735 From Kenichi Handa <handa@etl.go.jp>.
2736
6f3f0db4
GM
27372001-09-24 Gerd Moellmann <gerd@gnu.org>
2738
c69c0ebc
GM
2739 * xterm.c (refreshicon): Function removed.
2740
d1182bc4
GM
2741 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2742
2743 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2744
2745 * xterm.c (toplevel): Remove includes in #if 0.
2746
6f3f0db4
GM
2747 * process.c (sigchld_handler) [LINUX]: Don't return from
2748 the signal handler at the end of the loop.
2749
59957f85
GM
27502001-09-21 Gerd Moellmann <gerd@gnu.org>
2751
09c4719e
SM
2752 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2753 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2754
a0528984
EZ
27552001-09-21 Markus Rost <rost@math.ohio-state.edu>
2756
2757 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2758
db92b288
GM
27592001-09-20 Gerd Moellmann <gerd@gnu.org>
2760
3fed8ad5
GM
2761 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2762 since this function can be called during GC.
2763
db92b288
GM
2764 * callproc.c (Fcall_process): Handle errors from pipe(2).
2765 (child_setup): Delete code in #ifdef vipc.
2766
7121b85a
GM
27672001-09-19 Gerd Moellmann <gerd@gnu.org>
2768
72f62cb5
GM
2769 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2770 (display_mode_element): Display the string from decode_mode_spec
2771 depending on its multibyteness.
2772
a2697022
GM
2773 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2774
7121b85a
GM
2775 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2776
bfc97351
GM
27772001-09-18 Gerd Moellmann <gerd@gnu.org>
2778
c9063433
GM
2779 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2780 recursive_edit_unwind.
2781 (recursive_edit_unwind): Set kboard state according to
2782 SINGLE-KBOARD.
2783
3fbdba3e
GM
2784 * buffer.c (modify_overlay): Don't do nothing if START == END;
2785 This can still be a modification, for example when an overlay has
2786 a before-string or after-string.
2787 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2788 an overlay with before-string or after-string.
2789
1270031d
GM
2790 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2791 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2792
bfc97351
GM
2793 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2794 first_unchanged_at_end_row is in front of
2795 last_unchanged_at_beg_row. This code should be removed after the
2796 release of 21.1.
2797
d8a973aa
GM
27982001-09-17 Gerd Moellmann <gerd@gnu.org>
2799
e18c8b8d
GM
2800 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2801 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2802
d8a973aa
GM
2803 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2804 versions >= 2.95.
2805
ed7d6ba4
EZ
28062001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2807
2808 * dired.c (Ffile_attributes): Doc fix.
2809
551629f9
GM
28102001-09-14 Gerd Moellmann <gerd@gnu.org>
2811
2812 * fileio.c (Ffile_symlink_p): Fix last change.
2813
2814 * filelock.c (current_lock_owner): Fix last change.
2815
4c8c7926
GM
28162001-09-13 Gerd Moellmann <gerd@gnu.org>
2817
620c4704
GM
2818 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2819 take that to mean that the buffer is too small.
2820
81c3310d
GM
2821 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2822 that to mean that the buffer is too small.
2823
06fd3792
GM
2824 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2825 current buffer's multibyteness when discarding the iterator's
2826 stack.
2827
4c8c7926
GM
2828 * xfns.c (Fx_window_property): Handle case that property gets
2829 deleted between the two calls to XGetWindowProperty.
2830
9a72e4c1
GM
28312001-09-11 Gerd Moellmann <gerd@gnu.org>
2832
bd819d14 2833 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2834
a41edd99
GM
2835 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2836 in addition to read-only.
2837
2838 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2839 to t in addition to read-only.
2840
2841 * lisp.h (Qinhibit_modification_hooks): Declare.
2842
2843 * insdel.c (Qinhibit_modification_hooks): New variable.
2844 (syms_of_insdel): Initialize and staticpro it.
2845
d4881c6a
GM
2846 * textprop.c (verify_interval_modification): Don't run
2847 modification-hooks if inhibit_modification_hooks.
2848
2849 * dispnew.c (set_window_cursor_after_update): Fix code
2850 finding glyph row containing cursor when cursor_in_echo_area
2851 is >= 0.
2852
9a72e4c1
GM
2853 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2854 (add_to_log): Use bcopy instead of strcpy.
2855 (init_from_display_pos): Use an explicit loop over bytes in
2856 overlay strings instead of calling index.
2857
f4a374a1
GM
28582001-09-10 Gerd Moellmann <gerd@gnu.org>
2859
300e57bd
GM
2860 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2861
2862 * dispnew.c (direct_output_for_insert): Don't change IT's
2863 stop_charpos to something in front of its current position.
2864
f4a374a1
GM
2865 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2866 `format'.
2867
7e4cbc91
RS
28682001-09-10 Richard M. Stallman <rms@gnu.org>
2869
2870 * frame.c (Fmouse_position): Doc fix.
2871
6afad91e
GM
28722001-09-07 Gerd Moellmann <gerd@gnu.org>
2873
2874 * xdisp.c (init_from_display_pos): Don't compare the result
2875 of calling index with NULL.
2876
f76e0368
GM
28772001-09-06 Gerd Moellmann <gerd@gnu.org>
2878
2879 * xfns.c (x_set_background_color): Don't change the colors
2880 of the X window of scroll bar widgets.
2881
9ead1b60
AI
28822001-09-05 Andrew Innes <andrewi@gnu.org>
2883
2884 * w32fns.c (w32_createwindow): Undo last change.
2885
c3b497b3
GM
28862001-09-05 Gerd Moellmann <gerd@gnu.org>
2887
08e1d6df
GM
2888 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2889
c3b497b3
GM
2890 * xdisp.c (string_buffer_position): Use *single_char_property*
2891 functions instead of the *single_property* functions.
b56ba8de 2892
8f860180
AI
28932001-09-04 Andrew Innes <andrewi@gnu.org>
2894
9a72e4c1
GM
2895 * w32term.c (w32_read_socket): Add more information to debugging
2896 output.
8f860180
AI
2897
2898 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2899 from Emacs frames, so that calls to GetClipBox in w32term.c
2900 correctly report when part of a frame is visible (including
2901 scrollbars, etc). This prevents repeated redrawing of frames when
2902 only a scrollbar is visible.
2903 (w32_wnd_proc): Add more frame information to debugging output.
2904
2ee1aa00
SM
29052001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2906
2907 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2908
e3b22517
GM
29092001-09-03 Gerd Moellmann <gerd@gnu.org>
2910
7e376260
GM
2911 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2912 help-echo for a string which doesn't have help-echo itself, use
2913 get-char-property to obtain the help-echo from the string's buffer
2914 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2915 have mouse-face, look ``under'' the string for mouse-face from an
2916 overlay.
2917 (fast_find_position): Add parameter STOP. In the final row, stop
2918 before glyphs having STOP as object. Don't consider glyphs that
2919 are not from a buffer.
2920
e3b22517
GM
2921 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2922
9a249bba
EZ
29232001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2924
2925 * fns.c (Fmd5): Doc fix.
2926
c9979669
GM
29272001-08-31 Gerd Moellmann <gerd@gnu.org>
2928
2929 * composite.c (update_compositions): Do nothing if
2930 inhibit-modification-hooks is set.
2931
9584e63a
GM
29322001-08-30 Gerd Moellmann <gerd@gnu.org>
2933
986ec8f2 2934 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2935 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2936 glyph matrices etc. in a core dump.
2937
92a25631
GM
2938 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2939 (syms_of_xdisp): Initialize them.
2940 (handle_single_display_prop): Don't change point, bind `object',
2941 `position', and `buffer-position' instead to the object having the
2ee1aa00 2942 `display' property, position in the object and position in the buffer.
92a25631 2943
9584e63a
GM
2944 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2945 of the buffer if REPLACE is non-nil.
2946
d38633a3
GM
29472001-08-29 Gerd Moellmann <gerd@gnu.org>
2948
2949 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2950
f4fccc1e
EZ
29512001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2952
2953 * w32term.c (x_set_glyph_string_background_width)
2954 (show_mouse_face): Track the last changes in xterm.c.
2955
eaaa65b0
GM
29562001-08-28 Gerd Moellmann <gerd@gnu.org>
2957
7b0870b2
GM
2958 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2959 string's background width so that multi-line mouse-face is drawn
2960 to the right edge of the window.
2961 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2962 glyphs.
2963
6b6e2422 2964 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2965 before inserting/writing glyphs.
6b6e2422 2966
eaaa65b0
GM
2967 * xdisp.c (display_mode_element): Use string_byte_to_char to
2968 determine character positions in strings, use chars_in_text
2969 instead of strwidth.
2970 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2971 a matrix as parameter; this is easier to use from GDB.
2972
9ad62cf8
MB
29732001-08-28 Miles Bader <miles@gnu.org>
2974
2ee1aa00
SM
2975 * textprop.c (Fprevious_single_char_property_change)
2976 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2977
32171635
GM
29782001-08-27 Gerd Moellmann <gerd@gnu.org>
2979
47d57b22
GM
2980 * fileio.c (Finsert_file_contents): Allocate, restore, and
2981 free composition data in the case of REPLACE not being nil.
2982
2983 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2984 there exist overlay strings with newlines at POS.
2985 (text_outside_line_unchanged_p): Return 0 if changes start at
2986 START and overlays exist at START. Likewise for END.
2987 (try_window_id): Give up if init_to_row_end returns 0.
2988
32171635
GM
2989 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2990 unconditionally.
2991
e1249666
GM
29922001-08-24 Gerd Moellmann <gerd@gnu.org>
2993
33954c45
GM
2994 * keymap.c (access_keymap): Return the cdr of the binding of
2995 a generic character instead of its definition (KEY . BINDING).
2996
e1249666
GM
2997 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2998 to 0 also in the REPLACE case.
2999
fb4c6c96
AC
30002001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3001
3002 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3003 open to determine whether file is readable (as for DOS_NT).
3004
59ecf80b
GM
30052001-08-23 Gerd Moellmann <gerd@gnu.org>
3006
3007 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3008 coding.type is coding_type_no_conversion or coding_type_raw_text,
3009 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3010 non-nil instead of just setting enable_multibyte_characters in the
3011 buffer to nil.
3012
40e33037
GM
30132001-08-22 Gerd Moellmann <gerd@gnu.org>
3014
374388c3
GM
3015 * dispextern.h (struct face_cache): Add member
3016 menu_face_changed_p.
3017
3018 * xfaces.c (menu_face_changed_default): New variable.
3019 (menu_face_changed_count): Variable removed.
3020 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3021 the menu_face_changed_default flag, otherwise set the FRAME's
3022 menu_face_changed_p flag if the `menu' face has been changed.
3023 Prevent calling set_font_frame_param if FRAME is t.
3024 (make_face_cache): Initialize cache's menu_face_changed_p
3025 from menu_face_changed_default.
3026 (realize_basic_faces): Look into the frame's face cache to
3027 determine if the menu appearance needs updating.
3028
40e33037
GM
3029 * keymap.c (access_keymap): Fix last change to not consider
3030 IDX when it has modifiers.
3031
859ea4b8
GM
30322001-08-21 Gerd Moellmann <gerd@gnu.org>
3033
3034 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3035 . BINDING) exists, where GENERIC-CHAR is the generic character of
3036 the charset of IDX, return BINDING unless there exists a binding
3037 for IDX itself.
3038
e8660d73
GM
30392001-08-16 Gerd Moellmann <gerd@gnu.org>
3040
cca1b1d7
GM
3041 * xrdb.c (SYSV): Don't define on Solaris 2.
3042 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3043
e8660d73 3044 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3045 of the screen line, not text line, containing IT's current position.
e8660d73 3046
93aba6fc
GM
30472001-08-15 Gerd Moellmann <gerd@gnu.org>
3048
288d4e06
GM
3049 * window.c (window_scroll_pixel_based): Don't recenter if
3050 PT is partially visible in the window.
3051
3452efc2
SM
3052 * xterm.c (expose_window_tree, expose_window, expose_line):
3053 Return 1 when overwriting mouse-face.
82f053ab
GM
3054 (expose_frame): If mouse-face was overwritten, redo it.
3055
93aba6fc
GM
3056 * xfaces.c (x_update_menu_appearance): Don't call
3057 set_frame_menubar, let the next redisplay do it.
3058
858a55c1
AI
30592001-08-14 Andrew Innes <andrewi@gnu.org>
3060
3061 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3062 drawing glyph string.
3063
3a990b67
EZ
30642001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3065
3066 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3067 running HI-UX/MPP.
3068
04386463
GM
30692001-08-14 Gerd Moellmann <gerd@gnu.org>
3070
3071 * xfaces.c (x_update_menu_appearance): Save and restore value of
3072 interrupt_input_blocked.
3073
3e6385a4
GM
30742001-08-13 Gerd Moellmann <gerd@gnu.org>
3075
b0e619b4
GM
3076 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3077 a line start, move back to the line start.
3452efc2 3078
0de73d5a
GM
3079 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3080 exactly when a mini-buffer is active.
3081
3e6385a4
GM
3082 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3083 in units of 1/8 character on non window-system frames.
3084 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3085
d1b5f629
EZ
30862001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3087
3088 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3089 a doc string.
3090
eaa2319f
GM
30912001-08-09 Gerd Moellmann <gerd@gnu.org>
3092
8e3189f0
GM
3093 * keyboard.c (Vpre_help_message): New variable.
3094 (syms_of_keyboard): Initialize and staticpro it.
3095 (show_help_echo): Record current message before displaying a
3096 help-echo, and restore that message when clearing the help.
3097
eaa2319f
GM
3098 * xfns.c (x_create_im): Remove prototype.
3099
3100 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3101
3102 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3103
eaa2319f
GM
31042001-08-08 Gerd Moellmann <gerd@gnu.org>
3105
3106 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3107 windows whose height has changed, disable partially visible lines.
eaa2319f 3108
17fdcfc8
GM
31092001-08-07 Gerd Moellmann <gerd@gnu.org>
3110
22d01aed 3111 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3112 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3113
17fdcfc8
GM
3114 * xdisp.c (start_display): Don't try to determine the continuation
3115 lines width if lines are truncated. It's superfluous and leads to
3116 incorrect results if POS is not visible in the window after
3117 reseating the iterator at the previous line start.
3118
8e3fe78e
GM
31192001-08-06 Gerd Moellmann <gerd@gnu.org>
3120
3121 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3122
98a8938c
GM
31232001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3124
3125 * alloc.c (init_stack): Remove declaration.
3126
18f9986a
GM
31272001-08-03 Gerd Moellmann <gerd@gnu.org>
3128
5e1f85e0
GM
3129 * keyboard.c (read_key_sequence): Check that key is an integer
3130 before comparing it with quit_char.
3131 (add_command_key): Use larger_vector.
3132 (read_char_x_menu_prompt): Instead of converting symbol and
3133 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3134 which cannot be confused with valid events.
5e1f85e0
GM
3135 (read_char): When reading from Vunread_command_events, check for
3136 events of the form (EVENT . disabled) instead of
3137 (EVENT . nil).
3138
18f9986a
GM
3139 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3140 a float, determine the max height from the frame's height.
3141
fbc7f2a6
GM
31422001-08-02 Gerd Moellmann <gerd@gnu.org>
3143
3144 * xdisp.c (redisplay_internal): Take message_cleared_p into
3145 account only if minibuf_level == 0.
3146
81b1a79d
GM
31472001-08-01 Gerd Moellmann <gerd@gnu.org>
3148
e5c60873
GM
3149 * xdisp.c (redisplay_internal): Add a check for the last
3150 displayed message.
3452efc2 3151
6e019995
GM
3152 * xdisp.c (message_cleared_p): New variable.
3153 (clear_message): Set message_cleared_p when clearing the current
3154 message.
3155 (redisplay_internal): Look at message_cleared_p to capture
3156 the case that the echo area should be cleared.
3157
308a74d8
GM
3158 * keyboard.c (command_loop_1): Fix spelling of
3159 resize_echo_area_exactly.
3160
3452efc2 3161 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3162
3163 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3164
81b1a79d
GM
3165 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3166 current matrix when the window gets smaller.
3167
ada329e6
EZ
31682001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3169
3170 * print.c (strout): Cast the character passed to insert_char to
3171 unsigned char, to avoid sign extension when it is promoted to int.
3172
ed86208c
GM
31732001-07-31 Gerd Moellmann <gerd@gnu.org>
3174
3175 * fileio.c (Finsert_file_contents): Don't treat a return value
3176 of 0 from emacs_read as an IO error.
3177
6594ac22
GM
31782001-07-30 Gerd Moellmann <gerd@gnu.org>
3179
cef68af5
GM
3180 * keyboard.c (abs): New macro.
3181 (double_click_fuzz): New variable.
3182 (make_lispy_event): Use it to determine what makes a double-click.
3183 (syms_of_keyboard): DEFVAR_INT it.
3184
6594ac22
GM
3185 * xmenu.c (set_frame_menubar): Take into account that
3186 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3187 <raeburn@gnu.org>.
3188
75c5350a
GM
31892001-07-27 Gerd Moellmann <gerd@gnu.org>
3190
3191 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3192
3193 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3194 of row's visible height.
3195
3196 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3197 deal with the first overlay string having an image `display' property.
3198 (try_window_reusing_current_matrix, compute_line_metrics):
3199 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3200 row is invisible above and part of the row is at the same time
3201 invisible below the window.
3202
ac49effe
GM
32032001-07-26 Gerd Moellmann <gerd@gnu.org>
3204
3205 * xfns.c (x-show-tip): Doc fix.
3452efc2 3206
ac49effe
GM
3207 * xfns.c (Vx_max_tooltip_size): New variable.
3208 (syms_of_xfns): DEFVAR_LISP it.
3209 (Fx_show_tip): Set frame's window_width to the width of the
3210 window. Use a maximum tooltip size specified by
3211 Vx_max_tooltip_size, if that has valid contents.
3212 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3213
8c3b00cb
AI
32142001-07-26 Andrew Innes <andrewi@gnu.org>
3215
3216 * w32term.c (x_display_list): New variable.
3217 (w32_term_init): Set it.
3218
3219 * w32term.h (x_display_list): New extern.
3220
16098288
GM
32212001-07-26 Gerd Moellmann <gerd@gnu.org>
3222
3223 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3224 is non-nil, instead of when redisplaying_p is non-zero.
3225 See comment there.
16098288
GM
3226 (mark_window_display_accurate_1): Add an assertion.
3227
64c5be50
GM
32282001-07-25 Gerd Moellmann <gerd@gnu.org>
3229
e743f599
GM
3230 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3231
563b384d
GM
3232 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3233 events so that we get a chance of processing expose events.
3234
64c5be50
GM
3235 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3236
296808a5
GM
32372001-07-24 Gerd Moellmann <gerd@gnu.org>
3238
3239 * xfns.c (valid_image_p): Protect better against invalid image
3240 specifications. Previous code could signal an error.
3241
5247262a
GM
32422001-07-23 Gerd Moellmann <gerd@gnu.org>
3243
3452efc2 3244 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3245 presence of display table entries.
3246 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3247
dd42b31a
GM
3248 * dispnew.c (adjust_glyph_matrix): In the optimization for
3249 windows whose height has changed, use the new window height
3250 to compute which rows to invalidate.
3251
9e5a7f2a
GM
3252 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3253 (MAX_10_EXP): New macro.
3254 (Fformat): Use it.
3255
5247262a
GM
3256 * coding.c (code_convert_region): Handle the multibyte case if
3257 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3258
177ab8ce
GM
32592001-07-20 Gerd Moellmann <gerd@gnu.org>
3260
6e07c0a5
GM
3261 * dispextern.h (struct face): Change type of `stipple' to
3262 int; it's an ID.
3263
177ab8ce
GM
3264 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3265
b5b80599
GM
32662001-07-19 Gerd Moellmann <gerd@gnu.org>
3267
4e2a256b
GM
3268 * dispnew.c (update_window): Don't set the cursor at the end
3269 of the update if display update has been paused.
3270
3452efc2 3271 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3272
c1fd9232
KR
32732001-07-18 Ken Raeburn <raeburn@gnu.org>
3274
3275 * fns.c (Fset_char_table_default): Check that a charset is defined
3276 before checking its dimension.
3277
928a85c1
KR
32782001-07-17 Ken Raeburn <raeburn@gnu.org>
3279
3280 * coding.c (setup_coding_system): Don't do any designation based
3281 on reg_bits if charset is not yet defined.
3282
fb4c6c96 3283 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3284 pointer, using eassert.
3285
de11c1ea
GM
32862001-07-17 Gerd Moellmann <gerd@gnu.org>
3287
3452efc2
SM
3288 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3289 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3290
467f1209
GM
32912001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3292
3293 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3294
c3d6be34
GM
32952001-07-16 Gerd Moellmann <gerd@gnu.org>
3296
c1d61a7d
GM
3297 * fileio.c (unwind_read): Function removed.
3298 (read_non_regular, read_non_regular_quit): New functions.
3299 (Finsert_file_contents): When reading from non-regular files,
3300 arrange to catch a `quit' and terminate the loop. Rearrange
3301 code so that a `quit' when reading from a regular file doesn't
3302 insert text in the buffer.
3303
c3d6be34
GM
3304 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3305 Clear faces afterwards.
3306 (clear_font_table): Take a x_display_info parameter. Don't free
3307 fonts being the default font of any frame on the given display.
3308
e06aa1f9
GM
33092001-07-13 Gerd Moellmann <gerd@gnu.org>
3310
3311 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3312 instead of CHAR_STRING which can signal an error.
3313
3314 * charset.c (char_to_string_1): Extracted from char_to_string.
3315 Return -1 instead of signaling an error.
3316 (char_to_string): Use it.
3317
3318 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3319
176c92e6
SM
33202001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3321
3322 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3323 is t, don't try to append anything to it.
3324
1c56232f
EZ
33252001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3326
3327 * dired.c (file_name_completion): Pass dp->d_name to
3328 Fstring_match, not elt, which is always nil here.
3329
1d2b2268
GM
33302001-07-12 Gerd Moellmann <gerd@gnu.org>
3331
3332 * xselect.c (x_decline_selection_request): Handle errors
3333 caused by receivers that have vanished.
3334
3335 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3336 ignoring events on foreign windows in #if 0. Always dispatch
3337 the event after checking it with x_handle_property_notify.
3338
3339 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3340 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3341 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3342 (toplevel): Add prototypes for file-local functions.
3343 (x_atom_to_symbol): Remove DPYINFO parameter.
3344
fe5a0162
SM
33452001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3346
3347 * w32menu.c (menubar_selection_callback, w32_menu_show):
3348 Initialize `entry' to nil.
3349 (w32_dialog_show): Remove unused `save_wv' variable.
3350 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3351
a777242c
GM
33522001-07-11 Gerd Moellmann <gerd@gnu.org>
3353
8ee5b6a3
GM
3354 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3355
d0e2444e
GM
3356 * fileio.c (unwind_read): Print a message when discarding inserted
3357 text or switching the buffer to unibyte. Change parameter.
3358 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3359
a777242c
GM
3360 * fileio.c (unwind_read): New function.
3361 (Finsert_file_contents): Record it as unwind-function for
3362 the case that reading is interrupted by C-g.
3363
ae794295
GM
33642001-07-10 Gerd Moellmann <gerd@gnu.org>
3365
fe5a0162 3366 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3367 update when scrolling_window returns 0.
3368
6b05fae3
GM
3369 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3370
3371 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3372 for the case that x_decode_color signals an error.
6b05fae3 3373
ae794295
GM
3374 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3375
bb6e8cee
GM
33762001-07-09 Gerd Moellmann <gerd@gnu.org>
3377
3378 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3379 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3380 around ioctls.
3381
36b40a8a
EZ
33822001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3383
24b97d4b
EZ
3384 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3385 doc string line for dos-timezone-offset.
3386
36b40a8a
EZ
3387 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3388 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3389 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3390 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3391
3392 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3393
0967b4b0
GM
33942001-07-05 Gerd Moellmann <gerd@gnu.org>
3395
f25cfe53
GM
3396 * sound.c: Include Emacs' header files with #include "...".
3397
0967b4b0
GM
3398 * eval.c (specbind): Additionally record the buffer that was
3399 current when a buffer-local or frame-local variable was bound.
3400
c347a1c3
GM
34012001-07-04 Gerd Moellmann <gerd@gnu.org>
3402
3403 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3404 to unibyte characters in unibyte buffers.
3405
6332ca8a
GM
34062001-07-03 Gerd Moellmann <gerd@gnu.org>
3407
38472d44
GM
3408 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3409 the frame on the binding stack. Change format of entries for
3410 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3411 (unbind_to): Handle unbinding a frame-local variable.
3412
6332ca8a 3413 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3414 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3415 (dump_glyph_row): Print row's continuation_lines_width.
3416 (try_window_id): Take the shortcut if ZV is visible in the
3417 window, but there are actually no changes at ZV.
3418
63d1b174
GM
34192001-07-02 Gerd Moellmann <gerd@gnu.org>
3420
4c175203
GM
3421 * xterm.h (x_free_dpy_colors): Add prototype.
3422
3423 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3424 right number of arguments.
3425
0b54ce28
GM
3426 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3427 ($(lwlibdir)TAGS): New target.
4c175203 3428 (TAGS): Fix dependency list.
0b54ce28 3429
63d1b174
GM
3430 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3431 with input blocked.
3432
d827466c
GM
34332001-06-30 Gerd Moellmann <gerd@gnu.org>
3434
3435 * emacs.c (main): Remove extern declaration for sys_nerr, which
3436 isn't used and causes a compilation error with GCC 3.0 on
3437 FreeBSD 4.3.
3438
b5cb1ada
GM
34392001-06-27 Gerd Moellmann <gerd@gnu.org>
3440
a5d3ec3f 3441 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3442 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3443 (toplevel): Include <signal.h> and syssignal.h.
3444
b5cb1ada
GM
3445 * sound.c (vox_configure, vox_close): Turn off atimers
3446 around ioctls.
3447
d9bad487
GM
34482001-06-26 Gerd Moellmann <gerd@gnu.org>
3449
fdbb67fe
GM
3450 * keyboard.c (read_char) <non_reread>: Record the previous idle
3451 start time before calling timer_stop_idle.
3452 (read_char) <reread_first>: After processing a help-echo event,
3453 restore the previous idle start time.
3454
d9bad487
GM
3455 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3456 the start of invisible text.
3457 (setup_for_ellipsis): New function.
3458 (next_overlay_string): After all overlay strings have been
3459 processed, display an ellipsis if necessary.
3460 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3461 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3462
3463 * dispextern.h (struct iterator_stack_entry): Add member
3464 display_ellipsis_p.
3465
2b9c25e0
GM
34662001-06-25 Gerd Moellmann <gerd@gnu.org>
3467
80de57df
GM
3468 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3469 on the value of the wait-for-wm frame parameter.
3470
3471 * xterm.h (struct x_output): Add member wait_for_wm.
3472
3473 * xfns.c (Qwait_for_wm): New variable.
3474 (x_frame_parms): Add entry for `wait-for-wm".
3475 (x_set_wait_for_wm): New function.
3476 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3477 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3478
2b9c25e0
GM
3479 * xdisp.c (try_window_id) <all changes below window end>: Don't
3480 take this shortcut if ZV is visible in the window.
3481 (try_window_id): When checking for window start being in changed
3482 text, don't check that the buffer's size has changed.
3483
f772775c
RS
34842001-06-23 Richard M. Stallman <rms@gnu.org>
3485
3486 * minibuf.c (Fcompleting_read): Doc fix.
3487
fa9090b8
GM
34882001-06-19 Gerd Moellmann <gerd@gnu.org>
3489
3490 * composite.c (Ffind_composition_internal): Accept ZV
3491 and a string's end position as POS.
3492
f6f1beba
GM
34932001-06-18 Gerd Moellmann <gerd@gnu.org>
3494
3495 * composite.c (Ffind_composition_internal): Check POS
3496 for validity.
3497
0ae83348
EZ
34982001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3499
3500 * editfns.c (Fmessage_box): If the frame is not under a window
3501 system, output the message in the echo area.
3502
e4cdc335
RS
35032001-06-14 Richard M. Stallman <rms@gnu.org>
3504
3505 * xdisp.c (try_window_id): When EOB is visible, don't treat
3506 insertion at EOB as if it were "off the bottom of the screen."
3507
a55a5f3c
AI
35082001-06-11 Andrew Innes <andrewi@gnu.org>
3509
3510 * w32proc.c (create_child): Add new parameter is_gui_app.
3511 (w32_executable_type): Add new parameter is_gui_app.
3512 (sys_spawnve): Use it.
3513 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3514 SIGQUIT. This matches better how the signals are interpreted by
3515 MSVC compiled programs.
3516 (syms_of_ntproc): Update docstring.
3517
1b85dc1c
SM
35182001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3519
3520 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3521 well otherwise note_mouse_highlight might optimize away highlighting
3522 if we pass over that same overlay again.
3523
b75f8eab
EZ
35242001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3525
3526 * lread.c (Fload): Document that the argument is run via
3527 substitute-in-file-name.
3528
94843cc1
GM
35292001-05-31 Gerd Moellmann <gerd@gnu.org>
3530
b14659e6
GM
3531 * Makefile.in (bootstrap-doc): New target.
3532 (bootstrap-emacs): Depend on it.
3533
0894672f
GM
3534 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3535 auto-save-list-file-name when shutting down Emacs, because
3536 creating the directory might signal an error, and leaves
3537 Emacs in a strange state.
3538
94843cc1
GM
3539 * term.c: (tty_cursor_hidden): New variable.
3540 (update_begin): Don't call tty_hide_cursor. Clean up.
3541 (update_end, set_terminal_window, set_scroll_region): Clean up.
3542 (ring_bell, reset_terminal_modes): Clean up.
3543 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3544 on tty_cursor_hidden.
3545 (write_glyphs): Call tty_hide_cursor.
3546
db3a49a6
SM
35472001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3548
3549 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3550
8bd189fb
GM
35512001-05-30 Gerd Moellmann <gerd@gnu.org>
3552
6f1be3b9
GM
3553 * xfns.c (enum image_value_type): New enumerator
3554 IMAGE_STRING_OR_NIL_VALUE.
3555 (parse_image_spec): Handle it.
3556 (xbm_format, pbm_format): Use it for :foreground and :background.
3557 (xbm_load, pbm_load): Check for nil color names.
3558
8bd189fb
GM
3559 * xterm.c (note_mouse_highlight): If an overlapping overlay
3560 exists, but we find that we highlight the same overlay as before,
3561 don't do the highlighting again.
3562
7bdba03c
GM
35632001-05-29 Gerd Moellmann <gerd@gnu.org>
3564
4c329aa8
GM
3565 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3566 Protect unibyte strings created by replacing their multibyte
3567 equivalents in menu_items.
3568
e15e2828
GM
3569 * keymap.c (Fsingle_key_description): NUL-terminate the string
3570 buffer before calling build_string.
3571
7bdba03c
GM
3572 * callproc.c (Fcall_process): Deal with decode_coding returning
3573 CODING_FINISH_INCONSISTENT_EOL.
3574
89c8dc6c
GM
35752001-05-28 Gerd Moellmann <gerd@gnu.org>
3576
db3a49a6 3577 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3578 an item's name with its key description in case the description
3579 is a multibyte string.
3580
3581 * keymap.c (Fsingle_key_description): Create a multibyte string
3582 only if necessary.
3583
eb04d6cd
GM
3584 * macros.c (Fstart_kbd_macro): Doc fix.
3585
8bd6307f
GM
3586 * xterm.c (cursor_in_mouse_face_p): New function.
3587 (x_draw_stretch_glyph_string): Use it to choose a different GC
3588 when drawing a cursor within highlighted text.
3589
e26c4089
GM
3590 * editfns.c (char_property_eq): Put in #if 0.
3591
3592 * indent.c (string_display_width): Put in #if 0.
3593
3594 * lread.c (Fload): Remove unused label.
3595
89c8dc6c
GM
3596 * termcap.c (speeds): Put in #if 0.
3597
9a1211f2
GM
35982001-05-18 Gerd Moellmann <gerd@gnu.org>
3599
29148a3f
GM
3600 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3601
9a1211f2
GM
3602 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3603 transformation matrix by 10.
3604
09393d07
GM
36052001-05-16 Gerd Moellmann <gerd@gnu.org>
3606
3607 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3608 only if it's equal to the former foreground pixel color.
db3a49a6 3609 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3610 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3611
460e6bae
GM
36122001-05-16 Dave Love <fx@gnu.org>
3613
3614 * insdel.c (signal_before_change, signal_after_change): Consider a
3615 local change hook which changes the buffer.
99c78ce8
GM
3616
3617 * process.c (read_process_output): Don't call signal_after_change
3618 and update_compositions after insert_from_string_before_markers.
3619
dbcf3c03
GM
36202001-05-16 Gerd Moellmann <gerd@gnu.org>
3621
a90b3d3c
GM
3622 * xfaces.c (split_font_name): Use the right field when
3623 checking for `[...]' syntax.
3624
1b7818b4
GM
3625 * buffer.c (copy_overlays): New function.
3626 (clone_per_buffer_values): Use it.
3627
3628 * buffer.h (OVERLAY_PLIST): New macro.
3629
9bae8781
GM
3630 * keymap.c (Fsingle_key_description): Replace a build_string with
3631 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3632
dbcf3c03
GM
3633 * fontset.c (Ffontset_info): Check that face is non-null
3634 before accessing its fields.
3635
8a1ae4dd
GM
36362001-05-15 Gerd Moellmann <gerd@gnu.org>
3637
18a0a39e
GM
3638 * keyboard.c (read_key_sequence): Prevent generating a fake
3639 prefix key twice.
3640
e335b66a
GM
3641 * xfaces.c (split_font_name): Handle `[...]' for the right
3642 font name fields.
3643
8a1ae4dd
GM
3644 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3645 of CCL_STAT_INVALID_CMD.
3646
3cf80731
SM
36472001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3648
33568849
SM
3649 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3650 in <var> has no default value yet.
3651
3cf80731
SM
3652 * xfaces.c (try_alternative_families): First try the FAMILY.
3653 And if nothing is found in the end, try again with scalable fonts.
3654 (try_font_list): Let try_alternative_families do a bit more of
3655 the work. Only use FAMILY if it is not nil.
3656 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3657
933b0249
GM
36582001-05-14 Gerd Moellmann <gerd@gnu.org>
3659
58e5af83
GM
3660 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3661 pointer shape when show_mouse_face has already done it.
33568849 3662
58e5af83 3663 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3664 full-width rows.
3665
7b16a6bf
GM
3666 * xfaces.c (split_font_name): Make sure to leave the loop
3667 with the right value of `i'.
3cf80731 3668
933b0249
GM
3669 * xfaces.c (split_font_name): Handle matrix transformations
3670 in the pixel and point size fields of XLFD font names.
3671 (xlfd_point_size): Likewise.
3672
dddcbf00
EZ
36732001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3674
3cf80731 3675 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3676 (x_to_w32_font): Add prototype.
3677
7689ef0b
EZ
3678 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3679 redefining, to avoid compiler warnings.
3680
e7c15bba
EZ
3681 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3682
dddcbf00
EZ
3683 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3684 (w32_get_bdf_glyph): Cast between unsigned char and char when
3685 passing arguments to subroutines, to shut up compiler warnings.
3686 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3687 GET_HEX_VAL.
3688
3689 * xfaces.c: Include keyboard.h before frame.h, not after it.
3690
3691 * widget.c: Include keyboard.h before frame.h.
3692
3693 * w32term.h (struct image, struct face): Forward declaration, to
3694 avoid compiler warnings.
3695
7bd2d083
GM
36962001-05-11 Gerd Moellmann <gerd@gnu.org>
3697
47e72862
GM
3698 * keyboard.c (read_key_sequence): Don't modify events when
3699 generating fake prefix keys (mode-line, scroll-bar, ...) since
3700 this prevents proper processing of such events when pushed back
3701 into unread-command-events.
3702
dd5f324b
GM
3703 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3704 actually redrawn. Make the function static.
3705 (note_mouse_highlight): Fix a case where the mouse cursor
3706 was changed back to the text cursor.
3707
3708 * xterm.h (clear_mouse_face): Remove prototype.
3709
d88a79d4
GM
3710 * xdisp.c (try_window_id): Fix the fix and set the right
3711 window_end_vpos.
3712
3713 * xdisp.c (try_window_id): Fix computation of window end in the
3714 case that lines were deleted at the end of the window. Add some
3715 more debug_method_adds.
0416532f 3716
7bd2d083
GM
3717 * xfaces.c (try_alternative_families): New function.
3718 (try_font_list): Use it. If ATTRS specifies a family, check
3719 fonts from that family first.
3720 (choose_face_font): Remove code setting the family part of
3721 the pattern to nil.
3722
23fca891
GM
37232001-05-10 Gerd Moellmann <gerd@gnu.org>
3724
ff9aa2ca
GM
3725 * xdisp.c (try_window_id): Fix case of all changes before
3726 the window start.
7b2654b5 3727
23fca891
GM
3728 * xdisp.c (try_window_id): Add some xasserts.
3729
e9726794
GM
37302001-05-09 Gerd Moellmann <gerd@gnu.org>
3731
3732 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3733
9e53a675
GM
37342001-05-09 Dave Love <fx@gnu.org>
3735
3736 * xdisp.c (GIVE_UP): Fix for K&R C.
3737
0d487c52
GM
37382001-05-09 Gerd Moellmann <gerd@gnu.org>
3739
fe88d421
GM
3740 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3741
0d487c52
GM
3742 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3743 back to the text cursor shape without need.
3744
1e9fc92e
GM
37452001-05-07 Gerd Moellmann <gerd@gnu.org>
3746
a2a6232e
GM
3747 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3748
3749 * dispextern.h (inverse_video): Declare extern.
3750
1e9fc92e
GM
3751 * keyboard.c (delete_kboard): Handle the case that selected_frame
3752 has been deleted in the course of x_connection_closed.
3753
12949a7f
EZ
37542001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3755
7b2654b5
SM
3756 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3757 Fix the change from 2001-04-30.
12949a7f 3758
2fa2f461
GM
37592001-05-03 Gerd Moellmann <gerd@gnu.org>
3760
a779d213
GM
3761 * xfns.c (file_dialog_unmap_cb): New function.
3762 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3763 where a dialog is closed via the window manager.
3764
7b2654b5 3765 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3766 the window start or all below the window end mostly rewritten.
3767 (redisplay_window): Move the tests if try_window_id is
3768 applicable to try_window_id.
3769 (GIVE_UP): New macro.
3770
3356df63
GM
37712001-05-02 Gerd Moellmann <gerd@gnu.org>
3772
a39202f6 3773 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3774 currently being updated, mark the frame garbaged.
3775 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3776 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3777
3356df63
GM
3778 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3779 again if it has already been drawn.
3780
a9d2fd1d
SM
37812001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3782
3783 * syntax.c (update_syntax_table): Check that oldi has the same
3784 properties as old_prop before deciding not to invalidate.
3785
c95fc5f1
GM
37862001-04-30 Gerd Moellmann <gerd@gnu.org>
3787
a9793e45
GM
3788 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3789 read-only text that is so because of text properties.
3790
c95fc5f1 3791 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3792 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3793 windows that are components of a Lucid menu bar.
3794
5a5d9185
GM
37952001-04-27 Gerd Moellmann <gerd@gnu.org>
3796
3797 * term.c (turn_on_face): Fix reverse video handling on terminals
3798 that don't support colors.
3799
ba973f7a
GM
38002001-04-26 Gerd Moellmann <gerd@gnu.org>
3801
3802 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3803 a non-buffer.
3804
8c56a983
GM
38052001-04-25 Gerd Moellmann <gerd@gnu.org>
3806
a728644c
GM
3807 * term.c (toggle_highlight): New function.
3808 (turn_on_face): Change handling of reverse video.
3809
7b2654b5
SM
3810 * process.c (wait_reading_process_input):
3811 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3812
bfd8410f
GM
3813 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3814 of the number of overlays to check.
3815
be2488ca
GM
3816 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3817
8c56a983
GM
3818 * xdisp.c (try_window_id): Fix a case where window_end_pos
3819 and window_end_bytepos were not adjusted.
3820
522d42f7
GM
38212001-04-23 Gerd Moellmann <gerd@gnu.org>
3822
3823 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3824 zero instead of -1.
3825
78c1afb6
EZ
38262001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3827
a9d2fd1d
SM
3828 * process.c (wait_reading_process_input) [!subprocesses]:
3829 Don't reference waiting_for_user_input_p, it's not defined in the
3830 branch without async subprocesses support.
78c1afb6 3831
a2fab450
GM
38322001-04-19 Gerd Moellmann <gerd@gnu.org>
3833
a122a38e
GM
3834 * keyboard.c (delete_kboard): Prevent a dangling reference
3835 from current_kboard to KB, which is freed.
3836
a9d2fd1d
SM
3837 * process.c (wait_reading_process_input):
3838 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3839 read_key_sequence aware of buffer changes from under it.
3840
0f8d6dc7
GM
38412001-04-18 Gerd Moellmann <gerd@gnu.org>
3842
eeffb293
GM
3843 * xfaces.c (Qscalable_fonts_allowed): New variable.
3844 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3845 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3846 removed.
eeffb293 3847 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3848 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3849 for scalable-fonts-allowed to t.
eeffb293 3850
0f8d6dc7
GM
3851 * fileio.c (Finsert_file_contents): If the file size returned from
3852 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3853 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3854
eec2d1de
EZ
38552001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3856
3857 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3858 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3859 (__memalign_hook): Make the two prototypes consistent.
3860
f4f480bd
GM
38612001-04-17 Gerd Moellmann <gerd@gnu.org>
3862
3863 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3864 matrix of mini-windows.
3865
52283633
SM
38662001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3867
3868 * intervals.c (find_interval): Don't rebalance during signal handling.
3869
ec2423c9
GM
38702001-04-11 Gerd Moellmann <gerd@gnu.org>
3871
30cb0001 3872 * fns.c: Include blockinput.h.
52283633 3873
ec2423c9
GM
3874 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3875
719d83ad
GM
38762001-04-10 Gerd Moellmann <gerd@gnu.org>
3877
60f8d735
GM
3878 * fns.c (Fcompare_strings): Fix return values.
3879
afffeb57
GM
3880 * window.c (window_scroll): Change the meaning of N to mean
3881 N screen-fulls or N lines.
3882 (window_scroll_pixel_based, window_scroll_line_based)
3883 (scroll_command, Fscroll_other_window): Change accordingly.
3884
52283633
SM
3885 * window.c (window_scroll_pixel_based, Frecenter):
3886 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3887 height of the window.
3888
3889 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3890 instead of using it.last_visible_y for the height of the window.
52283633 3891
719d83ad 3892 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3893 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3894
3895 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3896 able to write to hidden and system files. From Dan Holmsand
3897 <dan@eyebee.com>.
719d83ad 3898
8ddf3ee1
GM
3899 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3900 Holmsand <dan@eyebee.com>.
719d83ad 3901
522ed7fb
GM
39022001-04-09 Gerd Moellmann <gerd@gnu.org>
3903
9170e5d4
GM
3904 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3905
522ed7fb
GM
3906 * window.c (window_internal_height): Return 1 less if the
3907 window has a header line.
3908
3909 * xdisp.c (try_window_id): When scrolling on a terminal, take
3910 the change of window_internal_height into account.
3911
ceeb3d7d
EZ
39122001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3913
3914 * gmalloc.c (align): If the argument SIZE would overflow
3915 __malloc_ptrdiff_t, fail right away.
3916
63685b9d
GM
39172001-04-06 Gerd Moellmann <gerd@gnu.org>
3918
3919 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3920 Make sure the tooltip is completely visible.
3921 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3922
3923 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3924
3925 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3926
3ffb33bb
DL
39272001-04-06 Dave Love <fx@gnu.org>
3928
52283633
SM
3929 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3930 Fix test of `from'.
3ffb33bb 3931
869fb12c
GM
39322001-04-06 Gerd Moellmann <gerd@gnu.org>
3933
52283633 3934 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3935
869fb12c
GM
3936 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3937
441bf856
GM
39382001-04-05 Gerd Moellmann <gerd@gnu.org>
3939
4d664b04
GM
3940 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3941
52283633 3942 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3943
30ca89f5
GM
3944 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3945 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3946
3947 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3948 shell widget's position only if it is non-null.
3949
52283633
SM
3950 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3951 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3952
81a81c0f
GM
3953 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3954 FILENAME to bring it in synch with the documentation.
3955
441bf856
GM
3956 * xfaces.c (realizing_basic_faces_p): Renamed from
3957 realize_default_face_p.
3958 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3959 (realize_default_face): Don't set the flag.
3960
702a1e8e
GM
39612001-04-04 Gerd Moellmann <gerd@gnu.org>
3962
1013f4e3
GM
3963 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3964
52283633
SM
3965 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3966
1013f4e3
GM
3967 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3968 the buffer that was used for echoing.
3969
702a1e8e
GM
3970 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3971 (first_font_matching): Removed unused function.
3972 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3973 (may_use_scalable_font_p): Remove parameter FONT; rename
3974 parameter NAME to FONT.
3975 (x_face_list_fonts): Fix missing bounds check.
3976 (realizing_default_face_p): New variable.
3977 (realize_default_face): Set and clear that flag.
3978 (x_face_list_fonts): When called during the realization of the
3979 default face, and no matching fonts are found when ignoring
3980 scalable fonts and fonts matching a regexp from
3981 face-ignored-fonts, try without ignoring fonts.
3982
f9dbcda4
GM
39832001-04-03 Gerd Moellmann <gerd@gnu.org>
3984
ad18ffb1
GM
3985 * xfns.c (postprocess_image): New function.
3986 (lookup_image): Call it for all image types except PostScript.
3987 (x_kill_gs_process): Call postprocess_image.
3988
f9dbcda4
GM
3989 * xterm.c (x_use_underline_position_properties): New variable.
3990 (x_draw_glyph_string): Use it.
3991 (syms_of_xterm): DEFVAR_BOOL it.
3992
651f03b6
GM
39932001-04-02 Gerd Moellmann <gerd@gnu.org>
3994
3995 * xterm.c (x_alloc_nearest_color_1): New function.
3996 (x_alloc_nearest_color): Use it.
3997 (x_color_cells): Take a Display as argument, instead of a frame.
3998 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3999 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4000 (x_initialize): Register cvt_string_to_pixel as resource converter
4001 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4002
73d75a62
GM
40032001-03-30 Gerd Moellmann <gerd@gnu.org>
4004
b2046df8
GM
4005 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4006 (set_iterator_to_next): If a string from a display property ends,
4007 consider the case that this might also be the end of an
4008 overlay string having the display property.
4009
52283633 4010 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 4011
87d8eba4
GM
4012 * xdisp.c (reseat_to_string): Undo last change.
4013
73d75a62
GM
4014 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4015 matrix of a window when the header line changes, when
4016 new rows are allocated, or when the width changes.
4017
911a2406
EZ
40182001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4019
52283633 4020 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 4021
aea51abe
EZ
40222001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4023
4024 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4025 deprecated.
4026
176bc847
GM
40272001-03-29 Gerd Moellmann <gerd@gnu.org>
4028
ed31fabf
GM
4029 * data.c (Fsubr_interactive_form): New function.
4030 (syms_of_data): Defsubr it.
4031
176bc847
GM
4032 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4033 (live_float_p, live_misc_p): Return 1 only if the offset of the
4034 pointer in its block is >= 0.
4035
e59d0e9d
GM
40362001-03-28 Paul Eggert <eggert@twinsun.com>
4037
4038 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4039 microseconds calcuation. Avoid double-rounding problem.
4040 In doc string, warn that the result is approximate.
4041
f827b862
GM
40422001-03-28 Gerd Moellmann <gerd@gnu.org>
4043
30a3f61c
GM
4044 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4045 bind `inhibit-eval-during-redisplay' to t.
4046
4047 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4048
4049 * xdisp.c (inhibit_eval_during_redisplay)
4050 (Qinhibit_eval_during_redisplay): New variables.
4051 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4052 don't eval, return nil instead.
4053 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4054 Initialize Qinhibit_eval_during_redisplay.
4055
e719f5ae
GM
4056 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4057 the iterator's multibyte_p flag.
4058
deb2613a
GM
4059 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4060 instead of setting it to zero; it's incremented for each frame
4061 where the menu face is changed.
4062
52283633
SM
4063 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4064 change bottom shadow accordingly.
4065
4066 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4067 intersections here.
4068 (expose_window): Do it here instead.
52283633 4069 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4070
f827b862
GM
4071 * bytecode.c (BYTE_CODE_QUIT): New macro.
4072 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4073
4bde0ebb
GM
40742001-03-27 Gerd Moellmann <gerd@gnu.org>
4075
607ec83c
GM
4076 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4077 Give up if matrix starts in an ellipsis.
4078 (init_from_display_pos): Do nothing if POS doesn't specify
4079 a dpvec_index but the iterator has such a position.
4080
0245398f
GM
4081 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4082
aba25348
GM
4083 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4084 x/y position is (0, 0) after destroying the menu bar, restore
4085 its original position.
4086
4bde0ebb
GM
4087 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4088 (init_from_display_pos): Use it.
4089 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4090
8cdb267e
GM
40912001-03-26 Gerd Moellmann <gerd@gnu.org>
4092
4093 * xdisp.c (try_window_id): Undo last change.
4094
9948db79
EZ
40952001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4096
4097 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4098
4099 * buffer.c (syms_of_buffer): Doc fix.
4100
2eddf899
GM
41012001-03-26 Gerd Moellmann <gerd@gnu.org>
4102
4103 * xfaces.c (x_update_menu_appearance): Use local variable
4104 popup_path for setting font resources.
4105
6c145d35
EZ
41062001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4107
6a65b1b5
EZ
4108 * frame.c (Fframe_list): Don't reference tip_frame if
4109 HAVE_WINDOW_SYSTEM is not defined.
4110
6c145d35
EZ
4111 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4112 <wl@gnu.org>.
4113
d74c1900
GM
41142001-03-25 Gerd Moellmann <gerd@gnu.org>
4115
20fbd925
GM
4116 * xdisp.c (init_from_display_pos): Test invisible property
4117 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4118
927c5b3b
GM
4119 * xdisp.c (redisplay_internal) <update one window>: Make sure
4120 last_arrow_position and last_arrow_string are set.
4121
d74c1900
GM
4122 * frame.c (Fframe_list): Don't return a tooltip frame.
4123
091f8878
GM
41242001-03-23 Gerd Moellmann <gerd@gnu.org>
4125
52283633
SM
4126 * xdisp.c (mark_window_display_accurate_1): New function,
4127 extracted from mark_window_display_accurate.
4128 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4129 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4130 (mark_window_display_accurate): Use it.
4131 (redisplay_internal): Use it for the selected window.
4132 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4133 for the selected frame.
4134
ac90c44f
GM
4135 * xdisp.c Use make_number, for readability.
4136 (try_window_id): Disable rows below the window end.
4137 (try_window_reusing_current_matrix): Use cursor_row_p.
4138 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4139 of rows.
4140 (init_from_display_pos): If POS specifies a position in a display
4141 vector, maybe get the iterator set up for that ellipsis.
43c09969 4142
091f8878
GM
4143 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4144
991786dd
EZ
41452001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4146
4147 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4148
6c29b43c
GM
41492001-03-23 Gerd Moellmann <gerd@gnu.org>
4150
4151 * xfaces.c (x_update_menu_appearance): Use a different path
4152 for Lucid popup menus.
4153
d8731202
SM
41542001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4155
4156 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4157
4158 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4159 (string_buffer_position): Use `make_number'.
4160
f61a541b
GM
41612001-03-22 Gerd Moellmann <gerd@gnu.org>
4162
3c9e997b
GM
4163 * xfaces.c (x_update_menu_appearance): Renamed from
4164 x_set_menu_face_resources. Use different resources for popups.
4165
4166 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4167 (GC_CHECK_STRING_BYTES): Don't define.
4168
364cd450
GM
4169 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4170 Removed, together with subroutines.
4171 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4172 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4173
d8731202
SM
4174 * dispextern.h (x_set_menu_resources_from_menu_face):
4175 Remove prototype.
364cd450 4176
d8731202 4177 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4178 Remove calls to x_set_menu_resources_from_menu_face.
4179
d8731202
SM
4180 * xfaces.c (xm_set_menu_resources_from_menu_face):
4181 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4182
4183 * xmenu.c: Include widget.h.
4184 (single_submenu): Return int. Some cleanup.
4185 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4186
140330de
GM
41872001-03-21 Gerd Moellmann <gerd@gnu.org>
4188
4189 * xterm.c (x_update_window_end): Handle overwritten mouse face
4190 also for tool bar windows.
4191 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4192 DRAW is DRAW_IMAGE_RAISED.
4193
1741905c
GM
41942001-03-20 Gerd Moellmann <gerd@gnu.org>
4195
fa88947e
GM
4196 * print.c (syms_of_print): Doc fixes.
4197
1741905c
GM
4198 * fns.c (Fmd5): Doc fix.
4199
ade0bee1
GM
42002001-03-19 Gerd Moellmann <gerd@gnu.org>
4201
357e7376
GM
4202 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4203 Clear area of the frame not occupied by the scroll bar.
4204
c2c097cc
GM
4205 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4206 tip frame's root window buffer to *tip* right after creating
4207 the frame.
4208
ade0bee1
GM
4209 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4210 is an integer don't have to be for space characters.
4211
88c6e37e
GM
42122001-03-16 Gerd Moellmann <gerd@gnu.org>
4213
52283633
SM
4214 * indent.c (current_column, current_column_1, Fmove_to_column)
4215 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4216
c62eed76
KH
42172001-03-15 Kenichi Handa <handa@etl.go.jp>
4218
4219 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4220 drawing glyph string.
4221
c899e7e6
GM
42222001-03-15 Gerd Moellmann <gerd@gnu.org>
4223
d0bbfc99
GM
4224 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4225 (command_loop_1): Undo last change.
4226
03d1a189
GM
4227 * xterm.c (fast_find_position): Return the correct vpos.
4228
c899e7e6 4229 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4230 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4231 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4232 Call store_symval_forwarding with BUF null.
4233 (set_internal): Call store_symval_forwarding with the BUF
4234 parameter passed to set_internal. Formerly, the value was always
4235 set in the current buffer; the buffer recorded in specbind for
4236 this case wasn't used.
4237 (arith_driver): Reindent.
4238
52283633
SM
4239 * buffer.c (swap_out_buffer_local_variables):
4240 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4241
4242 * lisp.h (store_symval_forwarding): Change prototype.
4243
4244 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4245
57ac7c81
GM
42462001-03-14 Gerd Moellmann <gerd@gnu.org>
4247
697617d9
GM
4248 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4249 FOR_DELETION. Avoid resizing the mini-window of the selected
4250 frame if FOR_DELETION is set.
4251 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4252 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4253 signature.
4254
4255 * window.c (Fset_window_configuration): Change call to
4256 do_switch_frame to new format.
4257
4258 * keyboard.c (quit_throw_to_read_char): Change call to
4259 do_switch_frame to new format.
4260
4261 * lisp.h (do_switch_frame): Change prototype.
4262
819dce0f
GM
4263 * frame.c (Fframe_parameters): In the `buffer-list' frame
4264 parameter, store the buffer list of FRAME, not the list of the
4265 selected frame.
4266
57ac7c81
GM
4267 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4268 box just because the glyph row's full_width_p flag is set.
4269
65008712
GM
42702001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4271
4272 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4273 skip the padding blanks inserted in extend_face_to_end_of_line,
4274 before checking for trailing whitespace.
4275
159cf431
GM
42762001-03-13 Gerd Moellmann <gerd@gnu.org>
4277
52283633 4278 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4279 Remove special handling for LessTif/Motif.
4280 (toplevel): Don't include Xm/Xm.h.
4281
52283633
SM
4282 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4283 Remove workaround code for LessTif; it doesn't work anymore.
4284
2564ea1b 4285 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4286 Xm/ScrollBarP.h.
afcdc0a1 4287
52283633
SM
4288 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4289 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4290 contemporary LessTif.
4291
52283633
SM
4292 * xfaces.c (xm_set_menu_resources_from_menu_face):
4293 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4294
159cf431
GM
4295 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4296 removing button grabs.
4297
c6f7429a
KH
42982001-03-13 Kenichi Handa <handa@etl.go.jp>
4299
cb82d767
KH
4300 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4301 and clip-large-size-font as obsolete.
4302
c6f7429a
KH
4303 * lread.c (read_multibyte): Check the validity of multibyte
4304 sequence. If invalid, return the first byte.
4305
760cefb5
GM
43062001-03-12 Gerd Moellmann <gerd@gnu.org>
4307
4308 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4309 before running the command; timer functions or process
4310 filters may have set it.
4311
5141f9d0
EZ
43122001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4313
4314 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4315 Doc fix.
4316
b6a15240
GM
43172001-03-12 Gerd Moellmann <gerd@gnu.org>
4318
4319 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4320 to sprintf.
4321
95522746
GM
43222001-03-09 Gerd Moellmann <gerd@gnu.org>
4323
db14cfc5
GM
4324 * dispextern.h (string_buffer_position): Add prototype.
4325
52283633 4326 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4327 (single_display_prop_string_p): New functions.
4328
4329 * xterm.c (note_mouse_highlight): If there's no help-echo on
4330 a string, look at the buffer text ``under'' it.
4331
4332 * keyboard.c (make_lispy_event): Add string info to the event,
4333 analogous to what's done on mode lines.
4334 (read_key_sequence): For a click on a string, consider `local-map'
4335 and `keymap' of that string.
4336
52283633
SM
4337 * keyboard.c (make_lispy_event, make_lispy_movement):
4338 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4339
4340 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4341
4342 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4343 POS; return void.
4344
95522746
GM
4345 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4346 flags argument to emacs_open; it seems to conflict with O_EXCL.
4347
898a399d
KH
43482001-03-09 Kenichi Handa <handa@etl.go.jp>
4349
28cd4910
KH
4350 * composite.h (struct composition): Change types of members;
4351 glyph_len to unsigned, width to unsigned short.
898a399d 4352
4cdf6a6c
AI
43532001-03-08 Andrew Innes <andrewi@gnu.org>
4354
4355 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4356 menu titles.
4357
129004d3
GM
43582001-03-08 Gerd Moellmann <gerd@gnu.org>
4359
221dd3e7
GM
4360 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4361 instead of nil.
4362
52283633 4363 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4364 help-echo in strings.
4365 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4366 (fast_find_string_pos): New function.
4367
52283633
SM
4368 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4369 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4370
4371 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4372 Handle `mouse-face'.
4373
4374 * dispextern.h (face_at_string_position): Change prototype.
4375
52283633 4376 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4377
129004d3
GM
4378 * keyboard.c (make_lispy_event): Avoid generating drag events
4379 if the mouse hasn't actually moved to another buffer position.
52283633 4380
80c8ab8c
DL
43812001-03-08 Dave Love <fx@gnu.org>
4382
129004d3 4383 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4384
989521fd
GM
43852001-03-08 Gerd Moellmann <gerd@gnu.org>
4386
4387 * process.c (Fset_process_window_size): Fix a typo.
4388
bb5c338d
KH
43892001-03-08 Kenichi Handa <handa@etl.go.jp>
4390
4391 * coding.c (detect_coding_sjis): Do more rigid check.
4392 (detect_coding_big5): Likewise.
4393 (decode_coding_sjis_big5): Likewise.
4394 (Fdetect_coding_region): Call detect_coding_system with tailing
4395 anchor byte `\0' for more rigid detection.
52283633 4396 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4397 (Fdetect_coding_string): Likewise.
4398
8b8f9197
SM
43992001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4400
4401 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4402 a string before extracting its data.
4403
3bdf2660
GM
44042001-03-07 Gerd Moellmann <gerd@gnu.org>
4405
4406 * window.c (Frecenter): Rewrite code handling negative values
4407 of ARG on graphical frames.
4408
44092001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4410
4411 * window.c (displayed_window_lines): If W->start is outside the
4412 accessible portion of the buffer, call start_display with BEGV or
4413 ZV instead of W->start.
4414
471f86b9
GM
44152001-03-07 Gerd Moellmann <gerd@gnu.org>
4416
2ab62c6c
GM
4417 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4418
471f86b9
GM
4419 * process.c (Fset_process_filter): Don't crash if the input
4420 file descriptor of PROCESS is closed.
4421 (Fset_process_window_size): Likewise.
4422
101922c3
GM
44232001-03-06 Kenichi Handa <handa@etl.go.jp>
4424
4425 * xterm.c (XTflash): Make the timeout of select shorter, and call
4426 select repeatedly until the desired time expires.
4427
45d051a7
GM
44282001-03-06 Gerd Moellmann <gerd@gnu.org>
4429
4430 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4431
4432 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4433
4434 * lisp.h (Vwindow_list): Declare extern.
4435
8f372c46
EZ
44362001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4437
4438 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4439
f16a7aa5
GM
44402001-03-06 Gerd Moellmann <gerd@gnu.org>
4441
157ae273
GM
4442 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4443 to detect a case where we have to highlight a different region
4444 despite not having left the currently highlighted region.
4445 Set mouse_face_overlay in the x_display_info.
45d051a7 4446 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4447
4448 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4449
4450 * buffer.c (mouse_face_overlay_overlaps): New function.
4451
4452 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4453 (Qmouse_face): Declare extern.
4454
f16a7aa5
GM
4455 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4456 if face_change_count is non-zero.
4457
827afcac
KH
44582001-03-06 Kenichi Handa <handa@etl.go.jp>
4459
4460 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4461 that the source is unibyte.
4462
14c7242e
DL
44632001-03-05 Dave Love <fx@gnu.org>
4464
827afcac 4465 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4466
c28b847b
GM
44672001-03-05 Gerd Moellmann <gerd@gnu.org>
4468
4469 * minibuf.c (read_minibuf): Clean up the binding stack if
4470 called noninteractively.
4471
b86644f2
KH
44722001-03-05 Kenichi Handa <handa@etl.go.jp>
4473
4474 * coding.c (syms_of_coding): Docstring modified.
4475
203682cc 44762001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4477
4478 * charset.c (char_to_string): If a single byte char has modifier
4479 bits that can't be reflected to the character code, ignore them
45d051a7 4480 instead of signaling an error.
b86644f2 4481
e30bd7b7
EZ
44822001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4483
4484 * s/msdos.h: Update copyright notice.
4485
4486 * dosfns.h: Update copyright notice.
4487
4488 * dosfns.c: Update copyright notice.
4489
4490 * msdos.c: Update copyright notice.
4491
b52b65bd
GM
44922001-03-02 Gerd Moellmann <gerd@gnu.org>
4493
4494 * xterm.c (glyph_rect): New function.
4495 (XTmouse_position): Use it to raise the threshold for mouse
4496 movement event generation.
4497
53c4b1e6
EZ
44982001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4499
4500 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4501 specifies (reverse . t), reverse the initial screen colors.
4502 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4503 but we are reversing the colors, set bg_set, not fg_set.
4504 Likewise for setting background-color and reversing: set fg_set.
4505 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4506 in effect.
4507
4508 * xfaces.c (Finternal_set_lisp_face_attribute)
4509 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4510 parameters alist.
4511
f964b4d7
GM
45122001-03-02 Gerd Moellmann <gerd@gnu.org>
4513
ef53d75e
GM
4514 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4515 to a single slash in the middle of file names.
4516
52283633 4517 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4518 Accept only alphanumeric time zone names.
4519
f964b4d7
GM
4520 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4521 or width area.
4522 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4523 a widget to zero height.
52283633 4524
c3c45f65
GM
45252001-03-01 Gerd Moellmann <gerd@gnu.org>
4526
4527 * window.c (Fwindow_end): Call move_it_past_eol only if
4528 ending up on a partially visible line.
4529
028d739a
DL
45302001-03-01 Dave Love <fx@gnu.org>
4531
4532 * ccl.c (Fccl_execute): Doc fix.
4533
57c5889c
GM
45342001-03-01 Gerd Moellmann <gerd@gnu.org>
4535
35f59f6b
GM
4536 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4537 of the tool bar before calling x_figure_window_size.
4538
f84ff02c
GM
4539 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4540 NULL after destroying it, otherwise XTread_socket can access a
4541 destroyed widget when input is unblocked.
4542
8b8f9197 4543 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4544
57c5889c
GM
4545 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4546 same name as before, although there was a change in fontsets.
4547
224227d1
KR
45482001-02-28 Ken Raeburn <raeburn@gnu.org>
4549
4560730a
KR
4550 * lisp.h (Fframe_parameter): Declare.
4551
224227d1 4552 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4553 Lisp_Object.
224227d1 4554
ece93c02
GM
45552001-02-28 Gerd Moellmann <gerd@gnu.org>
4556
11ef99b9
GM
4557 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4558 NULL instead.
4559
4560 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4561 NULL instead.
4562
ece93c02
GM
4563 * alloc.c (toplevel): Include process.h.
4564 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4565 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4566 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4567 (allocate_vector, allocate_hash_table, allocate_window)
4568 (allocate_frame, allocate_process, allocate_other_vector):
4569 New functions.
ece93c02
GM
4570 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4571 (mark_maybe_pointer): New function.
52283633 4572 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4573 remain and not Lisp_Objects.
4574 (min_heap_address, max_heap_address): New variables.
4575 (mem_find): Return MEM_NIL if START is below min_heap_address or
4576 above max_heap_address.
4577 (mem_insert): Compute min_heap_address and max_heap_address.
4578
4579 * process.c (make_process): Use allocate_process.
4580
4581 * frame.c (make_frame): Use allocate_frame.
4582
4583 * window.c (make_window, make_dummy_parent): Use allocate_window.
4584 (Fcurrent_window_configuration): Use allocate_other_vector.
4585
4586 * lisp.h (allocate_vectorlike): Remove prototype.
4587 (allocate_vector, allocate_other_vector, allocate_frame)
4588 (allocate_window, allocate_process, allocate_hash_table):
4589 Add prototypes.
4590
4591 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4592 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4593
063af457
KH
45942001-02-27 Kenichi Handa <handa@etl.go.jp>
4595
4596 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4597 treat the produced bytes as a valid multibyte sequence.
4598
4599 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4600 (ccl_driver) <CCL_WriteMultibyteChar2>:
4601 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4602 <ccl_finish>: Set ccl->eight_bit_control properly.
4603
4604 * ccl.h (struct ccl_program): New member eight_bit_control.
4605
f58c6494
SM
46062001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4607
4608 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4609 accessible_keymaps_char_table.
4610 (accessible_keymaps_char_table): Obey `is_metized'.
4611 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4612 Lisp_Object.
4613
c596c392
GM
46142001-02-26 Gerd Moellmann <gerd@gnu.org>
4615
4616 * dispnew.c: Check HAVE_TERM_H before including term.h.
4617
425de386
AI
46182001-02-24 Andrew Innes <andrewi@gnu.org>
4619
4620 * makefile.w32-in: Update copyright notice.
4621
2ba11bbd
SM
46222001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4623
4624 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4625
66c56ed1
KH
46262001-02-24 Kenichi Handa <handa@etl.go.jp>
4627
4c1593ce
KH
4628 * Makefile.in (lisp): Add international/utf-8.elc.
4629
66c56ed1
KH
4630 * fontset.c (Fnew_fontset): Fix handling of the case that an
4631 element of FONTLIST is a cons of family and registry.
4632
796ead7e
JR
46332001-02-23 Jason Rumney <jasonr@gnu.org>
4634
4635 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4636 to height unconditionally.
4637
4638 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4639 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4640 (x_insert_glyphs): Call window_box_left to obtain the left
4641 x-coordinate of the area to shift.
4642
4643 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4644 safe_run_hooks.
4645
f6839838
AI
46462001-02-22 Andrew Innes <andrewi@gnu.org>
4647
52283633 4648 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4649 ($(BLD)\dispnew.obj):
4650 ($(BLD)\editfns.obj):
4651 ($(BLD)\fileio.obj):
4652 ($(BLD)\filelock.obj):
4653 ($(BLD)\keyboard.obj):
4654 ($(BLD)\w32proc.obj):
4655 ($(BLD)\process.obj):
4656 ($(BLD)\sysdep.obj): Ditto.
4657
4658 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4659 header files.
52283633
SM
4660 ($(BLD)/dispnew.$(O)):
4661 ($(BLD)/editfns.$(O)):
4662 ($(BLD)/fileio.$(O)):
4663 ($(BLD)/filelock.$(O)):
4664 ($(BLD)/keyboard.$(O)):
4665 ($(BLD)/w32proc.$(O)):
4666 ($(BLD)/process.$(O)):
f6839838
AI
4667 ($(BLD)/sysdep.$(O)): Ditto.
4668
c224f70b
GM
46692001-02-22 Gerd Moellmann <gerd@gnu.org>
4670
51695746
GM
4671 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4672 at the start of the function, check that the \n in it->c is
4673 from the iterator's current position.
52283633 4674
a61b7058
GM
4675 * xdisp.c (handle_single_display_prop): Add parameter
4676 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4677 properties which replace the display of text with something else.
4678 (handle_display_prop): Call handle_single_display_prop with
4679 additional argument saying if we already replaced text display
4680 with something else. Use AREF.
52283633 4681 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4682 (decode_mode_spec_coding): Use AREF and ASIZE.
4683
3473f362
GM
4684 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4685 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4686 * vmstime.h: Files removed.
52283633 4687
2bb58df3
GM
4688 * unexencap.c, unexfx2800.c: Files removed.
4689
c224f70b
GM
4690 * dispnew.c (direct_output_for_insert): Give up if we are showing
4691 a message or just cleared the message because we might need to
4692 resize the echo area window or display an empty echo area.
4693
ffc9ff0c
GM
46942001-02-21 Gerd Moellmann <gerd@gnu.org>
4695
0528abe1
GM
4696 * xdisp.c (redisplay_internal): Do the
4697 mark_window_display_accurate after all windows have been
4698 redisplayed because this call resets flags in buffers which are
4699 needed for proper redisplay.
4700
52283633
SM
4701 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4702 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4703 the old names.
4704
52283633
SM
4705 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4706 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4707
4708 * msdos.h (struct x_output): Rename busy_window to
4709 hourglass_window, busy_p to hourglass_p.
4710
52283633
SM
4711 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4712 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4713
4714 * xfns.c: Rename everything containing *busy_cursor* and similar
4715 to *hourglass*.
4716 (syms_of_w32fns): Rename x-busy-pointer-shape to
4717 x-hourglass-pointer-shape, display-busy-cursor to
4718 display-hourglass, busy-cursor-delay to hourglass-delay.
4719
4720 * w32fns.c: Rename everything containing *busy_cursor* and similar
4721 to *hourglass*.
4722 (syms_of_w32fns): Rename x-busy-pointer-shape to
4723 x-hourglass-pointer-shape, display-busy-cursor to
4724 display-hourglass, busy-cursor-delay to hourglass-delay.
4725
4726 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4727 of its busy_p flag.
4728
4729 * dispextern.h (start_hourglass, cancel_hourglass)
4730 (display_hourglass_p): Renamed from *busy_cursor*.
4731
ab2c5f0a
GM
47322001-02-20 Gerd Moellmann <gerd@gnu.org>
4733
d17e49a8
GM
4734 * keyboard.c (read_char): When an event from unread-command-events
4735 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4736
fa97adf6
GM
4737 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4738 equal to the current buffer.
4739
ab2c5f0a
GM
4740 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4741 nil, otherwise we're left with truncate_lines t when a message
4742 is printed with message-truncate-lines bound to t.
4743
aeac019e
GM
47442001-02-19 Gerd Moellmann <gerd@gnu.org>
4745
c8bc6f65
GM
4746 * window.c (Fmove_to_window_line): Undo last change.
4747 (displayed_window_lines): Call line_bottom_y to determine
4748 the line's bottom position.
4749
4750 * dispextern.h (line_bottom_y): Add prototype.
4751
52283633 4752 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4753 (pos_visible_p): Use it.
4754
980a2d69
GM
4755 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4756 set redisplaying_p to 0 here instead of in Frecursive_edit.
4757 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4758 set redisplaying_p.
4759
52283633 4760 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4761 New variables.
4762 (syms_of_xdisp): Initialize new variables.
4763 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4764 Specbind `inhibit-menubar-update' when updating the menu bar.
4765
65048e97
GM
4766 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4767 safe_run_hooks.
4768
4769 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4770 safe_run_hooks.
4771
a57c4026
GM
4772 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4773 is null.
4774
aeac019e
GM
4775 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4776 to the start of the file.
4777
76846b31
GM
47782001-02-16 Gerd Moellmann <gerd@gnu.org>
4779
f3f053f3 4780 * window.c (set_window_buffer): Fix last change.
52283633 4781
f3f053f3
GM
4782 * window.c (set_window_buffer): Set window's vscroll to 0.
4783
dad75588
GM
4784 * window.c (coordinates_in_window): Increase width of area
4785 where the vertical line can be dragged.
4786
c220b753
GM
4787 * xterm.c (x_set_glyph_string_background_width): Extend the
4788 background face to the end of the drawing area in the text
4789 area, only.
4790
c56b1c1b
GM
4791 * xdisp.c (handle_single_display_prop): Set iterator's position
4792 to where the `display' property starts, like for images.
4793 (dump_glyph): New function.
4794 (dump_glyph_row): Use it. Dump info about marginal areas.
4795
4796 * dispnew.c (direct_output_for_insert): Recognize more cases where
4797 glyphs can be written instead of being inserted.
4798
4799 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4800 the left x-coordinate of the area to shift.
4801
76846b31
GM
4802 * dired.c (directory_files_internal): Set result list to nil
4803 before retrying.
4804
0fc71a77
KH
48052001-02-15 Kenichi Handa <handa@etl.go.jp>
4806
4807 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4808 invalid multibyte sequence, treat *SRC as a character of
4809 eight-bit-graphic.
4810
25078b54
EZ
48112001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4812
4813 * textprop.c (Fset_text_properties): Doc fix.
4814
8399f8a0
GM
48152001-02-15 Gerd Moellmann <gerd@gnu.org>
4816
4817 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4818
9a2a6f73
DL
48192001-02-14 Dave Love <fx@gnu.org>
4820
4821 * coding.c: Doc and message fixes.
4822
bf853fee
AI
48232001-02-14 Andrew Innes <andrewi@gnu.org>
4824
4825 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4826 Emacs frame above the screen size.
4827
78c663d8
GM
48282001-02-14 Gerd Moellmann <gerd@gnu.org>
4829
4830 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4831
7cc9f69f
GM
48322001-02-13 Gerd Moellmann <gerd@gnu.org>
4833
0a411995
GM
4834 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4835 case that TO ends up beyond ZV after running before-change-functions.
4836
5ddc1b75
GM
4837 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4838 the selected window if it is showing the buffer in question.
4839
7cc9f69f
GM
4840 * dired.c (directory_files_internal): Initialize errno.
4841 (toplevel): Include errno.h.
4842
2e6621ca
GM
48432001-02-13 Kenichi Handa <handa@etl.go.jp>
4844
4845 * xfaces.c (best_matching_font): New parameter width_ratio.
4846 Multiply avgwidth by width_ratio.
4847 (choose_face_font): Call best_matching_font with width_ratio
4848 calculated from the column width of C.
4849
60222d69
AI
48502001-02-12 Andrew Innes <andrewi@gnu.org>
4851
4852 The following changes are to draw box lines inside characters area
4853 if line-width is negative.
52283633 4854
60222d69
AI
4855 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4856 face->box_line_width is negative.
4857 (x_produce_stretch_glyph): Likewise.
4858 (x_produce_glyphs): Likewise.
4859 (x_estimate_mode_line_height): Likewise.
4860 (x_draw_glyph_string_background): Likewise.
4861 (x_draw_glyph_string_foreground): Likewise.
4862 (x_draw_composite_glyph_string_foreground): Likewise.
4863 (x_draw_glyph_string_box): Likewise.
4864 (x_draw_image_foreground): Likewise.
4865 (x_draw_image_relief): Likewise.
4866 (x_draw_image_foreground_1): Likewise.
4867 (x_draw_image_glyph_string): Likewise.
4868
9804b846
KH
48692001-02-09 Kenichi Handa <handa@etl.go.jp>
4870
4871 The following changes are to draw box lines inside characters area
4872 if line-width is negative.
52283633 4873
9804b846
KH
4874 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4875 face->box_line_width is negative.
4876 (x_produce_stretch_glyph): Likewise.
4877 (x_produce_glyphs): Likewise.
4878 (x_estimate_mode_line_height): Likewise.
4879 (x_draw_glyph_string_background): Likewise.
4880 (x_draw_glyph_string_foreground): Likewise.
4881 (x_draw_composite_glyph_string_foreground): Likewise.
4882 (x_draw_glyph_string_box): Likewise.
4883 (x_draw_image_foreground): Likewise.
4884 (x_draw_image_relief): Likewise.
4885 (x_draw_image_foreground_1): Likewise.
4886 (x_draw_image_glyph_string): Likewise.
4887
4888 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4889 and :line-width can be negative.
52283633 4890 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4891
49be9f70
JR
48922001-02-09 Jason Rumney <jasonr@gnu.org>
4893
4894 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4895 characters the same as ASCII and latin-1.
4896 (x_display_and_set_cursor): Check for the focus frame's selected
4897 window instead of selected_window.
4898 (x_after_update_window_line): Don't clear if frame's internal
4899 border width is zero.
4900 (x_new_font): Don't change a tooltip's size.
4901 (w32_initialize): Set char_ins_del_ok to 1.
4902
4903 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4904 (x_set_font): If font hasn't changed, avoid recomputing
4905 faces and other things.
52283633
SM
4906 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4907 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4908 (x_create_tip_frame): Prevent changing the tooltip's
4909 background color by specifying a color for the default font
4910 in .Xdefaults.
4911 (Qcancel_timer): New variable.
4912 (syms_of_w32fns): Initialize and staticpro it.
4913 (Fx_hide_tip, Fx_show_tip): Use it.
4914 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4915 the timer.
4916 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4917
4918 * w32.c (init_environment): Duplicate local string before putenv.
4919
555e35d2
SZ
49202001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4921
4922 * charset.c (Fstring): A typo.
4923
19c92c94
KH
49242001-02-09 Kenichi Handa <handa@etl.go.jp>
4925
e47a1c33
KH
4926 * charset.c (Fstring): If all arguments are less than 256, return
4927 a unibyte string.
4928
4929 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4930 return a unibyte string.
4931
19c92c94
KH
4932 * coding.c (code_convert_region): After detecting a coding, if
4933 nothing found, set coding->composing to COMPOSITION_NO.
4934 (decode_coding_string): Likewise.
4935
d8e675f5
SM
49362001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4937
4938 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4939 to avoid overflow.
4940
bd503487
KH
49412001-02-07 Kenichi Handa <handa@etl.go.jp>
4942
4943 * charset.c (parse_str_to_multibyte): New function.
4944
4945 * charset.h (parse_str_to_multibyte): Extern it.
4946
4947 * print.c (print_string): If we are going to print a unibyte
4948 string into a multibyte buffer, convert the string to multibyte by
4949 str_to_multibyte.
4950
a8370d72
AI
49512001-02-06 Andrew Innes <andrewi@gnu.org>
4952
4953 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4954 been created. It seems we can get sent window messages such as
4955 WM_ERASEBKGND before we properly update a frame.
4956
c363a1d6
GM
49572001-02-06 Gerd Moellmann <gerd@gnu.org>
4958
4959 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4960 Avoid some unnecessary cursor positioning.
4961
a08332c0
GM
49622001-02-05 Gerd Moellmann <gerd@gnu.org>
4963
52283633 4964 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4965 (LFACE_AVGWIDTH): New macro.
4966 (LFACEP): Use AREF.
4967 (check_lface_attrs): Check LFACE_AVGWIDTH.
4968 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4969 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4970 (merge_face_vectors): Check LFACE_AVGWIDTH.
4971 (Finternal_make_lisp_face): Use AREF.
4972 (xm_set_menu_resources_from_menu_face)
4973 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4974 (Finternal_lisp_face_empty_p): Use AREF.
4975 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4976 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4977 Compare average widths..
4978 (best_matching_font): Arrange for comparing average widths.
4979
52283633
SM
4980 * dispextern.h (enum lface_attribute_index):
4981 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4982
5cb3c8d4
DL
49832001-02-05 Dave Love <fx@gnu.org>
4984
4985 * puresize.h: Revert last change following loadup.el change.
4986
193fba87
AI
49872001-02-05 Andrew Innes <andrewi@gnu.org>
4988
4989 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4990 invocation of temacs, to work with Windows 2000.
4991 (bootstrap-emacs): Ditto.
4992
e16f52ce
GM
49932001-02-05 Gerd Moellmann <gerd@gnu.org>
4994
7a58ab59
GM
4995 * xterm.c (x_display_and_set_cursor): Check for the focus
4996 frame's selected window instead of selected_window.
4997
e89aaabd
GM
4998 * xdisp.c (try_scrolling): If point is in the line below the
4999 window, make sure to move the iterator at least a canonical
5000 char height down.
5001
52283633 5002 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 5003
789ce875
KH
50042001-02-05 Kenichi Handa <handa@etl.go.jp>
5005
52283633
SM
5006 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5007 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
5008 (ccl_driver): If the CCL program is terminated because of
5009 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5010 destination instead of throwing them away.
5011
20b28f82
GM
50122001-02-02 Gerd Moellmann <gerd@gnu.org>
5013
79fb38c0
GM
5014 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5015 faces and other things.
5016
20b28f82
GM
5017 * xdisp.c (get_next_display_element): Fix case of empty
5018 display table entry.
5019
5a72551e
EZ
50202001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5021
eb24d0bf
EZ
5022 * editfns.c (Fconstrain_to_field): Doc fix.
5023
6a3f48c7
EZ
5024 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5025 into `thoroughly', to make it consistent with the doc string.
5026
5a72551e
EZ
5027 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5028
01acdb05
GM
50292001-02-01 Gerd Moellmann <gerd@gnu.org>
5030
0353b28f
GM
5031 * search.c (search_buffer): Call set_search_regs with a byte
5032 position, not a character position.
5033
01acdb05
GM
5034 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5035 minibuffer-only,
5036
e86b5133
EZ
50372001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5038
5039 * frame.c (Fmodify_frame_parameters): Doc fix.
5040
7442878f
GM
50412001-01-31 Gerd Moellmann <gerd@gnu.org>
5042
01acdb05
GM
5043 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5044 identifier which is not reserved by Standard C.
52283633 5045
7442878f
GM
5046 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5047
5048 * window.c (enum window_part): New enumeration.
5049 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5050 Qright_bitmap_area.
5051 (coordinates_in_window): Return an enumerator from enum
5052 window_part. Fix handling of right scroll bar.
5053 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5054 `right-fringe' instead of `left-bitmap-area' and
5055 `right-bitmap-area'. Use enumerators from enum window_part
5056 instead of hard-coded integers.
52283633
SM
5057 (check_window_containing, window_from_coordinates):
5058 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5059 (syms_of_window): Replace Qleft_bitmap_area and
5060 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5061
7c132cba
EZ
50622001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5063
5064 * editfns.c (Fformat_time_string): Doc fix.
5065
c359dd9e
SM
50662001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5067
5068 * keymap.c (Fwhere_is_internal): Use the first valid binding
5069 if no ascii binding is found (when firstonly is t).
5070
ce070307
GM
50712001-01-31 Gerd Moellmann <gerd@gnu.org>
5072
b4f30ec5
GM
5073 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5074 instead of Finteractive_p.
5075
5076 * lisp.h (interactive_p): Add prototype.
5077
5078 * eval.c (interactive_p): New function.
5079 (Finteractive_p): Use it.
5080
ce070307
GM
5081 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5082
f57b6e64
DL
50832001-01-31 Dave Love <fx@gnu.org>
5084
d61c7afe
DL
5085 * .gdbinit (hook-run): Define to run xreload.
5086
f57b6e64
DL
5087 * textprop.c (Fset_text_properties): Fix newline in doc string.
5088
eef93f99
GM
50892001-01-30 Gerd Moellmann <gerd@gnu.org>
5090
52283633
SM
5091 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5092 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5093
5094 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5095 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5096 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5097
5098 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5099 height.
5100
d9c1f6f9
DL
51012001-01-30 Dave Love <fx@gnu.org>
5102
5103 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5104 AFTER_POTENTIAL_GC.
5105
e8f044a0
GM
51062001-01-29 Gerd Moellmann <gerd@gnu.org>
5107
52283633
SM
5108 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5109 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5110
8e1db7b3
EZ
51112001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5112
5113 * textprop.c (Fset_text_properties): Doc fix.
5114
4eefd9d2
GM
51152001-01-29 Gerd Moellmann <gerd@gnu.org>
5116
5117 * xdisp.c (forward_to_next_line_start): Remove xassert.
5118
fccb8288
EZ
51192001-01-29 Jason Rumney <jasonr@gnu.org>
5120
4eefd9d2 5121 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5122 returning without releasing it.
5123
76581eab
KH
51242001-01-29 Kenichi Handa <handa@etl.go.jp>
5125
5126 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5127 for '^', '$', and '\0'.
5128
83a96b4d
AC
51292001-01-28 Andrew Choi <akochoi@i-cable.com>
5130
5604ec34
AC
5131 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5132 regex for '^', '$', and '\0'.
5133
83a96b4d
AC
5134 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5135 only if current_sblock has been initialized.
5136
5137 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5138 terminal frame even if it is the only visible frame.
5139
c09a6440
KH
51402001-01-28 Kenichi Handa <handa@etl.go.jp>
5141
5142 * fontset.c (font_family_registry): Even if FONTNAME conform to
5143 XLFD, if it specifies other fields than family and registry,
52283633 5144 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5145 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5146 a signle byte character. Don't set FAMILY part to nil here.
5147 It is handled by the caller choose_face_font.
c09a6440
KH
5148 (Fnew_fontset): Call font_family_registry with FORCE 0.
5149 (Fset_fontset_font): Likewise.
5150
4dcd74e6
GM
51512001-01-27 Gerd Moellmann <gerd@gnu.org>
5152
5153 * xdisp.c (display_line): Don't treat a newline as fitting
5154 on the line.
5155
d2906bf8
GM
51562001-01-26 Gerd Moellmann <gerd@gnu.org>
5157
0130fe1a
GM
5158 * window.c (size_window): Set the window's orig_top to nil when
5159 changing heights, so that a future shrink_mini_window won't
5160 restore a bogus height.
5161
550f0e6a
GM
5162 * frame.c (do_switch_frame): If selected frame has a mini-window,
5163 resize that to exact size.
5164
b7b20fbd
GM
5165 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5166
a47b7816
GM
5167 * xdisp.c (display_line): Simplify check for glyphs fitting
5168 entirely in the line.
5169
d2906bf8
GM
5170 * xfns.c (xic_style): New variable.
5171 (create_frame_xic): Move static variable to global scope for
550f0e6a 5172 the case that `static' gets defined away.
d2906bf8 5173
73df2b1e
KH
51742001-01-26 Kenichi Handa <handa@etl.go.jp>
5175
5176 * coding.c (decode_coding): Set a flag for inhibiting
5177 inconsistent eol.
5178 (code_convert_region): Always set saved_coding_symbol.
5179 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5180 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5181
6613cfc4
GM
51822001-01-25 Gerd Moellmann <gerd@gnu.org>
5183
c5e6e06b
GM
5184 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5185 XClearArea.
5186
5187 * xterm.c (x_after_update_window_line): Don't clear if frame's
5188 internal border width is zero.
5189 (x_clear_area): New function.
5190 (x_after_update_window_line, x_clear_end_of_line)
5191 (x_scroll_bar_create, x_scroll_bar_set_handle)
5192 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5193 instead of XClearArea.
5194
5195 * xterm.h (x_clear_area): Add prototype.
5196
6613cfc4
GM
5197 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5198 which doesn't seem necessary anymore with Lesstif 0.92.
5199
650cc6cc
DL
52002001-01-25 Dave Love <fx@gnu.org>
5201
34ac3367
DL
5202 * puresize.h (BASE_PURESIZE): Up to 720000.
5203
650cc6cc
DL
5204 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5205
5e37dc22
GM
52062001-01-25 Gerd Moellmann <gerd@gnu.org>
5207
e1e441f9
GM
5208 * xdisp.c (echo_area_display): Don't call redisplay_internal
5209 when Emacs is shutting down. We can't run hooks etc. that
5210 would be necessary to do a redisplay.
5211
5e37dc22
GM
5212 * lread.c (read_integer): Use type EMACS_INT instead of int.
5213
0fb94c7f
EZ
52142001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5215
5216 * ccl.c (ccl_driver): Fix last change.
5217
e3778624
KH
52182001-01-25 Kenichi Handa <handa@etl.go.jp>
5219
5220 * ccl.h (sturct ccl_program): New member suppress_error.
5221
bb264518 5222 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5223 insert error message to the output.
5224 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5225
5226 * coding.h (struct coding_system): New member suppress_error.
5227
5228 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5229 (Fset_terminal_coding_system_internal): Set the member
5230 suppress_error to 1.
5231 (Fset_safe_terminal_coding_system_internal): Likewise.
5232
245ed2b1
SM
52332001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5234
5235 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5236 as if it was a `charset'.
5237
f9aaedb6
GM
52382001-01-24 Gerd Moellmann <gerd@gnu.org>
5239
5240 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5241 value in where_is_cache; the next lookup in the cache returns
5242 something bogus if we do.
5243
c3902c3e
EZ
52442001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5245
5246 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5247 if HAVE_WINDOW_SYSTEM isn't defined.
5248
3497f73e
GM
52492001-01-24 Gerd Moellmann <gerd@gnu.org>
5250
e7e41584
GM
5251 * fns.c (sweep_weak_table): Fix code taking items out of
5252 the hash collision chain. Some cleanup.
5253
3497f73e
GM
5254 * xterm.c (x_new_font): Don't change a tooltip's size.
5255
5256 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5257 background color by specifying a color for the default font
5258 in .Xdefaults.
5259
3d48e687
KH
52602001-01-24 Kenichi Handa <handa@etl.go.jp>
5261
96531b20
KH
5262 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5263 a workaround for SunOS 4's cc.
5264 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5265 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5266 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5267 statement.
3d48e687 5268
a30629d2
GM
52692001-01-23 Gerd Moellmann <gerd@gnu.org>
5270
5271 * xterm.c (x_set_window_size_1): New function extracted from
5272 x_set_window_size.
5273 (x_set_window_size): Use it.
5274 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5275 doesn't have a widget, like tooltips.
5276
5a43decf
EZ
52772001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5278
52283633 5279 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5280
b0e98867
KH
52812001-01-23 Kenichi Handa <handa@etl.go.jp>
5282
5283 * fns.c (Fset_char_table_default): Fix to make sub char-table
5284 correctly.
5285
50606b4c
GM
52862001-01-22 Gerd Moellmann <gerd@gnu.org>
5287
cb2ddc53 5288 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5289 a desired tool bar string, even if there are no tool bar items.
5290
57c28064
GM
5291 * xdisp.c (Ftool_bar_lines_needed): New function.
5292 (syms_of_xdisp): Defsubr it.
5293
50606b4c
GM
5294 * editfns.c (Fformat): Don't extend text properties from arguments
5295 to padding chars in the result.
5296
2f169c38
EZ
52972001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5298
5299 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5300
0f32f023
AI
53012001-01-20 Andrew Innes <andrewi@gnu.org>
5302
52283633 5303 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5304 (w32_initialize): Don't set term hooks that aren't actually needed
5305 in windowed mode.
5306
5307 * xfaces.c (realize_default_face):
5308 (realize_face):
5309 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5310
5311 * xdisp.c (handle_single_display_prop): Remove references to
5312 FRAME_W32_CONSOLE_P.
5313
52283633 5314 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5315
5316 * frame.h (output_method): Remove output_w32_console method.
5317 (FRAME_W32_CONSOLE_P): Remove macro.
5318
5319 * frame.c (Qw32_console): Remove variable.
5320 (Fframep): Remove references to it.
5321 (syms_of_frame): Ditto.
5322 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5323
5324 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5325 redefinition.
5326
7173eada
KH
53272001-01-20 Kenichi Handa <handa@etl.go.jp>
5328
5329 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5330
755b45ce
AI
53312001-01-19 Andrew Innes <andrewi@gnu.org>
5332
5333 * w32.c (init_environment): Add a version-independent site-lisp
5334 directory to EMACSLOADPATH, after the version dependent one.
5335
0a949811
GM
53362001-01-19 Gerd Moellmann <gerd@gnu.org>
5337
8501998a
GM
5338 * editfns.c (Fbuffer_substring): Doc fix.
5339
52283633
SM
5340 * xdisp.c (message_dolog, message2, message2_nolog):
5341 Rename parameter LEN to NBYTES.
0a949811 5342
e6ebcbbe
KH
53432001-01-19 Kenichi Handa <handa@etl.go.jp>
5344
200ecca2
KH
5345 * charset.c (strwidth): Use c_string_width.
5346 (c_string_width): New function.
5347 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5348 Caller changed.
5349
5350 * charset.h (c_string_width, lisp_string_width): Extern them.
5351
52283633 5352 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5353
e6ebcbbe
KH
5354 * indent.c (check_composition): Check validity of composition.
5355
200ecca2
KH
5356 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5357 characters by calling c_string_width.
5358 (x_consider_frame_title): Get byte length of frame tile string
5359 correctly.
5360 (display_mode_element): Pay attention to width of non-ASCII
5361 characters by calling strwidth.
5362
8692ca92
GM
53632001-01-18 Gerd Moellmann <gerd@gnu.org>
5364
8962e303
GM
5365 * xfns.c (Qcancel_timer): New variable.
5366 (syms_of_xfns): Initialize and staticpro it.
5367 (Fx_hide_tip, Fx_show_tip): Use it.
5368 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5369 the timer.
5370 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5371
91523be9
GM
5372 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5373
5374 * window.h (WINDOW_LIVE_P): New macro.
5375
b0b7ed0e
GM
5376 * window.c (window_size_fixed): New variable.
5377 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5378 the doc string.
5379
06bccf8e
GM
5380 * eval.c (specbind): If binding a per-buffer variable which
5381 doesn't have a buffer-local value in the current buffer, change
5382 the global value by changing the value of the symbol bound in all
5383 buffers not having their own value, to make it consistent with
5384 what happens with other buffer-local variables.
5385
8692ca92
GM
5386 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5387
5388 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5389 when searching for a newline.
5390
bb3a3b50
KH
53912001-01-18 Kenichi Handa <handa@etl.go.jp>
5392
5393 * xdisp.c (display_string): Fix previous change.
5394
c2cc16fa
JR
53952001-01-18 Jason Rumney <jasonr@gnu.org>
5396
5397 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5398 GLYPH_DEBUG is defined.
5399 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5400 true for images with `:ascent 100'.
5401 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5402 meantime, use face MOUSE_FACE_ID.
5403 If first glyph isn't a character glyph, use the ASCII NUL
5404 character to determine the face.
5405 (expose_area): Do not treat left margin specially.
5406 (note_mode_line_highlight): If no local_map, check global keymap.
5407 (note_mouse_highlight): Initialize overlay.
52283633 5408 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5409 (show_scroll_bars): Remove unused function.
5410 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5411 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5412 Clip to row.
52283633 5413 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5414 (x_free_frame_resources): Unload relief colors.
5415
9c11f79e
GM
54162001-01-17 Gerd Moellmann <gerd@gnu.org>
5417
3aec8722 5418 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5419 get_next_display_element when the newline is already found.
5420 This may change the iterator's position, when its current position is
3aec8722
GM
5421 equal to the iterator's stop_charpos.
5422
f3ffc2c3
GM
5423 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5424 zero, use this method only at the end of a line.
5425
52283633 5426 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5427 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5428 if SCALABLE_FONTS_P is set.
52283633 5429
d26d6fd9
GM
5430 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5431 so that scalable fonts are included.
5432
9c11f79e
GM
5433 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5434 In the cache, use a key containing the information if scalable
5435 fonts are included.
5436 (x_load_font): Adapt to change of keys in the font cache.
5437
54382001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5439
d26d6fd9
GM
5440 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5441 XListFonts to take advantage of font caching.
5442
9c11f79e
GM
5443 * xterm.c (x_list_fonts): Ensure caching font information when
5444 called for a null frame, which is the case frequently when Emacs
5445 starts.
5446
51446987
GM
54472001-01-17 Gerd Moellmann <gerd@gnu.org>
5448
f864120f
GM
5449 * xfns.c (QCconversion): Replaces QCalgorithm.
5450
5451 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5452
5453 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5454 of :algorithm.
52283633 5455
e37d1417
GM
5456 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5457 not everything could be displayed.
5458
51446987
GM
5459 * line.h, x-list-font.c: Files removed because unused.
5460
9ad4f3e5
AI
54612001-01-17 Andrew Innes <andrewi@gnu.org>
5462
5463 * dired.c (directory_files_internal): Convert result from readdir
5464 to a unibyte string initially, to avoid possible misinterpretation
5465 of some bytes as the internal form of Emacs characters.
5466
2eda09b5
KH
54672001-01-17 Kenichi Handa <handa@etl.go.jp>
5468
5469 * fns.c (concat): Be sure to avoid putting the same `composition'
5470 property on the adjacent regions.
5471
826f3788
GM
54722001-01-16 Gerd Moellmann <gerd@gnu.org>
5473
52283633 5474 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5475 (Fscroll_right, Fscroll_left): Set it here instead, if called
5476 interactively.
5477
d57b83b3
GM
5478 * buffer.c (Fset_buffer_modified_p): Set buffer's
5479 prevent_redisplay_optimizations_p flag.
5480
826f3788 5481 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5482 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5483 with additional arg.
5484
5485 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5486 Change prototype.
826f3788 5487
826f3788
GM
5488 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5489 FROM_WHERE, for debugging.
5490
261d788b
KH
54912001-01-16 Kenichi Handa <handa@etl.go.jp>
5492
5493 * ccl.c (Fregister_ccl_program): Handle the return value of
5494 resolve_symbol_ccl_program correctly.
52283633 5495 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5496
bccee4f2
GM
54972001-01-15 Gerd Moellmann <gerd@gnu.org>
5498
e4ded23c
GM
5499 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5500 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5501
5502 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5503 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5504 the display; we didn't open it.
5505
bccee4f2
GM
5506 * dispnew.c (save_or_restore_current_matrices): Function removed.
5507 (save_current_matrix, restore_current_matrix): New functions.
5508 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5509 restore the frame's current matrix. Due to the glyph pointer
5510 setup done in adjust_glyph_matrix, there is no easy way to make
5511 saving the current matrix in the desired matrix generally correct,
5512 so don't try it.
5513
ebeccffa
KH
55142001-01-15 Kenichi Handa <handa@etl.go.jp>
5515
5516 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5517 truncation glyphs.
5518 (display_line): Optimize for wide characters.
e4ded23c 5519 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5520 partially. On ttys, produce more than one truncation glyph for
5521 multi-column characters that don't fit on the line.
5522
64388126
KH
55232001-01-13 Kenichi Handa <handa@etl.go.jp>
5524
52283633
SM
5525 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5526 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5527
8edb0a6f
JR
55282001-01-13 Jason Rumney <jasonr@gnu.org>
5529
5530 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5531 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5532 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5533 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5534
52283633
SM
5535 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5536 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5537 (x_draw_image_glyph_string): Adapt to change of image margins.
5538
5539 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5540 variables.
5541
5542 * w32bdf.c (search_file_line, get_cached_font_char)
5543 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5544
5545 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5546
5547 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5548 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5549 (Fw32_send_sys_command): Remove unused variables.
5550 (w32_msg_pump): Add parentheses.
5551
5552 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5553 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5554 Add parentheses.
5555
4956d1ef
GM
55562001-01-12 Gerd Moellmann <gerd@gnu.org>
5557
b30623be
GM
5558 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5559 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5560 being a pair of margins.
5561 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5562 to DEFVAR_LISP. Extend doc.
5563
5564 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5565 margins.
5566 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5567 pair of integers `(X . Y)', use X for the horizontal and Y for the
5568 vertical margin.
5569 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5570 (parse_image_spec): Check it.
52283633
SM
5571 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5572 (tiff_format, gif_format, gs_format):
5573 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5574
52283633
SM
5575 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5576 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5577 (x_draw_image_glyph_string): Adapt to the change of image margins.
5578
5579 * dispextern.h (struct image): Replace member `margin' with
5580 `hmargin' and `vmargin'.
5581
4554cc79
GM
5582 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5583 and GLYPHS.
5584
5585 * dispnew.c (update_text_area): Put code which decrements the
5586 stop position when the row's face extends to the end of the
3bffc665 5587 line in #if 0.
4554cc79 5588
3cccce8d
GM
5589 * xfns.c (x_set_mouse_color): Fix color allocation.
5590
4956d1ef
GM
5591 * keyboard.c: Call get_local_map with new argument list.
5592
5593 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5594
5595 * intervals.h (enum map_property): Removed.
5596 (get_local_map): Change prototype.
5597
5598 * keymap.c: Call get_local_map with new argument list.
5599 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5600
2c2ff7f2
GM
56012001-01-11 Gerd Moellmann <gerd@gnu.org>
5602
a23887b9
GM
5603 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5604 of the size needed for the tool bar string. For the last image,
5605 use a `display' property that reaches to the end of the string.
5606
a7ee2d2e
GM
5607 * xselect.c (selection_request_dpyinfo): New variable.
5608 (x_handle_selection_request): Set it.
5609 (x_selection_request_lisp_error): Don't call
5610 x_decline_selection_request if selection request's display has
5611 been closed.
5612
52283633
SM
5613 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5614 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5615
457b792c
GM
56162001-01-10 Dave Love <fx@gnu.org>
5617
5618 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5619 ${SOME_MACHINE_LISP}, not ${lisp}.
5620
c1efd260
GM
56212001-01-10 Gerd Moellmann <gerd@gnu.org>
5622
52283633
SM
5623 * xdisp.c (display_line): On ttys, produce more than one truncation
5624 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5625
ac95a621
GM
5626 * xselect.c (x_reply_selection_request): Add a comment.
5627
c1efd260
GM
5628 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5629 XkbGetNames instead of XkbGetKeyboard.
5630
1bfb1345
DL
56312001-01-10 Dave Love <fx@gnu.org>
5632
5633 * sysdep.c (random): Revert the declaration.
5634
38119822
GM
56352001-01-09 Gerd Moellmann <gerd@gnu.org>
5636
52283633
SM
5637 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5638 Call function string_bytes.
35f464a7
GM
5639 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5640
5641 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5642 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5643 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5644 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5645 the current sblock.
5646 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5647 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5648 after sweeping strings, and at the end.
5649 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5650
38119822
GM
5651 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5652 ensure that pop_message is called.
5653
5654 * keyboard.c (Fexecute_extended_command): Use a
5655 record_unwind_protect to ensure that pop_message is called.
5656
5657 * lisp.h (push_message_unwind): Add prototype.
5658
5659 * xdisp.c (push_message_unwind): New function.
5660
5661 * fileio.c (do_auto_save_unwind): Do the pop_message here
5662 instead of in Fdo_auto_save.
5663 (Fdo_auto_save): Don't call pop_message.
5664
f47a9ec4
KR
56652001-01-08 Ken Raeburn <raeburn@gnu.org>
5666
5667 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5668 in inner block.
5669
a758f97d
GM
56702001-01-08 Gerd Moellmann <gerd@gnu.org>
5671
6d0afc03
GM
5672 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5673 when increasing window's vscroll.
5674
a758f97d
GM
5675 * macros.c (Qkbd_macro_termination_hook): New variable.
5676 (syms_of_macros): Initialize and staticpro it.
5677 (pop_kbd_macro): Run kbd-macro-termination-hook.
5678
5679 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5680
1bfb1345 56812001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5682
5683 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5684 arglist, for documentation's sake.
5685
0dac6924
AI
56862001-01-06 Andrew Innes <andrewi@gnu.org>
5687
5688 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5689 of *.pdb.
5690
8182406a
AI
56912001-01-05 Andrew Innes <andrewi@gnu.org>
5692
5693 * term.c (update_end): Don't check updating_frame; for some reason
5694 this can be 0 sometimes, such as after dismissing a popup menu,
5695 and isn't necessary given the explicit frame argument.
5696
3828218c
GM
56972001-01-05 Gerd Moellmann <gerd@gnu.org>
5698
5699 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5700 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5701
2f5ded21
GM
57022001-01-04 Gerd Moellmann <gerd@gnu.org>
5703
52283633 5704 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5705
5706 * xfns.c (x_create_tip_frame): Preserve the value of
5707 face_change_count around the creation of the tip frame.
52283633 5708
2f5ded21
GM
5709 * xfns.c (last_show_tip_args): New variable.
5710 (compute_tip_xy): New function.
5711 (Fx_show_tip): Reuse an existing tip frame, if possible.
5712 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5713
dfad65fa
DL
57142001-01-04 Dave Love <fx@gnu.org>
5715
64d4ec0f
DL
5716 * editfns.c (Fformat): Doc fix.
5717
dfad65fa
DL
5718 * systime.h (set_file_times): Prototype.
5719
5720 * widget.h (EmacsFrameSetCharSize_): Prototype.
5721
5722 * sysdep.c (random, srandom): Declare explicitly.
5723
5724 * dispextern.h (move_it_vertically_backward): Declare.
5725
85fe3b5e
GM
57262001-01-04 Gerd Moellmann <gerd@gnu.org>
5727
0f2ac578
GM
5728 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5729 like in Fx_create_frame.
5730
482cca61
GM
5731 * xfaces.c (set_font_frame_param): Don't do anything for
5732 non-graphical frames.
5733
85fe3b5e
GM
5734 * window.c (Fdelete_other_windows): Set window's window_end_valid
5735 to nil when changing the window's start. Don't change the
5736 window's start when its top position hasn't changed. If we do,
5737 this will set the window's optional_new_start, which act's like a
5738 force_start during redisplay with C-x 1 M-> under particular
5739 circumstances (see report from Per Starback to emacs-pretest-bug
5740 from 2000-12-13.).
5741
3e99d3b4
GM
57422001-01-03 Gerd Moellmann <gerd@gnu.org>
5743
a77dc1ec
GM
5744 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5745 short cut at the start of the function. Add an assertion.
5746 (reseat_at_next_visible_line_start): Add an assertion.
5747
2f3cad6c
GM
5748 * window.c (Frecenter): When changing the window start, set the
5749 window's window_end_valid to nil.
5750 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5751
5752 * dispextern.h (move_it_past_eol): Add prototype.
5753
5754 * xdisp.c (move_it_past_eol): New function.
5755
3e99d3b4
GM
5756 * window.c (Fwindow_end): Doc fix.
5757
57582001-01-03 Dave Love <fx@gnu.org>
5759
52283633 5760 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5761
bafb434c
GM
57622001-01-03 Gerd Moellmann <gerd@gnu.org>
5763
5764 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5765 the enabled_p flag of the glyph row at window_end_vpos to 0.
5766 (handle_single_display_prop): Fix last change.
5767
5297fb00
RS
57682001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5769
5770 * window.c (Frecenter): Doc fix.
5771
13d6a61c
AI
57722001-01-02 Andrew Innes <andrewi@gnu.org>
5773
5774 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5775
5776 * frame.h (output_method): Add output_w32_console method.
5777 (FRAME_W32_CONSOLE_P): New macro.
5778
5779 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5780 use output_w32_console method.
5781 (Qw32_console): New Lisp_Object.
5782 (Fframep): Return it.
5783 (syms_of_frame): Init it.
52283633 5784 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5785
5786 * xfaces.c (realize_default_face): Set face foreground and
5787 background to unspecified for w32_console frames.
5788 (realize_face): Realize face cache for w32_console frames.
5789 (realize_tty_face): Accept w32_console frames.
5790
52283633 5791 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5792 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5793 necessary, even if running interactively.
5794
5795 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5796 w32_console frames.
5797
52283633
SM
5798 * w32term.c (x_update_begin):
5799 (x_update_end):
5800 (x_clear_frame):
5801 (x_ins_del_lines):
5802 (x_change_line_highlight):
5803 (x_delete_glyphs):
5804 (w32_ring_bell):
5805 (x_update_begin):
5806 (x_update_end):
5807 (w32_reassert_line_highlight):
5808 (w32_frame_rehighlight):
13d6a61c
AI
5809 (w32_frame_raise_lower): Do nothing if not w32 frame.
5810
5811 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5812
5813 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5814 system doesn't tell us directly.
5815 (Fx_display_visual_class): Implement properly.
5816
d6bb0c0d
GM
58172001-01-02 Gerd Moellmann <gerd@gnu.org>
5818
5819 * window.c (Frecenter): Handle centering in graphical frames
5820 specially. Centering on the basis of line counts doesn't work
5821 reliably with variable-height lines.
52283633 5822
315f5865
EZ
58232001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5824
5825 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5826 and al[].
5827
52283633 5828 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5829 (update_compositions): Remove unused variable `hook'.
5830
5831 * intervals.c (get_local_map): Remove unused variable `tem'.
5832
5833 * doprnt.c (doprnt1): Remove unused variable `size'.
5834
5835 * fns.c (Flength): Remove unused variable `tail'.
5836 (Fdelete): Remove unused variable `size'.
5837
5838 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5839 and `gcpro2'.
5840
52283633 5841 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5842
5843 * data.c (find_symbol_value): Remove extra 3rd argument in the
5844 call to swap_in_symval_forwarding.
5845
52283633 5846 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5847
5848 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5849 (trivial_regexp_p): Remove unused variable `c'.
5850 (boyer_moore): Remove unused variable `k'.
5851
5852 * indent.c (current_column): Remove unused variable `stopchar'.
5853 (Fcompute_motion): Remove unused variable `contin'.
5854
5855 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5856
5857 * dired.c (directory_files_internal): Fix a typo in a comment.
5858 Remove an unused variable `handler'.
52283633 5859 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5860 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5861 on BSD4_2.
5862
52283633 5863 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5864
5865 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5866 and `buf'.
5867 (Fmarker_insertion_type): Remove unused variable `buf'.
5868
5869 * insdel.c (make_gap): Remove unused variable `result'.
5870
52283633 5871 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5872 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5873 (menu_bar_items): Remove unused function-scope variable `tem'.
5874
5875 * fontset.c (fontset_ref): Remove unused variable `i'.
5876 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5877 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5878 (make_fontset_for_ascii_face): Remove unused variable `name'.
5879 (fs_load_font): Remove unused variable `font_idx'.
52283633 5880 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5881 (list_fontsets): Remove unused variable `tail'.
5882 (Fnew_fontset): Remove unused variables `family' and `registry'.
5883 (accumulate_font_info): Remove unused variable `tmp'.
5884 (Ffontset_font): Remove unused variable `id'.
5885 (syms_of_fontset): Remove unused variable `i'.
5886
5887 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5888 to x_term_init.
5889 (lookup_image): Remove unused variable `file'.
5890 (xbm_load): Remove unused variables `bitmap_data', `height', and
5891 `width'. Remove function-local variable `i', leave the
5892 block-local one.
5893 (gif_load): Remove unused variable `inc'.
5894
52283633 5895 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5896 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5897 leave only the one in the inner block.
5898
5899 * xfaces.c (face_fontset, realize_default_face): Remove unused
5900 variable `fontset'.
5901 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5902
5903 * term.c (encode_terminal_code): Remove unused variable `c'.
5904
5905 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5906 char *' instead of `char *'.
5907
5908 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5909 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5910 (Fchar_category_set): Remove unused variables `val', `charset',
5911 `c1' and `c2'.
5912
52283633
SM
5913 * coding.c (detect_coding_iso2022, setup_coding_system):
5914 Remove unused variable `i'.
315f5865
EZ
5915 (detect_coding_mask): Remove unused variable `idx'.
5916 (detect_coding): Remove unused variable `i'.
5917 (ccl_coding_driver): Remove unused variable `result'.
5918 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5919 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5920 (encode_coding_string): Remove unused variables `gcpro1' and
5921 `saved_coding_symbol'.
5922 (Ffind_coding_systems_region_internal): Remove function-local
5923 variable args[], leave only the block-local one.
5924 (code_convert_region1): Remove unused variable `len'.
5925
5926 * charset.c (char_printable_p): Remove unused variable `chars'.
5927 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5928 (str_to_multibyte): Remove unused variable `c'.
5929
5930 * window.c (size_window): Remove block-local variable `min_size'.
5931
5932 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5933 `header_line_height'.
5934 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5935 enum display_element_type.
5936
1a8a9daf
GM
59372001-01-02 Gerd Moellmann <gerd@gnu.org>
5938
6dde6abc 5939 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5940 statements that call X. Save away the error message in a local copy.
5941
1883b2c6
GM
5942 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5943 the start.
5944
a13be207
GM
5945 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5946 in or at the start of invisible text.
5947
1a8a9daf
GM
5948 * dispnew.c (update_window): Don't check_current_matrix_flags.
5949
3608c0f9
JR
59502001-01-01 Jason Rumney <jasonr@gnu.org>
5951
5952 * w32fns.c (x_figure_window_size): Do not allow new_height and
5953 new_width of frame to override specified values.
5954
abb1acc4
KH
59552000-12-30 Kenichi Handa <handa@etl.go.jp>
5956
52283633 5957 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5958
762a68ec
GM
59592000-12-29 Gerd Moellmann <gerd@gnu.org>
5960
52283633 5961 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5962 (update_window) [GLYPH_DEBUG]: Call it.
5963 (scrolling_window): Prevent including current rows which are below
5964 what's displayed in the window.
5965
5966 * xdisp.c (try_window_reusing_current_matrix)
5967 <new start <= old start>: Disable rows in the current matrix
5968 which are below the window after scrolling.
52283633 5969
762a68ec
GM
5970 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5971 is zero. It's not worth the complexity.
5972 (invisible_text_between_p): Put in #if 0 because unused.
5973
2d5912c1
GM
59742000-12-28 Gerd Moellmann <gerd@gnu.org>
5975
46f6a258
GM
5976 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5977 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5978
89f93679
GM
5979 * keyboard.c (echo_char): If C is an integer, always call
5980 push_key_description. Former code could signal an invalid
5981 character error.
5982
5983 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5984 If set, print multibyte text.
5985 (Fsingle_key_description): Call push_key_description with
5986 FORCE_MULTIBYTE set.
5987 (describe_buffer_bindings): Likewise.
5988
5989 * lisp.h (push_key_description): Add prototype.
5990
c06017fb
GM
5991 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5992 around the call to redisplay_internal.
5993
f1d2ce7f
GM
5994 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5995
2d5912c1
GM
5996 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5997
9371f831
KH
59982000-12-28 Kenichi Handa <handa@etl.go.jp>
5999
6000 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6001 (ccl_driver): New local variable `extra_bytes'.
6002
6003 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6004
52283633
SM
6005 * coding.c (setup_coding_system):
6006 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
6007 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6008
0c80628a
KH
60092000-12-28 Kenichi Handa <handa@etl.go.jp>
6010
6011 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6012 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6013 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6014 (decode_composition_emacs_mule): New function.
6015 (decode_coding_emacs_mule): Decode composition sequence by calling
6016 decode_composition_emacs_mule.
6017 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
6018 (encode_coding_emacs_mule): Changed from macro to function.
6019 If a text contains compositions, encode them correctly.
0c80628a
KH
6020 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6021 that decoding and encoding are required.
6022
3e32cc27
GM
60232000-12-27 Gerd Moellmann <gerd@gnu.org>
6024
5e25feee
GM
6025 * xfaces.c (PT_PER_INCH): New macro.
6026 (xlfd_point_size): Compute real point size from font's pixel size.
6027 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6028 instead of 72.
6029
892d8fcd
GM
6030 * .gdbinit: Comment out the line pointing to the Lesstif source
6031 directory.
6032
12c8b416
GM
6033 * window.c (Frecenter): Use displayed_window_lines instead
6034 of window_internal_height.
6035
6061fbf0
GM
6036 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6037 instead of x-toolkit-scroll-bars-p.
6038 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6039
6040 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6041 instead of x-toolkit-scroll-bars-p.
6042 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6043
3e32cc27
GM
6044 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6045 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6046 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6047 New variables.
6048 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6049 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6050 (build_frame_matrix_from_leaf_window): Remove unused code.
6051 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6052 redisplay history.
6053 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6054 (update_window) [GLYPH_DEBUG]: Likewise.
6055 (syms_of_display): Defsubr dump-redisplay-history.
6056
31798cfe
GM
60572000-12-23 Gerd Moellmann <gerd@gnu.org>
6058
f717c2ba
GM
6059 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6060 the end of the prompt. Set echo_after_prompt to the offset
6061 of echoptr in echobuf.
6062
aeb2b8fc
GM
6063 * xdisp.c (init_from_display_pos): Pop until the iterator's
6064 stack is empty; there may be frames for stretch or images
6065 on the stack.
6066
31798cfe
GM
6067 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6068 (save_or_restore_current_matrix): New function for the same
6069 purpose, but more efficient.
6070 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6071
f8156156
EZ
60722000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6073
6074 * xdisp.c (syms_of_xdisp): Fix last change.
6075
bdd6d4e8
GM
60762000-12-23 Gerd Moellmann <gerd@gnu.org>
6077
6078 * xdisp.c (syms_of_xdisp): Doc fix.
6079
6080 * xdisp.c (redisplay_window): Remove label restore_buffers;
6081 use finish_scroll_bars instead to make sure that scroll bars
6082 are redeemed. If we don't do this, flickering can result from
6083 scroll bars being destroyed and recreated.
6084
9436cdf9
JR
60852000-12-22 Jason Rumney <jasonr@gnu.org>
6086
6087 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6088 in the wrong colors when the foreground is not black.
6089 (expose_window): Don't redraw the window that's currently being
6090 updated.
6091
951f9df5
GM
60922000-12-22 Gerd Moellmann <gerd@gnu.org>
6093
856ff7a7
GM
6094 * window.c (size_window): When setting the window's too_small_ok
6095 flag, compare old size with minimum size depending on WIDTH_P,
6096 don't compare with window_min_width.
52283633 6097
951f9df5
GM
6098 * window.c (delete_window): Simplify somewhat.
6099 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6100 freeing window matrices. The flag windows_or_buffers_changed is
6101 set, so the next redisplay will consider all windows; this should
6102 suffice.
6103
886bc933
KH
61042000-12-22 Kenichi Handa <handa@etl.go.jp>
6105
6106 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6107
6108 * ccl.h (struct ccl_program): New member cr_consumed.
6109
6110 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6111 (CCL_READ_CHAR): Handle EOL conversion here.
6112 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6113
177f4e88
GM
61142000-12-21 Gerd Moellmann <gerd@gnu.org>
6115
52283633 6116 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6117
6118 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6119 otherwise tabs of different size compare equal.
6120
6121 * callint.c (Fcall_interactively): Prevent a compiler warning.
6122
6123 * print.c (print_unwind): Return nil.
6124 (PRINTDECLARE): Initialize all local variables.
6125 (print_preprocess): Add a default case.
6126
8e15274f
GM
6127 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6128
6129 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6130
52283633 6131 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6132 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6133
6134 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6135
6136 * dispnew.c (ensure_frame_matrix): Removed.
6137 (save_frame_matrix, restore_frame_matrix): New functions.
6138 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6139
6140 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6141 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6142
99012074
AI
61432000-12-21 Andrew Innes <andrewi@gnu.org>
6144
6145 * w32term.c (x_update_begin): Regenerate the palette here, rather
6146 than for each window.
6147
6148 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6149 palette is NULL, since this corrupts memory! Also get
6150 display_info reference from frame.
6151
29ef7d2d
JR
61522000-12-21 Jason Rumney <jasonr@gnu.org>
6153
6154 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6155
6156 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6157 to avoid returning without releasing it.
3e27fa1f 6158
3f9d67a6
KH
61592000-12-21 Kenichi Handa <handa@etl.go.jp>
6160
587fc3f9
KH
6161 * keymap.c (push_key_description): Don't convert eight-bit-control
6162 and eight-bit-graphic to multibyte character.
6163
3f9d67a6
KH
6164 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6165 generic character and CODE1 is nil, return the smallest character
6166 in CHARSET.
6167
774ba8c9
DL
61682000-12-20 Dave Love <fx@gnu.org>
6169
6170 * s/osf5-0.h (NSIG): Don't redefine.
6171
88416888
SM
61722000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6173
6174 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6175 excluding menu-bar and tool-bar.
6176 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6177 (menu_item_p): Remove.
6178 (where_is_internal_1): Don't ignore menu-items.
6179
a6426c6f
GM
61802000-12-20 Gerd Moellmann <gerd@gnu.org>
6181
03ff8aab
GM
6182 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6183 into account.
6184
6185 * window.c (make_window): Initialize window's min_hscroll.
6186 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6187 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6188 to zero.
6189 (struct saved_window): New member min_hscroll.
6190 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6191 (Fset_window_configuration): Set window's min_hscroll.
6192 (save_window_save): Save window's min_hscroll.
6193 (compare_window_configurations): Compare min_hscroll values.
6194
6195 * window.h (struct window): New member min_hscroll.
6196
6197 * keyboard.c (echo_prompt): Prevent a compiler warning.
6198
8de4aaf8
GM
6199 * xdisp.c (try_cursor_movement): Fix last change. The real
6200 condition is that PT is at the end of the row, and should
6201 be displayed at the start of the next row.
52283633 6202
3f7e3031
GM
6203 * xdisp.c (try_cursor_movement): If we end on a partially
6204 visible line, end we already decided to scroll, return -1.
6205
a6426c6f
GM
6206 * dispextern.h (ensure_frame_matrix): Add prototype.
6207
6208 * window.c (delete_window, Fsplit_window)
6209 (Fset_window_configuration): Call ensure_frame_matrix.
6210
52283633
SM
6211 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6212 New functions.
a6426c6f
GM
6213 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6214 completed, call fake_current_matrices instead of marking frame
6215 garbaged.
6216
57fa2774
JR
62172000-12-20 Jason Rumney <jasonr@gnu.org>
6218
6219 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6220
d925df90
EZ
62212000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6222
6223 * fns.c (Frequire): Doc fix.
6224
7b93a85b
GM
62252000-12-19 Gerd Moellmann <gerd@gnu.org>
6226
52283633 6227 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6228
c74e645b
GM
6229 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6230 currently displaying a message.
6231
7b93a85b
GM
6232 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6233 xterm.h.
6234 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6235
90d97e64
AI
62362000-12-18 Andrew Innes <andrewi@gnu.org>
6237
6238 * w32.c (w32_strerror): New function.
6239
6240 * w32.h (w32_strerror): New extern.
6241
6242 * w32fns.c (Fw32_shell_execute): Use it.
6243
91c9e6ce
GM
62442000-12-18 Gerd Moellmann <gerd@gnu.org>
6245
6246 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6247
6f4745e2
EZ
62482000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6249
6250 * msdos.c (IT_set_face): Obey inverse_video.
6251
c9e088ce
KH
62522000-12-18 Kenichi Handa <handa@etl.go.jp>
6253
6254 * dired.c (directory_files_internal): Always return decoded filenames.
6255
c3695f5f
GM
62562000-12-18 Gerd Moellmann <gerd@gnu.org>
6257
52d8e4ff
GM
6258 * xterm.c (x_connection_closed): Prevent being called recursively
6259 because of an error condition in XtCloseDisplay.
52283633 6260
62be9979
GM
6261 * xdisp.c (init_iterator): If noninteractive, and the frame's
6262 face cache is null, make one.
6263
52283633 6264 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6265
c3695f5f
GM
6266 * process.c (wait_reading_process_input): Check for pending
6267 input when running timers.
6268
78555fbe
EZ
62692000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6270
52283633 6271 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6272
b2b36264
KH
62732000-12-18 Kenichi Handa <handa@etl.go.jp>
6274
6275 * process.c (read_process_output): Don't run a filter if the code
6276 decoder produces nothing but carryover.
6277
9c543fbf
AI
62782000-12-17 Andrew Innes <andrewi@gnu.org>
6279
6280 * w32.c (sys_rename): Only check errno against EEXIST, and not
6281 EACCES, when determining whether rename failed because the target
6282 exists. This was resulting in indefinite looping on Windows 9x if
6283 the source file was locked by another process.
6284
6285 * w32fns.c (Ffile_system_info): New function.
6286 (syms_of_w32fns): Defsubr it.
6287
10c2b5a8
GM
62882000-12-17 Gerd Moellmann <gerd@gnu.org>
6289
b0228ace
GM
6290 * window.c (coordinates_in_window): Fix computation for
6291 position on vertical line between mode lines.
6292
10c2b5a8
GM
6293 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6294 Don't alter tip_frame or tip_window.
6295 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6296 was deleted.
6297
c844a81a
GM
6298 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6299 Don't alter tip_frame or tip_window.
6300 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6301 was deleted.
6302
6c825f8e
EZ
63032000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6304
6305 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6306 be consistent with the doc string. Reported by NAKAJIMA Mikio
6307 <minakaji@osaka.email.ne.jp>.
6308
af4bb4c8
KH
63092000-12-16 Kenichi Handa <handa@etl.go.jp>
6310
6311 * xfaces.c (Vface_ignored_fonts): New variable.
6312 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6313 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6314
8062e53a
GM
63152000-12-15 Gerd Moellmann <gerd@gnu.org>
6316
e87b8809
GM
6317 * dispnew.c (update_window): Detect pending input every nth line
6318 updated, i.e. do it depending on real work done, and not on the
6319 vpos of the line.
6320
6321 * xterm.c (expose_window): Don't redraw the window that's
6322 currently being updated.
6323
a6768cc5
GM
6324 * window.c (Fset_window_point): Remove test for
6325 cursor_in_non_selected_windows.
6326
4ea7fdca
GM
6327 * lread.c (read1): Recognize end of file after `\\'.
6328
8062e53a
GM
6329 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6330 not unwind_create_frame.
6331
bb7959c1
GM
63322000-12-15 Dave Love <fx@gnu.org>
6333
6334 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6335 bcopy & al.
6336
6337 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6338
ced04c42
KH
63392000-12-15 Kenichi Handa <handa@etl.go.jp>
6340
c5443913
KH
6341 * coding.c (setup_coding_system): Clear all members of the struct
6342 coding_system at first.
bc137305
KH
6343 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6344 argument.
6345 (code_convert_region): Don't override coding->src_multibyte and
6346 coding->dst_multibyte.
c5443913 6347
ced04c42
KH
6348 * fns.c (Fmd5): Docstring improved.
6349
c2d7f289
MB
63502000-12-15 Miles Bader <miles@gnu.org>
6351
6352 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6353 are actually marked as mode-lines; otherwise use
6354 estimate_mode_line_height.
6355
9d7d9263
GM
63562000-12-14 Gerd Moellmann <gerd@gnu.org>
6357
6358 * editfns.c (Fformat): Prevent a buffer overrun when the format
6359 specifies a precision.
6360
7cf0153a
EZ
63612000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6362
6363 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6364 argument is outside the range [2..3].
6365
1de0f662
AI
63662000-12-14 Andrew Innes <andrewi@gnu.org>
6367
6368 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6369 nothing to do. Bind inhibit-quit.
6370 (tip_frame): Make it a Lisp_Object.
6371 (x_create_tip_frame): Set tip_frame after it has been added to
6372 Vframe_list.
6373 (Fx_show_tip): Don't set tip_frame here.
52283633 6374 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6375 (unwind_create_frame, unwind_create_tip_frame): New functions.
6376 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6377 while a frame is only partially constructed.
6378
6379 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6380 (x_free_frame_resources): New function.
6381 (x_destroy_window): Use it.
6382
02387dcc
GM
63832000-12-14 Gerd Moellmann <gerd@gnu.org>
6384
6385 * xfns.c (Fx_backspace_delete_keys_p): New function.
6386 (syms_of_xfns): Defsubr it.
6387
6388 * config.in (HAVE_XKBGETKEYBOARD): Add.
6389
0544ef49
KH
63902000-12-14 Kenichi Handa <handa@etl.go.jp>
6391
98d62747
KH
6392 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6393 Always store string in multibyte representation in echobuf.
6394 (echo_char): Always store string in multibyte representation in
6395 echobuf.
6396 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6397 (read_key_sequence): Adjusted for the change of echo_prompt.
6398
a20193cd
KH
6399 * fns.c (Fmd5): Docstring improved.
6400
191b83b6
KH
6401 * lisp.h (detect_coding_system): Prototype adjusted.
6402
0544ef49
KH
6403 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6404 (detect_coding_emacs_mule, detect_coding_iso2022,)
6405 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6406 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6407 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6408 (detect_coding_mask, detect_coding_system): New argument
6409 MULTIBYTEP. Callers changed.
1da1bb05
KH
6410 (decode_coding_string): Set coding->src_multibyte and
6411 coding->dst_multibyte before calling detect_coding and detect_eol.
6412 Update them after some coding system is detected.
52283633 6413
d5b3eb1b
SM
64142000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6415
6416 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6417
6418 * keyboard.c (menu_bar_items, tool_bar_items):
6419 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6420
f7f8bb69
GM
64212000-12-13 Gerd Moellmann <gerd@gnu.org>
6422
52283633 6423 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6424 New variables.
6425 (unwind_create_frame, unwind_create_tip_frame): New functions.
6426 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6427 while a frame is only partially constructed.
6428
6429 * xterm.h (x_free_frame_resources): Declare.
6430
6431 * xterm.c (x_free_frame_resources): New function.
6432 (x_destroy_window): Use it.
6433
e10da507
GM
6434 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6435 don't interrupt the update for pending input initially, i.e.
6436 update at least some lines.
6437
6438 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6439
d5b3eb1b 6440 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6441
6442 * xfns.c (gray_bitmap_bits): Declare `char *'.
6443
90aa2856
GM
64442000-12-12 Gerd Moellmann <gerd@gnu.org>
6445
6446 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6447 lines start with a relief line.
6448
a308c9cd
DL
64492000-12-12 Dave Love <fx@gnu.org>
6450
6451 * window.c (Fdisplay_buffer): Doc fix.
6452 (Fwindow_list): Remove unused var.
6453
6454 * buffer.h (mmap_set_vars): Declare.
6455
6456 * window.h (Fset_window_point): Declare.
6457
d575011f
EZ
64582000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6459
bf6282d2 6460 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6461 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6462 variable `area'. When looking for a row under (X,Y), give up if some
6463 of the previous rows is not enabled.
d575011f 6464
ecf4d726
GM
64652000-12-12 Gerd Moellmann <gerd@gnu.org>
6466
2ebf6139
GM
6467 * window.c (Fset_window_point): If displaying cursors in windows
6468 other than the selected window, make sure redisplay updates
6469 other windows to show the new value of point in the window.
6470
6471 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6472
bfdb75ee
GM
6473 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6474 the buffer is the sole visible buffer when in the mini-buffer.
6475
52283633 6476 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6477 Bind `inhibit-read-only' to t.
6478 (unwind_with_echo_area_buffer): Use AREF.
6479
c0006262
GM
6480 * xfns.c (Fx_hide_tip): Simplified.
6481
52283633
SM
6482 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6483 instead of `1'.
e9a59cad 6484
ecf4d726
GM
6485 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6486
e5959a9a
GM
64872000-12-11 Gerd Moellmann <gerd@gnu.org>
6488
a3642e49 6489 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6490
44b5a125
GM
6491 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6492 nothing to do. Bind inhibit-quit.
6493 (tip_frame): Make it a Lisp_Object.
6494 (x_create_tip_frame): Set tip_frame after it has been added to
6495 Vframe_list.
6496 (Fx_show_tip): Don't set tip_frame here.
6497
6498 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6499
6500 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6501 Lisp_Object.
6502
6503 * dispextern.h: Change external declaration of tip_frame.
6504
d990421f
GM
6505 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6506 return an empty string.
6507
4db87380
GM
6508 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6509 of the window's update_mode_line flag, since the former is set by
6510 force-mode-line-update, not the latter. This makes
6511 column-number-mode slightly faster.
52283633 6512
e5959a9a
GM
6513 * xdisp.c (try_window_id) <all changes above window start>:
6514 Set the cursor.
6515
169fe44e
GM
65162000-12-11 Paul Eggert <eggert@twinsun.com>
6517
6518 * config.in (HAVE_FTELLO): Remove.
6519 (HAVE_FSEEKO): Add.
6520 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6521 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6522 HAVE_FTELLO.
6523 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6524 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6525
59ec59ae
MB
65262000-12-11 Miles Bader <miles@gnu.org>
6527
6528 * window.c (displayed_window_lines): Don't round up when
6529 converting empty space at bottom to lines.
ff904dd6
MB
6530 Handle non-newline-terminated final lines properly.
6531 (Fwindow_text_height): New function (used to be in lisp).
6532 (syms_of_window): Initialize it.
59ec59ae 6533
42ebfa31
SM
65342000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6535
6536 * syntax.c (scan_lists): Check that the right quote char has the
6537 right Sstring syntax when jumping over strings.
6538 (init_syntax_once): Use Smax rather than 13.
6539
5cdb3cf3
MB
65402000-12-09 Miles Bader <miles@gnu.org>
6541
6542 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6543 with PARTIALLY, inverting the sense.
6544 (window_scroll_pixel_based): Scroll partially visible lines into
6545 place if we hit the beginning or end of the buffer.
a12167c5
MB
6546 (displayed_window_lines): Don't include partially visible lines.
6547 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6548
842b2a94
GM
65492000-12-08 Gerd Moellmann <gerd@gnu.org>
6550
6551 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6552
6553 * tparam.c (tparam1): Change the way buffers are reallocated to be
6554 portable and less obfuscated.
6555
6556 * termcap.c (tgetent): Change the way buffers are reallocated to
6557 be portable and less obfuscated.
6558
6559 * macros.c (store_kbd_macro_char): Change the way buffers are
6560 reallocated to be portable and less obfuscated.
6561
6562 * lread.c (read1): Change the way buffers are reallocated to be
6563 portable and less obfuscated.
6564
6565 * doc.c (Fsubstitute_command_keys): Change the way buffers
6566 are reallocated so that it is portable.
6567
137cad7c
EZ
65682000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6569
6570 * dosfns.c (Ffile_system_info): New function.
6571 (syms_of_dosfns): Defsubr it.
6572
5c7f629c
SM
65732000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6574
6575 * alloc.c (gc_sweep): Add comment.
6576
959e647d
GM
65772000-12-07 Gerd Moellmann <gerd@gnu.org>
6578
52283633
SM
6579 * sound.c (vox_configure): Change order of ioctls.
6580 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6581 Ignore errors when changing volume.
6582 (vox_close): Don't reset the device.
6583
926b7e5e
GM
6584 * process.c (read_process_output): Make sure the process marker's
6585 position is valid when the process buffer is changed in
6586 after-change functions. W3 does that.
52283633 6587
959e647d
GM
6588 * xfns.c (x_free_gcs): New function.
6589
6590 * xterm.h (x_free_gcs): Add prototype.
6591
6592 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6593 freeing GCs here.
6594
6595 * xterm.c (x_destroy_window): Call x_free_gcs so that
6596 resources of non-toolkit X windows will be freed.
6597
478ea067
AI
65982000-12-07 Andrew Innes <andrewi@gnu.org>
6599
6600 * w32fns.c (xlfd_charset_of_font): Fix last change.
6601
fbee3231
DL
66022000-12-06 Dave Love <fx@gnu.org>
6603
67292061
DL
6604 * md5.h (__P): Don't define -- it comes from config.h.
6605
fbee3231
DL
6606 * strftime.c: Change some #if foo to #ifdef foo.
6607
4ee87dbb
AI
66082000-12-06 Andrew Innes <andrewi@gnu.org>
6609
6610 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6611
52283633 6612 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6613 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6614 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6615
9765b4a4
GM
66162000-12-06 Gerd Moellmann <gerd@gnu.org>
6617
d285b373
GM
6618 * alloc.c (gc_sweep): Prevent symbols read during loadup
6619 from being freed.
6620
384333ee
GM
6621 * xdisp.c (underlying_face_id): New function.
6622 (handle_face_prop, face_before_or_after_it_pos): Use it
6623 to determine the face ``under'' a string. Let strings inherit
6624 the face of the buffer under them.
6625
6626 * xfaces.c (face_at_string_position): Update function comment.
52283633 6627
d4b72d58
GM
6628 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6629 matrix if the window's left position has changed; we need to
6630 redraw it in this case.
6631
6632 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6633
e1d05387
GM
6634 * window.c (coordinates_in_window): Check mouse on mode-line or
6635 header-line first.
6636
eb1b0c74
GM
6637 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6638 advertized by the function documentation.
6639
d94d636f
GM
6640 * window.c (syms_of_window): Doc fix.
6641
3887b449
GM
6642 * sound.c (vox_configure): Set volume for left and right channel.
6643 (sound_cleanup): Return nil.
6644
efc8f57a
GM
6645 * xdisp.c (move_it_by_lines): Fix paren typo.
6646
9765b4a4
GM
6647 * xterm.c (x_load_font): Don't use the font's max_bounds for
6648 computing the height of the font. If max_bounds' ascent or
6649 descent are greater than the font's ascent or descent, this means
6650 glyphs overlap, which should be handled now by redisplay.
6651
6529ed87
GM
6652 * window.c (Veven_window_heights): New variable.
6653 (syms_of_window): DEFVAR_LISP it.
6654 (Fdisplay_buffer): Check Veven_window_heights before evening the
6655 window heights.
52283633 6656
0eb2ecde
MB
66572000-12-06 Miles Bader <miles@gnu.org>
6658
6659 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6660 update `default-frame-alist' instead of setting no frame parameters.
6661
03d7a167
KH
66622000-12-06 Kenichi Handa <handa@etl.go.jp>
6663
6664 * composite.c (update_compositions): Fix typo (use the correct
6665 variable).
6666
5f8803c2
JR
66672000-12-05 Jason Rumney <jasonr@gnu.org>
6668
6669 * md5.h: Remove underscores from function declarations.
6670 (__attribute__, __alignof__) [!__GNUC__]: Define.
6671
6672 * md5.c: Delay include of md5.h until after namespace cleaning.
6673
c28a075b
JR
6674 * makefile.w32-in (fns.o): Depend on md5.h
6675 (md5.o): New target.
6676 (sunfns.o): Remove.
6677
6678 * makefile.nt: Likewise.
6679
ff3c7056
JR
66802000-12-05 Jason Rumney <jasonr@altavista.net>
6681
6682 * w32term.c (expose_area): Complete last change.
6683
0c21eeeb
KR
66842000-12-05 Ken Raeburn <raeburn@gnu.org>
6685
6686 * minibuf.c: Include intervals.h.
6687
f201d732
JR
66882000-12-05 Jason Rumney <jasonr@gnu.org>
6689
6690 * w32term.c (x_produce_glyphs): If a font for a component of
6691 a composition is not found, use 1 pixel dot ascent and 0 dot
6692 descent value to avoid displaying terribly tall empty boxes.
6693 (expose_area): Pass x-coordinate relative to the exposed
6694 area to x_draw_glyphs instead of a window-relative coordinate.
6695
21999ab9
GM
66962000-12-05 Gerd Moellmann <gerd@gnu.org>
6697
4d2036e4
GM
6698 * xdisp.c (next_element_from_ellipsis): Save face before selective
6699 display in saved_face_id, and set face_before_selective_p.
6700 (reseat_1): Reset face_before_selective_p.
6701 (append_space, extend_face_to_end_of_line): If iterator's
6702 face_before_selective_p is set, use the face from saved_face_id.
6703 (extend_face_to_end_of_line): For tty frames, make sure to
6704 use the right face id when producing spaces at the end of
6705 the line.
6706
6707 * dispextern.h (struct it): Add face_before_selective_p.
6708
52be17cc
GM
6709 * keyboard.c (record_char): Don't record identical help-echo
6710 events in recent_keys.
6711
8a4f36cc
GM
6712 * xterm.c [USE_X_TOOLKIT]: Close the display.
6713 (xim_close_dpy): Handle case that the display has been closed.
6714
57d6e381
GM
6715 * xterm.c (x_destroy_window): Reset the frame's X window after
6716 destroying it.
6717
21999ab9
GM
6718 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6719 variable window_width.
6720 (line_draw_cost): Fix code skipping over spaces at the end of the
6721 line when must_write_spaces is not set.
6722 (scrolling_window): Fix code inserting runs in list of all runs.
6723
91372bb7
KH
67242000-12-05 Kenichi Handa <handa@etl.go.jp>
6725
6726 * coding.c (setup_coding_system): Be sure to initialize
6727 coding->category_idx.
6728
6c083b4c
GM
67292000-12-04 Gerd Moellmann <gerd@gnu.org>
6730
0c68ce6f 6731 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6732
6452929e
GM
6733 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6734 area to x_draw_glyphs instead of a window-relative coordinate.
6735
d7f31e22
GM
6736 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6737 error in the message.
6738
ae18aa3b
GM
6739 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6740 timer after having read a key. It's not good for code reading
6741 several keys in a loop, like an input method.
6742
caa15ef7
GM
6743 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6744 record undo information for format-decode.
6745
6746 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6747 current buffer is read-only, not if it isn't.
6748
6c083b4c
GM
6749 * keyboard.c (record_char): Record `help-echo' input events
6750 in recent_keys only if they display some help. Don't record
6751 `help-echo' events as macro char.
6752
caa15ef7
GM
67532000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6754
6755 * editfns.c (save_excursion_restore): Don't move point
6756 in another window if it is showing the wrong buffer.
6757 Avoid the call to Fwindow_live_p, for speed.
6758
5a13529b
KH
67592000-12-04 Kenichi Handa <handa@etl.go.jp>
6760
e225faa7
KH
6761 * xfaces.c (struct font_name): New member registry_priority.
6762 (split_font_name): Initialize the above member to zero.
6763 (concat_font_list): New function.
6764 (font_list): Include fonts of all alternative registries.
6765 (FONT_POINT_SIZE_QUANTUM): New macro.
6766 (better_font_p): Ignore point size difference less than
6767 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6768
e89648b4
KH
6769 * xterm.c (x_produce_glyphs): If a font for a component of
6770 a composition is not found, use 1 pixel dot ascent and 0 dot
6771 descent value to avoid displaying terribly tall empty boxes.
6772
5a13529b
KH
6773 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6774
d7935eb6
KR
67752000-12-03 Ken Raeburn <raeburn@gnu.org>
6776
6777 * coding.h (code_convert_string1): Declare.
6778
6779 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6780
52283633 6781 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6782
0dd5e255
JR
67832000-12-02 Jason Rumney <jasonr@gnu.org>
6784
6785 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6786 correctly for single byte character case.
6787 (w32_per_char_metric): Do not try to make any assumptions about
6788 the metrics of BDF fonts.
250cfece 6789 (x_estimate_mode_line_height): If `mode-line' face
52283633 6790 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6791 (note_mouse_highlight): Change the cursor shape on the vertical
6792 border between windows [not enabled].
6793
6794 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6795
6796 * w32fns.c (Fx_create_frame): Reintroduce the call to
6797 face-set-after-frame-defaults.
6798 (Vx_window_horizontal_drag_shape): New variable.
6799 (syms_of_xfns): DEFVAR_LISP it.
6800 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6801 enabled].
0dd5e255 6802
b5d8d2ca
GM
68032000-12-02 Simon Josefsson <simon@josefsson.org>
6804
6805 * fns.c (Fmd5): Use a different logic to decide the coding system
6806 to use.
6807
6808 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6809
fbb87147
EZ
68102000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6811
52283633 6812 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6813
447e9da0
GM
68142000-12-01 Gerd Moellmann <gerd@gnu.org>
6815
7708ced0
GM
6816 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6817 height for YNegative.
6818 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6819 height; also see comment there.
6820
447e9da0
GM
6821 * window.c (coordinates_in_window): Handle computations for
6822 positions on the vertical bar and fringes differently for
6823 window-system frames. Consider some pixels near the vertical bar
6824 as on the bar if the frame doesn't have vertical scroll bars.
6825 Associate positions between mode or header lines with the
6826 right window, the left one.
6827
86d1db20
JR
68282000-12-01 Jason Rumney <jasonr@gnu.org>
6829
6830 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6831
6832 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6833 invalid frame.
6834
a1d58e5b
GM
68352000-12-01 Gerd Moellmann <gerd@gnu.org>
6836
52283633 6837 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6838 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6839 (save_window_save, Fset_window_configuration): Save/restore
6840 window's orig_top and orig_height.
6841
89c609af
JR
68422000-12-01 Jason Rumney <jasonr@gnu.org>
6843
4d177746 6844 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6845
89c609af
JR
6846 * w32fns.c (x_set_cursor_color): Fix last change.
6847
eccc05db
GM
68482000-11-30 Gerd Moellmann <gerd@gnu.org>
6849
31b6671b
GM
6850 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6851 sure that the next redisplay displays the minibuffer, so that
6852 the cursor will be replaced with what the minibuffer wants.
6853
eccc05db
GM
6854 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6855 #ifndef instead of using #if.
6856 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6857 USE_TOOLKIT_SCROLL_BARS is defined.
6858
162de750
JR
68592000-11-30 Jason Rumney <jasonr@gnu.org>
6860
6861 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6862 x_display_cursor.
6863
693c4692
GM
68642000-11-30 Gerd Moellmann <gerd@gnu.org>
6865
6866 * fns.c (Fmd5): Doc fix.
6867
b5d8d2ca 68682000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6869
6870 * fns.c (Fmd5): New function.
6871 (syms_of_fns): Defsubr md5.
6872
6873 * Makefile.in (obj): Add md5.o
6874
b02cd40b
GM
68752000-11-30 Gerd Moellmann <gerd@gnu.org>
6876
edfb795e
GM
6877 * md5.h, md5.c: New files, taken from glibc.
6878
df3aedcf
GM
6879 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6880
b02cd40b 6881 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6882 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6883
8b5176cd
SM
68842000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6885
6886 * eval.c (Frun_hooks): Allow 0 arguments.
6887
346598f1
GM
68882000-11-29 Gerd Moellmann <gerd@gnu.org>
6889
f9396e03
GM
6890 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6891 is over the menu bar widget, say it's not on the frame.
6892
4a967a9b
GM
6893 * xfns.c (Fx_create_frame): Reintroduce the call to
6894 face-set-after-frame-defaults.
6895
346598f1
GM
6896 * eval.c (Fsignal): Reset handling_signal.
6897
222456a1
JR
68982000-11-28 Jason Rumney <jasonr@gnu.org>
6899
6900 * w32menu.c (add_menu_item): Reset menu item text when changing
6901 type to radio button.
6902
8049ddc0
GM
69032000-11-28 Gerd Moellmann <gerd@gnu.org>
6904
346598f1 6905 * xselect.c: Update copyright.
f4f4ee4d 6906
bebe4a2c
GM
6907 * window.c (coordinates_in_window): If on a mode or header line,
6908 but sufficiently close to its start, return ``on vertical
6909 border''. This gives us a way to drag windows horizontally when
6910 using toolkit scroll bars.
6911
6912 * xterm.c (note_mouse_highlight): Change the cursor shape
6913 on the vertical border between windows.
6914
6915 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6916
6917 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6918 (syms_of_xfns): DEFVAR_LISP it.
6919 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6920
8d2c2642
GM
6921 * textprop.c (text_read_only): New function.
6922 (verify_interval_modification): Use it instead of signaling
6923 `text-read-only'. This makes it easier to catch this error
52283633 6924 with a breakpoint.:
8d2c2642 6925
52283633 6926 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6927 not end of line, which includes CR.
6928
5a2bae6c
KH
69292000-11-28 Kenichi Handa <handa@etl.go.jp>
6930
6931 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6932 include no-conversion.
6933
ae31f84d
JR
69342000-11-27 Jason Rumney <jasonr@gnu.org>
6935
6936 * w32fns.c (w32_load_system_font): Always mark font as double byte
6937 if codepage is unicode.
6938
67f1cf4c
GM
69392000-11-27 Gerd Moellmann <gerd@gnu.org>
6940
4a74d071 6941 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6942 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6943
902ae620
GM
6944 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6945 `vertical-line', `mode-line' and `header-line' events.
6946
6947 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6948 of a character, a TAB for instance. This is easier than to set
6949 up the iterator exactly, and it's not a frequent case, so the
6950 additional effort wouldn't really pay off.
6951
c1e279c2
AC
69522000-11-26 Andrew Choi <akochoi@i-cable.com>
6953
67f1cf4c 6954 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6955 init_window_once.
6956
a609568a
JR
69572000-11-25 Jason Rumney <jasonr@gnu.org>
6958
52283633
SM
6959 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6960 Args to window_from_coordinates should be pixel coordinates.
48b21762 6961
a609568a
JR
6962 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6963 redisplay handles them properly.
6964
a658d039
MB
69652000-11-25 Miles Bader <miles@gnu.org>
6966
6967 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6968
d3416cca
JR
69692000-11-24 Jason Rumney <jasonr@gnu.org>
6970
6971 * w32.c (init_environment): Set LANG environment variable based on
6972 locale settings, if not set.
6973
6974 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6975 making tool bar smaller. When clearing the frame, also
6976 clear current matrices. Clear frame when tool bar disappears.
6977 Don't use more lines for the tool-bar than is available.
6978 (x_change_window_heights): New function.
6979
ba193890
GM
69802000-11-24 Gerd Moellmann <gerd@gnu.org>
6981
2be8f184
GM
6982 * xdisp.c (init_from_display_pos): If POS says we're already after
6983 an overlay string ending at POS, make sure to pop the iterator
6984 because it will be in front of that overlay string. When POS is
6985 ZV, we've thereby also ``processed'' overlay strings at ZV.
6986
ba193890
GM
6987 * xfaces.c (lface_from_face_name): Function comment fix.
6988
1862a24e
MB
69892000-11-24 Miles Bader <miles@gnu.org>
6990
6991 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6992 apply `mode-line-inverse-video' -- zero means force display using
6993 the default face, non-zero means display using the specialized face.
6994 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6995
f07fa1b8
KH
69962000-11-23 Kenichi Handa <handa@etl.go.jp>
6997
6998 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6999 hard coded `4'.
7000
2bcdf662
EZ
70012000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7002
7003 * coding.c (decode_coding_emacs_mule): Fix the case of
7004 CODING_EOL_LF, which used uninitialized value of c.
7005
ba8299ff
SM
70062000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7007
7008 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7009
f4117c4d
GM
70102000-11-22 Gerd Moellmann <gerd@gnu.org>
7011
03e757c1
GM
7012 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7013 buffer object.
7014
f4117c4d
GM
7015 * frame.h (struct frame): Replace desired_tool_bar_items,
7016 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 7017 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
7018
7019 * frame.c (make_frame): Change initialization of tool bar
7020 items accordingly.
7021
7022 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 7023 Change references to members deleted from struct frame to use the
f4117c4d
GM
7024 new ones.
7025
7026 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7027 references to members deleted from struct frame to use the new ones.
f4117c4d 7028
52283633 7029 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7030
7031 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7032
7033 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7034 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7035 from struct frame to use the new ones.
7036
f8e2f3f2
MB
70372000-11-23 Miles Bader <miles@gnu.org>
7038
7039 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7040 the face's inverse-video attribute, rather than overriding it.
7041
60e8e0a5
GM
70422000-11-22 Gerd Moellmann <gerd@gnu.org>
7043
7044 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7045 making tool bar smaller.
7046
92dd1b29
DL
70472000-11-22 Dave Love <fx@gnu.org>
7048
7049 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7050
e672fdce
MB
70512000-11-22 Miles Bader <miles@gnu.org>
7052
3a17d6cc
MB
7053 * keyboard.c (Vminibuffer_message_timeout): New variable.
7054 (command_loop_1): Use it to determine message timeout.
7055 (syms_of_keyboard): Initialize it.
7056
60e8e0a5 7057 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7058
e9655d81
KH
70592000-11-22 Kenichi Handa <handa@etl.go.jp>
7060
7061 * sysdep.c: Move the code for declaring h_errno after #include
7062 <netdb.h>.
7063
77270fac
GM
70642000-11-21 Gerd Moellmann <gerd@gnu.org>
7065
cd913aae
GM
7066 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7067 the menu bar when the tooltip is unmapped.
7068
77270fac
GM
7069 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7070 sole visible buffer when we're currently in the mini-buffer, and
7071 give up if so.
52283633 7072
556635d6
JR
70732000-11-21 Jason Rumney <jasonr@gnu.org>
7074
7075 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7076 put on the clipboard.
7077 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7078 copy of what Emacs last put there. If they are the same, do not
52283633 7079 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7080
5b7bde64
MB
70812000-11-22 Miles Bader <miles@gnu.org>
7082
7083 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7084 (syms_of_minibuf): Initialize it.
7085 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7086 to prompt, don't make read-only.
7087
ff23e1dd
GM
70882000-11-21 Gerd Moellmann <gerd@gnu.org>
7089
52283633
SM
7090 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7091 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7092
7aaf4388
GM
7093 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7094
f5f47add 7095 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7096
ff23e1dd
GM
7097 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7098
37c35586
KH
70992000-11-21 Kenichi Handa <handa@etl.go.jp>
7100
7101 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7102 ... #endif scope.
7103
ff9ab414
GM
71042000-11-20 Gerd Moellmann <gerd@gnu.org>
7105
52283633 7106 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7107 screen supports it.
7108
29a01b72
GM
7109 * s/gnu-linux.h: Don't use `#cpu'.
7110
09dfdf85
GM
7111 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7112 not defined in mman.h.
7113
52283633 7114 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7115 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7116 and store an index in the XClientMessageEvent. Storing a
7117 Lisp_Object or pointer can fail on a 64 bit system, since X only
7118 transfers 32 bits.
52283633
SM
7119 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7120
81459ac9
DL
71212000-11-20 Dave Love <fx@gnu.org>
7122
7123 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7124
56c13ae6
GM
71252000-11-20 Gerd Moellmann <gerd@gnu.org>
7126
7127 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7128
495a6df3
KH
71292000-11-20 Kenichi Handa <handa@etl.go.jp>
7130
2bcf3714
KH
7131 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7132 by WIDTH.
7133
495a6df3
KH
7134 * alloc.c (make_string): Fix previous change. Be sure to make
7135 unibyte string correctly.
7136
6d950f4c
GM
71372000-11-19 Gerd Moellmann <gerd@gnu.org>
7138
39b39373
GM
7139 * window.c (Fwindow_list): Change parameter list to be XEmacs
7140 compatible.
7141 (window_list_1): New function.
7142 (window_loop): Use it instead of Fwindow_list.
7143
b95b34e5
GM
7144 * sysdep.c (emacs_ospeed): New variable.
7145 (toplevel): Don't declare ospeed extern.
7146 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7147
7148 * termcap.c (ospeed): Remove.
7149 (tputs) [!emacs]: Remove unused code.
7150 (tgetent): Avoid a compiler warning.
7151
e83dc917
GM
7152 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7153 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7154 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7155
7156 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7157 removed.
7158 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7159 Take the X display as additional argument.
7160 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7161 `Widget' is a pointer type that's not easily stored in Lisp_Object
7162 form in a portable way.
52283633 7163
6d950f4c
GM
7164 * dispnew.c (update_text_area): Fix last change.
7165
e47306e6
GM
71662000-11-18 Gerd Moellmann <gerd@gnu.org>
7167
fb3cd89b
GM
7168 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7169
7170 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7171 clear current matrices.
7172
edaa9aed
GM
7173 * buffer.c (mmap_enlarge): Don't print a message on stderr
7174 if mapping new memory at the end of the existing region fails.
7175
e47306e6
GM
7176 * dispnew.c (update_text_area): Don't skip over equal glyphs
7177 when the last current glyph overlaps the glyph to its right.
7178
509633e3
MB
71792000-11-18 Miles Bader <miles@gnu.org>
7180
7181 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7182 lines that *end* with "..." too (that's the most common case!).
7183
d392e9c5
GM
71842000-11-18 Gerd Moellmann <gerd@gnu.org>
7185
67988445
GM
7186 * xdisp.c (resize_mini_window): Temporarily change to the
7187 mini-window's buffer if necessary.
1bfdbe43 7188
d392e9c5
GM
7189 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7190 the tooltip obscures less text under it.
7191
71922000-11-17 Gerd Moellmann <gerd@gnu.org>
7193
7194 * puresize.h (BASE_PURESIZE): Increase to 700000.
7195
92bb977f
JR
71962000-11-18 Jason Rumney <jasonr@gnu.org>
7197
7198 * w32term.c (w32_draw_bitmap): Use face to set colors.
7199
26fbf20b
DL
72002000-11-17 Dave Love <fx@gnu.org>
7201
7202 * lread.c (Fload): Fix #ifdef for pcc.
7203
100b593b
GM
72042000-11-17 Gerd Moellmann <gerd@gnu.org>
7205
7206 * xdisp.c (pos_visible_p): Compute the default character height
7207 differently.
7208
a288d0d1
GM
72092000-11-16 Gerd Moellmann <gerd@gnu.org>
7210
cac94de6 7211 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7212 knowing the line's height; use the default font's height in that case.
cac94de6 7213
a288d0d1
GM
7214 * xfaces.c (weight_table): Add `demi' with the same meaning as
7215 `demibold'.
7216
981fb6f6
KH
72172000-11-16 Kenichi Handa <handa@etl.go.jp>
7218
2cca872d 7219 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7220 (clear_glyph_row): Delete local static variable null_row.
7221
e5fa381b
JR
72222000-11-15 Jason Rumney <jasonr@gnu.org>
7223
7224 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7225 (w32_alloc_lighter_color): Use new brightness calculations from
7226 xterm.c. Scale delta to be in the range expected by W32.
7227 (w32_draw_relief_rect): Use frame relief colors.
7228
8e42f043
GM
72292000-11-15 Gerd Moellmann <gerd@gnu.org>
7230
6d133d1f
GM
7231 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7232 (Qinhibit_default_face_x_resources): New variable.
7233 (syms_of_frame): Initialize it.
7234 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7235
7236 * xdisp.c (pos_visible_p): Improve function comment.
7237
7238 * lisp.h (BINDING_STACK_SIZE): New macro.
7239
8e42f043
GM
7240 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7241 reading the directory if readdir returns null and errno is EAGAIN
7242 or EINTR.
7243
e8c87124
SM
72442000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7245
7246 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7247 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7248 Set amount_to_scroll to max of dx and scroll_step so that
7249 scroll-conservatively doesn't defeat scroll-step>1.
7250 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7251 scroll-conservatively for line-at-a-time scrolling.
7252
5f0c971d
GM
72532000-11-14 Gerd Moellmann <gerd@gnu.org>
7254
7255 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7256 extra argument.
7257
7258 * xdisp.c (current_mode_line_height, current_header_line_height):
7259 New variables.
7260 (init_xdisp): Initialize them.
7261 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7262 and use exact mode line heights if it is set.
7263
7264 * lisp.h (pos_visible_p): Change prototype.
7265
7266 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7267 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7268 and current_header_line_height first.
52283633
SM
7269 (current_mode_line_height, current_header_line_height):
7270 Declare extern.
5f0c971d 7271
d7361edf
MB
72722000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7273
7274 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7275 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7276 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7277
ee5e440a
MB
72782000-11-14 Miles Bader <miles@gnu.org>
7279
7280 * xterm.c (x_alloc_lighter_color): Include an additive component
7281 too for dark colors, because FACTOR isn't enough.
7282 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7283 New macros.
7284
5ca020fc
GM
72852000-11-13 Gerd Moellmann <gerd@gnu.org>
7286
7287 * keyboard.c (show_help_echo): Call message3_nolog with number of
7288 bytes in the help string as 2nd parameter, instead of the number
7289 of characters.
7290
9d348294
MB
72912000-11-13 Miles Bader <miles@gnu.org>
7292
7293 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7294 (Fload): Use new openp return protocol.
7295 Don't try to use Vload_source_file_function to load .elc files.
7296 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7297 openp return protocol.
7298 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7299
1729bb9a
KH
73002000-11-11 Kenichi Handa <handa@etl.go.jp>
7301
4e677396
KH
7302 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7303
7304 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7305 Defined these macros.
7306 (NLIST_STRUCT): Avoid re-defining it.
7307
1729bb9a
KH
7308 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7309 -I/usr/contrib/X11R6/include.
7310 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7311
a82fe213
JR
73122000-11-10 Jason Rumney <jasonr@gnu.org>
7313
7314 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7315
7316 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7317 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7318
7319 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7320 (Qw32_charset_vietnamese): New symbol.
7321 (xlfd_charset_of_font): New function.
7322 (w32_load_system_font): Use it.
7323 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7324 when Vw32_charset_info_alist is nil to ensure default face always
7325 has font. Use Fcar and Fcdr for safety.
7326 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7327 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7328 pseudo-codepages for special cases.
7329 (w32_to_x_font): New parameter to allow charset portion to be
7330 specified where there is many to one mapping. Callers changed.
7331 (w32_list_fonts): Avoid listing fonts that won't display.
7332
52d89894
GM
73332000-11-10 Gerd Moellmann <gerd@gnu.org>
7334
7335 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7336 (font_list_1): Renamed from font_list.
7337 (font_list): New function, trying alternative registries from
7338 Vface_alternative_font_registry_alist.
7339 (Finternal_set_alternative_font_registry_alist): New function.
7340 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7341 Vface_alternative_font_registry_alist.
7342 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7343
651cd3da
KR
73442000-11-09 Ken Raeburn <raeburn@gnu.org>
7345
7346 * lisp.h (Flooking_at): Declare.
7347
388ac098
GM
73482000-11-09 Gerd Moellmann <gerd@gnu.org>
7349
778fbc46 7350 * dired.c (directory_files_internal): Fix a braino.
52283633 7351
388ac098
GM
7352 * dired.c (directory_files_internal): Add missing GCPRO's.
7353 Some cleanup.
7354
ecaedde1
GM
73552000-11-08 Gerd Moellmann <gerd@gnu.org>
7356
f7eb32aa
GM
7357 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7358 (resize_mini_window): Return quickly if Vresize_mini_window is
7359 nil. Don't return if Vmax_mini_window_height is nil.
7360
7361 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7362 (syms_of_xdisp): Initialize them.
7363 (resize_mini_window): Act according to the setting of
7364 Vresize_mini_window.
7365 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7366
ecaedde1
GM
7367 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7368 scroll bar widget after configuring it, so that it will appear at
7369 the right position from the start.
7370 (XTredeem_scroll_bar): Cleaned up.
7371
3747ef2c
KH
73722000-11-08 Kenichi Handa <handa@etl.go.jp>
7373
7374 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7375 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7376 division by two.
7377
7378 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7379
03391420
DL
73802000-11-07 Dave Love <fx@gnu.org>
7381
7758f1c1 7382 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7383
7384 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7385
b5de343d
GM
73862000-11-07 Gerd Moellmann <gerd@gnu.org>
7387
acad3c0b
GM
7388 * window.c (Fset_window_configuration): Don't try to preserve
7389 point in the current buffer, if that buffer is displayed in more
7390 than one window.
7391
b5de343d
GM
7392 * xfaces.c (lookup_named_face): If default face isn't realized,
7393 try to realize it. Return -1 if not successful.
7394 (Fx_list_fonts): Handle case that face cannot be determined.
7395 (Fface_font): Likewise.
7396
cdb1fe49
GM
73972000-11-06 Gerd Moellmann <gerd@gnu.org>
7398
7399 * window.c (displayed_window_lines): Detect partially
7400 visible lines at the bottom correctly.
7401
d3a67486
SM
74022000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7403
7404 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7405 when ensuring we don't do visit in indirect buffer.
7406
ff8dd5d5
KH
74072000-11-06 Kenichi Handa <handa@etl.go.jp>
7408
7409 * composite.h (compose_chars_in_text): Add prototype.
7410
7411 * composite.c (Vcomposition_function_table): New variable.
7412 (Qcomposition_function_table): New variable.
7413 (run_composition_function): Call
7414 Vcompose_chars_after_function with three arguments.
7415 (compose_chars_in_text): New function.
7416 (syms_of_composite): Modified the doc-string of
7417 Vcompose_chars_after_function. Declare composition-function-table
7418 as a lisp variable, and initialize it.
7419
7420 * xfns.c (x_encode_text): Suppress producing escape sequences for
7421 composition.
7422
7423 * xselect.c: Include composite.h.
7424 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7425
d1145f85
AI
74262000-11-05 Andrew Innes <andrewi@gnu.org>
7427
7428 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7429
7430 * sysdep.c (read_input_waiting): Remove extraneous argument to
7431 read_socket_hook.
7432
7433 * w32fns.c (Fx_server_version): Include w32_build_number in the
7434 return list.
7435
7436 * w32heap.c (w32_build_number): New variable.
7437 (cache_system_info): Set it.
7438
7439 * w32heap.h (w32_build_number): Add extern.
7440
7441 * emacs.c (syms_of_emacs): Update docstring for
7442 system-configuration, to reflect the actual usage on MS-Windows.
7443
e85ee976
GM
74442000-10-31 Gerd Moellmann <gerd@gnu.org>
7445
26dcb81b
GM
7446 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7447 process idle timers while waiting for another event.
7448
52283633 7449 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7450 the default face are colored.
7451
e85ee976
GM
7452 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7453 window height hasn't changed.
7454
01b220b6
JR
74552000-10-31 Jason Rumney <jasonr@gnu.org>
7456
7457 * w32term.c (x_produce_glyphs): Handle composite characters.
7458 (x_draw_glyph_string_foreground)
7459 (x_draw_composite_glyph_string_foreground): Restore old font.
7460
4e6b7204
MB
74612000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7462
7463 * minibuf.c (read_minibuf): Reset the undo history just before
7464 starting the recursive-edit.
7465
d4358b37
GM
74662000-10-30 Gerd Moellmann <gerd@gnu.org>
7467
563f68f1
GM
7468 * xfaces.c (menu_face_change_count): New variable.
7469 (Finternal_set_lisp_face_attribute): Increment it for changes
7470 of the `menu' face.
7471 (realize_basic_faces): Reflect changes in the `menu' faces
7472 in menu bars.
7473
82e274d1
GM
7474 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7475 dy obtained from the iterator's y-position after moving from
7476 scroll_margin_pos to PT; see comment there.
52283633 7477
0dbf9fd2
GM
7478 * xdisp.c (safe_eval_handler): Call add_to_log.
7479
906b3b14
GM
7480 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7481 is not a symbol or string.
7482
d4358b37
GM
7483 * xdisp.c (echo_area_display): Don't perform a display update from
7484 inside redisplay. The update will happen anyway at the end of
7485 redisplay, and it can confuse redisplay (GC messages while
7486 redisplaying, for instance.)
7487
70c825df
SM
74882000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7489
cf9b4b0b
SM
7490 * xrdb.c (x_load_resources): Use the class name in the defaults.
7491
70c825df
SM
7492 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7493 (regex_compile): Catch bogus \(\1\).
7494
a1d34b1e
GM
74952000-10-30 Gerd Moellmann <gerd@gnu.org>
7496
cae71efe
GM
7497 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7498 RGB values.
52283633 7499
35efe0a1
GM
7500 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7501 we have a color cache, check that the cached color equals the
7502 allocated color. If not, clear the color cache.
7503
1d3baf74
GM
7504 * window.c (displayed_window_lines): Change buffers if necessary.
7505 Fix computation of displayed lines.
7506
a1d34b1e
GM
7507 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7508 update_menu_bindings to DEFVAR_BOOL.
7509
70737ea9
KH
75102000-10-30 Kenichi Handa <handa@etl.go.jp>
7511
70c825df 7512 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7513
fa0cb51d
KH
7514 * puresize.h (BASE_PURESIZE): Increase to 680000.
7515
70737ea9
KH
7516 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7517
0e4c08e8
JR
75182000-10-29 Jason Rumney <jasonr@gnu.org>
7519
7520 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7521
7522 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7523 (w32_cache_char_metrics): Handle possibility that 'x' does not
7524 exist in a BDF font.
7525 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7526
7527 * w32bdf.h (bdffont): Add nchars.
7528
7529 * w32bdf.c (set_bdf_font_info): Set it.
7530 (w32_BDF_TextOut): Swap byte order of double byte characters.
7531 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7532
45b84006
EZ
75332000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7534
7535 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7536 don't override the colors in frame's param_alist, unless they are
7537 unspecified.
7538
7539 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7540 reverse the effect of the highlight flag.
7541
caf9deee
KR
75422000-10-27 Ken Raeburn <raeburn@gnu.org>
7543
7544 * window.h (Fwindow_live_p): Declare.
7545
ae0b9b46
KR
7546 * undo.c (record_delete): Check that last_undo_buffer is really a
7547 buffer before applying XBUFFER to it.
7548
7549 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7550 Faref.
7551
02067692
SM
75522000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7553
7554 * lisp.h (KEYMAPP): New macro.
7555 (get_keymap): Remove.
7556 (get_keymap_1): Rename get_keymap.
7557
7558 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7559
7560 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7561
7562 * xmenu.c (single_submenu): Use KEYMAPP.
7563 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7564 Use KEYMAPP rather than Fkeymapp.
7565
7566 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7567
7568 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7569 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7570 Use KEYMAPP rather than Fkeymapp.
7571 (single_submenu): Use KEYMAPP.
7572 (w32_menu_show, w32_dialog_show): Use TRUE.
7573
7574 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7575
7576 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7577 (Fkeymapp): Use KEYMAPP.
7578 (get_keymap): Rename from get_keymap_1. Remove old def.
7579 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7580 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7581 (Fminor_mode_key_binding): Don't raise an error if the binding
7582 is not a keymap.
7583 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7584 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7585
7586 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7587 Allow Vspecial_event_map to be autoloaded.
7588 (menu_bar_items): Fetch the keymap rather than using keymapp.
7589 (menu_bar_one_keymap): No need to follow func-indirect any more.
7590 (parse_menu_item): get_keymap_1 -> get_keymap.
7591 (tool_bar_items): Fetch the keymap rather than using keymapp.
7592 (read_key_sequence): Use KEYMAPP.
7593
7594 * intervals.c (get_local_map): Use get_keymap rather than following
7595 function-indirections explicitly.
7596
7597 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7598
f9d80af3
JR
75992000-10-27 Jason Rumney <jasonr@gnu.org>
7600
7601 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7602 point, as Windows has oversized fonts.
7603
7604 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7605
a3ba27da
GM
76062000-10-27 Gerd Moellmann <gerd@gnu.org>
7607
7608 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7609 (freehook, reallochook): Handle null pointer arguments.
7610 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7611
aa3b80cc
SM
76122000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7613
7614 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7615 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7616 Giving in to popular pressure to shut up the compiler with casts.
7617
e24e84cc
GM
76182000-10-27 Gerd Moellmann <gerd@gnu.org>
7619
7620 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7621 signed value, and use a default value computed from the font's
7622 maximum descent.
7623
05ea7ef2
MB
76242000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7625
7626 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7627 that specify a negative underline position can still use underlines.
7628
7629 * window.c (Fpos_visible_in_window_p): Make POS default to
7630 WINDOW's point, not the current buffer's point.
7631
0b95284b
DL
76322000-10-26 Dave Love <fx@gnu.org>
7633
7634 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7635 when it's necessary.
7636
6c5b90af
GM
76372000-10-26 Gerd Moellmann <gerd@gnu.org>
7638
8b6d9dc9
GM
7639 * window.c (size_window): Compute size difference from sum of old
7640 child window sizes instead of from parent's size.
7641
6bc92b2e
GM
7642 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7643 Handle obscured lines at the top of the window.
7644
7645 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7646 down after the last error condition check.
7647
6c5b90af
GM
7648 * frame.c (Fdelete_frame): Run delete-frame-hook.
7649
42f92d4d
KH
76502000-10-26 Kenichi Handa <handa@etl.go.jp>
7651
7652 * coding.c (decode_coding): Fix previous change (check also
7653 CODING_MODE_LAST_BLOCK).
7654
d97151cb
SM
76552000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7656
e7efc503
SM
7657 * regex.c: More `unsigned char' -> `re_char' changes.
7658 Also change several `int' into `re_wchar_t'.
7659 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7660 (PUSH_FAILURE_POINTER): Don't cast any more.
7661 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7662 We want GCC to complain, since this piece of code makes
7663 re_match non-reentrant, which *should* be fixed.
7664 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7665 (EXTEND_BUFFER): Use RETALLOC.
7666 (SET_LIST_BIT): Don't cast.
7667 (re_wchar_t): New type.
7668 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7669 that those two functions will always properly return.
7670 (IMMEDIATE_QUIT_CHECK): Cast to void.
7671 (analyse_first): Use recursion rather than an explicit stack.
7672 (re_compile_fastmap): Can't fail anymore.
7673 (re_search_2): Don't check re_compile_fastmap for failure.
7674 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7675 Now also sets the new value (passed in a new argument).
7676 (re_match_2_internal): Use it.
7677 Also, use a new var `reg' of type size_t when looping through regs
7678 rather than reuse the inappropriate `mcnt'.
7679
d97151cb
SM
7680 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7681 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7682 (where_is_internal): Renamed from Fwhere_is_internal.
7683 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7684 (Fwhere_is_internal): New function wrapping where_is_internal.
7685 (where_is_internal_1): Handle the case where we're filling the cache.
7686 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7687
d5789b65
MB
76882000-10-25 Miles Bader <miles@gnu.org>
7689
7690 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7691
4ecda532
GM
76922000-10-25 Gerd Moellmann <gerd@gnu.org>
7693
7694 * window.c (pos_fully_visible_p): Removed.
7695 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7696 if position is visible and/or fully visible.
7697
7698 * lisp.h (pos_visible_p): Add prototype.
7699
7700 * xdisp.c (pos_visible_p): New function.
7701
68c3a137
KH
77022000-10-25 Kenichi Handa <handa@etl.go.jp>
7703
7704 * process.c (send_process): If OBJECT is t, it means that the data
7705 is from C string, but we should encode it. Before calling
7706 setup_raw_text_coding_system, be sure to flush out data by the
7707 previous coding system.
7708
7ae1c032
MB
77092000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7710
ff4dcd4b
MB
7711 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7712 assignment of startpos to prev when startpos == pos.
7713
7ae1c032
MB
7714 * editfns.c (find_field): Set the field stickiness correctly from
7715 overlay fields. Use renamed `text_property_stickiness'.
7716 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7717 Only check text properties, not overlays.
7ae1c032
MB
7718 * textprop.c (get_char_property_and_overlay): New function.
7719 (Fget_char_property): Use it.
7720 * intervals.h (get_char_property_and_overlay): Add declaration.
7721
49801145
SM
77222000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7723
7724 * keymap.c: Use AREF, ASET and ASIZE macros.
7725 (Fmake_sparse_keymap): Docstring fix.
7726 (synkey): Remove.
7727 (shadow_lookup): Move up.
7728 Handle the case where lookup-key returns an integer.
7729 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7730 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7731 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7732 Simplify/rewrite the keymap-finding code.
7733 Add check for command shadowing, using shadow_lookup.
7734
39e776cd
SM
77352000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7736
7737 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7738 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7739 a symbol.
7740
2488aba5
AI
77412000-10-24 Andrew Innes <andrewi@gnu.org>
7742
7743 * dired.c (directory_files_internal_unwind): New function.
7744 (directory_files_internal): Use it to ensure closedir is called
7745 even if expand-file-name or file-attributes throw, eg. because of
7746 a user interrupt. Also enable immediate_quit while calling
7747 re_search, so that matching can be interrupted as well.
7748
b94fdf61
AI
77492000-10-24 Andrew Innes <andrewi@gnu.org>
7750
7751 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7752 NT-Emacs only.
7753 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7754 so that re_search functions only quit when callers expect them to.
7755
77562000-10-24 Kenichi Handa <handa@etl.go.jp>
7757
7758 * regex.c (regex_compile): Change the way of handling a range from
7759 a char less than 256 to a char not less than 256.
7760
1946f901
GM
77612000-10-24 Gerd Moellmann <gerd@gnu.org>
7762
7ae2f10f
GM
7763 * window.c (size_window): Prevent setting window's width or
7764 height to a negative value (esp. with XSETFASTINT).
7765
5dcab13e
GM
7766 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7767 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7768 (protect_malloc_state) [GC_MALLOC_CHECK &&
7769 GC_PROTECT_MALLOC_STATE]: New function.
7770 (PROTECT_MALLOC_STATE): New macro.
7771 (__malloc_initialize, morecore, _malloc_internal)
7772 (_free_internal) _realloc_internal): Use it to make _heapinfo
7773 read-only outside of gmalloc.
7774
63e1b552
GM
7775 * keymap.c: Update copyright.
7776
1946f901
GM
7777 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7778 a symbol.
7779
4fa09beb
GM
77802000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7781
7782 * filelock.c (unlock_all_files): Use unlock_file to expand each
7783 buffer's file_truename before trying remove its lock file.
7784
23afac01
EZ
77852000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7786
7787 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7788 or CRLF, decode EOLs.
7789
04448b95
KH
77902000-10-24 Kenichi Handa <handa@etl.go.jp>
7791
7792 * window.c (Fdisplay_buffer): Fix doc.
7793
3090a5a5
JR
77942000-10-23 Jason Rumney <jasonr@gnu.org>
7795
7796 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7797 ASCII font of default fontset on Windows.
7798
7799 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7800 xterm.c comment below).
7801
7802 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7803
a83fee2c
GM
78042000-10-23 Gerd Moellmann <gerd@gnu.org>
7805
7806 * xterm.c (x_connection_closed): Reset handling_signal.
7807
52283633 7808 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7809
6ffdb539
MB
78102000-10-23 Miles Bader <miles@gnu.org>
7811
7812 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7813 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7814 maintain old behavior.
7815 * minibuf.c (Fminibuffer_complete): Likewise.
7816
7f1c969b
MB
78172000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7818
7819 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7820 that when a font can't be exactly centered, it errs up rather than
7821 down.
7822
23afac01 78232000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7824
52283633 7825 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7826
1a578e9b
AC
78272000-10-23 Andrew Choi <akochoi@i-cable.com>
7828
7829 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7830
7831 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7832 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7833
7834 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7835 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7836 syms_of_search, x_term_init, and init_keyboard before calling
7837 init_window_once. Also, call syms_of_xmenu.
7838
7839 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7840 default fontset to Monaco.
7841
7842 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7843 NewMacWindow and DisposeMacWindow.
7844 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7845 instead of calling NewMacWindow and setting fields of
7846 f->output_data.mac directly. Call init_frame_faces.
7847 (Fdelete_frame) [macintosh]: Remove unused code.
7848 (Fmodify_frame_parameters) [macintosh]: Call
7849 x_set_frame_parameters instead of mac_set_frame_parameters.
7850
7851 * frame.h [macintosh]: Define menu_bar_lines field in struct
7852 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7853
7854 * keyboard.c [macintosh]: Include macterm.h.
7855 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7856 and menu_bar_activate_event type events as for X and NT.
7857 (make_lispy_event) [macintosh]: Construct lisp events of type
7858 MENU_BAR_EVENT as for X and NT.
7859
7860 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7861 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7862 (sys_subshell) [macintosh]: Remove definition entirely.
7863 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7864 Vwindow_system_version here. Remove initialization of
7865 Vx_bitmap_file_path.
7866 (read_input_waiting): Correct the number of parameters passed to
7867 read_socket_hook.
7868 Move all Macintosh functions to mac/mac.c.
7869
7870 * term.c [macintosh]: Include macterm.h.
7871
7872 * window.c [macintosh]: Include macterm.h.
7873
7874 * xdisp.c [macintosh]: Include macterm.h. Declare
7875 set_frame_menubar and pending_menu_activation.
7876 (echo_area_display) [macintosh]: Do not return if terminal frame
7877 is the selected frame.
7878 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7879 Allow only the selected frame to set menu bar.
7880 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7881 calling FRAME_EXTERNAL_MENU_BAR (f).
7882 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7883
7884 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7885 and check_x. Declare XCreateGC. Define x_create_gc and
7886 x_free_gc. Initialize font_sort_order.
7887 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7888 but call x_list_fonts instead of w32_list_fonts.
7889 (Finternal_face_x_get_resource) [macintosh]: Do not call
7890 display_x_get_resource.
7891 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7892 (realize_x_face) [macintosh]: Load the font if it is specified in
7893 ATTRS.
52283633 7894 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7895
1ffbabe3
SM
78962000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7897
7898 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7899 is nil: since we go to the end of submap anyway, we'd end up
7900 setting nil to nil.
7901 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7902 doesn't obey autoload.
7903
bed43f1d
EZ
79042000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7905
1ffbabe3 7906 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7907
ea4233a7
JR
79082000-10-21 Jason Rumney <jasonr@gnu.org>
7909
7910 * w32term.c (w32_cache_char_metrics): Double check that font is
7911 really fixed pitch before trusting tmPitchAndFamily.
7912
f3d3c491
AI
79132000-10-21 Andrew Innes <andrewi@gnu.org>
7914
7915 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7916
7917 * w32term.h: Extern decl for w32_cache_char_metrics.
7918
7919 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7920
7921 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7922 (w32_unload_font): Free per_char array if present.
7923
7924 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7925 cached information in emulated XFontStruct to handle common cases
7926 quickly. Do not allocate XCharStruct for return.
7927 (w32_native_per_char_metric): New function.
7928 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7929 allocating one.
7930 (x_produce_glyphs): Don't get an HDC. Change calls to
7931 w32_per_char_metric to match arg change above. Remove calls to
7932 free results.
7933 (w32_get_glyph_overhangs): Ditto.
7934 (w32_cache_char_metrics): New function.
7935
7936 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7937 ($(BLD)/casefiddle.$(O)): Remove compile command.
7938 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7939 ($(BLD)/dispnew.obj):
7940 ($(BLD)/keyboard.obj):
7941 ($(BLD)/w32inevt.obj):
7942 ($(BLD)/w32bdf.obj):
7943 ($(BLD)/alloc.obj):
7944 ($(BLD)/buffer.obj):
7945 ($(BLD)/editfns.obj):
7946 ($(BLD)/emacs.obj):
7947 ($(BLD)/fileio.obj):
7948 ($(BLD)/fns.obj):
7949 ($(BLD)/indent.obj):
7950 ($(BLD)/insdel.obj):
7951 ($(BLD)/intervals.obj):
7952 ($(BLD)/minibuf.obj):
7953 ($(BLD)/print.obj):
7954 ($(BLD)/scroll.obj):
7955 ($(BLD)/sysdep.obj):
7956 ($(BLD)/textprop.obj):
7957 ($(BLD)/widget.obj):
f3d3c491
AI
7958 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7959 ($(BLD)/term.obj): Add dependency on dispextern.h.
7960
52283633
SM
7961 * makefile.nt ($(BLD)\dispnew.obj):
7962 ($(BLD)\keyboard.obj):
7963 ($(BLD)\w32inevt.obj):
7964 ($(BLD)\w32bdf.obj):
7965 ($(BLD)\alloc.obj):
7966 ($(BLD)\buffer.obj):
7967 ($(BLD)\editfns.obj):
7968 ($(BLD)\emacs.obj):
7969 ($(BLD)\fileio.obj):
7970 ($(BLD)\fns.obj):
7971 ($(BLD)\indent.obj):
7972 ($(BLD)\insdel.obj):
7973 ($(BLD)\intervals.obj):
7974 ($(BLD)\minibuf.obj):
7975 ($(BLD)\print.obj):
7976 ($(BLD)\scroll.obj):
7977 ($(BLD)\sysdep.obj):
7978 ($(BLD)\textprop.obj):
7979 ($(BLD)\widget.obj):
f3d3c491
AI
7980 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7981 ($(BLD)\term.obj): Add dependency on dispextern.h
7982
18ad4821
EZ
79832000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7984
7985 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7986 with an additional argument of Qt.
7987
de54681a
MB
79882000-10-21 Miles Bader <miles@gnu.org>
7989
7990 * window.c (pos_fully_visible_in_window_p): New function.
7991 (Fpos_visible_in_window_p): Add FULLY argument.
7992 Use pos_fully_visible_in_window_p.
7993 (window_scroll_pixel_based, window_scroll_line_based): Update
7994 calls to Fpos_visible_in_window_p.
7995 * lisp.h (Fpos_visible_in_window_p): Update prototype
7996
13c844fb
GM
79972000-10-20 Gerd Moellmann <gerd@gnu.org>
7998
7999 * alloc.c (toplevel): Conditionalize compilation of mem_*
8000 functions differently.
52283633 8001
d9506268
JR
80022000-10-20 Jason Rumney <jasonr@gnu.org>
8003
8004 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8005 mem_init where it used to be. mem_z etc not defined otherwise.
8006
8094989b
GM
80072000-10-20 Gerd Moellmann <gerd@gnu.org>
8008
8009 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8010 GC_MALLOC_CHECK.
8011 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8012 structure definition and related variabled to the top of the file.
8013 Include this code when GC_MALLOC_CHECK is defined.
8014 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8015 register/unregister allocated region.
8016 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8017 which isn't allocated.
8018 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8019 something which is already in use.
8020 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8021 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8022 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8023 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8024
8025 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8026 _malloc_internal instead of malloc.
8027 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8028 of free.
8029
ea456eb4
AI
80302000-10-20 Andrew Innes <andrewi@gnu.org>
8031
8032 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8033 Windows.
8034 (my_strftime) <macro>: Don't use macro arg list when redefining as
8035 _strftime_copytm.
8036 (my_strftime) <function>: Supply 0 as ut argument.
8037
e64c3a75
JR
80382000-10-19 Jason Rumney <jasonr@altavista.net>
8039
8040 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8041 including dispextern.h, as it stops faces from working.
8042
8043 * w32fns.c (Fx_create_frame): Don't bother calling
8044 face-set-after-frame-default since the caller does it for us
8045 anyway. Clean up calls to x_get_arg to be consistent with X.
8046
8047 * w32term.c (x_produce_glyphs): Handle
8048 unibyte_display_via_language_environment correctly.
8049 (w32_draw_box_rect): Fix the calculation of width and height.
8050
8051 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8052 as it has stopped working.
8053 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8054 menu-bar.
8055
17401c97
GM
80562000-10-19 Gerd Moellmann <gerd@gnu.org>
8057
8058 * eval.c (skip_debugger): Prevent a compiler warning.
8059 (Fcondition_case): Likewise.
8060 (Fbacktrace_frame): Use a null interactive spec.
8061
773272d8
KH
80622000-10-19 Kenichi Handa <handa@etl.go.jp>
8063
8064 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8065
a42943e9
GM
80662000-10-18 Gerd Moellmann <gerd@gnu.org>
8067
e50517d9
GM
8068 * strftime.c: Sync with glibc, file version 1.78.
8069 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8070 should no longer be used according to ISO 8601.
8071
9035a35a
GM
8072 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8073 no map for meta_prefix_char, don't try to use it as a keymap.
8074 Instead, if T_OK is non-zero, look up a default binding, if any,
8075 otherwise, if T_OK is zero, return nil.
8076
a42943e9
GM
8077 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8078 (x_to_xcolors, png_load): Use x_query_color.
8079
52283633
SM
8080 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8081 New functions.
a42943e9
GM
8082 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8083 which can be slow.
8084 (x_copy_color, x_alloc_lighter_color): Likewise.
8085
8086 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8087 (x_query_color, x_query_colors): Add prototype.
8088
8089 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8090 check_string_bytes only if not noninteractive, increase count to 50.
8091
00de2987
MB
80922000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8093
8094 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8095 markers correctly.
8096
54918e2b
GM
80972000-10-17 Gerd Moellmann <gerd@gnu.org>
8098
1f0b3fd2
GM
8099 * alloc.c (pure_bytes_used): Renamed from pureptr.
8100 (ALIGN): New macro.
8101 (pure_alloc): New function.
8102 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8103 Use it.
8104 (Fpurecopy): Use PURE_POINTER_P.
8105
68c5d1db
GM
8106 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8107 PT has moved backward.
52283633 8108
9a038881
GM
8109 * xdisp.c (cursor_row_p): Take continued lines into account.
8110
361b097f
GM
8111 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8112 string's size_byte.
8113 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8114 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8115 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8116 string allocated.
8117
54918e2b
GM
8118 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8119 of selective display off while searching for the next line start.
8120
03ed0806
KH
81212000-10-17 Kenichi Handa <handa@etl.go.jp>
8122
8123 * Makefile.in (term.o): Depend on dispextern.h.
8124
7e05cdaf
SM
81252000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8126
8127 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8128
a6801fd1
GM
81292000-10-16 Gerd Moellmann <gerd@gnu.org>
8130
483de32b
GM
8131 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8132 the iterator at the beginning, so that they can be set later on,
8133 for instance in reseat_at_next_visible_line_start, without being
8134 overwritten.
8135
a6801fd1
GM
8136 * xfns.c (pbm_format): Add :foreground and :background keywords.
8137 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8138 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8139
dbf1fcc1
EZ
81402000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8141
8142 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8143
52283633 8144 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8145
8146 * msdos.c (IT_set_face): Compare highlighted face with the default
8147 face, and invert colors if these faces' colors are identical.
8148 (Fmsdos_remember_default_colors): Don't swap foreground and
8149 background colors in initial_colors[].
8150 (IT_set_frame_parameters): Don't swap frame's foreground and
8151 background pixels. If ALIST includes "(reverse . t)", swap
8152 foreground-color and background-color properties in frame's
8153 param_alist. If the original frame's param_alist doesn't specify
8154 the colors, store unspecified-fg and unspecified-bg, reversed if
8155 required.
8156
8157 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8158 the colors are unspecified and reversed, reverse fore- and back-
8159 ground in the returned value.
8160 (Fframe_parameter): Ditto.
8161
b41fe2c3 81622000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8163
3a6b59d9
GM
8164 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8165 get_last_unchanged_at_beg_row.
8166 (find_first_unchanged_at_end_row): Renamed from
8167 get_first_unchanged_at_end_row.
8168 (find_first_unchanged_at_end_row): Convert assertions to
8169 unconditional tests which abort. When looking for a row in
8170 unchanged text, don't go further back than first_text_row.
8171
b41fe2c3
GM
8172 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8173 Don't add in the last line's height when deciding if the new
8174 position is below the scroll margin.
9d1af64f 8175
b41fe2c3 81762000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8177
8178 * editfns.c (Fconstrain_to_field): Check carefully for field
8179 boundaries if either OLD_POS or NEW_POS has a non-nil field
8180 property, even if they're the same.
8181
c412cb7b
KH
81822000-10-16 Kenichi Handa <handa@etl.go.jp>
8183
8184 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8185 height for XFillRectangle.
8186
5586f3eb
SM
81872000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8188
8189 * syntax.c (Fstring_to_syntax): New function extracted from
8190 Fmodify_syntax_entry.
8191 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8192 (skip_chars, Fforward_comment): Remove unused variables.
8193 (syms_of_syntax): Add defsubr for string-to-syntax.
8194 (describe_syntax): Add code for comment and string fences.
8195
db785038
SM
81962000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8197
8198 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8199 Do the meta->esc mapping. Call get_keyelt before returning.
8200 Start scanning from the second element (the first is always `keymap')
8201 to make it easier to detect when we reach a parent map.
8202 Handle the case of inheriting from a symbol whose function is a map.
8203 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8204 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8205 (get_keyelt, Flookup_key): Update call to access_keymap.
8206 Remove the meta->esc mappings.
8207 (define_as_prefix): Delete old disabled code.
8208 (menu_item_p): New function.
8209 (where_is_internal_1): Skip over the few remaining menu items.
8210 * lisp.h (access_keymap): Update prototype.
8211 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8212 Update call to access_keymap.
8213 (follow_key, read_key_sequence): Update calls to access_keymap.
8214 Remove the meta->esc mappings.
8215
cafafe0b
GM
82162000-10-13 Gerd Moellmann <gerd@gnu.org>
8217
a2e2a7f6
GM
8218 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8219 with additional argument.
8220
cafafe0b
GM
8221 * xdisp.c (cursor_row_p): New function.
8222 (try_cursor_movement, display_line): Use it.
52283633 8223
cafafe0b
GM
8224 * xdisp.c (append_space): Also save/restore iterator's current
8225 character and its length.
8226
8227 * xdisp.c (init_from_display_pos): Add an assertion.
8228 (handle_stop): Don't set iterator's add_overlay_start.
8229 (handle_invisible_prop): Likewise.
8230 (load_overlay_strings): If text under an overlay is invisible,
8231 take both before- and after-strings into account when the iterator
8232 is positioned either at the start or at the end of the overlay.
8233 (forward_to_next_line_start): Rewritten.
8234 (reseat_at_next_visible_line_start): Rewritten.
8235 (set_iterator_to_next): Add parameter RESEAT_P.
8236
8237 * dispextern.h (struct it): Remove member add_overlay_start.
8238 (set_iterator_to_next): Change prototype.
8239
c744452b
KH
82402000-10-13 Kenichi Handa <handa@etl.go.jp>
8241
8242 * coding.c (code_convert_region): Be sure to initialize
8243 coding->category_idx.
e4a3f4e1
KH
8244 (decode_coding_string): Set coding->src_multibyte and
8245 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8246 (encode_coding_string): Set coding->src_multibyte and
8247 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8248
321fd26f
SM
82492000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8250
8251 * xfns.c (Fx_create_frame): Don't bother calling
8252 face-set-after-frame-default since the caller does it for us anyway.
8253
76832439
EZ
82542000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8255
8256 * window.c (coordinates_in_window): Fix detection of vertical line
8257 on character terminals.
8258
2483cf58
GM
82592000-10-12 Gerd Moellmann <gerd@gnu.org>
8260
8261 * editfns.c (save_excursion_save): Additionally record the
8262 selected window.
8263 (save_excursion_restore): If buffer was visible in a window, and a
8264 different window was selected, and the old selected window is
8265 still live, restore point in that window.
8266
eb991b25
KH
82672000-10-12 Kenichi Handa <handa@etl.go.jp>
8268
8a0eba09
KH
8269 * xterm.c (x_produce_glyphs): Handle
8270 unibyte_display_via_language_environment correctly.
8271
20401fcc
KH
8272 * regex.c (regex_compile): Change the way of handling a range from
8273 unibyte char to multibyte char.
8274
8275 * syntax.c (skip_chars): Change the way of handling a range from
8276 unibyte char to multibyte char.
8277
eb991b25
KH
8278 * process.c (read_process_output): Cancel previous change.
8279
365dd325
EZ
82802000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8281
c1b096cb
EZ
8282 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8283
365dd325
EZ
8284 * charset.c (Ffind_charset_string): Doc fix.
8285 (Ffind_charset_region): Doc fix.
8286
eb483c2b
KH
82872000-10-11 Kenichi Handa <handa@mule.m17n.org>
8288
8289 * process.c (read_process_output): Fix previous change. Adjust
8290 multibyteness of text to insert in a buffer by
52283633 8291 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8292
b40bfb99
AS
82932000-10-10 Andreas Schwab <schwab@suse.de>
8294
8295 * alloc.c (mark_object): Remove all workarounds installed on
8296 1993-08-08.
8297
caff31d4
KH
82982000-10-10 Kenichi Handa <handa@etl.go.jp>
8299
52283633 8300 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8301 (base64_encode_1): Make it work for a text of multibyte form.
8302 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8303 case. Don't call str_to_multibyte because base64_decode_1
8304 produces correct multibyte form for eight-bit codes.
52283633 8305 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8306 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8307 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8308 codes.
8309
8310 * charset.h (CHAR_STRING): Optimized for single byte characters.
8311
cba026ef
AS
83122000-10-09 Andreas Schwab <schwab@suse.de>
8313
8314 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8315 -1 after socket is closed, to fall through to error processing.
8316
1e21fe48
EZ
83172000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8318
8319 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8320 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8321 background-color, change also the colors of the default face for
8322 this frame.
8323
a640322e
EZ
83242000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8325
8326 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8327 them extern (they are defined on xfaces.c).
8328 (syms_of_msdos): Don't intern and don't staticpro
8329 Qbackground_color and Qforeground_color.
8330
a115794c
EZ
83312000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8332
8333 * frame.c (Fframe_parameter): For non-windowed frames, if
8334 f->param_alist says foreground or background color is unspecified,
8335 call tty_color_name to return the color name computed from the
8336 frame's current colors.
8337
f5533b63
DL
83382000-10-06 Dave Love <fx@gnu.org>
8339
8340 * terminfo.c (ospeed): Don't declare.
8341
8342 * sysdep.c: Don't include string.h.
8343 (h_errno): Declare conditional also on TRY_AGAIN.
8344
8345 * charset.c (Ffind_charset_string): Doc fix.
8346
52283633 8347 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8348 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8349 error messages.
8350
2b06561a
DL
83512000-10-05 Dave Love <fx@gnu.org>
8352
8353 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8354 position like menu-bar.
8355
ca839c85
GM
83562000-10-05 Gerd Moellmann <gerd@gnu.org>
8357
8358 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8359
8360 * xdisp.c (handle_single_display_prop): Use safe_call1.
8361 (safe_call): Renamed from call_function.
8362 (safe_call1): New function.
8363 (handle_fontified_prop): Use safe_call1 instead of call1.
8364 (safe_eval): Renamed from eval_form.
8365 (safe_eval_handler): Renamed from eval_handler.
8366 (handle_single_display_prop, display_mode_element): Use safe_eval
8367 instead of eval_form.
8368
8369 * xfaces.c (merge_face_heights): Use safe_call instead of
8370 call_function.
8371
8372 * keyboard.c (show_help_echo): Use safe_call instead of
8373 call_function; use safe_eval instead of eval_form.
8374
8375 * lisp.h (safe_call): Renamed from call_function.
8376 (safe_eval): Renamed from eval_form.
8377 (safe_call1): Add prototype.
8378
a3489ece
MB
83792000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8380
8381 * xfns.c (image_ascent): Rearrange ascent calculation for the
8382 has-a-font case.
8383
35810b6f
SM
83842000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8385
8386 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8387 (where_is_internal_1): Don't bother ignoring menu-items any more.
8388
3dc78168
GM
83892000-10-04 Gerd Moellmann <gerd@gnu.org>
8390
8391 * keyboard.c (update_menu_bindings): New variable.
8392 (parse_menu_item): Use AREF. If update_menu_bindings
8393 is 0, don't update menu bindings.
8394 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8395
1efc2bb9
EZ
83962000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8397
8398 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8399 to `mark_object'.
8400
3f679f55
SM
84012000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8402
8403 * syntax.c (forw_comment): Match nestedness of ender/starter.
8404 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8405 (prev_char_comstart_first): Remove.
8406 (back_comment): Check two-char comment markers more carefully
8407 to better handle overlapping cases like *//* or /* */* */ ...
8408 Match nestedness of ender/starter.
8409
2021ab61
DL
84102000-10-02 Dave Love <fx@gnu.org>
8411
8412 * config.in (HAVE_GAI_STRERROR): Add undef.
8413
8414 * process.c (Fopen_network_stream): Use it.
8415
8416 * m/alpha.h (NO_REMAP): Don't define.
8417
64e6cc18
GM
84182000-10-02 Gerd Moellmann <gerd@gnu.org>
8419
8420 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8421 return with a string converted to an integer or vice versa when
8422 Vmocklisp_arguments is t.
8423 (Fsignal): Likewise. The function can return for `quit'.
8424 (struct gcpro): Declare member `var' to point to a volatile
8425 Lisp_Object.
8426
8427 * eval.c (error): Prevent compiler warning.
8428
b1904cd9
SM
84292000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8430
8431 * keymap.c (keymap_memberp): New function.
8432 (Fset_keymap_parent): Use it.
8433 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8434 Use keymap_memberp to avoid creating cycles.
8435 (access_keymap): Use KEYMAPP.
8436
71c9ec51
GM
84372000-09-30 Gerd Moellmann <gerd@gnu.org>
8438
8439 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8440 gai_strerror. Make sure xerrno is set if connect fails. Improve
8441 error recovery.
71c9ec51 8442
c70c6b58
JR
84432000-09-29 Jason Rumney <jasonr@gnu.org>
8444
8445 * w32term.c (w32_char_font_type, w32_encode_char)
8446 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8447 (w32_bdf_per_char_metric): New function.
8448 (w32_per_char_metric): Use it.
8449 (x_draw_glyph_string_background): Always draw background for BDF
8450 glyphs.
8451
8452 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8453 GDI object which is a scarce resource.
8454
8455 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8456 (get_quoted_string): Fix limit on memchr search.
8457 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8458 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8459 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8460 (get_cached_font_char, cache_char_offset): Use macro
8461 BDF_CODEPOINT_RANGE_COVER_P.
8462 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8463 (clear_cached_bitmap_slots): New function.
8464 (GET_HEX_VALUE): G-Z, g-z are not hex.
8465 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8466 (get_bitmap_with_cache): Use new cache implementation.
8467 (create_offscreen_bitmap): New function.
8468 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8469
8470 * w32term.c (x_produce_glyphs): If the distance from the current
8471 position to the next tab stop is less than a canonical character
8472 width, use the tab stop after that.
8473 (x_draw_glyphs): Handle case START and END are out of bounds more
8474 carefully.
8475 (x_clear_mouse_face): Block/unblock input.
8476 (x_display_and_set_cursor): Don't show a hollow box cursor for
8477 buffers whose cursor_type is nil.
8478
fe01239f
GM
84792000-09-29 Gerd Moellmann <gerd@gnu.org>
8480
52283633 8481 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8482
8483 * dispextern.h (updating_frame): Declare extern.
8484
e7c52f1f
AS
84852000-09-29 Andreas Schwab <schwab@suse.de>
8486
8487 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8488
de6e1f7c
GM
84892000-09-29 Gerd Moellmann <gerd@gnu.org>
8490
25126faa
GM
8491 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8492 use its function definition.
8493 (tool_bar_items): Likewise.
8494
de6e1f7c 8495 * lisp.h (fatal): Declare NO_RETURN.
52283633 8496
454ee39b
KH
84972000-09-29 Kenichi Handa <handa@etl.go.jp>
8498
8499 * keymap.c: Remove the line "#undef NULL".
8500
96301c5f
GM
85012000-09-28 Gerd Moellmann <gerd@gnu.org>
8502
52283633 8503 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8504
efffeeb4
DL
85052000-09-28 Dave Love <fx@gnu.org>
8506
ecb8b666
DL
8507 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8508
dc3cd20f
DL
8509 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8510
8511 * .gdbinit (xreload): Note its need on GNU/Linux.
8512
efffeeb4
DL
8513 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8514 r_alloc, r_alloc_free.
8515
8610d903
KH
85162000-09-28 Kenichi Handa <handa@etl.go.jp>
8517
8518 * syntax.c (skip_chars): Handle negation correctly.
8519
8901d1ac
GM
85202000-09-27 Gerd Moellmann <gerd@gnu.org>
8521
6f22f1ad
GM
8522 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8523 with non-zero FORCE_P argument.
8524
52283633 8525 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8526 Add assertions.
8527
8528 * xdisp.c (window_box_height): Add an assertion.
8529
8530 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8531 tool-bar than is available.
8532 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8533
36f1966f
DL
85342000-09-27 Dave Love <fx@gnu.org>
8535
efffeeb4 8536 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8537
31d929e5
GM
85382000-09-26 Gerd Moellmann <gerd@gnu.org>
8539
c98863bf
GM
8540 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8541 instead of BITS_PER_INT.
8542 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8543 EMACS_UINT, respectively.
8544 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8545
8546 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8547
8548 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8549
77072ab1
GM
8550 * window.c (freeze_window_starts): Construct last argument for
8551 foreach_window differently.
8552
8553 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8554
8555 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8556 EMACS_UINT instead of `int' and `unsigned int'.
8557 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8558
8559 * frame.h (struct frame): Make the `nothing' member of union
8560 output_data an EMACS_INT.
8561
52283633 8562 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8563 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8564 size in the sdata structure.
8565 (SDATA_NBYTES, SDATA_DATA): New macros.
8566 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8567 differently for the different layout of the sdata structure.
8568 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8569 in sdata.
8570 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8571 Check that size recorded in the string size and size recorded in
8572 the sdata structure agree.
8573
3e60b029
DL
85742000-09-25 Dave Love <fx@gnu.org>
8575
8576 * buffer.c: Include stdio.h.
8577
8578 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8579
3e60b029
DL
8580 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8581
8582 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8583 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8584 (__malloc_extra_blocks): Declare as __malloc_size_t.
8585
8ff16b4e
GM
85862000-09-25 Gerd Moellmann <gerd@gnu.org>
8587
755a2ccd
GM
8588 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8589
d8b4516f
GM
8590 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8591 (read_char): If help-echo is showing, preserve the echo area
8592 when redisplaying.
8593
8594 * xdisp.c (help_echo_showing_p): New variable.
8595 (set_message): Reset it to 0.
8596 (init_xdisp): Initialize help_echo_showing_p.
8597
8598 * dispextern.h (help_echo_showing_p): Declare extern.
8599
8600 * config.in: Fix typo in __GNUC_MINOR__.
8601
8602 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8603
b11af2dd
GM
8604 * s/freebsd.h (POSIX_SIGNALS): Define.
8605
8ff16b4e
GM
8606 * xterm.c (x_clear_mouse_face): Block/unblock input.
8607
844eb643
DL
86082000-09-24 Dave Love <fx@gnu.org>
8609
8610 * fns.c (base64_encode_1): Fix last change.
8611
b30ab1b3
GM
86122000-09-22 Gerd Moellmann <gerd@gnu.org>
8613
8614 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8615
8616 * xdisp.c (try_window_reusing_current_matrix): More fixes
8617 for the case window has a header-line.
8618
c6cbe5f0
DL
86192000-09-22 Dave Love <fx@gnu.org>
8620
4c7c1f3f
DL
8621 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8622 a doc string.
8623
8624 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8625
c6cbe5f0
DL
8626 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8627
550a625e
GM
86282000-09-21 Gerd Moellmann <gerd@gnu.org>
8629
4c7c1f3f 8630 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8631 for GCC >= 2.5.
8632
52283633
SM
8633 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8634 Declare NO_RETURN.
fca99116 8635
80d26f99
GM
8636 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8637 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8638 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8639 warnings.
52283633 8640
80d26f99
GM
8641 * marker.c (byte_char_debug_check): Return void.
8642
623a0aae
GM
8643 * xfns.c (Fx_create_frame): Set default frame parameter value
8644 for tool-bar-lines to 1.
8645
8646 * dispnew.c (scrolling_window): Compare y-positions of rows
8647 equal at the start. Some simplification.
8648
8649 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8650 reused rows' y-position in the case window has a header-line, and
8651 new window start is greater than old window start.
8652
42ac0ae5
GM
8653 * process.c (process_sent_to): New variable.
8654 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8655 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8656 Declare more parameters volatile.
8657
550a625e
GM
8658 * lread.c (Vrecursive_load_depth_limit): New variable.
8659 (Fload): Check recursive loads whose recursion depth exceeds
8660 Vrecursive_load_depth_limit.
8661 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8662
8320414c
GM
86632000-09-20 Gerd Moellmann <gerd@gnu.org>
8664
f46c275e
GM
8665 * fileio.c (Fread_file_name): Doc fix.
8666
8667 * editfns.c (Fmessage_or_box): Doc fix.
8668
8669 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8670
b7e11c5b 8671 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8672
8320414c
GM
8673 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8674 symbols are specified, add color translations to the cache.
52283633 8675 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8676 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8677 xpm_cache_color.
8678 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8679 structures to xpm_init_color_cache.
8680
da1608d9
GM
86812000-09-19 Gerd Moellmann <gerd@gnu.org>
8682
52283633 8683 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8684
6badfa25
AI
86852000-09-19 Andrew Innes <andrewi@gnu.org>
8686
8687 * makefile.nt (bootstrap-emacs): Don't change directory.
8688
3a5f42bb
KH
86892000-09-19 Kenichi Handa <handa@etl.go.jp>
8690
1b7649bd
KH
8691 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8692
3a5f42bb
KH
8693 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8694 If output buffer is too small, signal an appropriated error.
8695
9f83cf0b
DL
86962000-09-18 Dave Love <fx@gnu.org>
8697
52283633 8698 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8699 (current_active_maps): Remove redundant get_local_map call.
8700
28c7826c
GM
87012000-09-18 Gerd Moellmann <gerd@gnu.org>
8702
5cefa566
GM
8703 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8704 cursor for buffers whose cursor_type is nil.
52283633 8705
6fed3546
GM
8706 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8707 a feature to implement that is already implemented.
8708 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8709 warnings.
8710
8711 * xfns.c (x_clear_image_1): New function.
8712 (x_clear_image): Use it.
52283633 8713 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8714
05b1f851
GM
8715 * dispnew.c (update_window): Move test for invisible lines
8716 at the top to update_window_line.
8717 (update_window_line): Handle invisible lines here.
8718
f4779de9
GM
8719 * xfns.c (clear_image_cache): Clear current matrices of all
8720 frames sharing an image cache. Block input while freeing
8721 images. Fix timestamp comparison.
8722 (x_clear_image): Also free the mask.
8723
28c7826c
GM
8724 * xfns.c (lookup_image): Block input while loading the image so
8725 that we won't get interrupted in a state where the image isn't yet
8726 set up completely.
8727 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8728 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8729 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8730 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8731
b7412313
GM
87322000-09-16 Gerd Moellmann <gerd@gnu.org>
8733
8734 * dispnew.c (update_window): Make sure to make desired rows
8735 current even if they are completely invisible at the top
8736 of a window.
8737
47e351a3
GM
87382000-09-15 Gerd Moellmann <gerd@gnu.org>
8739
7f8f1edc
GM
8740 * xfns.c (lookup_image): Build mask before applying an algorithm.
8741 Recognize algorithm `disabled'.
8742 (cross_disabled_images): New variable.
8743 (COLOR_INTENSITY): New macro.
8744 (x_detect_edges): Use COLOR_INTENSITY.
8745 (x_disable_image): New function.
8746 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8747
8748 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8749 disabled state, don't apply an image transformation algorithm if
8750 the user specified an image for the disabled state. Use
28c7826c 8751 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8752 user hasn't specified an image.
8753
ebb8f116
GM
8754 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8755 allocation functions with the XPM lib.
8756 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8757 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8758 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8759 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8760 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8761 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8762 functions, if possible, because these handle color allocation
8763 failure more gracefully.
8764 (Fimage_mask_p): New function.
8765
47e351a3
GM
8766 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8767 (Qedge_detection, Qheuristic): New symbols.
8768 (syms_of_xfns): Initialize new symbols.
8769 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8770 `algorithm (edge-detection ...)'.
8771 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8772 (tiff_format, gif_format, gs_format): Add `:mask'.
8773 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8774 (GIF_MASK, GS_MASK): New enumerators.
8775 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8776 (emboss_matrix, laplace_matrix): New variables.
8777 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8778 (x_edge_detection): New functions.
8779 (x_laplace): Rewritten in terms of x_detect_edges.
8780 (x_build_heuristic_mask): If image has a mask, free it.
8781
fe83b953
AI
87822000-09-14 Andrew Innes <andrewi@gnu.org>
8783
8784 * makefile.w32-in: Revert to Unix line endings.
8785
3021e816
AI
87862000-09-14 Andrew Innes <andrewi@gnu.org>
8787
8788 * makefile.w32-in: Standardize indentation somewhat.
8789 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8790 cater for differences between shells.
8791
8792 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8793
2a32b5ea
GM
87942000-09-14 Gerd Moellmann <gerd@gnu.org>
8795
8796 * xterm.c (x_produce_glyphs): If the distance from the current
8797 position to the next tab stop is less than a canonical character
8798 width, use the tab stop after that.
8799
b4331e96
DL
88002000-09-14 Dave Love <fx@gnu.org>
8801
8802 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8803
ef9e4345
GM
88042000-09-14 Gerd Moellmann <gerd@gnu.org>
8805
085536c2
GM
8806 * xdisp.c (handle_fontified_prop): While running fontification
8807 functions, bind `fontification-functions' and
8808 `after-change-functions' to nil.
8809
ef9e4345
GM
8810 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8811 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8812
8813 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8814
8815 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8816 USE_MMAP_FOR_BUFFERS.
8817
8818 * insdel.c (make_gap): Use enlarge_buffer_text.
8819
8820 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8821 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8822 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8823 from former r_alloc_* functions in ralloc.c.
52283633 8824 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8825 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8826 (mmap_init) [REL_ALLOC_MMAP]: New function.
8827 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8828 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8829 BUFFER_FREE.
8830
8831 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8832 (enlarge_buffer_text): Add prototype.
8833
8834 * ralloc.c: Remove everything having to do with the use of mmap.
8835
f8608968
GM
88362000-09-13 Gerd Moellmann <gerd@gnu.org>
8837
2a494b2d
GM
8838 * sound.c (Fplay_sound): Doc fix.
8839
8c907a56
GM
8840 * keyboard.c: Avoid some more compiler warnings.
8841 (parse_tool_bar_item): Ignore cached key bindings.
8842
f8608968
GM
8843 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8844 and allocation of Lisp data.
8845
6ab70e9a
GM
88462000-09-12 Gerd Moellmann <gerd@gnu.org>
8847
d12d0a9b
GM
8848 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8849 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8850 defaults first.
8851
6ab70e9a
GM
8852 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8853
63c36c3c
KH
88542000-09-12 Miyashita Hisashi <himi@meadowy.org>
8855
8856 * ccl.c: Comment fixed.
8857 (MAX_MAP_SET_LEVEL): Increased to 30.
8858 (PUSH_MAPPING_STACK): Enclose with do-while block.
8859 (POP_MAPPING_STACK): Likewise.
8860 (stack_idx_of_map_multiple): New variable.
8861 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8862 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8863 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8864 (ccl_driver) <CCL_MapSingle>: Likewise.
8865 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8866 with the case where looking up process reaches to the end of
8867 map-set, and call CCL programs as the above change.
8868
7ee3bd7b
GM
88692000-09-11 Gerd Moellmann <gerd@gnu.org>
8870
8ec8a5ec
GM
8871 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8872 that might be clobbered by longjmp.
8873 (check_x_display_info, x_decode_color, create_frame_xic)
8874 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8875 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8876
f74b0705
GM
8877 * lread.c (init_lread): Set Vloads_in_progress to nil.
8878 (Fload): Show list of recursively loaded files, when signaling an
8879 error.
8880
7ee3bd7b
GM
8881 * lread.c (Vloads_in_progress): New variable.
8882 (record_load_unwind): New function.
8883 (Fload): Check for recursive loads.
8884 (syms_of_lread): Initialize Vloads_in_progress.
8885 (read_integer, read1): Avoid some compiler warnings.
8886
8887 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8888 compiler warnings.
8889
974e1e5b
MB
88902000-09-11 Miles Bader <miles@gnu.org>
8891
8892 * editfns.c (Fbuffer_string): Doc fix.
8893
9824c4e3
GM
88942000-09-10 Gerd Moellmann <gerd@gnu.org>
8895
8896 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8897
6a72fdd1
KR
88982000-09-09 Ken Raeburn <raeburn@gnu.org>
8899
8900 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8901 whether to include other header files.
8902
28e6fb66
GM
89032000-09-09 Gerd Moellmann <gerd@gnu.org>
8904
52283633 8905 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8906 by Fmemq as a boolean.
28e6fb66 8907
7f8b6551
SM
89082000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8909
8910 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8911
a8710abf
GM
89122000-09-08 Gerd Moellmann <gerd@gnu.org>
8913
d1a02881
GM
8914 * ralloc.c (mmap_fd): Remove initializer which can make it
8915 read-only in a dumped Emacs.
8916 (mmap_fd_1): New variable.
8917 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8918 restore it from there.
8919 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8920 unconditionally so that mmap_fd can be initialized there.
8921 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8922 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8923 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8924
c454aac1
GM
8925 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8926
8927 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8928 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8929
fc653ef2
GM
8930 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8931
3015eec0
GM
8932 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8933 inheritance.
8934
bfe0ee88
GM
8935 * xdisp.c (try_window_id): When trying to locate cursor in
8936 unchanged rows at the top, handle the case that we can't find it.
8937
a8710abf
GM
8938 * xterm.c (x_draw_glyphs): Handle case START and END are out
8939 of bounds more carefully.
8940
6b7d4ae4
DL
89412000-09-08 Dave Love <fx@gnu.org>
8942
423193c5
DL
8943 * s/sol2.h (REL_ALLOC_MMAP): Define.
8944 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8945
8946 * ralloc.c: Don't include string.h (redundant).
8947 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8948 [!MAP_ANON]: Include fcntl.h.
8949 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8950 (r_alloc, r_re_alloc, r_alloc_free)
8951 (mmap_enlarge, mmap_set_vars): Use it.
8952 (r_alloc_init_fd): New function.
8953 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8954 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8955 malloc type.
8956
8957 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8958 Remove vm-limit.o.
8959
6b7d4ae4
DL
8960 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8961 change to __NetBSD__.
8962
44d31981
KH
89632000-09-08 Kenichi Handa <handa@etl.go.jp>
8964
8965 * search.c (compile_pattern): Check the multibyteness of cached
8966 string and PATTERN.
8967
aad40737
MB
89682000-09-08 Miles Bader <miles@gnu.org>
8969
8970 * xfaces.c (default_face_vector): Function removed.
8971 (Finternal_merge_in_global_face): Restore old global/local
8972 attribute override order. Use inline loop instead of calling
8973 default_face_vector.
8974
91a211b5
GM
89752000-09-07 Gerd Moellmann <gerd@gnu.org>
8976
8977 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8978 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8979 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8980 where necessary, in case POINTER_TYPE is `void'.
8981
03419440
EZ
89822000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8983
8984 * frame.c (make_terminal_frame): Initialize frame foreground and
8985 background colors to unspecified, for the initial instance of an
8986 MSDOS frame.
8987
f46f845b
GM
89882000-09-07 Gerd Moellmann <gerd@gnu.org>
8989
24f76fbf
GM
8990 * ralloc.c (mmap_find): Fix overlap computation.
8991 (mmap_enlarge): Compute nbytes before trying to find an
8992 overlapping region.
8993
f46f845b
GM
8994 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8995 instead of `!='.
8996
8997 * lread.c (syms_of_lread): Change value of regexp
8998 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8999
9000 * xmenu.c (xdialog_show): When looking up the selection in
9001 menu_items, take `quote' boundaries into account; this corresponds
9002 to a nil ITEM in x-popup-dialog.
9003
3c014385
KH
90042000-09-07 Kenichi Handa <handa@etl.go.jp>
9005
fd6f711b
KH
9006 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9007 not 0x81.
9008 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9009
3c014385 9010 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
9011 encoding, not decoding. Fix the handling of latin-jisx0201.
9012 Check for the charset katakana-jisx0201 too.
3c014385 9013 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 9014 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 9015
0da3ecef
GM
90162000-09-07 Gerd Moellmann <gerd@gnu.org>
9017
ab0ee409
GM
9018 * xfaces.c (Vparam_value_alist): New variable.
9019 (syms_of_xfaces): Initialize it.
9020 (Finternal_set_lisp_face_attribute): Avoid more consing.
9021
9022 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9023 specially.
9024 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9025 (Qbackground_mode): New variable.
9026 (syms_of_frame_1): Initialize Qbackground_mode.
9027
9028 * lisp.h (Qdisplay): Declare extern.
1091dd67 9029
0da3ecef
GM
9030 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9031 change face on all frames, and change the default for new frames.
9032
b14654b9
DL
90332000-09-07 Dave Love <fx@gnu.org>
9034
9035 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9036
d24fd56f
KH
90372000-09-07 Kenichi Handa <handa@etl.go.jp>
9038
794f3670
KH
9039 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9040
0fddd0dc
KH
9041 * charset.c: Include composite.h
9042 (lisp_string_width): New function.
9043 (Fstring_width): Call lisp_string_width instead of strwidth.
9044
9045 * Makefile.in (charset.o): Depends on composite.h.
9046
d24fd56f
KH
9047 * process.c (read_process_output): Before inserting the decoded
9048 text in the buffer, adjust the multibyteness.
9049
fa0b693c
GM
90502000-09-06 Gerd Moellmann <gerd@gnu.org>
9051
52283633 9052 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9053 buffer's text buffer is null, map new memory.
9054
0a58f946
GM
9055 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9056 POINTER_TYPE and size_t.
9057 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9058 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9059 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9060 [REL_ALLOC_MMAP]: New macros.
9061 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9062 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9063 [REL_ALLOC_MMAP]: New functions.
9064
9065 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9066 before and after unexec.
9067
9068 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9069 text buffers if necessary.
9070
9071 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9072 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9073 in prototypes.
9074
fa0b693c
GM
9075 * config.in (HAVE_MMAP): Add #undef.
9076
877055f6
GM
90772000-09-05 Gerd Moellmann <gerd@gnu.org>
9078
08ba3862
GM
9079 * frame.c (Qdisplay_type): New variable.
9080 (syms_of_frame_1): Initialize it.
9081 (Fframe_parameter): New function that avoids consing.
9082 (syms_of_frame): Defsubr it.
9083
66ffe51c
GM
9084 * buffer.c (Fother_buffer): Consider buffers as invisible when
9085 they are displayed in a window on an invisible frame.
9086
877055f6
GM
9087 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9088 get-largest-window always return nil.
9089
bb970e67
GM
90902000-09-04 Gerd Moellmann <gerd@gnu.org>
9091
9092 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9093 variable; recognize Emacs 19 elc files.
9094
7a3d0e0e
MB
90952000-09-04 Miles Bader <miles@gnu.org>
9096
9097 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9098 before initially popping up the menu, so the menu doesn't flash
52283633 9099 when the face settings are significantly different from the defaults.
7a3d0e0e 9100
14473664
SM
91012000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9102
9103 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9104 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9105 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9106 (BIT_UNIBYTE): Remove.
9107 (re_match_2_internal): Delete corresponding code and streamline the
9108 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9109 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9110 (re_wctype_t): New type.
9111 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9112 (regex_compile): Use them and fix handling of overly long char classes.
9113
c1174479
AI
91142000-09-03 Andrew Innes <andrewi@gnu.org>
9115
f8803e97
AI
9116 * makefile.w32-in: Change to DOS line endings.
9117
c1174479
AI
9118 * s/ms-w32.h (ORDINARY_LINK): New define.
9119
9120 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9121 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9122
9123 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9124 (distclean): Delete them here instead.
9125
44ef7cf6
AI
9126 * w32proc.c (compare_env): Convert to uppercase for comparison,
9127 not lowercase, to match how the native Windows shell works.
9128
49b3bd82
JR
91292000-09-03 Jason Rumney <jasonr@gnu.org>
9130
9131 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9132 CVS changes the line-ends when checking in/out on DOS/Windows.
9133
9134 * makefile.nt (emacs): Do not change directory to run temacs, as
9135 the load-path is set relative to current directory.
9136
a3d35a39
MB
91372000-09-03 Miles Bader <miles@gnu.org>
9138
9139 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9140
d276b0cf
GM
91412000-09-02 Gerd Moellmann <gerd@gnu.org>
9142
715e84c9
GM
9143 * xdisp.c (redisplay_mode_lines): New function.
9144 (display_mode_lines): Return number of mode lines displayed.
9145 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9146 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9147
8892f40b
GM
9148 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9149 string.h and strings.h.
9150 (index) [HAVE_INDEX]: Add prototype.
9151
d276b0cf
GM
9152 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9153 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9154
9155 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9156 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9157
38404229
GM
91582000-09-01 Gerd Moellmann <gerd@gnu.org>
9159
9160 * lread.c (read1): Accept `?' as symbol constituent, for
9161 compatiblity with XEmacs.
9162
c0f9ea08
SM
91632000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9164
9165 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9166 (struct re_pattern_buffer): Remove newline_anchor.
9167 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9168 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9169 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9170 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9171 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9172 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9173 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9174 Get rid of references to newline_anchor.
9175 (regcomp): Allocate and precompute a fastmap.
9176
8c0f83fe
GM
91772000-08-31 Gerd Moellmann <gerd@gnu.org>
9178
9179 * lread.c (openp): GCPRO local variable `filename'.
9180
4bb91c68
SM
91812000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9182
9183 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9184
9185 * regex.c: Merge some changes from GNU libc. Add prototypes.
9186 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9187 Use memcmp and memcpy instead of bcopy and bcmp.
9188 (init_syntax_once): Use ISALNUM.
9189 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9190 (REG_UNSET_VALUE): Remove. Use NULL instead.
9191 (REG_UNSET, re_match_2_internal): Use NULL.
9192 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9193 New macros.
9194 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9195 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9196 (regex_compile): In handle_interval, return an error rather than try to
9197 unfetch the interval if we can't find the closing brace.
9198 Obey the RE_NO_GNU_OPS syntax bit.
9199 (TOLOWER): New macro.
9200 (regcomp): Use it.
9201 (regexec): Allocate regs.start and regs.end as one block.
9202
5226a931
GM
92032000-08-30 Gerd Moellmann <gerd@gnu.org>
9204
868dd24b
GM
9205 * xdisp.c (echo_area_display): Check display_completed instead
9206 of calling detect_input_pending.
9207
9208 * dispnew.c (update_frame): Only set display_completed here; move
9209 the update_begin and update_end calls here from update_frame_1.
9210 (update_frame_1): Don't set display_completed here, don't call
9211 update_begin/update_end.
9212
5226a931
GM
9213 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9214 instead of store_frame_param.
9215
2a8bd25f
GM
92162000-08-29 Gerd Moellmann <gerd@gnu.org>
9217
9218 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9219 desired window matrix hasn't been displayed, use the current row
9220 instead. Make sure that only those frame rows are updated for
9221 which there exists a corresponding enabled desired row.
52283633 9222
ba3478d9
MB
92232000-08-29 Miles Bader <miles@gnu.org>
9224
9225 * xfaces.c (default_face_vector): New function.
9226 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9227
87d0f685
GM
92282000-08-29 Gerd Moellmann <gerd@gnu.org>
9229
9230 * lread.c (openp): Prevent temporary string passed to
9231 Ffile_readable_p from being garbage collected.
9232
6fa86045
DL
92332000-08-28 Dave Love <fx@gnu.org>
9234
9235 * keymap.c (store_in_keymap): Add `static' to declaration.
9236
bb17930d
GM
92372000-08-28 Gerd Moellmann <gerd@gnu.org>
9238
9239 * emacs.c, callint.c, doc.c, editfns.c
9240 (toplevel) [HAVE_STRING_H]: Include string.h.
9241 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9242 (index): Remove prototypes which might conflict with non-standard
9243 definitions of index/strchr.
9244
9245 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9246 (rindex): Define only if !HAVE_RINDEX.
9247
9248 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9249
9250 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9251
87188200
MB
92522000-08-28 Miles Bader <miles@gnu.org>
9253
9254 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9255 made inconsistent by a font-related attribute in FROM.
9256 (merge_face_inheritance): Add function comment.
9257
41a68aef
KH
92582000-08-28 Kenichi Handa <handa@etl.go.jp>
9259
9260 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9261 the 4th arg (PREV_EVENT) Qt to suppress input method.
9262
f7c436c1
SM
92632000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9264
0b32bf0e
SM
9265 * regex.c: Indent cpp directives and remove parens after `defined'.
9266 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9267 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9268 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9269 (re_compile_pattern): Use size_t for length.
9270 (init_syntax_once): Move to a better place.
9271 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9272 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9273
f7c436c1
SM
9274 * syntax.c (back_comment): Detect cases where a comment-starter is
9275 actually inside another comment as in: /* a // b */ c // d \n.
9276 Make it clear that `comstart_pos' is unused for nested comments.
9277
9278 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9279 (KEYMAPP): New macro.
9280 (Fkeymap_parent, Fset_keymap_parent): Use it.
9281 (fix_submap_inheritance): Mark it static.
9282 (define_as_prefix, describe_buffer_bindings, describe_command)
9283 (describe_translation, describe_map): Complete prototypes.
9284
9285 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9286
9287 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9288 to better match the key-lookup behavior.
9289
6288c62f
GM
92902000-08-27 Gerd Moellmann <gerd@gnu.org>
9291
9292 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9293 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9294
e931344e
EZ
92952000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9296
9297 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9298 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9299 (xterm.o): Depend on coding.h
9300
d10dfeef
KH
93012000-08-26 Kenichi Handa <handa@etl.go.jp>
9302
9303 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9304 the corresponding '#endif'.
9305
2d73e8d3
MB
93062000-08-26 Miles Bader <miles@gnu.org>
9307
9308 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9309 * xfaces.c (QCinherit): New variable.
9310 (syms_of_xfaces): Initialize it.
9311 (LFACE_INHERIT): New macro.
9312 (Finternal_get_lisp_face_attribute)
52283633 9313 (merge_face_vector_with_property)
2d73e8d3
MB
9314 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9315 (check_lface_attrs): Allow new types of face height. Check
9316 inherit attribute.
9317 (CYCLE_CHECK): New macro.
9318 (merge_face_inheritance): New function.
9319 (merge_face_vectors): Merge inherited faces too. Add F and
9320 CYCLE_CHECK arguments.
9321 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9322 (lookup_named_face, lookup_derived_face, realize_named_face)
9323 (face_at_string_position, face_at_buffer_position): Supply
9324 new F and CYCLE_CHECK arguments to merge_face_vectors.
9325 (merge_face_heights): New function.
52283633 9326 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9327 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9328 handle relative face heights.
9329 (lface_same_font_attributes_p): Compare heights using EQ.
9330
6ce974d4
KH
93312000-08-26 Kenichi Handa <handa@etl.go.jp>
9332
9333 * charset.c (char_to_string): Check the character validity.
52283633 9334 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9335
dc1e502d
SM
93362000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9337
9338 * regex.c (PUSH_FAILURE_COUNT): New macro.
9339 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9340 Handle popping of a register's or a counter's data.
9341 (POP_FAILURE_POINT): Use the new name.
9342 (re_match_2_internal): Push counter data on the stack for succeed_n,
9343 jump_n and set_number_at and remove misleading dead code in succeed_n.
9344
bd9d0f3f
GM
93452000-08-25 Gerd Moellmann <gerd@gnu.org>
9346
9347 * xdisp.c (redisplay_internal): If considering all windows on all
9348 frames, update the display for each frame as soon as possible,
9349 instead of first building all desired matrices for all frames, and
9350 then updating them all.
9351 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9352
aa5b8e15
GM
93532000-08-24 Gerd Moellmann <gerd@gnu.org>
9354
17494071
GM
9355 * bytecode.c (mark_byte_stack): Add a comment.
9356
52283633
SM
9357 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9358 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9359 a graphical frame.
9360
c543db81
KH
93612000-08-24 Kenichi Handa <handa@etl.go.jp>
9362
d246d5f5
KH
9363 * minibuf.c (do_completion): Always use compare-string, not
9364 string-equal because the latter doesn't pay attention to
9365 multibyteness of strings.
9366
c543db81
KH
9367 * process.c (create_process): Don't setup raw-text coding here.
9368 (Fopen_network_stream): Don't set coding->src_multibyte and
9369 coding->dst_multibyte here.
9370 (read_process_output): For process filter, return unibyte string
9371 if default-enable-multibyte-characters is nil.
9372 (send_process): If OBJECT is multibyte text, be sure to encoded it
9373 by the specified coding system for the process. Otherwise, setup
9374 raw-text coding.
52283633 9375 (init_process): Don't initialize default-process-coding-system here.
c543db81 9376
9b47cfe0
EZ
93772000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9378
9379 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9380 <scroll-down-aggressively>: Likewise.
9381
f5a36960
KH
93822000-08-23 Kenichi Handa <handa@etl.go.jp>
9383
9384 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9385 zero. Set coding->produced_char correctly.
9386
69a7ffa7
AI
93872000-08-22 Andrew Innes <andrewi@gnu.org>
9388
9389 * makefile.w32-in: New file.
9390
9391 * unexw32.c (unexec): Ignore old_name, and use the actual location
9392 of the current executable instead. Base new_name on this.
9393
9394 * w32proc.c (create_child): Remove reference to security
9395 descriptor, which isn't needed and doesn't compile with mingw32.
9396
9397 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9398 up dllimport attributes.
9399 (x_update_window_end): Update prototype.
9400
9401 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9402 extern, which screws up dllimport attributes.
9403
9404 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9405 up dllimport attributes.
9406
9407 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9408 screws up dllimport attributes.
9409
9410 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9411 up dllimport attributes.
9412 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9413 screws up dllimport attributes.
9414
9415 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9416 up dllimport attributes.
9417
9418 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9419 screws up dllimport attributes.
9420
9421 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9422 screws up dllimport attributes.
9423
9424 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9425 up dllimport attributes.
9426
9427 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9428 unnecessary extern, which screws up dllimport attributes.
9429 (main): Ditto.
9430
9431 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9432 up dllimport attributes.
9433
9434 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9435 unnecessary extern, which screws up dllimport attributes.
9436
9437 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9438 screws up dllimport attributes.
9439
9440 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9441 up dllimport attributes.
9442
9443 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9444
52283633
SM
9445 * w32bdf.c (search_file_line):
9446 (set_bdf_font_info):
9447 (seek_char):
9448 (w32_get_bdf_glyph):
69a7ffa7
AI
9449 (w32_BDF_to_x_font): Fix compile warnings.
9450
52283633 9451 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9452
9453 * w32select.c: Include keyboard.h before frame.h.
9454
9455 * w32fns.c (max): Define macro.
9456 (JOHAB_CHARSET): Define if not known.
9457 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9458 (Fx_show_tip): Synch with X version.
9459
9460 * w32xfns.c: Include keyboard.h before frame.h.
9461
9462 * w32fns.c: Include keyboard.h before frame.h.
9463
9464 * w32term.c: Include keyboard.h before frame.h.
9465
9466 * fontset.c: Include keyboard.h before frame.h.
9467
9468 * w32inevt.c: Include keyboard.h before frame.h.
9469 (MOUSE_MOVED): Define if not known.
9470
9471 * minibuf.c: Include keyboard.h before frame.h.
9472
9473 * keyboard.c: Include keyboard.h before frame.h.
9474
9475 * indent.c: Include keyboard.h before frame.h.
9476
9477 * dispnew.c: Include keyboard.h before frame.h.
9478
9479 * buffer.c: Include keyboard.h before frame.h.
9480
9481 * alloc.c: Include keyboard.h before frame.h.
9482
9483 * print.c: Include keyboard.h before frame.h.
9484
9485 * process.c: Include keyboard.h before frame.h.
9486
9487 * scroll.c: Include keyboard.h before frame.h.
9488
9489 * sysdep.c: Include keyboard.h before frame.h.
9490
9491 * term.c: Include keyboard.h before frame.h.
9492
9493 * window.c: Include keyboard.h before frame.h.
9494
9495 * xdisp.c: Include keyboard.h before frame.h.
9496 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9497
9498 * frame.c: Include keyboard.h before frame.h.
9499
9500 * w32heap.h: Undefine min, max.
9501
9502 * w32gui.h: Undefine min, max.
9503
9504 * unexw32.c: Change PUCHAR to PCHAR.
9505 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9506 (relocate_offset):
9507 (get_section_info):
69a7ffa7
AI
9508 (copy_executable_and_dump_data): Remove unnecessary static defs.
9509 (copy_executable_and_dump_data): Fix compile warnings.
9510
9511 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9512
9513 * w32console.c (min): Define macro.
9514 (clear_frame, write_glyphs): Fix compile warning.
9515
52283633 9516 * w32proc.c (compare_env):
69a7ffa7
AI
9517 (find_child_console): Fix compile warning.
9518
9519 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9520 sys_errlist instead of _sys_errlist.
9521 (get_emacs_configuration_options): New function.
9522
9523 * s/ms-w32.h (sys_nerr): Provide default definition.
9524 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9525 name with _ prepended.
9526 (NSIG): Define if not known.
9527 (get_emacs_configuration): Provide extern declaration.
9528 (get_emacs_configuration_options): Provide extern declaration.
9529 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9530
9531 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9532 (map_w32_filename):
69a7ffa7
AI
9533 (read_unc_volume): Fix compile warning.
9534
9535 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9536 definitions from being used.
9537
9538 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9539
52283633 9540 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9541 (open_unc_volume): Make arg const.
9542
9543 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9544 (read_input_waiting): Remove excess parameter.
9545
9546 * w32.c (init_environment): Call _access.
9547 (check_windows_init_file): Call _close.
9548 (init_user_info): Call _putenv.
9549 (init_environment): Call _putenv and _strdup.
9550 (init_ntproc): Reset volume info cache on startup.
9551
9552 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9553 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9554 cannot override the CRT malloc.
9555
9556 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9557 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9558
9559 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9560 unless we are linking with a static CRT.
9561 (RVA_TO_PTR): Cast result to unsigned char*.
9562
9563 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9564 (add_volume_info): Use xstrdup.
9565
25060080
SM
95662000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9567
9568 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9569 (do_completion, Fminibuffer_complete_word): Use it.
9570 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9571 var so it can take non-boolean values.
9572
6917e6bb
GM
95732000-08-21 Gerd Moellmann <gerd@gnu.org>
9574
acb7cc89 9575 * editfns.c (find_field): Formatting changes.
52283633 9576 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9577 changed to prototypes, some new protypes added, some functions
9578 made static.
9579
9580 * lisp.h (set_time_zone_rule): Add prototype.
9581 (use_dialog_box): External declaration.
9582
0bbfdc25
GM
9583 * keyboard.c (gen_help_event): Add parameter SIZE.
9584 (kbd_buffer_events_waiting): Slightly rewritten.
9585 (clear_event): New function.
9586 (kbd_buffer_get_event): Use it, and clear the input_events of
9587 HELP_EVENTs.
9588 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9589 don't fill the newly created array with nils.
9590 (toplevel): Convert some old-style function forward declarations
9591 to prototypes.
9592
9593 * keyboard.h (gen_help_event): Change prototype.
9594
9595 * xterm.c (XTread_socket): Change calls to gen_help_event.
9596
9597 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9598
6917e6bb
GM
9599 * eval.c (Fmacroexpand): Doc fix.
9600
e5cd3d11
JR
96012000-08-20 Jason Rumney <jasonr@gnu.org>
9602
9603 * w32term.h (x_display_info_for_display): Remove as this function
9604 does not exist on W32.
9605
9606 * w32term.c (help_echo_window): New variable.
9607 (syms_of_w32term): staticpro it.
9608 (note_mode_line_highlight): Set it.
9609 (XTextExtents16): Removed as there is no equivalent on W32.
9610 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9611 the X way of doing this will not work for W32.
9612 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9613 (x_draw_image_foreground): Avoid drawing outside of the clip area
9614 when image doesn't have a mask.
9615 (note_mouse_highlight): Process overlays in the right order of
9616 priority. Set help_echo_window.
9617 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9618 because that's more visible for large images.
9619
9620 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9621 name to single_keymap_panes.
9622 (w32_menu_show): Set wv->title when dealing with titles.
9623 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9624
6e69ab8c
MB
96252000-08-21 Miles Bader <miles@gnu.org>
9626
9627 * minibuf.c (do_completion): Try again if we rewrite the input
9628 string, but no completion was done, so that any completion message
9629 will be correct.
9630
511bd4eb
GM
96312000-08-20 Gerd Moellmann <gerd@gnu.org>
9632
9633 * xfaces.c (lface_equal_p): Compare strings differently.
9634 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9635 (realize_tty_face): Use them.
9636 (syms_of_xfaces): Initialize new variables.
9637 (map_tty_color): New function, extracted from realize_tty_face.
9638 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9639 foreground or background color, store the new color name in the
9640 realized face; previous code trying to do this had no effect.
9641 (realize_tty_face): Use map_tty_color.
9642 (Fclear_face_cache): Set face_change_count and ensure thorough
9643 redisplay.
9644
1433385f
GM
96452000-08-19 Gerd Moellmann <gerd@gnu.org>
9646
511bd4eb
GM
9647 * undo.c (record_first_change, record_marker_adjustment): Don't
9648 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9649
419ac0a2
KH
96502000-08-18 Kenichi Handa <handa@etl.go.jp>
9651
9652 * coding.c (decode_coding_string): Set members consumed,
9653 consumed_char, produced, produced_char of *coding correctly. If
9654 decode_coding doesn't consume any byte, don't try anymore.
9655 (encode_coding_string): Likewise.
9656
7eb9e30d
GM
96572000-08-18 Gerd Moellmann <gerd@gnu.org>
9658
511bd4eb
GM
9659 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9660 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9661
9662 * xdisp.c (redisplay_internal): Compare windows for equality with
9663 EQ, instead of applying XWINDOW to something that might not
9664 be a window.
52283633 9665
dd34a735
KH
96662000-08-18 Kenichi Handa <handa@etl.go.jp>
9667
9668 * fontset.c (Finternal_char_font): Search only the selected frame
9669 for a window of the current buffer.
9670
385ff9e3
GM
96712000-08-18 Gerd Moellmann <gerd@gnu.org>
9672
511bd4eb 9673 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9674 Lisp_Objects.
9675
385ff9e3
GM
9676 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9677 second half of a HELP_EVENT is found at the start of kbd_buffer.
9678
d6abb4c7
MB
96792000-08-18 Miles Bader <miles@gnu.org>
9680
4618074a
MB
9681 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9682
d6abb4c7
MB
9683 * editfns.c (save_restriction_save): Rewrite to use markers.
9684 (save_restriction_restore): Rewrite to understand new form of data
9685 saved by save_restriction_save.
9686 (Fsave_restriction): Remove cautionary note in doc-string.
9687
a7b28523
GM
96882000-08-17 Gerd Moellmann <gerd@gnu.org>
9689
9690 * fileio.c (build_annotations): Add a comment explaining the
9691 return value of format-annotate-function. Replace a spurious call
9692 to Flength with a CONSP test. Call format-annotate-function with
9693 a fifth arg specifying how many times the function is been called
9694 in a row, to let it choose temporary buffers appropriately.
9695
03c9ed77
DL
96962000-08-17 Dave Love <fx@gnu.org>
9697
9698 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9699 declare make_temp_name twice.
9700
52283633 9701 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9702 (unreadpure): Give it an arg.
9703
9704 * unexalpha.c: Prototype fatal_unexec, mark_x,
9705 update_dynamic_symbols. Declare unexec as void.
9706
9707 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9708 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9709
9710 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9711 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9712
9713 * alloca.c: Use #error.
9714 [POINTER_TYPE]: Use it.
9715
9716 * eval.c (Fdefvar): Doc fix.
9717
9718 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9719 INITIALIZE_INTERVAL.
9720
9721 * buffer.h: Avoid DECLARE_INTERVALS.
9722
9723 * config.in: Add size_t.
9724
aae41d97
EZ
97252000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9726
9727 * w16select.c (set_clipboard_data): If there's not enough memory
9728 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9729 expects. In case of other failures, return 3.
9730 (system_error_msg): New error message.
9731 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9732 system_error_msg.
9733
65aa5e85
GM
97342000-08-16 Gerd Moellmann <gerd@gnu.org>
9735
9736 * term.c (write_glyphs): Also turn off inverse video after turning
9737 off other appearances in case TS_exit_attribute_mode is not equal
9738 to TS_end_standout_mode.
9739 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9740 with the same face.
9741 (turn_off_face): Reset standout_mode only if
9742 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9743 is equal to TS_end_standout_mode.
9744
ece23901
KH
97452000-08-16 Kenichi Handa <handa@etl.go.jp>
9746
9d7bcb2e
KH
9747 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9748 sequence at the end of the source block.
9749
ece23901
KH
9750 * ccl.c (Fccl_program_p): Docstring modified.
9751 (Fccl_execute): Likewise.
9752 (Fccl_execute_on_string): Likewise.
9753
5e30eaa2
EZ
97542000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9755
9756 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9757
290602fd
KH
97582000-08-16 Kenichi Handa <handa@etl.go.jp>
9759
9760 The following changes are mainly to fix bugs of
9761 encode/decode-coding-string failing if encoding/decoding return
9762 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9763 variable conversion_buffer.
9764
9765 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9766 decrement dst_end to avoid buffer overflow in the later call of
9767 string_as_multibyte
9768
9769 * coding.h (conversion_buffer_size, conversion_buffer)
9770 (get_conversion_buffer): Extern deleted.
9771
9772 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9773 (conversion_buffer, conversion_buffer_size): Variables deleted.
9774 (get_conversion_buffer): Function deleted.
9775 (struct conversion_buffer): New structure.
9776 (MAX_ALLOCA): New macro.
9777 (allocate_conversion_buffer): New macro.
9778 (extend_conversion_buffer, free_conversion_buffer): New functions.
9779 (ccl_coding_driver): Set coding->result.
9780 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9781 this is the last block of source.
9782 (encode_coding): Likewise. Handle the source block as the last
9783 one only when the whole source text is consumed.
9784 (decode_coding_string): Handle the case that the output buffer is
9785 too small to decode the whole source text. Use
9786 allocate_conversion_buffer, extend_conversion_buffer and
9787 free_conversion_buffer, not get_conversion_buffer.
9788 (encode_coding_string): Likewise.
9789 (init_coding): Function deleted.
52283633 9790 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9791
9792 * emacs.c (main): Don't call init_coding.
9793
52283633 9794 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9795
9796 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9797 (insert_glyphs): Likewise.
9798
9799 * w32console.c (write_glyphs): Use a locally declared
9800 conversion_buffer.
9801
b9f80d41
EZ
98022000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9803
9804 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9805 member of display_info is NULL.
9806
32dc52f7
GM
98072000-08-15 Gerd Moellmann <gerd@gnu.org>
9808
52283633 9809 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9810
32dc52f7 9811 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9812 appearances with capability `me'.
32dc52f7
GM
9813 (write_glyphs): Switch on inverse video before each face change.
9814
4eb22d33
DL
98152000-08-14 Dave Love <fx@gnu.org>
9816
9817 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9818 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9819 (lisp_free): Declare and make static.
9820
9821 * window.c: Fix embedded comment.
9822 (syms_of_window): Fix doc string.
9823
90cbf47e
GM
98242000-08-14 Gerd Moellmann <gerd@gnu.org>
9825
52283633 9826 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9827 make sure to print `C-' before `M-', like in the manual.
9828
440fc135
GM
98292000-08-11 Gerd Moellmann <gerd@gnu.org>
9830
9831 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9832 since they aren't relocated anymore.
52283633 9833 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9834
9835 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9836 partially visible line which is smaller than the window's height.
440fc135 9837
6e264fad
KH
98382000-08-11 Kenichi Handa <handa@etl.go.jp>
9839
9840 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9841 the multibyte form of eight-bit-control characters.
6e264fad
KH
9842 (Fccl_execute_on_string): Initialize ccl->multibyte.
9843
9844 * ccl.h (struct ccl_program): New member multibyte.
9845
9846 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9847
c371f69a
KH
98482000-08-11 Kenichi Handa <handa@etl.go.jp>
9849
9850 * regex.c (regex_compile) <normal_char>: Pay attention to
9851 multibyteness.
9852 (analyse_first) <exactn>: Setup fastmap correctly for
9853 eight-bit-control characters.
9854
98552000-08-11 Kenichi Handa <handa@etl.go.jp>
9856
52283633 9857 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9858
9859 * keyboard.c (make_lispy_event): Handle the new event type
9860 multibyte_char_keystroke.
9861
9862 * xterm.c: Include coding.h.
9863 (XTread_socket): Work around a bug of XmbLookupString. If the
9864 input is from XIM, decode it according to the current locale. In
9865 that case, generate multibyte_char_keystroke events.
9866
b8ddbe71
KH
98672000-08-11 Kenichi Handa <handa@etl.go.jp>
9868
9869 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9870 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9871
47589c8c
GM
98722000-08-10 Gerd Moellmann <gerd@gnu.org>
9873
9874 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9875 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9876 (move_it_in_display_line_to): Record iterator's ascent and descent
9877 before producing glyphs, and restore them when we know the glyph
9878 doesn't fit on the line.
9879 (move_it_to): Restructured so that it's easier to debug. If
9880 moving to a vpos, and not moving to an x or character position,
9881 stop as soon as the specified vpos is reached; don't move further
9882 into that line because that might change the computed line height.
9883 (try_cursor_movement): New function, extracted from the cursor
9884 movement branch of redisplay_window. If ending on a partially
9885 visible line, don't try to scroll if the cursor line is taller
9886 than the window.
9887 (redisplay_window): Use try_cursor_movement.
9888
9889 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9890 because that function doesn't cope with variable-height lines.
9891
9892 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9893 box cursor because that's better visible for large images.
52283633 9894
c51bacd6
MB
98952000-08-10 Miles Bader <miles@gnu.org>
9896
9897 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9898
bea56df7
GM
98992000-08-10 Gerd Moellmann <gerd@gnu.org>
9900
9901 * xdisp.c (Vmessages_buffer_name): New variable.
9902 (message_dolog): Use it.
9903 (syms_of_xdisp): Initialize it.
9904
99cd7364
EZ
99052000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9906
52283633 9907 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9908 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9909 redundant now that keyboard.h is included.
9910
7d093d56
EZ
99112000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9912
9913 * keyboard.c (kbd_buffer_events_waiting): New function.
9914
9915 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9916
9917 * msdos.c: Include keyboard.h.
9918 (XMenuActivate): Empty no_event events from the event buffer. If
9919 no events are left after that, call clear_input_pending.
9920 (mouse_clear_clicks): New function, code moved from mouse_init.
9921 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9922 mouse driver to ``forget'' any past clicks.
9923
9924 * Makefile.in (msdos.o): Depend on keyboard.h.
9925
41e757a6
GM
99262000-08-09 Gerd Moellmann <gerd@gnu.org>
9927
8e7bd231
GM
9928 * lisp.h (input_pending): External declaration.
9929
9930 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9931
8e7bd231
GM
9932 * xdisp.c (echo_area_display): Display thoroughly if input is
9933 pending. Bind redisplay-dont-pause to t during the redisplay.
9934 in case input is pending.
9935
9936 * dispnew.c (Qredisplay_dont_pause): New variable.
9937 (syms_of_display): Initialize and staticpro it.
9938 (update_frame_1): Don't interrupt the display for pending input if
9939 redisplay_dont_pause is set.
52283633 9940
43028b7e
GM
9941 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9942
41e757a6
GM
9943 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9944
2f2174fa
KH
99452000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9946
9947 * callproc.c (Fcall_process): Terminate the unwind-protect around
9948 the post-read-conversion of coding system.
9949
0a6fd67e
MB
9950 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9951 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9952 * buffer.h (overlays_at): Update prototype.
9953 * xdisp.c (next_overlay_change): Update call to overlays_at.
9954 * xfaces.c (face_at_buffer_position): Likewise.
9955 * textprop.c (Fget_char_property): Likewise.
9956 * xterm.c (note_mouse_highlight): Likewise.
9957
0c80756e
MB
9958 * minibuf.c (do_completion): Don't consider a simple change of
9959 case as `completion'.
9960
975f250a
KR
99612000-08-08 Ken Raeburn <raeburn@gnu.org>
9962
52283633 9963 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9964 * undo.c (record_delete): Make sure last_point_position_buffer is
9965 a buffer before comparing pointers.
9966
9967 * coding.h (decode_coding_string): Declare.
9968
9969 * intervals.h (Fprevious_single_char_property_change): Declare.
9970
9971 * textprop.c (Fprevious_single_char_property_change): Don't do
9972 arithmetic directly on lisp objects.
9973
52283633 9974 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9975
9976 * keyboard.h (menu_item_eval_property): Declare.
9977
9978 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9979 reuse as buffer name, instead of recreating (and discarding) every
9980 time a message is logged.
9981 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9982 (current_message_1, truncate_message_1, set_message_1)
9983 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9984 (current_message, truncate_echo_area, display_echo_area)
9985 (resize_echo_area_axactly): Changed calls.
b347b3fd 9986
975f250a 9987 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9988 Lisp object.
975f250a 9989 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9990 must be an integer, not a Lisp object.
975f250a 9991
46dc9912
KH
99922000-08-08 Kenichi Handa <handa@etl.go.jp>
9993
9994 * charset.c (Fchar_width): Doc fix.
9995
9f6d1a6c
GM
99962000-08-08 Gerd Moellmann <gerd@gnu.org>
9997
9998 * charset.c (Fstring_width): Doc fix.
9999
ff3d9573
GM
100002000-08-07 Gerd Moellmann <gerd@gnu.org>
10001
41e757a6 10002 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
10003 line, clear ascent and descent members of the iterator structure;
10004 the height of the continued line does not affect the height of the
10005 continuation line.
10006 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10007 line taller than the window.
10008 (redisplay_window) <forced window start>: Handle case that the
10009 middle of the window is not found in any row.
10010 (dump_glyph_row): Show more information.
10011 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10012 first text line in a glyph matrix.
10013
10014 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10015 of the clip area when image doesn't have a mask.
10016
70fc58b3
GM
10017 * fns.c (sweep_weak_table): Fix survival conditions for
10018 key-or-value and key-and-value weakness.
10019
10020 * .gdbinit (xhashtable): New command.
10021
ac0e96ee
GM
10022 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10023 tables out of the list of all weak hash tables.
10024
ff3d9573
GM
10025 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10026 a new buffer is created, make sure echo_area_buffer[] references
10027 the new buffer.
10028
e0d8827b
EZ
100292000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10030
10031 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10032 the doc string.
10033
c6f35378
KH
100342000-08-07 Kenichi Handa <handa@etl.go.jp>
10035
10036 * syntax.c (skip_chars): Fix previous change. Make the handling
10037 of unibyte string consistent with that of regex search.
10038
1fd4c450
GM
100392000-08-05 Gerd Moellmann <gerd@gnu.org>
10040
e49aa397
GM
10041 * xmenu.c (popup_get_selection): Use xfree instead of free.
10042
10043 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10044
10045 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10046
10047 * callproc.c (child_setup): Use xfree instead of free.
10048
10049 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10050 instead of malloc.
10051 (run_mac_command, closedir): Use `xfree' instead of `free'.
10052
10053 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10054
10055 * eval.c (error): Use xfree instead of free.
10056
1fd4c450
GM
10057 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10058
10059 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10060 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10061
82d497fc
KH
100622000-08-05 Kenichi Handa <handa@etl.go.jp>
10063
10064 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10065 conversion.
10066
59f953a2
NF
100672000-08-04 Noah Friedman <friedman@splode.com>
10068
10069 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10070 docstring.
10071
688351f2
GM
100722000-08-04 Gerd Moellmann <gerd@gnu.org>
10073
10074 * syntax.c (skip_chars): Fix typo in error message.
10075
2dad51cc
AS
100762000-08-04 Andreas Schwab <schwab@suse.de>
10077
10078 * m/ia64.h: Moved from s/ia64.h.
10079
99bb2c60
KH
100802000-08-04 Kenichi Handa <handa@etl.go.jp>
10081
082a1df2
KH
10082 * process.c (read_process_output): Big simplification. Handle
10083 composition and post-read-conversion of coding system correctly.
10084 (send_process): Handle composition correctly.
10085
10086 * callproc.c (Fcall_process): Handle post-read-conversion of
10087 coding system if any.
10088
99bb2c60
KH
10089 * coding.c (decode_coding_iso2022): More strict check for handling
10090 single shifting.
082a1df2
KH
10091 (coding_restore_composition): Pay attention to the case that
10092 cmp_data is not set properly (because of invalid code in the
10093 source text).
10094 (run_pre_post_conversion_on_str): Include text properties in the
10095 resulting string.
10096 (decode_coding_string): Set members of coding correctly.
99bb2c60 10097
f4988be7
GM
100982000-08-03 Gerd Moellmann <gerd@gnu.org>
10099
10100 * s/ia64.h: New file.
10101
10102 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10103 Use NULL instead of 0 at the end of variable argument list of
10104 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10105 sizeof (int) < sizeof (void *).
10106
10107 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10108 of variable argument lists of XtVaGetValues and XtVaSetValues.
10109
10110 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10111 variable argument lists of XtVaGetValues and XtVaSetValues.
10112
ead53494
GM
101132000-08-02 Gerd Moellmann <gerd@gnu.org>
10114
10115 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10116 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10117
10118 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10119 prototype.
10120
10121 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10122 in call to Fsingle_key_description.
10123
10124 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10125 Callers changed.
10126
101272000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10128
10129 * window.c (display_buffer_reuse_frames): New variable.
10130 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10131 frames displaying BUFFER.
52283633 10132 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10133
10b0f752
MB
101342000-08-01 Miles Bader <miles@gnu.org>
10135
10136 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10137 when to constrain NEW_POS (they were pretty screwed up before).
10138
16425c4a
EZ
101392000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10140
10141 * msdos.c (run_msdos_command): Save and restore the master
10142 environment, for the case that child_setup signals an error.
10143 When mirroring slashes in DOS shell commands, don't fail when
10144 argv[2] has embedded blanks.
da288c14
EZ
10145 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10146 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10147 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10148
10149 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10150 using alloca; free it after run_msdos_command returns.
10151
27f73852
DL
101522000-07-27 Dave Love <fx@gnu.org>
10153
52283633
SM
10154 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10155 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10156
10157 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10158
c0261b5e
EZ
101592000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10160
10161 * editfns.c (lisp_time_argument): Fix last change.
10162
b548072f
GM
101632000-07-27 Gerd Moellmann <gerd@gnu.org>
10164
3ab82477
GM
10165 * fns.c (Fdelete): Make it work on vectors and strings in addition
10166 to lists.
10167
b548072f
GM
10168 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10169 (syms_of_fns): Initialize new variables.
52283633 10170 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10171 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10172 weakness, with t meaning the same as `key-and-value'.
10173
91ae8751
KH
101742000-07-27 Kenichi Handa <handa@etl.go.jp>
10175
10176 * coding.h (struct coding_system): Member safe_charset deleted.
10177
10178 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10179 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10180 New variables.
91ae8751
KH
10181 (coding_safe_chars): New function.
10182 (CODING_SAFE_CHAR_P): New macro.
10183 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10184 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10185 (detect_coding_iso2022): New local variable safe_chars.
10186 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10187 safe_charsets member of the coding system.
10188 (decode_coding_iso2022): New local variable safe_chars.
10189 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10190 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10191 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10192 (ENCODE_UNSAFE_CHARACTER): New macro.
10193 (encode_coding_iso2022): New local variable safe_chars. Check
10194 unsafe chars.
10195 (setup_coding_system): Delete the code to initialize
10196 coding->safe_charses
10197 (intersection, find_safe_codings): New functions.
10198 (Ffind_coding_systems_region_internal): New function.
10199 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10200 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10201 variable and initialize it.
10202
10203 * fns.c (char_table_ref_and_index): New function.
10204
10205 * lisp.h (char_table_ref_and_index): Add prototype.
10206
34a7a267
SS
102072000-07-26 Sam Steingold <sds@gnu.org>
10208
10209 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10210 (Ffloat_time): New built-in Lisp function.
34a7a267 10211
a95cb10a
GM
102122000-07-26 Gerd Moellmann <gerd@gnu.org>
10213
3353ef5a
GM
10214 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10215 for the character code.
10216
10217 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10218 GNU/Linux.
10219
a95cb10a
GM
10220 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10221 if called for a popup menu.
10222 (xmenu_show): Store help string in widget values.
10223
b4a12321
DL
102242000-07-26 Dave Love <fx@gnu.org>
10225
10226 * syswait.h: Move some definitions.
10227 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10228 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10229 perspicuous definitions.
10230 (WTERMSIG): Fix bit pattern used.
10231
13f5ad37
KH
102322000-07-26 Kenichi Handa <handa@etl.go.jp>
10233
10234 * print.c (print_object): If vector printing is truncated, print
10235 "..." to indicate it as well as the case of list printing.
10236
070fe99c
GM
102372000-07-25 Gerd Moellmann <gerd@gnu.org>
10238
969065c3
GM
10239 * xdisp.c (next_element_from_display_vector): Improve comments.
10240
10241 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10242 for the character code, and the rest for the face id as in 20.x.
10243 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10244
10245 * window.c (window_display_table): Cleaned up.
10246
070fe99c
GM
10247 * syntax.c (Fforward_word): Add last arg nil in call of
10248 Fconstrain_to_field.
10249
bad77ef7
EZ
102502000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10251
969065c3 10252 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10253 identical but for the letter-case, don't call
10254 barf_or_query_if_file_exists.
bad77ef7 10255
c28da489
MB
102562000-07-25 Miles Bader <miles@gnu.org>
10257
10258 * editfns.c (find_field): Honor special `boundary' fields.
10259 (Qboundary): New variables.
10260 (syms_of_editfns): Initialize Qboundary.
10261 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10262 Use scan_buffer instead of find_before_next_newline, because it
10263 allows us to detect the boundary case where there's a newline at
10264 the search limit.
10265 * lisp.h (Fconstrain_to_field): Update external declaration.
10266
e3c31fd5
GM
102672000-07-24 Gerd Moellmann <gerd@gnu.org>
10268
10269 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10270 if that is nil.
c28da489 10271
c66c29a2
DL
102722000-07-24 Dave Love <fx@gnu.org>
10273
10274 * s/sunos4-0.h, s/sol2.h:
10275 (LIBS_TERMCAP): Move from m/sparc.h.
10276
10277 * m/sparc.h (TERMINFO): Moved to system files (probably only
10278 relevant for sunos4 judging by its vintage).
10279 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10280 __arch64__.
10281
fbe0a958
EZ
102822000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10283
10284 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10285 name to single_keymap_panes.
10286
7d88e5c9
AS
102872000-07-24 Andreas Schwab <schwab@suse.de>
10288
10289 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10290
e024b101
GM
102912000-07-24 Gerd Moellmann <gerd@gnu.org>
10292
10293 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10294 parameters instead of using int parameters. Expect FN to accept
10295 EMACS_INT parameters.
10296 (display_echo_area, resize_echo_area_axactly, current_message)
10297 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10298 with new argument list.
10299 (resize_mini_window_1): New callback function.
10300 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10301 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10302
25c1a9ce
KH
103032000-07-24 Kenichi Handa <handa@etl.go.jp>
10304
10305 * fontset.c (fontset_ref): Remove INLINE declaration.
10306 (fontset_ref_via_base): Likewise.
10307 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10308 to downcase.
10309
7f987ac0
EZ
103102000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10311
10312 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10313 correct order of priority. If help echo was found in an overlay,
10314 use that overlay as the object in which the help echo was found.
10315
e2db3069
MB
103162000-07-22 Miles Bader <miles@gnu.org>
10317
10318 * textprop.c (Fprevious_single_char_property_change): The initial
10319 property value should be from the position preceding POSITION, not
10320 following it.
10321
5e3203e4
EZ
103222000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10323
10324 * coding.c (syms_of_coding): Doc fix for
10325 inhibit-iso-escape-detection.
10326
62145073
GM
103272000-07-21 Gerd Moellmann <gerd@gnu.org>
10328
c20aeb83
GM
10329 * xterm.c (note_mouse_highlight): Process overlays in the right
10330 order of priority.
34a7a267 10331
743934db
GM
10332 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10333
10334 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10335 overlay, use that overlay as the object in which the help was found.
743934db 10336
d1dc7e43 10337 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10338
62145073
GM
10339 * window.c (foreach_window): Instead of a fake variable argument
10340 list, take one USER_DATA argument.
10341 (foreach_window_1): Likewise, and call callback functions with two
10342 args, the window and USER_DATA.
10343 (struct check_window_data): New struct.
10344 (check_window_containing): Use it.
10345 (window_from_coordinates): Set up a struct check_window_data for
10346 foreach_window.
10347 (add_window_to_list, freeze_window_start): Change parameters
10348 according to new calling convention.
10349
10350 * window.h (foreach_window): Change prototype.
10351
10352 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10353
103542000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10355
10356 * xmenu.c (menu_help_callback): Call show_help_echo with
10357 additional arguments OBJECT and POS.
10358
11270583
KH
103592000-07-21 Kenichi Handa <handa@etl.go.jp>
10360
07b14857
KH
10361 * data.c (Faset): Allow storing any multibyte character in a
10362 string. Convert unibyte string to multibyte if necessary.
10363
11270583
KH
10364 * xfns.c (x_encode_text): New function.
10365 (x_set_name): Use x_encode_text.
10366 (x_set_title): Likewise.
10367
10368 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10369
10370 * xterm.h (x_encode_text): Add prototype.
10371
bc75b4fd
DL
103722000-07-20 Dave Love <fx@gnu.org>
10373
10374 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10375 xfree, not free.
10376
48c14970
EZ
103772000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10378
10379 * msdos.c (help_echo_window): New variable.
10380 (syms_of_msdos): Initialize and staticpro it.
10381 (IT_note_mode_line_highlight): Set help_echo_window.
10382 (IT_note_mouse_highlight): Ditto.
10383 (dos_rawgetc): Store help_echo_window in the second event produced
10384 for HELP_EVENTs.
10385
10386 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10387 Record the object that generated the help echo and the position of
10388 that object in help_echo_object and help_echo_pos. Record that
10389 some glyphs in a row are displayed in mouse-face.
10390 (IT_update_begin): Don't clear mouse highlight unless one of the
10391 enabled glyph rows is marked as being displayed in mouse-face.
10392 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10393 and position recorded in help_echo_object and help_echo_pos to the
10394 event queue.
10395 (IT_menu_display): Accept a new argument PN: the pane number of
10396 the current menu pane. Record the pane number and the item
10397 number of the item which has associated help string.
10398 (XMenuActivate): Update the prototype for help_callback in
10399 function declaration. Call IT_menu_display with the current menu
10400 pane number as an additional argument. Call help_callback with
10401 two additional arguments: the pane number and the item number of
10402 the menu item associated with the help text.
10403 (help_echo_object, help_echo_pos): New variables.
10404 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10405
10406 * msdos.h (XMenuActivate): Update prototype.
10407
4279296d
GM
104082000-07-19 Gerd Moellmann <gerd@gnu.org>
10409
47db06aa
GM
10410 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10411 Add some more prototypes.
10412
10413 * xterm.c, xterm.h: Add some more prototypes.
10414
10415 * lisp.h (Fnext_single_char_property_change): Add prototype.
10416
10417 * dispnew.c (direct_output_for_insert): Remove confusing
10418 outer local variable mouse_face_overwritten_p.
10419 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10420
4279296d
GM
10421 * alloc.c (allocate_string_data): Don't copy old string contents.
10422
670acd62
KH
104232000-07-19 Kenichi Handa <handa@etl.go.jp>
10424
10425 * coding.c (code_convert_region): Delete text properties before
10426 shrinking the conversion region.
10427
7cea38bc
GM
104282000-07-18 Gerd Moellmann <gerd@gnu.org>
10429
dc1cac59
GM
10430 * dispnew.c (update_text_area): Write the whole row if it
10431 has mouse-face in it.
10432
85a8aca9
GM
10433 * xfaces.c (face-alternative-font-family-alist): Remove
10434 DEFVAR_LISP; staticpro instead.
10435
34a7a267 10436 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10437 new arguments.
10438
10439 * keyboard.c (show_help_echo): Add parameter WINDOW.
10440 (read_char): Call show_help_echo with window extracted from Lisp
10441 help event.
10442 (gen_help_event): Add parameter WINDOW.
10443
10444 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10445
10446 * xterm.c (help_echo_window): New variable.
52283633 10447 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10448 (XTread_socket): Pass help_echo_window to gen_help_event.
10449 (syms_of_xterm): Initialize and staticpro help_echo_window.
10450
f8276b77
DL
104512000-07-18 Dave Love <fx@gnu.org>
10452
52283633 10453 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10454
088831a6
GM
104552000-07-18 Gerd Moellmann <gerd@gnu.org>
10456
3d6cd763
GM
10457 * alloc.c (allocate_string_data): If string had already data
10458 assigned, copy old contents to new string data.
10459
10460 * coding.c (syms_of_coding): Fix typo in spelling of variable
10461 `inhibit-iso-escape-detection'.
10462
088831a6
GM
10463 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10464
10465 * Makefile.in: Add dependencies on dispextern.h.
10466 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10467 `free'; both can conflict with system header files.
10468
bc8a8d55
KH
104692000-07-18 Kenichi Handa <handa@etl.go.jp>
10470
10471 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10472 undefined.
10473
069f5950
DL
104742000-07-18 Dave Love <fx@gnu.org>
10475
10476 * window.c (Fwindow_list): Declare arg `window'.
10477
aa96c820
KH
104782000-07-18 Kenichi Handa <handa@etl.go.jp>
10479
10480 * coding.c (setup_coding_system): Don't override the explicitly
10481 specified designations.
10482
06be8d32
MB
104832000-07-15 Miles Bader <miles@gnu.org>
10484
10485 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10486 from `text_property_eq' and `text_property_stickiness', respectively.
10487 (find_field, Fconstrain_to_field, char_property_eq)
10488 (char_property_stickiness): Changed to call char-property functions
10489 instead of text-property-only ones.
10490
10491 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10492 `next_single_char_property_change'). Do more error checking, and
10493 cleanup limit behavior.
10494 (Fprevious_single_char_property_change): New function.
10495 (syms_of_textprop): Initialize new subrs.
10496
10497 * xdisp.c (display_prop_end, invisible_text_between_p):
10498 Call Fnext_single_char_property_change instead of
10499 next_single_char_property_change.
10500
3fddcdc3
JR
105012000-07-15 Jason Rumney <jasonr@gnu.org>
10502
10503 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10504 after menu is finished with.
10505 (add_menu_item): Only consider wv->title as a menu title.
10506 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10507
10508 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10509 null title.
10510 (FONT_REGEXP): Remove unused macro, and its sub-components.
10511 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10512
10513 * w32term.c (help_echo_object, help_echo_pos): New variables.
10514 (note_mode_line_highlight): Store additional information about the
10515 help-echo in help_echo_object and help_echo_pos. Check both
10516 `local-map' and `keymap' properties for changing the cursor
10517 (note_mouse_highlight): Store additional information about the
10518 help-echo in help_echo_object and help_echo_pos.
10519 (note_tool_bar_highlight): Set help_echo_object to nil and
10520 help_echo_pos to -1.
10521 (w32_read_socket): Use gen_help_event instead of filling
10522 input_events manually.
10523 (syms_of_w32term): Staticpro help_echo_object.
10524 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10525 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10526 (x_clear_mouse_face): New function.
10527 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10528 (x_update_window_begin): No need to turn off the mouse
10529 highlight here.
10530 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10531 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10532 (x_fill_stretch_glyph_string): Consume runs of stretch
10533 glyphs instead of a single one.
10534 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10535 with new argument list.
10536 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10537 (x_append_glyph, x_append_composite_glyph)
10538 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10539 changes in struct glyph starting 1999-12-27. See comments for
10540 xterm.c on 2000-07-05.
10541
178c5d9c
SS
105422000-07-14 Sam Steingold <sds@gnu.org>
10543
10544 * xfaces.c (realize_x_face): Fix the last patch:
10545 check `default_face' before dereferencing.
10546
6fe533f6
DL
105472000-07-14 Dave Love <fx@gnu.org>
10548
069f5950 10549 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10550
dd7b81cf
KH
105512000-07-14 Kenichi Handa <handa@etl.go.jp>
10552
0693904a 10553 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10554 default_face's fontset, not using the default fontset.
0693904a 10555
dd7b81cf
KH
10556 * coding.c (inhibit_iso_escape_detection): New variable.
10557 (syms_of_coding): Make it a Lisp variable.
10558 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10559 nonzero, ignore ISO2022's escape sequence.
10560
d5aa31d8
GM
105612000-07-14 Gerd Moellmann <gerd@gnu.org>
10562
e5acf0ca
GM
10563 * alloca.c (malloc) [emacs]: Define as xmalloc.
10564
bd23a692
GM
10565 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10566 use that instead of the mouse position. Add parameters DX and DY.
10567
10568 * dispextern.h (Fx_show_tip): Adjust number of parameters
10569 in prototype.
10570
9662da0b
GM
10571 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10572 if HELP is a function, call it with OBJECT and POS as parameters
10573 to get the help to display.
10574 (gen_help_event, kbd_buffer_store_help_event): New functions.
10575 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10576 (read_char): Call show_help_echo with new parameters.
10577
178c5d9c 10578 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10579 Add prototypes.
10580
10581 * xterm.c (help_echo_object, help_echo_pos): New variables.
10582 (note_mode_line_highlight): Store additional information about the
10583 help-echo in help_echo_object and help_echo_pos. Check both
10584 `local-map' and `keymap' properties for changing the cursor
10585 (note_mouse_highlight): Store additional information about the
10586 help-echo in help_echo_object and help_echo_pos.
10587 (note_tool_bar_highlight): Set help_echo_object to nil and
10588 help_echo_pos to -1.
10589 (XTread_socket): Use gen_help_event instead of filling
10590 input_events manually.
10591 (syms_of_xterm): Staticpro help_echo_object.
10592
10593 * xmenu.c (menu_highlight_callback): Use
10594 kbd_buffer_store_help_event instead of setting up and input_event
10595 structure manually.
10596
10597 * xdisp.c (eval_form): GCPRO argument sexpr.
10598 (call_function): New function.
10599 (handle_single_display_prop): Use call_function and FUNCTIONP
10600 instead of checking whether if font_height is a symbol and
10601 using eval_form.
10602
10603 * eval.c (internal_condition_case_2): New function.
10604
10605 * lisp.h (FUNCTIONP): New macro.
10606 (internal_condition_case_2, call_function): Add prototypes.
10607
d5aa31d8
GM
10608 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10609 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10610 Always set `arg' member of input_events.
10611 (construct_menu_click): Unused function removed.
10612
10613 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10614
10615 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10616 (construct_drag_n_drop, x_scroll_bar_handle_click)
10617 (w32_read_socket): Always set `arg' member of input_events.
10618
10619 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10620
10621 * lisp.h (eval_form): Add prototype.
10622
10623 * xdisp.c (eval_form): Make it externally visible.
10624
0f1a9b23
GM
106252000-07-13 Gerd Moellmann <gerd@gnu.org>
10626
10627 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10628 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10629 consing. For prefix events, store the frame in the `arg' slot of
10630 the event, otherwise store the key there.
10631 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10632 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10633
10634 * xmenu.c (menu_highlight_callback): Store help string in the
10635 `arg' member of the input event; don't cons.
10636 (menubar_selection_callback): Use the `arg' slot of input events
10637 to queue additional information, instead of consing.
10638
10639 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10640
10641 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10642 TOOL_BAR_EVENTs.
10643 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10644
10645 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10646 input events to queue additional information, instead of consing.
10647
10648 * keyboard.c (kbd_buffer_gcpro): Renamed from
10649 kbd_buffer_frame_or_window. Now used for all Lisp objects
10650 referenced from the input queue.
10651 (kbd_buffer_store_event): Always use structure assignment for
10652 copying input events. Record all Lisp objects referenced from
10653 events in kbd_buffer_gcpro.
10654 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10655 differently from input events. Test for prefix menu_bar_events
10656 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10657 event in kbd_buffer_gcpro to nil.
10658 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10659 frame_or_window is equal to its arg member as prefix events.
10660 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10661 used by an input event to nil.
10662 (init_keyboard): Use two times the size of the input queue
10663 for kbd_buffer_gcpro.
10664 (syms_of_keyboard): Likewise.
10665
52283633
SM
10666 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10667 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10668
10669 * termhooks.h (struct input_event): Add member `arg'.
10670 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10671 (USER_SIGNAL_EVENT): Renamed from user_signal.
10672
10673 * xfaces.c (ASET): Remove definition.
10674
10675 * lisp.h (AREF, ASET, ASIZE): New macros.
10676
10677 * fontset.c (AREF, ASIZE): Remove definitions.
10678
10679 * fns.c (AREF): Remove definition.
178c5d9c 10680
0f1a9b23
GM
10681 * composite.c (AREF): Remove definition.
10682
712eaef2
GM
106832000-07-12 Gerd Moellmann <gerd@gnu.org>
10684
d8ee7803
GM
10685 * dispnew.c (redraw_overlapped_rows): Add missing local.
10686 (scrolling_window): Remove debug code.
10687
712eaef2
GM
10688 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10689 Before scrolling, turn off a mouse-highlight in the window
10690 being scrolled.
10691
10692 * xterm.c (x_update_window_end): Add parameter
10693 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10694 redisplay in XTframe_up_to_date.
10695 (x_clear_mouse_face): New function.
10696 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10697
10698 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10699 current glyph row.
10700 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10701 it when any row is written to that contains glyphs highlighted in
10702 mouse-face.
10703 (update_window): Call the window update end hook with new
10704 parameter MOUSE_FACE_OVERWRITTEN_P.
10705 (direct_output_for_insert): Give up if row contains mouse-face.
10706
10707 * dispextern.h (struct redisplay_interface): Add parameter
10708 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10709 (clear_mouse_face): New function pointer member.
10710
02010917
SM
107112000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10712
10713 * syntax.c (back_comment): Use one switch rather than a few `if's.
10714 Obey open_paren_in_column_0_is_defun_start.
10715 When reverting to the `slow' method, try to nicely handle the case
10716 of nested comments by checking that the comment-starter we found
10717 does indeed match the comment-ender.
10718 (scan_sexps_forward, scan_sexps_forward):
10719 Ignore excessive opening parenthesis rather than throwing an error.
10720
d76c03ea
GM
107212000-07-11 Gerd Moellmann <gerd@gnu.org>
10722
10723 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10724 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10725
10726 * dispnew.c (direct_output_forward_char): Give up if currently
10727 displaying a message instead of the minibuffer contents.
10728
10729 * xterm.c (x_update_window_begin): No need to turn off the mouse
10730 highlight here.
10731 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10732 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10733
10734 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10735 compare the mouse_face_p flags of both rows.
10736
10737 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10738
d55ead18
EZ
107392000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10740
10741 * keyboard.c (show_help_echo): Accept additional parameter
10742 ok_to_overwrite_keystroke_echo.
10743 (read_char): Call show_help_echo with a zero
10744 ok_to_overwrite_keystroke_echo argument.
52283633 10745 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10746 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10747 ok_to_overwrite_keystroke_echo argument.
10748 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10749 non-zero ok_to_overwrite_keystroke_echo argument.
10750
df75b1a3
GM
107512000-07-10 Gerd Moellmann <gerd@gnu.org>
10752
4b92c49a
GM
10753 * xdisp.c (try_window_id): If changes are all below what is
10754 displayed in the window, and point is in the window, we still
10755 might have to find point on the display.
10756
10757 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10758 glyphs instead of a single one.
10759 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10760 with new argument list.
10761 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10762
df75b1a3
GM
10763 * keymap.c (get_keymap_1): Add comment that this function can GC.
10764 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10765 comment that functions can GC.
10766 (Fset_keymap_parent): GCPRO arg KEYMAP.
10767
4314cf3e
EZ
107682000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10769
10770 * msdos.c (XMenuActivate): After exiting the menu, restore the
10771 echo area message and erase it.
10772
ab49ce15
KH
107732000-07-10 Kenichi Handa <handa@etl.go.jp>
10774
10775 * fontset.c (Ffontset_info): Make the return value more compatible
10776 with that of Emacs 20.
10777
090a072f
GM
107782000-07-07 Gerd Moellmann <gerd@gnu.org>
10779
10780 * eval.c (Fsignal): Handle case that backtrace_list is null.
10781
f92de4a6
KH
107822000-07-07 Kenichi Handa <handa@etl.go.jp>
10783
10784 * ccl.c (Fccl_execute): Typo fixed.
10785
dd8888a1
GM
107862000-07-06 Gerd Moellmann <gerd@gnu.org>
10787
e5c81191 10788 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10789
dd8888a1
GM
10790 * window.c (Fwindow_list): Reverse list at the end.
10791 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10792 means allow windows on OWINDOW's frame, only.
10793 (window_loop): Simplified; use Fwindow_list.
10794
10795 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10796
485266d0
GM
107972000-07-05 Gerd Moellmann <gerd@gnu.org>
10798
10799 * xterm.c (XTread_socket): Increment handling_signal at the start,
10800 decrement it at the end.
10801
10802 * eval.c (handling_signal): New variable.
10803 (Fsignal): Abort if handling_signal is non-zero.
10804
10805 * lisp.h (handling_signal): External declaration.
178c5d9c 10806
485266d0
GM
10807 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10808
80fcd514
KR
108092000-07-05 Ken Raeburn <raeburn@gnu.org>
10810
10811 Sound support for NetBSD through "Linux emulation" support:
10812 * config.in (HAVE_SOUNDCARD_H): Undef.
10813 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10814 * Makefile.in (LIBSOUND): New variable.
10815 (LIBES): Include it.
52283633
SM
10816 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10817 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10818 (vox_open): Use DEFAULT_SOUND_DEVICE.
10819 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10820
d5c5cddd
GM
108212000-07-05 Gerd Moellmann <gerd@gnu.org>
10822
10823 * print.c (print_error_message): If Vsignaling_function is set,
10824 show it in *Messages*.
10825
10826 * lisp.h (Vsignaling_function): External declaration.
10827
10828 * eval.c (Vsignaling_function): New variable.
10829 (Fsignal): Compute it.
10830 (syms_of_eval): Staticpro it.
10831
65171e3a
DL
108322000-07-05 Dave Love <fx@gnu.org>
10833
10834 * syswait.h: Use the autoconf recommended approach. Old code
10835 #if'd out in case we need to revert.
10836
178c5d9c 10837 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10838
e2c46326
AI
108392000-07-05 Andrew Innes <andrewi@gnu.org>
10840
10841 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10842 when non-NULL instead of __morecore, to take account of buffer
10843 memory. This also solves a problem with spurious memory warnings
10844 on Windows.
10845
10846 * ralloc.c: Make real_morecore non-static.
10847
10848 * eval.c (internal_condition_case): Comment out abort if
10849 interrupt_input_blocked is not zero.
10850
10851 * makefile.nt: Add support for `bootstrap' and related targets.
10852 Include minimal debug info in emacs.exe in release build.
10853 Remove all dependencies on lisp.h, and fixup some others.
10854
10855 * w32.c (init_environment): Install code from 20.7 for providing
10856 default values for environment variables, based on the
10857 executable's own location.
52283633 10858 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10859 (sys_socket): Install socket inheritance bug fix from 20.7.
10860
10861 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10862 here via blockinput.h).
10863
a027a91b
SM
108642000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10865
e4b31601
SM
10866 * w32menu.c (w32_menu_display_help):
10867 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10868
10869 * keyboard.h (show_help_echo): Declare.
10870
10871 * keyboard.c (show_help_echo): New function, extracted from read_char.
10872 Feval its `msg' argument if it's a cons cell.
10873 (read_char): Use it.
4cf8d9d5 10874 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10875
178c5d9c 10876 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10877 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10878 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10879 (dos_rawgetc):
10880 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10881 (note_tool_bar_highlight, w32_read_socket):
10882 Do not gratuitously ignore non-string `help-echo' properties.
10883
88d75730
GM
108842000-07-05 Gerd Moellmann <gerd@gnu.org>
10885
969f7e79
GM
10886 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10887
71201b00
GM
10888 * window.c (delete_all_subwindows): Reset Vwindow_list.
10889
88d75730
GM
10890 * xterm.c (x_append_glyph, x_append_composite_glyph)
10891 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10892 changes in struct glyph starting 1999-12-27. Some bit-fields of
10893 struct glyph were not set, which made glyphs unequal when compared
10894 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10895 effects were the result. This also depended on the contents of
10896 memory returned by xmalloc. If flickering happens again, activate
10897 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10898 gone with that, chances are that it is caused by something similar.
88d75730
GM
10899
10900 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10901
88d75730
GM
10902 * dispextern.h: Add some comments.
10903
10904 * window.c (add_window_to_list): Add parameter LIST.
10905 (window_list): Order list so that, for each frame, windows are
10906 in canonical order, and so that frames appear in the list in
10907 the order given by Vframe_list.
10908 (next_window): Reverse the handling of NEXT_P.
10909
53654733
GM
109102000-07-04 Gerd Moellmann <gerd@gnu.org>
10911
87efd256
GM
10912 * window.c (Vwindow_list): New variable.
10913 (make_window, delete_window): Set Vwindow_list to nil.
10914 (check_window_containing): New function.
10915 (window_from_coordinates): Rewritten.
10916 (add_window_to_list, window_list, candidate_window_p)
10917 (decode_next_window_args, next_window): New functions.
52283633 10918 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10919 (Fwindow_list): New function.
10920 (Fother_window): Cleaned up.
10921 (foreach_window): Add a longer "variable argument list". Let
10922 callback function return 0 to indicate that cycling over windows
10923 should stop.
10924 (foreach_window_1): Likewise.
10925 (freeze_window_start): Return int.
10926 (init_window): New function.
10927 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10928
10929 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10930 input_event with bzero.
10931 (main): Call init_window.
10932
53654733
GM
10933 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10934 a menu filter.
10935
4a8c194f
KH
109362000-07-04 Kenichi Handa <handa@etl.go.jp>
10937
10938 * composite.h (make_composition_value_copy): Extern it.
10939
10940 * composite.c (make_composition_value_copy): New function.
10941
10942 * editfns.c (Fformat): While copying text properties, make each
10943 composition property value a copy.
10944
10945 * fns.c (concat): While copying text properties, make each
10946 composition property value a copy.
10947
831a6cb0
GM
109482000-07-03 Gerd Moellmann <gerd@gnu.org>
10949
2f516940
GM
10950 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10951
178c5d9c 10952 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10953 marked already.
10954
831a6cb0
GM
10955 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10956 include those frames as candidates which have their focus
10957 redirected to the minibuffer frame.
10958
d9c4f922
SM
109592000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10960
10961 * fns.c (Fputhash): Return `value' rather than nil.
10962
3780bc22
GM
109632000-06-30 Gerd Moellmann <gerd@gnu.org>
10964
97d176db
GM
10965 * frame.c (next_frame): Don't check focus redirection in case
10966 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10967 unless their focus is redirected, which contradicts the
10968 specification of next-frame, and leads to infinite loops in
10969 certain situations when cycling through windows with next-window.
10970
dca9961d
KH
109712000-06-30 Kenichi Handa <handa@etl.go.jp>
10972
10973 * coding.c (code_convert_region): Even if the length of text is
10974 zero, try to convert it if coding->type is coding_type_ccl.
10975 (decode_coding_string, encode_coding_string): Likewise.
10976
d5483ab1
GM
109772000-06-28 Gerd Moellmann <gerd@gnu.org>
10978
af5c25e1 10979 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10980 the display if windows_or_buffers_changed.
af5c25e1
GM
10981
10982 * dispnew.c (struct row_entry): New structure.
10983 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10984 (row_table_size, old_lines, new_lines, old_lines_size)
10985 (new_lines_size, run_pool, runs_size, runs): New variables.
10986 (add_row_entry): New function.
10987 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10988 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10989 holding them in local variables. Use a larger hash table whose
10990 size depends on glyph matrix sizes. Don't use bzero to clear the
10991 hash table; instead, clear used slots only.
10992
10993 * fns.c (next_almost_prime): Make it externally visible.
10994
10995 * lisp.h (next_almost_prime): Add prototype.
10996
d5483ab1
GM
10997 * s/isc4-0.h (sigunblock): Define.
10998
10999 * s/sco5.h (sigunblock): Define.
11000
93e40f40
DL
110012000-06-27 Dave Love <fx@gnu.org>
11002
11003 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11004 (moved to osf5-0.h).
11005 [!NOT_C_CODE]: Protect string.h stuff.
11006
11007 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11008 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11009
3c4b7685
GM
110102000-06-27 Gerd Moellmann <gerd@gnu.org>
11011
97d176db 11012 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
11013 below the last line from the needed window height.
11014
32cad0aa
SM
110152000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11016
11017 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11018 (Fwidget_get): Use it.
11019 (syms_of_fns): Defsubr it.
11020
2c69ced2
GM
110212000-06-26 Gerd Moellmann <gerd@gnu.org>
11022
178c5d9c 11023 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
11024 display info for XIM.
11025 (xim_open_dpy): Likewise.
11026 (xim_close_dpy): Don't free the display info's XIM.
11027
11028 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11029
11030 * config.in (USE_XIM): New define.
11031
3fc720e4
GM
11032 * keymap.c (get_keyelt): For menu-items containing a `:filter
11033 FILTER', apply FILTER to the menu-item's definition to get the
11034 real definition to use.
11035
11036 * lisp.h (QCfilter): External declaration.
11037
2c69ced2
GM
11038 * xfns.c (Fimage_size): New function.
11039 (syms_of_xfns): Defsubr it.
11040
f978b2a2
AS
110412000-06-26 Andreas Schwab <schwab@suse.de>
11042
11043 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11044 Fstring_as_unibyte.
11045
94cc7892
DL
110462000-06-25 Dave Love <fx@gnu.org>
11047
52283633 11048 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11049
11050 * Makefile.in (blockinput.h): Depend on atimer.h.
11051 (atimer.h): Depend on systime.h.
11052
52283633 11053 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11054
52283633 11055 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11056
11057 * lisp.h (swap_in_global_binding): Declare.
11058
b8c24556
KR
110592000-06-24 Ken Raeburn <raeburn@gnu.org>
11060
11061 * process.c (Fopen_network_stream): Turn off atimers for duration
11062 of call to connect. (Patch from Gerd.)
11063
8cf8560b
DL
110642000-06-23 Dave Love <fx@gnu.org>
11065
511c7541
DL
11066 * ralloc.c: Maybe include unistd.h
11067
8cf8560b
DL
11068 * emacs.c (setgrp): Undefine before defining.
11069 (malloc_warning, set_time_zone_rule, index): Prototype.
11070
11071 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11072 HAVE_STRUCT_TIMEZONE.
11073
11074 * s/osf1.h: Move string.h hack here from alpha.h and make it
11075 conditional.
11076 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11077 _XOPEN_SOURCE.
11078 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11079 (SOCKLEN_TYPE): Don't define.
11080
11081 * m/alpha.h: Remove string.h hack.
11082
11083 * s/osf5-0.h: New file.
11084
11085 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11086 include time.h, done by systime.h.
11087 [__FreeBSD__]: Remove redundant includes.
11088
3fc720e4 11089 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11090 (delete_temp_file): Return Qnil to avoid warning.
11091
11092 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11093
11094 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11095 HAVE_X_WINDOWS.
11096
11097 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11098
11099 * composite.h (compose_text): Declare.
11100
11101 * xterm.c: Don't include sys/types.h unconditionally. Don't
11102 protect its inclusion with !USG (following xmenu.c).
11103
ea055732
GM
111042000-06-23 Gerd Moellmann <gerd@gnu.org>
11105
11106 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11107 in x_create_frame.
11108
74b01b80
EZ
111092000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11110
11111 * coding.c (decode_eol_post_ccl): Special handling for undecided
11112 and inconsistent EOL types.
11113
64f3a166
GM
111142000-06-22 Gerd Moellmann <gerd@gnu.org>
11115
16cf31f7
GM
11116 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11117 trough color and main window's background color.
11118
52283633 11119 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11120
11121 * xterm.h (Xt_app_con): External declaration.
11122
11123 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11124
486a103d
GM
11125 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11126
64f3a166
GM
11127 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11128 (handle_invisible_prop): Record the start of invisible text in
11129 it->add_overlay_start.
11130 (struct overlay_entry): Add member `overlay'.
11131 (handle_overlay_change): Simplify.
11132 (next_overlay_string): After having processed overlay strings at the
11133 end of the buffer, record that fact in
11134 it->overlay_strings_at_end_processed_p.
11135 (compare_overlay_entries): If before- and after-strings come
11136 from the same overlay, let before-strings come first.
11137 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11138 (load_overlay_strings): Take it->add_overlay_start into account
11139 when adding overlay strings.
11140
11141 * dispextern.h (struct it): Add member add_overlay_start.
11142
bb746ea6
DL
111432000-06-22 Dave Love <fx@gnu.org>
11144
11145 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11146
11147 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11148
a8f573f3
KH
111492000-06-22 Kenichi Handa <handa@etl.go.jp>
11150
11151 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11152 is greater than 0.
11153
9f2bbc92
DL
111542000-06-21 Dave Love <fx@gnu.org>
11155
178c5d9c 11156 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11157
3ee5041c
SM
111582000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11159
11160 * syntax.c (back_comment): Simplify string-parity counting (with
11161 the added benefit of handling multiple string-styles as long as
11162 they are not intertwined).
11163 Jump to the slow code as soon as a comment starter is found in
11164 a "string_lossage" position. Fixes the case: " /* " /* " */.
11165
4c343001
DL
111662000-06-21 Dave Love <fx@gnu.org>
11167
11168 * Makefile.in: Use GETLOADAVG_LIBS.
11169
11170 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11171 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11172
e6365855
SM
111732000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11174
11175 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11176 (Fforward_comment, scan_lists):
11177 Check the comstyle of single-char comment-starters.
11178 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11179 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11180 Check the comstyle of single-char comment-starters.
11181 Clarify control-flow around the Scomment case.
e6365855 11182
5700d2cc
DL
111832000-06-20 Dave Love <fx@gnu.org>
11184
d355bd8a
SM
11185 * fns.c (make_hash_table, maybe_resize_hash_table):
11186 Cast arg of next_almost_prime.
5700d2cc 11187
178c5d9c 11188 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11189
11190 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11191 and unistd.h.
11192
4a27bdfb
GM
111932000-06-20 Gerd Moellmann <gerd@gnu.org>
11194
a61d762c 11195 * keyboard.c (adjust_point_for_property): Check if display
52283633 11196 property should be treated as intangible by looking at its value.
a61d762c 11197
178c5d9c 11198 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11199 (display_prop_intangible_p): New functions.
11200
11201 * dispextern.h (display_prop_intangible_p): Add prototype.
11202
11203 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11204
4a27bdfb
GM
11205 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11206 argument to sigprocmask.
11207
11208 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11209 argument to sigprocmask.
11210
11211 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11212 sigprocmask_set, and pass a pointer to it to sigprocmask.
11213
11214 * sysdep.c (sigprocmask_set): New variable.
11215
11216 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11217 report_file_error.
11218
427ec082
SS
112192000-06-20 Sam Steingold <sds@gnu.org>
11220
11221 * xrdb.c: Don't declare xmalloc, xrealloc.
11222
8972fe79 112232000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11224
11225 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11226 (re_comp): Cast gettext return value to avoid complaints when
11227 !HAVE_LIBINTL.
11228
074b6efe
DL
112292000-06-20 Dave Love <fx@gnu.org>
11230
52283633 11231 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11232
5700d2cc 11233 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11234
d355bd8a 11235 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11236
11237 * m/alpha.h: Don't declare xmalloc, xrealloc.
11238
0af4f205
DL
11239 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11240
11241 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11242
11243 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11244
11245 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11246 HAVE_GETWD.
11247
074b6efe
DL
11248 * keyboard.h (poll_for_input_1): Declare.
11249
11250 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11251
11252 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11253
11254 * doprnt.c: Don't declare xmalloc, xrealloc.
11255
11256 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11257 (getenv, ctime, getwd): Removed.
11258 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11259
11260 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11261 x_set_tool_bar_lines.
11262
11263 * config.in: Add HAVE_GETWD. Move some definitions above
11264 machine/system includes.
11265
68a5e97b
KH
112662000-06-20 Kenichi Handa <handa@etl.go.jp>
11267
95417e1e
KH
11268 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11269
68a5e97b
KH
11270 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11271 contain information about ENCODING.
11272
11273 * fontset.c (FONTSET_ASCII): Use the first element of char table
11274 for an ASCII font, not defalt slot.
11275 (fontset_ref_via_base): If FONTSET doesn't contain information for
11276 C, try the default fontset.
11277 (make_fontset): Don't copy the default fontset.
11278 (fontset_font_pattern): Likewise.
11279 (accumulate_font_info): If ELT is nil, use the corresponding
11280 element in the default fontset.
11281
3b4fa1b2
DL
112822000-06-19 Dave Love <fx@gnu.org>
11283
943e731c
DL
11284 * syntax.c (Fparse_partial_sexp): Doc fix.
11285
11286 * regex.h: Test PROTOTYPES as well as __STDC__.
11287
3b4fa1b2
DL
11288 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11289 errno, strerror. Put text after #endif in comment.
11290
52283633 11291 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11292
11293 * xterm.c (x_frame_of_widget): Likewise.
11294
cdf0357b
GM
112952000-06-19 Gerd Moellmann <gerd@gnu.org>
11296
11297 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11298 to Vfundamental_mode_abbrev_table.
11299
11300 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11301 bogus objects are marked. This slows down GC by ~80 percent, but
11302 it might be worth trying when debugging GC-related problems.
11303 This feature requires conservative stack marking to be enabled.
11304
11305 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11306 returns XLookupChars, reset `modifiers' to zero.
11307
998e9f8c
DL
113082000-06-19 Dave Love <fx@gnu.org>
11309
11310 * mktime.c: Unprotoized.
11311
18e21ce8 113122000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11313
11314 * data.c (set_internal): If variable is frame-local,
11315 store the new value immediately into the frame parameter alist.
11316
140c4ac6
KR
113172000-06-19 Ken Raeburn <raeburn@gnu.org>
11318
14358466
KR
11319 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11320 in the custom handler pointer.
11321
140c4ac6
KR
11322 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11323 value, or checks for CHAR_META can fail when Lisp_Object is a
11324 union type.
11325 * keymap.c (get_keyelt): Likewise.
11326
10d7bf84
KH
113272000-06-19 Kenichi Handa <handa@etl.go.jp>
11328
11329 * ccl.h (struct ccl_program): New member eol_type.
11330 (struct ccl_spec): New member cr_carryover.
11331
11332 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11333 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11334
11335 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11336 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11337 (decode_eol_post_ccl): New function.
11338 (decode_coding): Don't detect EOL format here for CCL based coding
11339 systems.
11340 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11341 decode_eol_post_ccl after running the CCL program.
11342 (code_convert_region): Don't detect EOL format here for CCL based
11343 coding systems.
11344 (decode_coding_string): Likewise.
11345
52e386c2
KR
113462000-06-18 Ken Raeburn <raeburn@gnu.org>
11347
11348 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11349 when treating it as an integer.
11350
11351 * coding.h (encode_coding_string): Declare.
11352
11353 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11354 it as an integer.
11355
11356 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11357 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11358 to be passed to get_local_map.
11359
11360 * sound.c (Fplay_sound): Don't call make_number on
11361 Frun_hook_with_args count argument.
11362
11363 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11364 for lisp objects in X event structure data field, when lisp
11365 objects are represented with unions.
11366 (x_scroll_bar_to_input_event): Ditto.
11367
b357b9d4
KR
113682000-06-16 Ken Raeburn <raeburn@gnu.org>
11369
11370 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11371 termination of string. Fix sense of test whether
11372 Vline_number_display_limit is an integer.
b357b9d4 11373
a871441d
GM
113742000-06-16 Gerd Moellmann <gerd@gnu.org>
11375
a9021acd
GM
11376 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11377 only if HAVE_X_WINDOWS.
11378
6344985d
GM
11379 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11380 of titles.
11381
427ec082 11382 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11383 out of bounds.
11384
228b083e
EZ
113852000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11386
11387 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11388 of its headers.
11389
c25b53a2
KH
113902000-06-15 Kenichi Handa <handa@etl.go.jp>
11391
11392 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11393 start of the while loop.
11394
a6981b11
GM
113952000-06-15 Gerd Moellmann <gerd@gnu.org>
11396
e9924e52
GM
11397 * atimer.c (alarm_signal_handler): Add forward declaration.
11398
a6981b11
GM
11399 * data.c (set_internal): Remove debug code.
11400
25fa6deb
GM
114012000-06-14 Gerd Moellmann <gerd@gnu.org>
11402
dce6b995
GM
11403 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11404
9f817ea4
GM
11405 * unexec.c (toplevel) [COFF]: Include coff.h.
11406
11407 * s/lynxos.h: New file.
11408
11409 * keymap.c (Fsingle_key_description): Enclose function key and
11410 event symbol names in angle brackets.
11411
8a4e3c0c
GM
11412 * xdisp.c (setup_echo_area_for_printing): Call
11413 message_log_maybe_newline if message_buf_print is not set.
11414
11415 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11416 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11417 function does something useful even when message_buf_print is
11418 already set.
11419
52283633
SM
11420 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11421 New variables.
25fa6deb
GM
11422 (ensure_echo_area_buffers): Initialize echo buffer's
11423 truncate lines setting to nil.
11424 (with_echo_area_buffer): Don't set the echo buffer's truncate
11425 lines setting here.
8a4e3c0c 11426 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11427 of message_truncate_lines.
11428 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11429 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11430 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11431
11432 * keyboard.c (read_char): Bind message-truncate-lines to t
11433 while displaying a help-echo.
11434
11435 * lisp.h (Qmessage_truncate_lines): External declaration.
11436
163dcff3
GM
114372000-06-13 Gerd Moellmann <gerd@gnu.org>
11438
1681ead6
GM
11439 * xdisp.c (Vline_number_display_limit): Renamed from
11440 line_number_display_limit.
11441 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11442 Extend documentation string. Initialize
11443 Vline_number_display_limit to nil meaning no limit.
11444 (decode_mode_spec): Use Vline_number_display_limit with its new
11445 meaning.
11446
163dcff3
GM
11447 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11448
18e21ce8 114492000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11450
11451 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11452
163dcff3
GM
11453 * xfns.c (x_set_frame_parameters): Comment fix.
11454
11455 * frame.c (store_frame_param): Call swap_in_global_binding if the
11456 variable's current binding was chosen based on this frame.
11457
11458 * data.c (swap_in_global_binding): New function.
11459
a704139d
EZ
114602000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11461
11462 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11463 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11464
9b6610db
EZ
114652000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11466
11467 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11468
c68833d2
JR
114692000-06-12 Jason Rumney <jasonr@gnu.org>
11470
11471 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11472
11473 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11474
11475 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11476
11477 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11478
ed1056b3
GM
114792000-06-12 Gerd Moellmann <gerd@gnu.org>
11480
11481 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11482 (syms_of_xfaces): Defsubr Sdump_colors.
11483 (x_free_colors): Don't treat b&w specially on default visual.
11484 (x_free_dpy_colors): New function.
11485 (free_face_colors): Don't check visual class; it's done
11486 in x_free_colors.
11487
11488 * xterm.c (x_frame_of_widget): New function.
11489 (x_alloc_nearest_color_for_widget): Use it.
11490 (x_copy_dpy_color): New function.
11491 (x_destroy_window): Free various colors.
11492
5050a2ef
KH
114932000-06-12 Kenichi Handa <handa@etl.go.jp>
11494
11495 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11496
11497 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11498
11499 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11500
11501 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11502
11503 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11504
fb1b041d
DL
115052000-06-11 Dave Love <fx@gnu.org>
11506
11507 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11508
ff96b5f4
EZ
115092000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11510
11511 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11512
db8eeecd
GM
115132000-06-11 Gerd Moellmann <gerd@gnu.org>
11514
ed1056b3 11515 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11516 to `XEvent *'.
11517
49b71c5f
KH
115182000-06-10 Kenichi Handa <handa@etl.go.jp>
11519
c479bd55
KH
11520 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11521 (regex_compile): Fix the code for handling the case of single byte
11522 char and multibyte char being mixed in a range within [...].
11523
ff6a65c2
KH
11524 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11525 and dst_multibyte members of coding.
11526
49b71c5f
KH
11527 * charset.c (update_charset_table): Update the table
11528 bytes_by_char_head.
11529 (init_charset_once): Initialize elements of bytes_by_char_head to
11530 1 except for leading codes for private charases.
11531
11532 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11533 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11534
9e80b57d
KR
115352000-06-09 Ken Raeburn <raeburn@gnu.org>
11536
11537 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11538 access the data it doesn't point to.
11539
f83fe4b4
GM
115402000-06-08 Gerd Moellmann <gerd@gnu.org>
11541
11542 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11543 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11544 event queue. This is necessary because Emacs otherwise won't
11545 perform a switch-frame to a new frame until some other event, for
11546 example a keystroke event, forces it to do so. This has various
11547 effects, one visible being that the cursor of a frame created with
11548 C-x 5 2 or switched to with a window manager key binding like
11549 A-TAB stays hollow because selected_window isn't on the newly
11550 focused frame until the switch-frame is performed.
11551
11552 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11553 generating a switch-frame event if necessary.
11554
11555 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11556
11557 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11558 it's an integer.
11559
0890801b
KH
115602000-06-08 Kenichi Handa <handa@etl.go.jp>
11561
52283633 11562 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11563
173cbca8
GM
115642000-06-07 Gerd Moellmann <gerd@gnu.org>
11565
3091c2a6
GM
11566 * window.c (displayed_window_lines): Take empty lines at
11567 the bottom of a window into account.
427ec082 11568
f38952fe
GM
11569 * window.c (displayed_window_lines): New function.
11570 (Fmove_to_window_line): Use displayed_window_lines to determine
11571 the number of lines to move, instead of using the window's height.
11572
11573 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11574 to stop reading, even if the form read sets point to a different
11575 value when evaluated.
11576
427ec082 11577 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11578 put the cursor.
11579
6ba6c818
KH
115802000-06-07 Kenichi Handa <handa@etl.go.jp>
11581
11582 * fileio.c (e_write): Free composition data if stored in
11583 coding->cmp_data.
11584
5f1aea9a
GM
115852000-06-06 Gerd Moellmann <gerd@gnu.org>
11586
666852af
GM
11587 * xdisp.c (display_line): Set row's and iterator's
11588 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11589 Set cursor even if row ends in the middle of a character.
11590 (dump_glyph_row): Print values of new flags.
11591 (redisplay_window) <cursor movement in unchanged window>: When
11592 point has been moved forward, and PT is at the end of the cursor
11593 row, don't place the cursor in the next row if the cursor row ends
11594 in the middle of a character or at ZV.
11595
11596 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11597 (struct glyph_row): Add starts_in_middle_of_char_p and
11598 ends_in_middle_of_char_p.
11599 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11600 ends_in_middle_of_char_p flag.
11601 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11602
d13f3e2e
GM
11603 * term.c (append_glyph): Revert change of 2000-06-06.
11604
11605 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11606 padding glyph not fitting on line as whole character not
11607 fitting on line.
11608
5f1aea9a
GM
11609 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11610 this isn't true for images with `:ascent 100'.
11611
10cda9b0
KH
116122000-06-06 Kenichi Handa <handa@etl.go.jp>
11613
ed00559d
KH
11614 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11615 as modified if it is originally unmodified.
11616
10cda9b0
KH
11617 * term.c (encode_terminal_code): Change the way to check if
11618 terminal coding does any conversion.
11619 (append_glyph): Set glyph->pixel_width correctly.
11620
11621 * xdisp.c (display_line): While checking line continuation, pay
11622 attention to a padding glyph.
11623
1969fae2
GM
116242000-06-05 Gerd Moellmann <gerd@gnu.org>
11625
11626 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11627
162ccef4
DL
116282000-06-05 Dave Love <fx@gnu.org>
11629
f19f32dd
DL
11630 * xdisp.c: Include fontset.h.
11631
11632 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11633
11634 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11635
11636 * dispnew.c: Conditionally include term.h.
11637
11638 * coding.h: Declare code_convert_string_norecord.
11639
11640 * frame.h (struct frame): Use volatile unconditionally.
11641
11642 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11643
11644 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11645
11646 * systime.h: Protect against multiple inclusion.
11647 (timezone) [USG5_4]: Define as time_t.
11648
11649 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11650 (Foptimize_char_table, make_temp_name): Declare.
11651
11652 * Makefile.in (xdisp.o): Depend on fontset.h.
11653
11654 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11655
11656 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11657 (Foptimize_char_table, make_temp_name): Declare.
11658
427ec082 11659 * s/irix4-0.h:
162ccef4
DL
11660 * s/irix5-0.h:
11661 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11662
2082fe81
DL
116632000-06-02 Dave Love <fx@gnu.org>
11664
11665 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11666
dcf671d2
GM
116672000-06-02 Gerd Moellmann <gerd@gnu.org>
11668
11669 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11670 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11671 be freed.
11672
11673 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11674 glyph, use the ASCII NUL character to determine the face.
11675
d42122a3
DL
116762000-06-02 Dave Love <fx@gnu.org>
11677
11678 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11679 (VFORK_RETURN_TYPE): Remove.
427ec082 11680
d42122a3
DL
11681 * config.in: Add NO_MATHERR.
11682
dd432f16
DL
116832000-06-01 Dave Love <fx@gnu.org>
11684
90aa4ea8
DL
11685 * cmds.c (internal_self_insert): Don't check
11686 Vbefore_change_function, Vafter_change_function.
11687
11688 * insdel.c (signal_before_change, signal_after_change): Likewise.
11689
11690 * buffer.c (Vbefore_change_function, Vafter_change_function):
11691 Variables and their initializations deleted.
11692
2330c9d4
DL
11693 * callint.c (Fcall_interactively): Doc fix.
11694
dd432f16
DL
11695 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11696
bf9e8804
DL
116972000-05-31 Dave Love <fx@gnu.org>
11698
11699 * textprop.c: Revert last change -- duplicated.
11700
3694b4ab
GM
117012000-05-31 Gerd Moellmann <gerd@gnu.org>
11702
11703 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11704 in #if 0.
11705
11706 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11707
f14156cd
JR
117082000-05-31 Jason Rumney <jasonr@gnu.org>
11709
8119aab8
JR
11710 * search.c (Fre_search_forward, Fre_search_backward)
11711 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11712
f14156cd
JR
11713 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11714
4aab9be3
JR
117152000-05-30 Jason Rumney <jasonr@gnu.org>
11716
11717 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11718 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11719
52283633 11720 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11721
11722 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11723 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11724 expand a nil default_filename.
11725
11726 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11727 pointer to glyph_to_pixel_coords, not a frame.
11728
11729 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11730 coding.h to dependencies.
11731
11732 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11733
11734 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11735 window pointer to be consistent with w32term.c and xterm.c.
11736
11737 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11738 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11739 (Qline_spacing, Qcenter): New variables.
11740 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11741 (x_set_line_spacing): New function.
52283633 11742 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11743 (x_specified_cursor_type): New function.
11744 (x_set_cursor_type): Use it.
11745 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11746 and icon strings.
11747 (validate_x_resource_name, x_get_resource_string): Measure lengths
11748 of external strings in bytes.
11749 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11750 GetTextExtentPoint32 with NULL title.
11751 (Fx_create_frame): Initialize Qline_spacing.
11752 (w32_load_system_font): Initialize font->double_byte_p.
11753 (x_to_w32_charset): Use Vw32_charset_info_alist.
11754 (Image, busy cursor, tooltip functions): Merged changes from
11755 xfns.c. Not yet functional on Windows.
11756
11757 * w32gui.h (W32FontStruct): Add double_byte_p member.
11758
11759 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11760 (emacs_button_translation): Use it.
11761 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11762 in `mask' to be set.
11763
11764 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11765 menu strings.
11766
11767 * w32term.c: Format and doc changes to bring closer to xterm.c.
11768 (w32_char_font_type): New enum.
11769 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11770 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11771 (w32_encode_char): New function.
11772 (x_encode_char): Removed.
11773 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11774 x_encode_char and w32_font_is_double_byte.
11775 (x_produce_image_glyph): Use image_ascent.
11776 (x_produce_glyphs): Use new version of w32_per_char_metric and
11777 handle NULL return value. Allow extra line spacing.
11778 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11779 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11780 w32_font_type member of glyph instead.
11781 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11782 (fast_find_position): Make sure not to consider rows not visible
11783 in the window.
11784 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11785 w32_menu_display_help with input blocked, as it can abort.
11786 (x_display_and_set_cursor): Choose cursor depending
11787 on buffer-local value of cursor_type.
11788 (x_draw_bar_cursor): Add parameter WIDTH.
11789
11790 * w32term.h (CP_DEFAULT): Define.
11791 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11792
10fc3187
GM
117932000-05-30 Gerd Moellmann <gerd@gnu.org>
11794
11795 * search.c (Fre_search_forward, Fre_search_backward)
11796 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11797
d0555360
KH
117982000-05-30 Kenichi Handa <handa@etl.go.jp>
11799
11800 * coding.c (detect_coding_iso2022): Fix code for checking
11801 CODING_CATEGORY_MASK_ISO_8_2.
11802
f1ad044f
SM
118032000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11804
11805 * regex.c (PREFETCH_NOLIMIT): New function.
11806 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11807
84ec3b4b
GM
118082000-05-29 Gerd Moellmann <gerd@gnu.org>
11809
66254a13
GM
11810 * syntax.c (find_defun_start): Move test for
11811 open_paren_in_column_0_is_defun_start outside of the loop.
11812
49e70dec
GM
11813 * xdisp.c (redisplay_window): Really switch buffers when
11814 displaying mode lines, and temporarily set selected_frame to the
11815 frame of the window that's redisplayed.
11816
84ec3b4b
GM
11817 * xfaces.c (free_realized_faces): Block/unblock input.
11818 (free_realized_multibyte_face): Ditto.
11819
869a3a14
DL
118202000-05-29 Dave Love <fx@gnu.org>
11821
11822 * textprop.c (Qkeymap): New variable.
11823 (syms_of_textprop): Intern it.
11824
11825 * keymap.c: Include intervals.h.
11826 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11827
11828 * Makefile.in (keymap.o): Depend on intervals.h.
11829
11830 * keyboard.c (menu_bar_items, tool_bar_items)
11831 (Fexecute_extended_command): Deal with `keymap' property.
11832 (read_key_sequence): Track map from `keymap' property as well as
11833 `local_map'.
11834
11835 * intervals.c (get_local_map): Extra arg to allow looking for
11836 `keymap' too.
11837
11838 * intervals.h (map_property): New enum.
11839 (get_local_map): Extra arg using it.
11840 (Qkeymap): Declare.
11841
84ec3b4b 11842 * lisp.h (get_local_map): Don't declare here.
869a3a14 11843
89d0c844
KH
118442000-05-29 Kenichi Handa <handa@etl.go.jp>
11845
11846 * Makefile.in (callproc.o): Depend on composite.h.
11847
11848 * callproc.c: Include composite.h.
11849 (Fcall_process): Handle composition correctly.
11850
11851 * coding.h (coding_allocate_composition_data): Extern it.
11852 (coding_restore_composition): Likewise.
11853
11854 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11855 yet allocated, finish decoding with result
11856 CODING_FINISH_INSUFFICIENT_CMP.
11857 (coding_allocate_composition_data): Make it non-static.
11858 (coding_restore_composition): Likewise.
11859
797a084a
EZ
118602000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11861
11862 * charset.c (syms_of_charset): Revert last change.
11863
cf872af5
EZ
118642000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11865
11866 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11867 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11868 Handa.
cf872af5 11869
5b1ae051
EZ
118702000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11871
11872 * charset.c (syms_of_charset): Set width of character sets
11873 eight-bit-control and eight-bit-graphic to 1 column.
11874
34ec9ebe
GM
118752000-05-26 Gerd Moellmann <gerd@gnu.org>
11876
11877 * config.in (HAVE_SPEED_T): New define.
11878
11879 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11880 `extern speed_t'.
11881
dd854dc2
DL
118822000-05-26 Dave Love <fx@gnu.org>
11883
11884 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11885
11886 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11887 (Fsubr_arity): New function.
11888 (syms_of_data): Install them.
11889
ba9f8f95
KH
118902000-05-26 Kenichi Handa <handa@etl.go.jp>
11891
0f3e0672
KH
11892 * charset.c (init_charset_once): Set the table bytes_by_char_head
11893 correctly.
11894
cebefb44
KH
11895 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11896 the default fontset to what Emacs uses by default.
0f3e0672
KH
11897 (check_registry_encoding): This function deleted.
11898 (Fset_fontset_font): Remove the adhoc condition for the default
11899 fontset. Allow cons in FONTNAME.
cebefb44 11900
0f3e0672
KH
11901 * fns.c (map_char_table): Ignore char-table entries for
11902 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11903
7a18af49
KR
119042000-05-25 Ken Raeburn <raeburn@gnu.org>
11905
11906 * emacs.c (main): Initialize keyboard syms before initializing
11907 window code, so face names are available.
11908
d2af47df
SM
119092000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11910
11911 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11912 of an anchor at the beginning of a shy-group.
11913
fc6a6a4e
GM
119142000-05-25 Gerd Moellmann <gerd@gnu.org>
11915
11916 * xdisp.c (handle_invisible_prop): Don't try to skip over
11917 invisible text if end of text is already reached.
11918
005f0d35
DL
119192000-05-25 Dave Love <fx@gnu.org>
11920
02513cdd
DL
11921 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11922
005f0d35
DL
11923 * coding.c (encode_eol): Add null statement after label.
11924
89f6ca4e
EZ
119252000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11926
11927 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11928 2000-05-20.
11929
a4e1759e
KH
119302000-05-25 Kenichi Handa <handa@etl.go.jp>
11931
11932 * ccl.c (ccl_driver): Fix previous change.
11933
eacfd7fe
KH
119342000-05-25 Kenichi Handa <handa@etl.go.jp>
11935
46ab33a9
KH
11936 * coding.c (run_pre_post_conversion_on_str): Set point to the
11937 beginning of buffer before calling coding->post_read_conversion.
11938 (decode_coding_string): Give correct args to
11939 run_pre_post_conversion_on_str.
11940 (encode_coding_string): Likewise.
11941
eacfd7fe
KH
11942 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11943 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11944 eight-bit-graphic correctly.
11945
f8569325
DL
119462000-05-24 Kenichi HANDA <handa@etl.go.jp>
11947
11948 * fileio.c (Finsert_file_contents): Even if a file is not found,
11949 execute codes for setting up coding system. Call
11950 after-insert-file-functions unconditionally.
11951
04545643
GM
119522000-05-24 Gerd Moellmann <gerd@gnu.org>
11953
11954 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11955 BSD_PGRPS are not defined.
11956
747d90ea
KH
119572000-05-24 Kenichi Handa <handa@etl.go.jp>
11958
11959 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11960 DESCRIPTION.
11961 (syms_of_charset): Avoid building same strings.
11962
716e3b88
GM
119632000-05-23 Gerd Moellmann <gerd@gnu.org>
11964
11965 * lread.c (Fload): Add a comment about the meaning of
11966 Vuser_init_file being t.
11967
11968 * puresize.h (BASE_PURESIZE): Increase to 675000.
11969
11970 * s/gnu-linux.h (setpgrp): Don't define it here because this
11971 prevents compilation on GNU/Linux systems with glib 2.2.
11972
11973 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11974 as setpgid.
427ec082 11975
9aeb39fa
EZ
119762000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11977
11978 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11979 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11980 version.
11981 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11982
29ced61b
KH
119832000-05-23 Kenichi Handa <handa@etl.go.jp>
11984
52283633 11985 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11986
3d80f24d
KH
11987 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11988
52283633 11989 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11990
29ced61b
KH
11991 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11992
d7e00792
KH
119932000-05-22 Kenichi Handa <handa@etl.go.jp>
11994
c9d80d38
KH
11995 * keyboard.c (read_char): Allow character codes 128..255 to be
11996 handled by input-method-function.
11997
d7e00792
KH
11998 * insdel.c (adjust_markers_for_replace): Fix previous change.
11999 (adjust_after_replace): If PREV_TEXT is nil, call
12000 adjust_markers_for_insert, not adjust_markers_for_replace.
12001
087121cc 120022000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 12003
087121cc
GM
12004 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12005 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12006 [HAVE_GRANDPT]: Define.
12007 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12008
12009 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12010 like SYSV_PTYS.
12011
12012 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12013
12014 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12015
c9671f81
KH
120162000-05-20 Kenichi Handa <handa@etl.go.jp>
12017
12018 The following changes are to handle 8-bit characters in a
12019 multibyte buffer/string without facing with byte combining
12020 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12021 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12022
12023 * Makefile.in (fns.o): Depend on charset.h.
12024
12025 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12026 convert it to unibyte.
12027 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12028
12029 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12030 apparent char boundary.
12031 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12032 0x80..0x9F to/from multibyte form.
12033
12034 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12035 to unibyte.
12036
12037 * callproc.c (Fcall_process): Always encode an argument string if
12038 it is multibyte. Setup src_multibyte and dst_multibyte members of
12039 process_coding properly.
ce75fd23 12040
c9671f81
KH
12041 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12042 SPLIT_NON_ASCII_CHAR.
12043
12044 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12045 as is.
12046 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12047
52283633 12048 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12049 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12050 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12051 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12052 and eight-bit-graphic.
12053 (char_to_string): Likewise. Signal an error for too large
12054 character code.
12055 (char_printable_p): Return 0 for 8-bit characters.
12056 (update_charset_table): Update iso_charset_table only when a final
12057 character is non-negative.
12058 (find_charset_in_text): Renamed from find_charset_in_str.
12059 Arguments and return value changed. Callers changed.
12060 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12061 be -1 if CHARSET is used only internally.
12062 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12063 eight-bit-graphic.
12064 (Fcharset_after): Simplified.
12065 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12066 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12067 (multibyte_chars_in_text): Simplified by assuming there's no
12068 invalid multibyte sequence.
52283633
SM
12069 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12070 (str_as_unibyte): New functions.
12071 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12072 (init_charset_once): Initialization for
12073 LEADING_CODE_8_BIT_CONTROL.
12074 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12075 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12076 eight-bit-control and eight-bit-graphic.
12077
52283633
SM
12078 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12079 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12080 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12081 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12082 (CHARSET_REVERSE_CHARSET): Likewise.
12083 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12084 eight-bit-graphic.
12085 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12086 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12087 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12088 encounter an invalid multibyte sequence.
12089 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12090 sequence is always valid.
12091 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12092 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12093 (CHAR_STRING): For 8-bit characters, call char_to_string.
12094 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12095 multibyte sequence is always valid.
12096 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12097 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12098 (str_as_unibyte): Extern them.
c9671f81 12099 (BCOPY_SHORT): Fix a bug.
52283633 12100 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12101 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12102 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12103 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12104
bd4bde7f 12105 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12106 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12107 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12108 (EMIT_BYTES): New macros.
12109 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12110 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12111 macros deleted.
12112 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12113 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12114 check the validity of multibyte sequence.
12115 (decode_coding_emacs_mule): New function.
12116 (encode_coding_emacs_mule): New macro.
12117 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12118 the source.
12119 (DECODE_ISO_CHARACTER): Just return a character code.
12120 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12121 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12122 EMIT_CHAR to produced decoded characters. Exit the loop only by
12123 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12124 block here.
12125 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12126 only position codes for an invalid character.
12127 (encode_designation_at_bol): Return new destination pointer. 5th
12128 arg DSTP is changed to DST.
12129 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12130 from the source by ONE_MORE_CHAR. Don't handle the case of last
12131 block here.
12132 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12133 macros deleted.
52283633
SM
12134 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12135 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12136 TWO_MORE_BYTES to fetch a byte from the source.
12137 (encode_eol): Pay attention to coding->src_multibyte.
12138 (detect_coding, detect_eol): Preserve members src_multibyte and
12139 dst_multibyte.
12140 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12141 (encoding_buffer_size): Set magnification to 3 for all coding
12142 systems that require encoding.
12143 (ccl_coding_driver): For decoding, be sure that the result is
12144 valid multibyte sequence.
12145 (decode_coding): Initialize coding->errors and coding->result.
12146 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12147 and raw-text, always call decode_eol. Handle the case of last
12148 block here. If not coding->dst_multibyte, convert the resulting
12149 sequence to unibyte.
12150 (encode_coding): Initialize coding->errors and coding->result.
12151 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12152 and raw-text, always call encode_eol. Handle the case of last
12153 block here.
12154 (shrink_decoding_region, shrink_encoding_region): Detect cases
12155 that we can't skip data more rigidly.
12156 (code_convert_region): Setup src_multibyte and dst_multibyte
12157 members of coding. For decoding, if the buffer is multibyte,
12158 convert the source sequence to unibyte in advance. For encoding,
12159 if the buffer is multibyte, convert the resulting sequence to
12160 multibyte afterward.
12161 (run_pre_post_conversion_on_str): New function.
12162 (code_convert_string): Deleted and divided into the following two.
12163 (decode_coding_string, encode_coding_string): New functions.
12164 (code_convert_string1, code_convert_string_norecord): Call one of
12165 above.
12166 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12167 MAKE_NON_ASCII_CHAR.
52283633
SM
12168 (Fset_terminal_coding_system_internal)
12169 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12170 and dst_multibyte members.
12171 (init_coding_once): Initialize iso_code_class with new enum
12172 ISO_control_0 and ISO_control_1.
12173
12174 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12175 devided into ISO_control_0 and ISO_control_1.
12176 (struct coding_system): New members src_multibyte, dst_multibyte,
12177 errors, and result. Delete member fake_multibyte.
12178 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12179 nonzero.
12180 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12181 nonzero.
12182
12183 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12184 (Faset): Likewise.
12185
12186 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12187 multibyte form.
12188 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12189 combining occurs.
12190 (Ftranspose_region): Delete codes for handling byte combining.
12191
12192 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12193 dst_multibyte members of coding. On handling REPLACE on unibyte
12194 buffer, convert the result of decode_coding to unibyte. On
12195 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12196 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12197 multibyteness of the source (buffer or string).
12198
12199 * fns.c (concat): Handle 8-bit characters correctly.
12200 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12201 unibyte in the result.
12202 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12203 valid multibyte form in the result.
12204 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12205 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12206 return -1, signal an error.
12207 (base64_encode_1): New arg MULTIBYTE. Get each character by
12208 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12209 character is found, return -1.
12210 (Fbase64_decode_region): Delete codes for handling byte-combining.
12211 Treat each decoded byte as a unibyte character.
12212 (Fbase64_decode_string): Return unibyte string.
12213 (Fcompare_strings, concat, string_byte_to_char): Use
12214 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12215 FETCH_STRING_CHAR_ADVANCE.
12216 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12217 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12218
12219 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12220 SPLIT_NON_ASCII_CHAR.
12221 (fontset_ref_via_base, fontset_set): Likewise
12222
12223 * insdel.c (adjust_markers_for_record_delete): Deleted.
12224 (adjust_markers_for_insert): Argument changed. Caller changed.
12225 (adjust_markers_for_replace): Likewise.
52283633
SM
12226 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12227 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12228 (copy_text): Delete unused local varialbe c_save. For converting
12229 to multibyte, be sure to make all 8-bit characters in valid
12230 multibyte form.
12231 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12232 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12233 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12234 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12235 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12236 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12237 handling byte combining.
12238 (adjust_before_replace): Deleted.
427ec082 12239
c9671f81
KH
12240 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12241 SPLIT_NON_ASCII_CHAR.
12242 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12243 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12244 (Fkey_description): Likewise.
12245
12246 * lread.c (read1): On reading multibyte string, be sure to make
12247 all 8-bit chararacters in valid multibyte form.
12248 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12249
12250 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12251 unconditionally.
12252
12253 * process.c (Fstart_process): GCPRO current_dir before calling
12254 Ffind_operation_coding_system. Encode arguments here.
12255 (create_process): Don't encode arguments here. Setup
12256 src_multibyte and dst_multibyte members of struct coding.
12257 (read_process_output): Setup src_multibyte and dst_multibyte
12258 members of struct coding. If the output is to multibyte buffer,
12259 always decode the output of the process. Adjust the
52283633 12260 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12261 (send_process): Setup coding->src_multibyte according to the
12262 multibyteness of the source.
12263
52283633 12264 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12265 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12266 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12267
52283633 12268 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12269
12270 * w16select.c (Fw16_set_clipboard_data): Setup members
12271 src_multibyte and dst_multibyte of coding. Adjusted for the
12272 change for find_charset_in_str.
12273 (Fw16_get_clipboard_data): Likewise.
12274
12275 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12276 dst_multibyte of coding.
12277 (x_to_w32_font): Likewise.
12278
12279 * w32select.c (Fw32_set_clipboard_data): Setup members
12280 src_multibyte and dst_multibyte of coding. Adjusted for the
12281 change for find_charset_in_str.
12282 (Fw32_get_clipboard_data): Likewise.
12283
12284 * xdisp.c (get_next_display_element): Handle 8-bit characters
12285 correctly.
52283633
SM
12286 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12287 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12288
12289 * xselect.c (selection_data_to_lisp_data): Setup members
12290 src_multibyte and dst_multibyte of coding. Adjusted for the
12291 change for find_charset_in_str.
12292 (lisp_data_to_selection_data): Likewise.
12293
5f64c9e0
GM
122942000-05-19 Gerd Moellmann <gerd@gnu.org>
12295
52283633 12296 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12297
5f64c9e0
GM
12298 * dispextern.h (Vimage_types): Add extern declaration.
12299
12300 * xdisp.c (Vimage_types): Moved here from xfns.c.
12301 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12302
12303 * xfns.c (Vimages_types): Moved to xdisp.c.
12304 (syms_of_xfns): Move `image-types' to xdisp.c.
12305
12306 * w32fns.c (Vimage_types): Removed.
12307 (syms_of_w32fns): Remove `image-types'.
12308
813086ea
KH
123092000-05-18 Kenichi Handa <handa@etl.go.jp>
12310
12311 * fns.c (map_char_table): Pay attention to character number of
12312 charset. Check the validity of charset at the first level. For
12313 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12314 the default value.
12315
12316 * fontset.c: Include "buffer.h".
12317 (fs_load_font): If the face has fontset, record the face ID in
12318 that fontset.
12319 (Finternal_char_font): New function.
12320 (accumulate_font_info): New function.
12321 (Ffontset_info): Rewritten for the new fontset implementation.
12322 (syms_of_fontset): Register Vdefault_fontset in the first element
12323 of Vfontset_table. Include Vdefault_fontset in
12324 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12325 function.
12326
bdaebbf0
DL
123272000-05-16 Dave Love <fx@gnu.org>
12328
12329 * m/iris5d.h: Deleted -- unused.
12330
cb613bb8
GM
123312000-05-16 Gerd Moellmann <gerd@gnu.org>
12332
b15f3b77
GM
12333 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12334 `invalid' instead of `illegal'.
12335
12336 * indent.c (Fmove_to_column): When ending within a tab, insert
12337 spaces first so that markers at the end of the tab get adjusted.
12338
835c1b36
GM
12339 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12340 buffer list that wasn't selected in that frame.
12341
cb613bb8
GM
12342 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12343 is needed on mescaline, use a 2 char prefix, and call
12344 make_temp_name with second arg non-zero.
12345
12346 * fileio.c (make_temp_name): New function, extracted from
12347 Fmake_temp_name.
12348 (Fmake_temp_name): Use it.
12349
f685bea9
EZ
123502000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12351
52283633 12352 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12353
a1b8d58b
GM
123542000-05-15 Gerd Moellmann <gerd@gnu.org>
12355
12356 * Makefile.in (lisp): Add env.elc.
12357
12358 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12359
a265079f
GM
123602000-05-12 Gerd Moellmann <gerd@gnu.org>
12361
12362 * search.c (Freplace_match): Handle case of `\N' in the
12363 replacement when there's no group N.
12364
da4496b6
GM
123652000-05-11 Gerd Moellmann <gerd@gnu.org>
12366
0ace421a
GM
12367 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12368 of the message to message_dolog.
12369
1172eb8d
GM
12370 * keyboard.c (read_char): Don't clear current message for help
12371 events; let the code handling help events handle this. Change
12372 code detecting help events that should be ignored.
12373
da4496b6
GM
12374 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12375 we're interating over a string.
12376
0623e40f
DL
123772000-05-09 Dave Love <fx@gnu.org>
12378
12379 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12380 that offset before writing. Move gcpro region past call of
12381 Ffile_regular_p.
12382
bae2503b
DL
123832000-05-04 Dave Love <fx@gnu.org>
12384
12385 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12386
ec82fb2f
GM
123872000-05-04 Gerd Moellmann <gerd@gnu.org>
12388
12389 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12390 of inserted characters when BUF equals the current buffer, and PT
12391 is in front of or equal to FROM.
12392
cbf18892
GM
123932000-05-03 Gerd Moellmann <gerd@gnu.org>
12394
4ff40dd0
GM
12395 * xdisp.c (handle_single_display_prop): If display property value
12396 is invalid, or something not supported on the frame, restore
12397 iterator's position to what it was initially. Make sure to return
12398 0 for invalid and unsupported property values.
12399
cbf18892
GM
12400 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12401 that x_per_char_metric returns null.
12402
1b0672c3
GM
124032000-05-02 Gerd Moellmann <gerd@gnu.org>
12404
576da55d
GM
12405 * xterm.h (struct face): Add forward declaration.
12406 (struct image): Ditto.
12407 (image_ascent): Add prototype.
12408
12409 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12410 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12411 image_ascent instead of using IMAGE_ASCENT.
12412
12413 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12414 (IMAGE_ASCENT): Removed.
12415
12416 * xfns.c (Qcenter): New variable.
12417 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12418 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12419 (image_ascent): New function.
12420 (lookup_image): Recognize `:ascent center'.
12421 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12422 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12423 (xbm_load): Don't set image's ascent here.
12424 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12425 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12426 check ascent values here.
12427 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12428 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12429 (syms_of_xfns): Initialize Qcenter.
12430
1b0672c3
GM
12431 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12432 to the limits, increase the limits.
12433
0d7811ed
KH
124342000-05-01 Kenichi Handa <handa@etl.go.jp>
12435
12436 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12437 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12438
a943a5ca
GM
124392000-04-28 Gerd Moellmann <gerd@gnu.org>
12440
12441 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12442 taller than the window.
12443
5dba1e29
KH
124442000-04-28 Kenichi Handa <handa@etl.go.jp>
12445
12446 * xfaces.c (realize_x_face): Fix the argument of the second
12447 xassert. BASE_FACE may not be a face for ASCII.
12448
353964e3
GM
124492000-04-27 Gerd Moellmann <gerd@gnu.org>
12450
c76e04a8
GM
12451 * print.c (print_object): Treat print-length < 0 as nil.
12452
12453 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12454
12455 * s/freebsd.h (TERMCAP_OBJ): Removed.
12456 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12457
12458 * lread.c (read1): Don't treat period followed by certain
12459 characters as symbol start.
12460
12461 * xfns.c (slurp_file): New function.
12462 (xbm_image_p): Handle case of in-memory XBM files.
12463 (xbm_scan): Rewritten to work on memory buffers instead of files.
12464 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12465 Work on memory buffers instead of files. If DATA is null test
12466 if buffer looks like an in-memory XBM file.
12467 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12468 memory buffers instead of files.
12469 (xbm_file_p): New function.
12470 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12471
353964e3
GM
12472 * lread.c (end_of_file_error): New function.
12473 (read1): Call it instead of signaling `end-of-file' directly.
12474
427ec082 12475 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12476 with Fprinc instead of Fprin1.
12477
24d744ac
KR
124782000-04-26 Ken Raeburn <raeburn@gnu.org>
12479
12480 * window.c (freeze_window_start): Check that minibuffer scroll
12481 window isn't nil before extracting the window structure pointer
12482 from it.
12483
12484 * undo.c (record_delete): If we hit the end of the undo list, stop
12485 picking elements apart.
12486
7464346d
GM
124872000-04-26 Gerd Moellmann <gerd@gnu.org>
12488
12489 * xdisp.c (display_line): If lines are continued, restore
12490 iterator's ascent/descent information to the values before the
12491 first glyph not fitting on the line.
12492
612839b6
GM
124932000-04-25 Gerd Moellmann <gerd@gnu.org>
12494
12495 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12496 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12497
12498 * dispnew.c (increment_matrix_positions): Renamed from
12499 increment_glyph_matrix_buffer_positions.
12500 (increment_row_positions): Renamed from
12501 increment_glyph_row_buffer_positions.
12502
12503 * dispextern.h: Change names of renamed functions from dispnew.c
12504 in prototypes.
12505
cc181e95
GM
125062000-04-24 Gerd Moellmann <gerd@gnu.org>
12507
abfcc168
GM
12508 * fileio.c (Fdo_auto_save): Create directories for auto-save
12509 list file if necessary.
12510
cc181e95
GM
12511 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12512 from buffer or frame.
12513 (automatic_hscrolling_p): New variable.
12514 (hscroll_windows): Scroll windows horizontally only if automatic
12515 hscrolling is allowed.
12516 (syms_of_xdisp): New variable `automatic-hscrolling'.
12517
12518 * frame.h (struct frame): Add member extra_line_spacing.
12519
12520 * xfns.c (x_set_line_spacing): New function.
12521 (Fx_create_frame): Set line spacing from resources.
12522 (Qline_spacing): New variable.
12523 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12524
cc181e95
GM
12525 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12526
12527 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12528 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12529 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12530 extra_line_spacing from default value.
12531 (init_buffer_once): Initialize default value of extra_line_spacing.
12532
12533 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12534 and extra3.
12535
12536 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12537 prompt_width. Add extra line spacing.
12538
12539 * term.c (produce_glyphs): Remove reference to struct it's
12540 prompt_width.
12541
12542 * dispextern.h (struct it): Remove member prompt_width, add
12543 extra_line_spacing.
12544
58827478
GM
125452000-04-22 Gerd Moellmann <gerd@gnu.org>
12546
12547 * dispnew.c (update_frame_line): When writing a whole line, make
12548 sure cursor is in the right row afterwards, otherwise a use of
12549 capability `ch' in cmgoto might leave the cursor in the row below.
12550
25a87f42
GM
125512000-04-21 Gerd Moellmann <gerd@gnu.org>
12552
12553 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12554
12555 * keyboard.c (timer_check): Fix typo in comment.
12556
54edf5c2
KH
125572000-04-21 Kenichi Handa <handa@etl.go.jp>
12558
12559 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12560 name change: ch -> character.
12561
3a64eef5
GM
125622000-04-20 Gerd Moellmann <gerd@gnu.org>
12563
12564 * keyboard.c (echo_message_buffer): New variable.
12565 (echo_now): Set echo_message_buffer to the echo area buffer used
12566 to display the echo.
12567 (cancel_echoing): Reset echo_message_buffer to nil.
12568 (read_char): Code rewritten that handles canceling an echo or
12569 echoing a dash, respectively.
12570
12571 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12572 directory doesn't exist.
12573
6142fdcb
DL
125742000-04-19 Dave Love <fx@gnu.org>
12575
12576 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12577 (concat): Don't allow numeric args.
12578 (Fconcat): Doc change.
6142fdcb 12579
ac6b5352
SM
125802000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12581
12582 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12583 instead define end_match(1|2) more carefully.
12584 Use GET_CHAR_BEFORE_2 for `begline'.
12585
cb9215e4
GM
125862000-04-19 Gerd Moellmann <gerd@gnu.org>
12587
5e3dac3f
GM
12588 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12589 on 64-bit systems where NULL is defined as `0'.
12590
12591 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12592 the `variable argument list' to make it work on Alpha.
12593
cb9215e4
GM
12594 * m/alpha.h (_LP64) [!_LP64]: Define.
12595 (ORDINARY_LINK): Define for NetBSD.
12596
12597 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12598
f532dca0
DL
125992000-04-19 Dave Love <fx@gnu.org>
12600
c750667e
DL
12601 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12602 change.
12603
12604 * Makefile.in (LIBS): Don't use.
12605 (GETLOADAVG_OBJ): Define again.
12606 (otherobj): Add GETLOADAVG_OBJ.
12607
f532dca0
DL
12608 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12609
1c7e22fd
GM
126102000-04-18 Gerd Moellmann <gerd@gnu.org>
12611
f6d3257b
GM
12612 * lread.c (read_filtered_event): Cancel and start busy cursor.
12613
427ec082 12614 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12615 that the per-character metrics may be null.
12616
e10f64e7
GM
126172000-04-17 Gerd Moellmann <gerd@gnu.org>
12618
0daee095
GM
12619 * buffer.c (clone_per_buffer_values): New function.
12620 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12621 clone_per_buffer_values if CLONE is not nil.
12622
e10f64e7
GM
12623 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12624
38687d43
DL
126252000-04-16 Dave Love <fx@gnu.org>
12626
12627 * Makefile.in: Remove obsolete localcpp stuff.
12628 (GETLOADAVG_OBJ): Don't define.
12629 (obj): Move LIBOBJS...
12630 (otherobj): ... to here.
12631 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12632 whitespace-only lines after the continuation (Irix).
12633
c21c7262
GM
126342000-04-14 Gerd Moellmann <gerd@gnu.org>
12635
12636 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12637
12638 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12639
314767c0
DL
126402000-04-14 Dave Love <fx@gnu.org>
12641
12642 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12643 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12644 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12645 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12646 NLIST_STRUCT.
12647
12648 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12649 autoconfiscated HAVE_GETLOADAVG.
12650
12651 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12652 BROKEN_MKTIME.
12653
a2522dca
GM
126542000-04-14 Gerd Moellmann <gerd@gnu.org>
12655
12656 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12657 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12658
33744b5d
DL
126592000-04-14 Dave Love <fx@gnu.org>
12660
c21c7262 12661 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12662 (INTERVAL_SRC): Convert to make variable.
12663 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12664 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12665 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12666 add LIBOBJS.
12667 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12668 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12669 (shortlisp): Add facemenu, float-sup, frame.
12670 (SOME_MACHINE_LISP): Remove them from here.
12671 (LIBES): Change unused LDLIBS to autoconf LIBS.
12672
12673 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12674
9d3d5916
KH
126752000-04-14 Kenichi Handa <handa@etl.go.jp>
12676
12677 * composite.c (update_compositions): If FROM and TO are not in a
12678 valid range, do nothing.
12679
198e3c7a
GM
126802000-04-13 Gerd Moellmann <gerd@gnu.org>
12681
52283633 12682 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12683
52283633 12684 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12685
12686 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12687 as TERMCAP_OBJ.
12688
055a28c9
EZ
126892000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12690
12691 * fileio.c (a_write): Remove redundant semi-colons.
12692 (e_write): Return -1 if failed to write all the data.
12693 This fixes the changes made at 1999-12-15.
12694
f5c75033
DL
126952000-04-12 Dave Love <fx@gnu.org>
12696
12697 * fns.c (mapcar1): Test for null vals to support mapc.
12698 (Fmapc): New function.
12699
0c3cfc51
EZ
127002000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12701
12702 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12703 (IT_frame_up_to_date): Support the buffer local value of
12704 cursor-type, if defined.
12705
33465a31
DL
127062000-04-10 Dave Love <fx@gnu.org>
12707
12708 * editfns.c (preceding-char, following-char): Doc fix.
12709
6ed56568
KR
127102000-04-10 Ken Raeburn <raeburn@gnu.org>
12711
12712 * Makefile.in (temacs): Revert 2000-03-12 change.
12713
7cf80d4e
JR
127142000-04-10 Jason Rumney <jasonr@gnu.org>
12715
12716 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12717
34f3f342
GM
127182000-04-10 Gerd Moellmann <gerd@gnu.org>
12719
1a1b1895
GM
12720 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12721 area buffer, if it's not set up yet.
12722
34f3f342
GM
12723 * indent.c (compute_motion): Set immediate_quit.
12724
be0dbdab
GM
127252000-04-09 Gerd Moellmann <gerd@gnu.org>
12726
52283633 12727 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12728 (realize_tty_face): Suppress boldness if colors are the inverse of
12729 the default colors, and tty_suppress_bold_inverse_default_colors_p
12730 is set.
12731 (Ftty_suppress_bold_inverse_default_colors): New function.
12732 (syms_of_xfaces): Defsubr it.
12733
be0dbdab
GM
12734 * buffer.c (Frestore_buffer_modified_p): New function.
12735 (syms_of_buffer): Defsubr it.
12736
e8413c3b
KR
127372000-04-08 Ken Raeburn <raeburn@gnu.org>
12738
87f67317
KR
12739 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12740 charset id (int) argument, not a charset (Lisp_Object).
12741
e8413c3b
KR
12742 * coding.h (code_convert_string): Declare.
12743 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12744 object, as the fourth argument to code_convert_string.
12745
52283633 12746 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12747 (Fset_fontset_font): Use EQ to compare lisp objects.
12748
7c752c80
KR
127492000-04-05 Ken Raeburn <raeburn@gnu.org>
12750
c0333abc
KR
12751 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12752 a pointer that looks like a lisp object.
12753 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12754 zero, instead see whether it's an integer object, since they can't
12755 have intervals.
12756 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12757
52283633
SM
12758 * dispnew.c (allocate_matrices_for_frame_redisplay)
12759 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12760 to convert between (unsigned) int values and lisp integers.
12761 * keyboard.c (read_key_sequence): Likewise.
12762 * lread.c (substitute_object_recurse): Likewise.
12763 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12764 * minibuf.c (do_completion, Fminibuffer_complete_word)
12765 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12766 * term.c (produce_special_glyphs): Likewise.
12767
12768 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12769 * print.c (print_preprocess, print_object): Likewise.
12770
12771 * search.c (compile_pattern): Use NILP when checking for nil.
12772
74e49b38
KR
12773 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12774 __OPTIMIZE__]: Provide a GNU C macro version that handles
12775 lisp-object unions.
12776 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12777 field, to better cope with ENABLE_CHECKING and calls that modify a
12778 Lisp_Object using its old value.
12779
685e5ed2
GM
127802000-04-04 Gerd Moellmann <gerd@gnu.org>
12781
c407c570
GM
12782 * window.c (compare_window_configurations): Signal an error
12783 if parameters C1 or C2 aren't window configurations.
12784
685e5ed2
GM
12785 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12786 AFTER_POTENTIAL_GC calls around calls to functions that can
12787 signal an error and thus invoke the debugger.
12788
587a49ab
GM
127892000-04-03 Gerd Moellmann <gerd@gnu.org>
12790
62f20204
GM
12791 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12792 an error if decoding fails.
12793
587a49ab
GM
12794 * keyboard.c (lispy_mouse_names): Variable removed.
12795 (Vlispy_mouse_stem): New variable.
12796 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12797 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12798 for any mouse button number. Increase size of mouse_syms and
12799 button_down_location as needed. Call modify_event_symbol with
12800 different arguments.
12801 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12802 Call modify_event_symbol with different arguments.
12803 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12804 for any button number. Call modify_event_symbol with different
12805 arguments.
12806 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12807 Accept a string for NAME_ALIST_OR_STEM.
12808
12809 * lisp.h (larger_vector): Add prototype.
12810
12811 * fns.c (larger_vector): Make externally visible.
12812
12813 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12814
2d1675e4
SM
128152000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12816
12817 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12818 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12819 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12820 we are between str1 and str2.
12821 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12822 (PATFETCH): Use `TRANSLATE'.
12823 (PATFETCH_RAW): Fetch multibyte char if applicable.
12824 (PATUNFETCH): Remove.
12825 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12826 When writing a char, write it directly into the pattern buffer rather
12827 than going needlessly through a temp char-array.
12828 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12829 multibyte magic and remove the useless `#ifdef emacs'.
12830 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12831 buffer.
12832
12833 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12834 conditional on `emacs'.
12835
12836 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12837
cc2d8c6b
KR
128382000-04-01 Ken Raeburn <raeburn@gnu.org>
12839
12840 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12841 non-union-type versions of XMARK and friends here, because XMARK
12842 and friends won't work on an integer field if NO_UNION_TYPE is not
12843 defined.
52283633 12844 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12845
52283633 12846 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12847 (syms_of_composite): Delete local var NARGS, pass an int as first
12848 argument to Fmake_hash_table.
12849
2387b382
KR
12850 * editfns.c (text_property_stickiness): Use NILP to test
12851 Lisp_Object boolean value.
12852 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12853 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12854 problems reading from and changing the same lisp value in an
12855 XSETSTRING call.
12856
27660e89
GM
128572000-04-01 Gerd Moellmann <gerd@gnu.org>
12858
12859 * term.c (TN_no_color_video): New variable.
12860 (term_init): Intitialize TN_no_color_video.
12861 (enum no_color_bit): New enumeration.
12862 (MAY_USE_WITH_COLORS_P): New macro.
12863 (turn_on_face): Use it to determine if attributes may be used
12864 combined with colors.
12865
3578db3c
KR
128662000-04-01 Ken Raeburn <raeburn@gnu.org>
12867
12868 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12869 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12870 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12871 proper accessor macros.
12872 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12873 (grow_mini_window): Fix typo getting int value of root->height.
12874
6fc556fd
KR
12875 * xdisp.c (compute_string_pos): Fix order of arguments to
12876 string_pos_nchars_ahead.
12877 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12878 count arg to variable-arg routines like Frun_hook_with_args and
12879 Fformat.
587a49ab
GM
12880 (back_to_previous_visible_line_start)
12881 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12882 fixed-arg routines like Fget_char_property and Fmake_string.
12883 (reconsider_clip_changes): Use XINT when comparing integer lisp
12884 objects, or passing them as int arguments.
587a49ab
GM
12885 (mark_window_display_accurate, insert_left_trunc_glyphs)
12886 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12887 storing or passing integer values as lisp objects.
12888 (set_cursor_from_row, highlight_trailing_whitespace): Use
12889 INTEGERP, not implicit test against zero, for glyph object.
12890 (try_window_id): Don't use make_number when we want an int value.
12891
12892 * xfaces.c (xlfd_symbolic_value): Make last argument a
12893 Lisp_Object, to be consistent with callers.
12894 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12895 (lface_hash): Apply XFASTINT to lisp values before folding in.
12896
12897 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12898 fill in window width and height. Pass an int, not a lisp object,
12899 as first arg to Finsert.
12900
6e7b2457
GM
129012000-04-01 Gerd Moellmann <gerd@gnu.org>
12902
610d841e
GM
12903 * xfaces.c (realize_basic_faces): Block input while realizing
12904 the faces.
12905
6e7b2457
GM
12906 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12907
12908 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12909
aa110c0c
GM
129102000-03-31 Gerd Moellmann <gerd@gnu.org>
12911
12912 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12913 or ASCII, handle case that per-char metric is null.
aa110c0c 12914
8801a864
KR
129152000-03-30 Ken Raeburn <raeburn@gnu.org>
12916
c6129d7e
KR
12917 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12918
52283633
SM
12919 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12920 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12921 pointer, using eassert.
12922 * frame.h (XFRAME): Likewise.
12923
52283633
SM
12924 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12925 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12926 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12927 * data.c (set_internal): Likewise.
52283633
SM
12928 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12929 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12930 * fileio.c (auto_save_1): Likewise.
12931 * insdel.c (check_markers): Likewise.
12932 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12933 * undo.c (record_insert): Likewise.
12934 * vmsproc.c (child_sig): Likewise.
12935 * window.c (unshow_buffer, window_loop): Likewise.
12936 * xterm.c (x_erase_phys_cursor): Likewise.
12937
8e7af858
GM
129382000-03-30 Gerd Moellmann <gerd@gnu.org>
12939
12940 * xfns.c (free_image_cache): Free the cache structure itself
12941 last, after all its members have been freed.
12942
12943 * lisp.h (xstrdup): Add prototype.
12944
12945 * alloc.c (xstrdup): Moved here from xfaces.c.
12946 (allocating_for_lisp): Variable removed.
52283633 12947 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12948
12949 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12950 of Fsymbol_value.
12951 (xstrdup): Moved to alloc.c.
12952
e0b8c689
KR
129532000-03-29 Ken Raeburn <raeburn@gnu.org>
12954
b96f9fb7
KR
12955 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12956
12957 * emacs.c (main): Fix sense of no-loadup test.
12958
e0b8c689
KR
12959 * config.in (ENABLE_CHECKING): Undef.
12960
12961 * lisp.h (struct interval): Replace "parent" field with a union of
12962 interval pointer and Lisp_Object; add new bitfield to use as
12963 discriminant. Change other flag fields to bitfields.
12964 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12965 is defined and the supplied test fails, print a message and abort.
12966 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12967
12968 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12969 pointers; abort if the value looks like a lisp object.
52283633
SM
12970 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12971 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12972 Modify for new interval parent definition.
12973
52283633
SM
12974 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12975 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12976 addressable lisp object in the interval structure.
12977 (die): New function.
12978 (suppress_checking): New variable.
12979
12980 * intervals.c (interval_start_pos): Just return 0 if there's no
12981 parent object.
12982
f83c5440
GM
129832000-03-29 Gerd Moellmann <gerd@gnu.org>
12984
12985 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12986 and earlier Emacs versions.
12987
12988 * keyboard.c (Ftop_level): Cancel busy-cursor.
12989
12990 * eval.c (call_debugger): Cancel busy-cursor.
12991
fdce64ff
KH
129922000-03-29 Kenichi Handa <handa@etl.go.jp>
12993
12994 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12995 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12996
f6a3f532
SM
129972000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12998
12999 * regex.c (analyse_first): New function obtained by ripping out most
13000 of re_compile_fastmap and generalizing it a little bit so that it
13001 can also just return whether a given (sub)pattern can match the empty
13002 string or not.
13003 (regex_compile): Use `analyse_first' to decide whether the loop-check
13004 needs to be done or not for *, +, *? and +? (the loop check is costly
13005 for non-greedy repetition).
13006 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13007
e9b309ac
DL
130082000-03-28 Dave Love <fx@gnu.org>
13009
52283633 13010 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 13011
e9b309ac
DL
13012 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13013
ed0767d8
SM
130142000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13015
13016 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13017 an expression.
13018 (enum re_opcode_t): Update description of succeed_n.
13019 (PATFETCH): Always define.
13020 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13021 operators, char classes, shy-groups and intervals).
13022 Optimize special cases of intervals so as to only use succeed_n and
13023 jump_n when really needed.
13024 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13025 that we don't have to handle the special cases any more.
13026 Simplify on_failure_jump handling as well.
13027
e11e7e46
JR
130282000-03-28 Jason Rumney <jasonr@gnu.org>
13029
13030 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13031
88faab89
GM
130322000-03-27 Gerd Moellmann <gerd@gnu.org>
13033
182ff242
GM
13034 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13035
13036 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13037
182ff242
GM
13038 * alloc.c (mark_maybe_object): New function.
13039 (mark_memory): Use it.
13040 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13041 (setjmp_tested_p, longjmp_done): New variables.
13042 (test_setjmp): New function.
13043 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13044 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13045
c1005d06
GM
13046 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13047 to DEC_TEXT_POS and INC_TEXT_POS.
13048
13049 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13050 with parameter MULTIBYTE_P.
13051
52283633 13052 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13053
7439e5b9 13054 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13055 buffers because it looks for multibyte character byte sequences
13056 which don't exist in unibyte text.
7439e5b9 13057
d9c545da
GM
13058 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13059
11fd416e 13060 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13061 [DEBUG_X_COLORS]: New functions.
13062 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13063
13064 * xfns.c (x_set_cursor_color): Get color reference counts right.
13065
13066 * xterm.c (x_copy_color): New function.
13067 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13068
13069 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13070 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13071 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13072 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13073 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13074 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13075 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13076 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13077 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13078 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13079
11fd416e
GM
13080 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13081 names for handling per-buffer variables.
d9c545da
GM
13082
13083 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13084 instead of MAX_BUFFER_LOCAL_VARS.
13085 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13086
13087 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13088
88faab89
GM
13089 * xfns.c (x_specified_cursor_type): New function.
13090 (x_set_cursor_type): Use it.
13091
13092 * buffer.h (struct buffer): Add cursor_type.
13093
d80f42b7
SM
130942000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13095
13096 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13097 (print_partial_compiled_pattern, re_compile_fastmap):
13098 Handle new opcode.
d80f42b7
SM
13099 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13100 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13101 executing it as well as when popping it off the stack to find infinite
13102 loops in non-greedy repetition operators.
13103
89e80928
GM
131042000-03-26 Gerd Moellmann <gerd@gnu.org>
13105
3d4ff2dd
GM
13106 * doc.c (Qfunction_documentation): New variable.
13107 (syms_of_doc): Initialize Qfunction_documentation.
13108 (Fdocumentation): If FUNCTION is a symbol with non-nil
13109 `function-documentation' property, return a documentation derived
13110 from that.
13111
bd96bd79
GM
13112 * buffer.c (syms_of_buffer): Add default-cursor-type.
13113 (init_buffer_once): Don't let cursor_type have a local value
13114 in every buffer.
13115
19d1bc27
GM
13116 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13117 on buffer-local value of cursor_type.
13118 (x_draw_bar_cursor): Add parameter WIDTH.
13119
13120 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13121 (init_buffer_once): Set default cursor_type value to t.
13122 Mark cursor_type as local everywhere.
13123 (syms_of_buffer): New per-buffer variable cursor-type.
13124
89e80928
GM
13125 * buffer.h (struct buffer): Remove member local_var_flags,
13126 add local_flags.
13127 (MAX_BUFFER_LOCAL_VARS): New macro.
13128 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13129 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13130 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13131 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13132
52283633 13133 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13134
13135 * category.c (Fset_category_table): Use new macros for per-buffer
13136 variables.
13137
13138 * buffer.c (buffer_permanent_local_flags): Make a char array.
13139 (max_buffer_local_idx): New variable.
13140 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13141 for new handling of per-buffer variables.
13142 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13143 (init_buffer_once): Initialize per-buffer vars differently.
13144 Set max_buffer_local_idx.
13145
13146 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13147 variables.
13148
52283633 13149 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13150
13151 * data.c (do_symval_forwarding, store_symval_forwarding)
13152 (find_symbol_value, set_internal, default_value, Fset_default)
13153 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13154 per-buffer variables.
13155
13156 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13157
9a0dd3dc
GM
131582000-03-24 Gerd Moellmann <gerd@gnu.org>
13159
b68c375f
GM
13160 * xterm.c (x_term_init): Unblock input around call1 of
13161 Qvendor_specific_keysyms.
13162
9a0dd3dc
GM
13163 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13164 (find_defun_start): Consider an open parenthesis in column 0
13165 a defun start only if open_paren_in_column_0_is_defun_start is set.
13166 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13167
7973e637
SM
131682000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13169
13170 * eval.c (Fautoload): Add entry in load-history (if after dump).
13171 * lread.c (load-history): Update docstring.
13172
39210e90
GM
131732000-03-24 Gerd Moellmann <gerd@gnu.org>
13174
13175 * indent.c (Fvertical_motion): Always use the current buffer.
13176 Temporarily change the window's buffer, if necessary.
13177
72db3ab5
GM
131782000-03-23 Gerd Moellmann <gerd@gnu.org>
13179
13180 * xterm.c (fast_find_position): Make sure not to consider rows
13181 not visible in the window.
13182
990b2375
SM
131832000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13184
13185 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13186 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13187
ff4df011
JR
131882000-03-22 Jason Rumney <jasonr@gnu.org>
13189
13190 * w32menu.c (single_submenu): Set help string to NULL if none.
13191 (w32_menu_show): Set help string correctly.
13192 (add-menu-item): Set help string in MIIM_DATA for menu item.
13193 Load SetMenuItemInfoA explicitly.
13194 (w32_menu_display_help): New function.
427ec082 13195
ff4df011
JR
13196 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13197 (QCdata): Moved to xdisp.c.
13198
13199 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13200 (Vw32_charset_to_codepage_alist): Removed.
13201 (Vw32_charset_info_alist): New variable.
52283633
SM
13202 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13203 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13204 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13205 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13206 with TODO comment.
13207 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13208 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13209 Define Vw32_charset_info_alist and w32_charset symbols.
13210
132112000-03-22 Jason Rumney <jasonr@gnu.org>
13212
13213 * makefile.nt (w32bdf.obj): Update dependencies.
13214
13215 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13216
13217 * w32fns.c: Include fontset.h after dispextern.h.
13218 (Fx_create_frame): Do not create fontset.
13219 (w32_load_system_font): Doc fix.
13220 (Fx_close_connection): Free full_name if it is not shared.
13221
13222 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13223 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13224 Callers updated.
ff4df011
JR
13225 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13226 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13227 (w32_font_is_double_byte): New function, needs body.
13228 (x_append_glyph): Set glyph->glyph_not_available_p.
13229 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13230 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13231 character, convert it to a unibyte character.
13232 (struct glyph_string): Delete member `charset'.
13233 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13234 calculating it is found.
13235 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13236 the case that per char metric is not available correctly.
13237 (x_fill_glyph_string): Handle the case that the specific glyph is
13238 not available correctly.
13239 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13240 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13241 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13242 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13243 fontset. Don't call FS_LOAD_FONT.
13244
439d5cb4
KR
132452000-03-22 Ken Raeburn <raeburn@gnu.org>
13246
13247 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13248 (INT_LISPLIKE): New macro.
13249 (NULL_INTERVAL_P): Use it.
52283633
SM
13250 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13251 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13252 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13253
13254 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13255 explicit references to "parent" field of struct interval and
13256 associated unclean type conversions.
52283633
SM
13257 * intervals.c (create_root_interval, root_interval, rotate_right)
13258 (rotate_left, balance_possible_root_interval, split_interval_right)
13259 (split_interval_left, interval_start_pos, find_interval)
13260 (next_interval, previous_interval, update_interval)
13261 (adjust_intervals_for_insertion, delete_node, delete_interval)
13262 (adjust_intervals_for_deletion, merge_interval_right)
13263 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13264 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13265 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13266 Likewise.
13267 * syntax.c (update_syntax_table): Likewise.
13268
13269 * intervals.c (reproduce_tree_obj): New function, like
13270 reproduce_tree but takes a Lisp_Object for the parent. Declare
13271 with prototype.
13272 (graft_intervals_into_buffer): Use it when appropriate.
13273 (reproduce_tree): Declare with prototype.
13274 (balance_possible_root_interval): Check that the parent is a lisp
13275 object before trying to examine its type.
13276
ee1c5b21
GM
132772000-03-22 Gerd Moellmann <gerd@gnu.org>
13278
13279 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13280 as strings only if both are known to be strings.
13281
13282 * s/openbsd.h (LIBS_TERMCAP): Undef.
13283
1fb352e0
SM
132842000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13285
13286 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13287 definitions for non-Emacs compilation.
13288 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13289 outside of `#ifdef emacs'.
13290 (print_partial_compiled_pattern): Update.
13291 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13292 (re_compile_fastmap): Merge handling of charset and charset_not (for
13293 emacs and non-emacs compilation as well).
13294 Similarly for (not)categoryspec and (not)syntaxspec.
13295 Don't use the fastmap when reaching `anychar' since the added
13296 complexity is not justified.
13297 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13298 and (not)syntaxspec. Merge (not)categoryspec.
13299
fdaa1f77
KH
133002000-03-22 Kenichi Handa <handa@etl.go.jp>
13301
52283633
SM
13302 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13303 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13304 --without-x.
fdaa1f77 13305
d152fb46
DL
133062000-03-21 Dave Love <fx@gnu.org>
13307
13308 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13309 doc string.
13310
d2cafc8c
GM
133112000-03-21 Gerd Moellmann <gerd@gnu.org>
13312
13313 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13314 (lface_fully_specified_p): Don't check contents of
13315 LFACE_FONT_INDEX because that attribute is optional.
13316 (realize_x_face): Remove now unwarranted xassert.
13317
9111d4b5
KH
133182000-03-21 Kenichi HANDA <handa@etl.go.jp>
13319
13320 The following changes are to make font selection based on
13321 characters, not charset. In addition, they recover fontset
13322 facilities while utilizing the new font selection mechanism.
13323
6c4bfdc0
KH
13324 * Makefile.in (fontset.o): Depend on dispextern.h.
13325
13326 * alloc.c (mark_face_cache): Don't mark face->registry.
13327
9111d4b5
KH
13328 * dispextern.h (struct glyph): New member glyph_not_available_p.
13329 Use 22 bits for face_id.
13330 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13331 (struct face): Delete member registry, new member ascii_face.
13332 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13333 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13334 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13335 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13336
13337 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13338 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13339 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13340 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13341 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13342 (fs_free_face_fontset, fontset_font_pattern)
13343 (face_suitable_for_char_p, face_for_char)
13344 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13345 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13346 (FS_LOAD_FACE_FONT): New macro.
13347
13348 * fontset.c: All codes rewritten or adjusted for the change of
13349 fontset implementation. Now fontset is represented by char table.
52283633
SM
13350 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13351 Variables removed.
9111d4b5 13352 (my_strcasecmp): Function removed.
52283633 13353 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13354 (AREF, ASIZE): New macros.
52283633
SM
13355 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13356 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13357 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13358 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13359 (fontset_id_valid_p, font_family_registry, fontset_name)
13360 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13361 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13362 New functions.
13363 (fs_load_font): New arg FACE. Caller changed.
13364 (fs_query_fontset): Argument changed. Caller changed.
13365 (Fquery_fontset): call fs_query_fontset.
13366 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13367 Functions removed.
52283633
SM
13368 (clear_fontset_elements, check_registry_encoding)
13369 (check_fontset_name): New functions.
9111d4b5
KH
13370 (syms_of_fontset): Set char-table-extra-slots property of fontset
13371 to 3. Staticpro and initialize Vfontset_table and
13372 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13373
13374 * frame.h (struct frame): Member `fontset_data' removed.
13375 (FRAME_FONTSET_DATA): Macro removed.
13376
13377 * frame.c (make_frame): Don't allocate f->fontset_data.
13378 (Fdelete_frame): Don't free f->fontset_data.
13379
6c4bfdc0
KH
13380 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13381
9111d4b5
KH
13382 * xdisp.c (charset_at_position): Function removed.
13383 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13384 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13385 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13386 Likewise.
13387 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13388 FACE_FOR_CHARSET.
52283633
SM
13389 (get_next_display_element, append_space)
13390 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13391
13392 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13393 Variables removed.
13394 (clear_font_table, frame_update_line_height, load_face_font):
13395 Adjusted for the change of fontset implementation.
13396 (load_face_fontset_font): Function removed.
13397 (pixel_point_size): New function.
13398 (font_list): Argument type changed. Caller changed.
13399 (LFACE_FONT): New macro.
13400 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13401 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13402 Lisp_Object. Determine the font name by actually loading a font
13403 by the specified pattern. Set LFACE_FONT (lface) to the specified
13404 pattern. Even if a font is not found, don't try alternatives.
13405 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13406 (set_font_frame_param): If `font' is specified in lface, use it.
13407 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13408 (lface_same_font_attributes_p): Likewise.
13409 (make_realized_face): Arguent changed. Caller changed. Set
13410 face->ascii_face to face itself.
13411 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13412 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13413 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13414 (free_realized_multibyte_face): New function.
13415 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13416 changed. Caller changed.
13417 (try_font_list): Argument type changed.
13418 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13419 (choose_face_font): Argument changed. Handle fontset properly.
13420 (choose_face_fontset_font): Function removed.
13421 (realize_default_face, realize_named_face): Don't remove the
13422 former face here.
13423 (realize_face): Argument changed. Caller changed. Remove face
52283633 13424 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13425 (realize_x_face): Argument changed. Caller changed. For a
13426 multibyte character, share fontset with base_face. For a single
52283633 13427 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13428 (realize_tty_face): Argument changed. Caller changed.
13429 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13430 (face_at_buffer_position): Don't check multibyte_p for returning
13431 DEFAULT_FACE_ID.
13432 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13433 FACE_SUITABLE_FOR_CHARSET_P.
13434 (syms_of_xfaces): Remove code for Qx_charset_registry and
13435 Vface_default_registry.
13436
6c4bfdc0
KH
13437 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13438 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13439 (x_per_char_metric): Don't try FONT->default_char. Even if
13440 pcm->width is zero, glyph bits may exist.
13441 (x_encode_char): Always initialize char2b->byte1.
13442 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13443 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13444 (x_append_glyph): Set glyph->glyph_not_available_p.
13445 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13446 it->charset. Handle the case that per char metric is not
13447 available. If it->multibyte_p is zero and it->c is a multibyte
13448 character, convert it to a unibyte character.
13449 (struct glyph_string): Delete member `charset'.
13450 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13451 the case that per char metric is not available correctly.
13452 (x_fill_glyph_string): Handle the case that the specific glyph is
13453 not available correctly.
13454 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13455 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13456 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13457 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13458 fontset. Don't call FS_LOAD_FONT.
13459
13460 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13461 (x_create_tip_frame): Likewise.
13462 (Fx_close_connection): Free full_name of font_info.
13463
13464 * fns.c (optimize_sub_char_table): New function.
13465 (Foptimize_char_table): New function.
13466 (syms_of_fns): Defsubr Soptimize_char_table.
13467
b33dd3b0
GM
134682000-03-20 Gerd Moellmann <gerd@gnu.org>
13469
13470 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13471 only if buffer is displayed in some window.
13472
13473 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13474 (try_window_reusing_current_matrix): Don't call scroll run
13475 function if run's current and desired position are the same;
13476 this prevents cursor flickering.
13477
4e8a9132
SM
134782000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13479
13480 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13481
13482 * regex.c (RE_STRING_CHAR): New macro.
13483 (GET_CHAR_AFER_2): Remove.
13484 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13485 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13486 (print_partial_compiled_pattern, re_compile_fastmap)
13487 (re_match_2_internal): Remove on_failure_jump_exclusive.
13488 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13489 optimization only need to work for * (ie. can use of_keep_string_jump).
13490 Remove the special case for .*\n since it is now covered by the general
13491 optimization.
13492 (re_search_2): Don't bother with `room'.
13493 (skip_one_char): New function.
13494 (skip_noops): Simplify since `memory' is not needed any more.
13495 (mutually_exclusive_p): Restructure slightly to use `switch' and
13496 add handling for "all" remaining cases.
13497 (re_match_2_internal): Change on_failure_jump_smart to use
13498 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13499 rather than on_failure_jump_exclusive.
13500
2136fdd4
GM
135012000-03-19 Gerd Moellmann <gerd@gnu.org>
13502
13503 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13504 number of bits per RGB because it's everywhere used as the depth
13505 of the visual.
13506
13507 * term.c (calculate_costs): Remove code dealing with X frames.
13508
18e21ce8 135092000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13510
13511 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13512
d7b511c4
GM
135132000-03-18 Gerd Moellmann <gerd@gnu.org>
13514
13515 * lread.c (read_integer): Unread the last char not consumed.
13516
16b5d424
GM
135172000-03-17 Gerd Moellmann <gerd@gnu.org>
13518
13519 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13520 which are in the process of being deleted.
16b5d424 13521
1fa28578
GM
135222000-03-16 Gerd Moellmann <gerd@gnu.org>
13523
83488cce
GM
13524 * Makefile.in (mostlyclean): Add `*.core'.
13525 (clean): Add `bootstrap-emacs'.
13526
1fa28578
GM
13527 * lread.c (read_integer): New function.
13528 (read1): Support read syntax #o, #x, #b, #r.
13529
99633e97
SM
135302000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13531
1fa28578
GM
13532 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13533 make sure POINTER_TO_OFFSET gives the same value before and after
13534 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13535 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13536 (debug): Now only active if > 0 rather than if != 0.
13537 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13538 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13539 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13540 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13541 (store_op1, store_op2, insert_op1, insert_op2)
13542 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13543 (group_in_compile_stack): Move to after its arg's types are
13544 declared and add a prototype.
99633e97 13545 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13546 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13547 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13548 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13549 indentation of the greedy-op and shy-group code.
99633e97
SM
13550 (at_(beg|end)line_loc_p): Fix argument's types.
13551 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13552 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13553 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13554 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13555 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13556 QUIT unconditionally.
99633e97 13557
699238d9
GM
135582000-03-15 Gerd Moellmann <gerd@gnu.org>
13559
13560 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13561 a sole completion.
13562
13563 * process.c (send_process): Add a hint that the function
13564 can call Lisp code to its comment.
13565
13566 * lread.c (load_dangerous_libraries): New variable.
13567 (Vbytecomp_version_regexp): New variable.
13568 (safe_to_load_p): New function.
13569 (Fload): Handle files not compiled with Emacs specially.
13570 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13571
34e23e5a
GM
135722000-03-14 Gerd Moellmann <gerd@gnu.org>
13573
9c763cca
GM
13574 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13575
13576 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13577 support functions only if HAVE_X11R6_XIM is defined.
13578 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13579
13580 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13581
13582 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13583 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13584 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13585
13586 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13587 (HAVE_X11R6_XIM): Define.
13588
13589 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13590
34e23e5a
GM
13591 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13592 If set, call XSynchronize.
13593
66f0296e
SM
135942000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13595
34e23e5a
GM
13596 * regex.c: Declare a new type `re_char' used throughout the code
13597 for the string char type. It's `const unsigned char' to match the
13598 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13599 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13600 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13601 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13602 code duplication.
66f0296e
SM
13603
13604 * charset.h (GET_CHAR_AFTER_2): Remove.
13605 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13606
854a025c
KR
136072000-03-12 Ken Raeburn <raeburn@gnu.org>
13608
13609 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13610 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13611 of them try to use backquotes.
13612
b9d2c7e2
DL
136132000-03-12 Dave Love <fx@gnu.org>
13614
13615 * unexelf.c: Restore changes of 1999-10-19.
13616 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13617 fix its type and alignment; copy it from current process.
13618
5e5dff44
GM
136192000-03-12 Gerd Moellmann <gerd@gnu.org>
13620
9b2f3c38
GM
13621 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13622 has been found. Fix bug not computing timer's predecessor.
13623
427ec082 13624 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13625 file name.
13626
e1cff360
GM
13627 * window.c (Fsave_window_excursion): Doc fix.
13628
52283633 13629 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13630
e411ce4b
EZ
136312000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13632
13633 * msdos.c (vga_installed): New function, code moved from
13634 dos_set_window_size.
13635 (Qbar, Qcursor_type, outside_cursor): New variables.
13636 (syms_of_msdos): Intern and staticpro them.
13637 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13638 shape used outside Emacs when called for the first time.
13639 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13640 cursor shape used outside Emacs.
13641 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13642 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13643 type has changed.
13644 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13645 parameters specify the cursor. Make qreverse a global
13646 variable (renamed to Qreverse).
13647
80460654
GM
136482000-03-09 Gerd Moellmann <gerd@gnu.org>
13649
13650 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13651
95cd4c40
SM
136522000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13653
13654 This is a big redesign of failure-stack and register handling, prompted
13655 by bugs revealed when trying to add shy-groups. Overall, what happened
13656 is that loops are now structured a little differently, groups can be
13657 shy and the code is a little simpler.
13658
13659 * regex.h: Update the copyright.
13660 (RE_SHY_GROUPS): New value.
13661 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13662 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13663
80460654
GM
13664 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13665 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13666 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13667 for (start|stop)_memory since they now only take one argument (the
13668 second has becomes unnecessary).
52283633 13669 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13670 (print_compiled_pattern): Use %ld to printf long ints and flush to
13671 make debugging a little easier.
95cd4c40
SM
13672 (union fail_stack_elt): Make the integer unsigned.
13673 (struct fail_stack_type): Add a `frame' element.
13674 (INIT_FAIL_STACK): Init `frame' as well.
13675 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13676 (DEBUG_PUSH, DEBUG_POP): Remove.
13677 (NUM_REG_ITEMS): Remove.
13678 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13679 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13680 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13681 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13682 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13683 New macros.
80460654
GM
13684 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13685 address pushed is not the destination of the jump but the source
13686 of it instead.
95cd4c40
SM
13687 (NUM_FAILURE_ITEMS): Remove.
13688 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13689 registers before the actual failure point). Don't hardcode any
13690 meaning for str==NULL anymore.
95cd4c40 13691 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13692 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13693 Remove.
95cd4c40
SM
13694 (REG_UNSET_VALUE): Use NULL (why not?).
13695 (compile_range): Remove declaration since it doesn't exist.
13696 (struct compile_stack_elt_t): Remove inner_group_offset.
13697 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13698 (regex_grow_registers): Remove dead code.
13699 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13700 (regex_compile): Add shy-groups Change loops to use
13701 on_failure_jump_smart&jump instead of
13702 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13703 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13704 variable to me). Use `jump' instead of `jump_past_alt' and don't
13705 bother with push_dummy_failure in alternatives since it is now
13706 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13707 emacs' for (re)allocating the stack.
13708 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13709 from loop when bufp->can_be_null rather than jumping to `done'.
13710 Avoid jumping backwards so as to ensure termination. Use
13711 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13712 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13713 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13714 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13715 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13716 (lowest_active_reg, highest_active_reg)
13717 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13718 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13719 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13720 variables. Push register (in `start_memory') on the stack rather
13721 than storing it in old_reg(start|end). Remove the cycle detection
13722 from `stop_memory', replaced by the use of on_failure_jump_loop
13723 for greedy loops. Add code for the new on_failure_jump_<foo>.
13724 Remove ad-hoc code in `on_failure_jump' to push more registers in
13725 the case of a loop. Take out code from `maybe_pop_jump' into
13726 separate functions and adapt it to the semantics of
13727 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13728 and push_dummy_failure. Remove dummy_failure handling and
13729 handling of `failures to jump to on_failure_jump' (this last one
13730 was already dead code, it seems).
13731 (group_match_null_string_p, alt_match_null_string_p)
13732 (common_op_match_null_string_p): Remove.
95cd4c40 13733
7397acc4
DL
137342000-03-08 Dave Love <fx@gnu.org>
13735
13736 * config.in: Don't depend on __STDC__ for volatile.
13737 Add POINTER_TYPE, PTR, PROTOTYPES.
13738
13739 * hftctl.c, strftime.c: Use PROTOTYPES.
13740 * eval.c (find_handler_clause): Likewise.
13741
13742 * mem-limits.h: Use POINTER_TYPE.
13743
13744 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13745 (memory_warnings): Declare using POINTER_TYPE.
13746
5e91ff9e
GM
137472000-03-08 Gerd Moellmann <gerd@gnu.org>
13748
feab4fba
GM
13749 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13750
52283633 13751 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13752
5e91ff9e
GM
13753 * xfns.c: Remove obsolete code in #if 0.
13754 (Fx_focus_frame): New function.
13755
a735b7e1
KH
137562000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13757
13758 * coding.c (coding_category_name): Add coding-category-utf-8,
13759 coding-category-utf-16-be, coding-category-utf-16-le.
13760 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13761 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13762 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13763 (detect_coding_utf_8): New function.
13764 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13765 UTF_16_LOW_SURROGATE_P): New macros.
13766 (detect_coding_utf_16): New function
13767 (detect_coding_mask): When priorities are specified, skip any
13768 categories that have `nil' coding-system. Fix bug of returning
13769 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13770 returns a mask not set in PRIORITIES.
13771 (detect_eol_type_in_2_octet_form): New function.
13772 (detect_eol): selects detect_eol_type_XXX to call according to
13773 cooding->category_idx.
13774 (detect_coding_system): Remove `nil' coding-system in the result.
13775 (Fupdate_coding_systems_internal): Update all coding-categories.
13776
52283633
SM
13777 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13778 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13779 New macros.
13780 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13781 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13782 (CODING_CATEGORY_IDX_UTF_16_LE)
13783 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13784 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13785 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13786 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13787
9994cc69
GM
137882000-03-07 Gerd Moellmann <gerd@gnu.org>
13789
e9b4e5ff
GM
13790 * doc.c (Fdocumentation_property): If value is not a string,
13791 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13792
f7daf1e1
GM
13793 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13794 close the display with XtCloseDisplay. This caused a bus error
13795 on OpenWindows.
13796
9994cc69
GM
13797 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13798 complete but not unique.
13799
4336c705
GM
138002000-03-06 Gerd Moellmann <gerd@gnu.org>
13801
18bb0684
GM
13802 * process.c (send_process): Remove local variable `procname' that
13803 might become invalid when a GC happens. Instead, access the
13804 process name slot directly.
13805
4336c705
GM
13806 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13807 orig_height if set.
13808
13809 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13810 orig_height if set.
13811
515d0d0e
EZ
138122000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13813
13814 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13815 glyph matrices have been freed.
13816
100b3cbb
GM
138172000-03-05 Gerd Moellmann <gerd@gnu.org>
13818
50df5e5a 13819 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13820 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13821
13822 * xfns.c (QCdata): Moved to xdisp.c.
13823
13824 * xdisp.c (QCdata): Moved here from xfns.c.
13825 (syms_of_xdisp): Initialize QCdata.
13826
13827 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13828
13829 * window.c (coordinates_in_window): Use
13830 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13831 FRAME_INTERNAL_BORDER_WIDTH.
13832
100b3cbb 13833 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13834 it is obviously invalid.
100b3cbb
GM
13835
13836 * xterm.c (x_term_init): Create a colormap if not using the
13837 default visual.
13838
13839 * xterm.h (select_visual): Change prototype.
13840
13841 * xfns.c (select_visual): Rewritten. Recognize user-specified
13842 visual classes.
13843 (visual_classes): New variable.
13844
64d739c4
GM
138452000-03-04 Gerd Moellmann <gerd@gnu.org>
13846
13847 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13848 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13849 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13850 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13851 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13852 XtNcolormap resources.
13853 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13854 (Fx_create_frame): Initialize color members of x_output structure.
13855 (xpm_load): Pass colormap to XPM lib.
13856
13857 * xfaces.c (x_free_colors): Access colormap of frame using
13858 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13859 when default colormap is used.
13860
13861 * xterm.c (x_term_init): Set Colormap member of x_display_info
13862 structure. Copy colormap if resource `privateColormap' is
13863 specified (PseudoColor only).
13864 (x_setup_relief_color): Access colormap of frame using
13865 FRAME_X_COLORMAP.
13866
13867 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13868 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13869
c3cee013
JR
138702000-03-04 Jason Rumney <jasonr@gnu.org>
13871
13872 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13873 other non-platform-specific equivalents.
64d739c4 13874 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13875 specific functions and macros as their w32 equivalents where
13876 non-platform-specifics are not available.
13877 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13878 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13879 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13880 (frame_update_line_height): Use macros to access f->output_data.
13881 (defined_color): Remove FIXME comments; fixed.
13882 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13883 into #ifdef blocks. Add WINDOWSNT blocks.
13884 (Fx_list_fonts): Use macros for accessing font data.
13885 (set_lface_from_font_name): Different default fonts for X and
13886 WINDOWSNT.
13887 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13888 scalable for backward compatibility.
64d739c4 13889 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13890 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13891
64d739c4 13892 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13893 syms_of_w32faces.
13894
13895 * makefile.nt (w32faces.obj): Remove.
13896 (xfaces.obj): Add.
13897
807cc41c
JR
138982000-03-03 Jason Rumney <jasonr@gnu.org>
13899
13900 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13901 correct parameters.
13902
0007072a
KR
139032000-03-03 Ken Raeburn <raeburn@gnu.org>
13904
13905 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13906 standard ELF definitions here if the system header does not.
13907
71a6ba55
GM
139082000-03-03 Gerd Moellmann <gerd@gnu.org>
13909
13910 * xterm.c (PER_CHAR_METRIC): Removed.
13911 (x_per_char_metric_1, x_default_char): New functions.
13912 (x_per_char_metric): If font's default char is invalid, return
13913 metrics of a suitably chosen usable default char.
13914 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13915 char, replace occurrences of unprintable chars with a suitably
13916 chosen usable default char.
71a6ba55 13917
900fa1f1
GM
139182000-03-02 Gerd Moellmann <gerd@gnu.org>
13919
42f55fe0
GM
13920 * xterm.c (note_mouse_highlight): Return quickly if frame's
13921 glyph matrices have been freed.
13922
13923 * dispnew.c (free_glyphs): Block input while freeing matrices.
13924
900fa1f1
GM
13925 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13926
52283633
SM
13927 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13928 Use x_free_colors.
900fa1f1
GM
13929
13930 * dispextern.h (x_free_colors): Add prototype.
13931
13932 * xfaces.c (x_free_colors): New function.
13933 (unload_color, free_face_colors): Use it.
13934
2f950292
EZ
139352000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13936
13937 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13938
13939 * window.c [MSDOS]: Include msdos.h.
13940
54d04320
DL
139412000-03-02 Dave Love <fx@gnu.org>
13942
13943 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13944
13945 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13946 set C_OPTIMIZE_SWITCH for gcc.
13947
0ba93ac4
KH
139482000-03-02 Kenichi Handa <handa@etl.go.jp>
13949
13950 * coding.c (coding_save_composition): Be sure to allocate
13951 composition data area in coding even if there's no composition in
13952 the current run.
13953
a2bc11d4
JR
139542000-03-01 Jason Rumney <jasonr@gnu.org>
13955
13956 * w32term.c: Equivalent changes to those made to xterm.c on
13957 2000-02-25 and 2000-02-24.
13958
13959 * w32fns.c: Equivalent changes to those made to xfns.c on
13960 2000-02-25 and 2000-02-21.
13961
13962 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13963 correct line-end convention is followed.
13964
13965 * w32menu.c [HAVE_BOXES]: Remove #undef.
13966 (single_keymap_panes): Remove code for simulating checkmarks.
13967 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13968 Remove code for drawing simulated checkmarks.
13969 (w32_menu_show): make unibyte help string correctly.
13970 (add_menu_item): draw standard Windows checkmarks. Draw radio
13971 buttons as radio buttons if possible.
13972
72d19d75
GM
139732000-03-01 Gerd Moellmann <gerd@gnu.org>
13974
2df636f4
GM
13975 * sysdep.c (start_of_text): Don't define this function for NetBSD
13976 with ELF.
13977
427ec082 13978 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13979 Don't define.
13980 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13981 (LINKER): Don't undef if __NetBSD__ is defined.
13982
13983 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13984
13985 * fileio.c [__NetBSD__]: Define `unix'.
13986
72d19d75
GM
13987 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13988
ed4d0512
GM
139892000-02-29 Gerd Moellmann <gerd@gnu.org>
13990
50b1039f
GM
13991 * atimer.c (start_atimer): Don't abort when timers are stopped.
13992 (append_atimer_lists): New function.
13993 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13994 arbitrary lists of stopped and running atimers.
13995
ed4d0512
GM
13996 * atimer.c (cancel_atimer): Handle canceling an atimer when
13997 some timers are stopped.
13998
13999 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14000 after canceling it.
14001
14002 * fns.c (maybe_resize_hash_table): Handle case of new size
14003 coming out as being the same as old size.
14004
387023ee
JR
140052000-02-27 Jason Rumney <jasonr@gnu.org>
14006
14007 * makefile.nt: Add atimer.h to dependencies.
14008 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14009 * w32console.c: Only disable window system features for dispextern.h
14010 (initialize_w32_display): Build a display info for the console.
14011 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14012 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14013 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14014 as 2 button mice.
14015 * w32gui.h (struct W32FontStruct): Revert last change after change
14016 to xdisp.c.
14017 * w32menu.c (single_submenu): Set up help string.
14018 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14019 (w32_dialog_show): Set up help string.
14020 * w32term.c (w32_display_info_for_display): Remove unused function.
14021 (w32_draw_bitmap): Use pre-built bitmaps.
14022 (w32_initialize_display_info): New function to initialize parts of
14023 display info that are common to both GUI and console frames.
14024 (w32_term_init): Use w32_initialize_display_info. Do not set
14025 Vw32_num_mouse_buttons here, as it is not called for console
14026 frames. Build bitmaps for indicating truncated lines etc.
14027 (x_delete_display): Destroy pre-built bitmaps.
14028 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14029 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14030
4516715a
DL
140312000-02-27 Dave Love <fx@gnu.org>
14032
14033 * lisp.h: Add a bunch of prototypes.
14034
171ca836
KH
140352000-02-26 Kenichi Handa <handa@etl.go.jp>
14036
14037 * keyboard.c (read_char): Set `usec' correctly.
14038
4013921d
KH
140392000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14040
14041 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14042 `lambda', set reg[RRR] to the map index.
14043 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14044 reg[RRR] to 0. Otherwise, set it to -1.
14045
9244a058
GM
140462000-02-25 Gerd Moellmann <gerd@gnu.org>
14047
2df636f4 14048 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14049
18e21ce8 140502000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14051
f43d79c1
GM
14052 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14053 and contains a `:', prepend `/:'.
14054
14055 * window.c (select_window_1): If selected_window is nil,
14056 don't "swap out" the buffer's point.
14057 (Fset_window_configuration): Set selected_window to nil
14058 before calling Fselect_window.
14059 (unshow_buffer): Don't set point in buffer from window's point
14060 if another more recently selected window also shows the buffer.
14061
bed0c171
GM
140622000-02-25 Gerd Moellmann <gerd@gnu.org>
14063
449c3c52
GM
14064 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14065
f5b58615
GM
14066 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14067 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14068 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14069 New variables.
f5b58615
GM
14070 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14071 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14072 (hide_busy_cursor): New functions.
14073 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14074
14075 * minibuf.c (read_minibuf): Cancel busy-cursor.
14076
14077 * keyboard.c (command_loop_1): Call start_busy_cursor before
14078 Fcommand_execute and cancel_busy_cursor after it.
14079 (timer_check): Remove busy-cursor code.
14080 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14081 cursor timer.
14082
14083 * process.c (wait_reading_process_input): Remove busy-cursor code.
14084
14085 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14086 Fx_hide_busy_cursor.
14087
14088 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14089 Remove prototyoes.
14090 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14091
14092 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14093
14094 * xterm.c (XTread_socket): Remove busy-cursor code.
14095
4eb8436f
GM
14096 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14097 (build_frame_matrix_from_leaf_window): Put code handling
14098 glyph row's not being a slice of a frame row in #if 0.
14099 (sync_window_with_frame_matrix_rows): New function.
14100 (frame_row_to_window): New function.
14101 (mirror_line_dance): Handle copies between windows.
14102
3cb65b0e
GM
14103 * lread.c (Fload): Use `xfree' instead of `free'.
14104 (init_obarray): Use `xmalloc' instead of `malloc'.
14105
bed0c171
GM
14106 * window.c (Fset_window_buffer): Set WINDOW to the window
14107 after decoding.
2add4349
GM
14108 (coordinates_in_window): Take frame's internal border width
14109 into account.
bed0c171 14110
42088c12
GM
141112000-02-24 Gerd Moellmann <gerd@gnu.org>
14112
14113 * xterm.c (x_display_and_set_cursor): Display cursor of
14114 non-selected windows depending on the setting of
14115 cursor_in_non_selected_windows.
14116
14117 * xdisp.c (cursor_in_non_selected_windows): New variable.
14118 (syms_of_xdisp): DEFVAR_BOOL it.
14119
d1e103b2
GM
141202000-02-23 Gerd Moellmann <gerd@gnu.org>
14121
723e779c
GM
14122 * data.c (Fstring_to_number): If number is greater than what
14123 fits into an integer, return a float.
14124
d1e103b2
GM
14125 * eval.c (specbind): Remove references to
14126 keyword_symbols_constant_flag.
14127
14128 * data.c (keyword_symbols_constant_flag): Removed.
14129 (Fmakunbound, set_internal, syms_of_data): Remove references to
14130 keyword_symbols_constant_flag.
14131
14132 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14133
214f877f
KH
141342000-02-23 Kenichi Handa <handa@etl.go.jp>
14135
14136 * syntax.c (multibyte_syntax_as_symbol): New variable.
14137 (syms_of_syntax): Declare it as a Lisp variable.
14138 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14139 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14140 nonzero, treat all multibyte characters as symbol.
52283633 14141 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14142
130adcb7
EZ
141432000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14144
3cb65b0e 14145 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14146 a deleted frame.
130adcb7 14147
17cbbf95
GM
141482000-02-21 Gerd Moellmann <gerd@gnu.org>
14149
14150 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14151
14152 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14153 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14154
beb0bc36
DL
141552000-02-21 Dave Love <fx@gnu.org>
14156
14157 * frame.c (Vmouse_position_function): New variable.
14158 (Fmouse_position): Use it.
14159 (syms_of_frame): Install it.
14160
14161 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14162
1d92afcd
GM
141632000-02-20 Gerd Moellmann <gerd@gnu.org>
14164
14165 * fileio.c (Finsert_file_contents): Unbind the binding of
14166 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14167
14168 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14169 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14170 (specbind, unbind_to): Handle most common case of non-constant
14171 symbol with trivial value specially.
14172
14173 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14174
18e21ce8 141752000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14176
14177 * data.c (Fmake_variable_buffer_local): Doc fix.
14178 Init found_for_buffer to 0.
14179 (Fmake_variable_frame_local): If the variable has already
14180 been buffer-local, set the check_frame field.
14181
1d4311c3
EZ
141822000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14183
14184 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14185 produced for CODING_MODE_LAST_BLOCK requires.
14186
2dc95ddd
DL
141872000-02-18 Dave Love <fx@gnu.org>
14188
14189 * keyboard.c (echo_keystrokes): Remove declaration.
14190 (Vecho_keystrokes) New variable.
14191 (read_char, record_menu_key, read_key_sequence): Use it to allow
14192 use of float value.
14193 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14194
14195 * lread.c: Undef feature selection macros before defining.
14196
f0930f35
GM
141972000-02-18 Gerd Moellmann <gerd@gnu.org>
14198
14199 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14200 for symbols other than the symbol in question.
14201
e3d4de90
DL
142022000-02-17 Dave Love <fx@gnu.org>
14203
14204 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14205
0b378936
GM
142062000-02-17 Gerd Moellmann <gerd@gnu.org>
14207
d621caf7
GM
14208 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14209
0b378936
GM
14210 * alloc.c (enum mem_type): Compile unconditionally.
14211
3b451f74
EZ
142122000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14213
14214 * xfaces.c (tty_defined_color): Don't return faulire indication
14215 for unspecified-fg and unspecified-bg pseudo-colors.
14216
10689a01
GM
142172000-02-17 Gerd Moellmann <gerd@gnu.org>
14218
1216f5e4
GM
14219 * alloc.c (mark_object): Don't mark symbol names in pure space.
14220 (gc_sweep): Don't unmark symbol names in pure space.
14221
14222 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14223 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14224 [GC_MARK_STACK]: New defines.
427ec082 14225 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14226 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14227
14228 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14229
14230 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14231 allocate_buffer instead of xmalloc.
14232
14233 * alloc.c (toplevel): Include setjmp.h.
14234 (PURE_POINTER_P): New define.
14235 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14236 (Vdead) [GC_MARK_STACK]: New variable.
14237 (lisp_malloc): Add parameter TYPE, call mem_insert if
14238 GC_MARK_STACK is defined.
14239 (allocate_buffer): New function.
427ec082 14240 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14241 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14242 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14243 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14244 (MEM_NIL) [GC_MARK_STACK]: New define.
14245 (struct mem_node) [GC_MARK_STACK]: New structure.
14246 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14247 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14248 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14249 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14250 (mark_stack) [GC_MARK_STACK]: New functions.
14251 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14252 (clear_marks): Removed.
14253 (gc_sweep): Set free conses' car, free floats' type, free
14254 symbols' function to Vdead. Use lisp_free to free buffers.
14255 (init_alloc_once): Initialize Vdead.
14256 (survives_gc_p): Return non-zero for pure objects.
14257
14258 * alloc.c: Add comments throughout the file.
14259
2503c8b1
GM
14260 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14261 that unblocks alarms.
14262
8389e1e2
GM
14263 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14264 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14265 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14266
10689a01 14267 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14268
bfc17d18
KH
142692000-02-17 Kenichi Handa <handa@etl.go.jp>
14270
4a09dee0
KH
14271 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14272 avoid infinite error signaling. Allocate sufficient memory for
14273 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14274
2b927d02
SM
142752000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14276
14277 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14278 depends on the previous behavior.
14279
b49cb764
GM
142802000-02-16 Gerd Moellmann <gerd@gnu.org>
14281
14282 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14283
99e95407
GM
142842000-02-15 Gerd Moellmann <gerd@gnu.org>
14285
14286 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14287
14288 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14289 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14290 write(2).
14291
6ffd3cf7
RS
142922000-02-15 Richard M. Stallman <rms@gnu.org>
14293
14294 * data.c (set_internal): Don't make variable buffer-local
14295 if within a let-binding for the same buffer.
14296 (let_shadows_buffer_binding_p): New function.
14297
14298 * eval.c (specbind): For buffer-local value,
14299 record the current buffer also.
14300 (unbind_to): Cope with that change.
14301
cad53475
GM
143022000-02-15 Gerd Moellmann <gerd@gnu.org>
14303
14304 * window.c (Fsave_window_excursion): Doc fix.
14305
1aa963c8
SM
143062000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14307
14308 * syntax.c (back_comment): Make sure we only consider comment-starters
14309 of the relevant style and return -1 in case of a failure to find the
14310 beginning of the comment.
14311 (Fforward_comment): If back_comment fails, go back to the position just
14312 after the comment-end.
14313 (scan_lists): Add comment describing a very minor bug.
14314
b9b84fd3
SM
143152000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14316
14317 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14318 `completion-regexp-list' in the docstring.
14319
3a28db80
DL
143202000-02-14 Dave Love <fx@gnu.org>
14321
14322 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14323
fb4a568d
SM
143242000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14325
14326 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14327 to Emacs' syntax. Also fix the comment about set/not-set meanings
14328 since Emacs syntax is not the value 0 any more.
14329 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14330 since it's now part of RE_SYNTAX_EMACS.
14331
1063ebb5
DL
143322000-02-12 Dave Love <fx@gnu.org>
14333
52283633 14334 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14335
fb07a302
GM
143362000-02-12 Gerd Moellmann <gerd@gnu.org>
14337
14338 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14339
aaf2320c
DL
143402000-02-12 Dave Love <fx@gnu.org>
14341
14342 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14343
14344 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14345 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14346 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14347
14348 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14349
14350 * s/nextstep.h: Don't define HAVE_ALLOCA.
14351
14352 * config.in: Add vfork bits.
14353
eedf8bde
GM
143542000-02-12 Gerd Moellmann <gerd@gnu.org>
14355
14356 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14357 unwind function to undo the effect of stopping atimers.
14358
52283633 14359 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14360
14361 * atimer.c (stopped_atimers): New variable.
14362 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14363 New functions.
14364
14365 * atimer.h (stop_other_atimers, run_all_atimers)
14366 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14367
eedf8bde
GM
14368 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14369
8476c2f8
KR
143702000-02-11 Ken Raeburn <raeburn@gnu.org>
14371
14372 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14373 library may depend on jpeg.
14374 (atimer.o): Depends on atimer.c.
14375
0e85e4a3
KH
143762000-02-11 Kenichi Handa <handa@etl.go.jp>
14377
14378 * insdel.c (del_range_1): Call update_compositions.
14379 (del_range_both): Call update_compositions just once..
14380
97fa0cc8
DL
143812000-02-10 Dave Love <fx@gnu.org>
14382
14383 * xfns.c (create_frame_xic): Fix initialization of automatic
14384 aggregates for pcc.
14385
25566a3c
KH
143862000-02-09 Kenichi Handa <handa@etl.go.jp>
14387
14388 * ccl.c (CCL_MAKE_CHAR): New macro.
14389 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14390 registers by CCL_MAKE_CHAR before calling translate_char.
14391 <CCL_TranslateCharacterConstTbl> Likewise.
14392
69da54ba
DL
143932000-02-08 Dave Love <fx@gnu.org>
14394
14395 * lread.c (__EXTENSIONS__): Define.
14396
f7136ee8
GM
143972000-02-08 Gerd Moellmann <gerd@gnu.org>
14398
14399 * puresize.h (BASE_PURESIZE): Increase to 650000.
14400
7768790b
EZ
144012000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14402
14403 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14404 the help message.
14405
38fd211b
EZ
144062000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14407
14408 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14409 md, mh, mb, mr, and me to the fake termcap entry.
14410
66e4690f
KR
144112000-02-06 Ken Raeburn <raeburn@gnu.org>
14412
14413 * sound.c (sound_cleanup): Don't call device close routine if the
14414 function pointer is null.
14415
a75dfea0
AI
144162000-02-06 Andrew Innes <andrewi@gnu.org>
14417
14418 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14419 around image definitions and prototypes.
14420 (gamma_correct) [WINDOWSNT]: New prototype.
14421
14422 * w32term.c (x_make_frame_visible): Replace call to
14423 input_poll_signal with poll_for_input.
14424
14425 * window.c [WINDOWSNT]: Include w32term.h.
14426
14427 * xdisp.c [WINDOWSNT]: Include w32term.h.
14428
14429 * makefile.nt: Add dependencies on w32gui.h.
14430 (OBJ1): Include atimer.obj.
14431 ($(BLD)\atimer.obj): New dependency rule.
14432
14433 * w32.c (sigmask): New function (does nothing).
14434 (sigunblock): Ditto.
14435
14436 * frame.c [WINDOWSNT]: Include w32term.h.
14437
14438 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14439
14440 * lread.c (syms_of_lread): Fix literal newlines.
14441
14442 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14443 the string constant limit (2048 bytes) in MSVC.
14444 (main): Ditto.
14445
59ddecde
GM
144462000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14447
52283633 14448 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14449 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14450 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14451 dispatch the event.
14452
07590973
DL
144532000-02-04 Dave Love <fx@gnu.org>
14454
14455 * fileio.c: Remove some unused vars.
14456 (_GNU_SOURCE): Define (for euidaccess).
14457
14458 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14459
14460 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14461 gcpro1, gcpro2.
14462 (read_minibuf): Deal with allow_props correctly.
14463
649351f9
EZ
144642000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14465
14466 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14467
66e4690f 144682000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14469
14470 * search.c (compile_pattern): If a cache entry has a nil regexp,
14471 fill in that entry instead of clobbering a previously cached
14472 string regexp.
14473
66e4690f 144742000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14475
14476 * puresize.h (BASE_PURESIZE): Increase to 610000.
14477
d240a249
GM
144782000-02-02 Gerd Moellmann <gerd@gnu.org>
14479
14480 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14481 can GC.
14482
ca91fb26
KH
144832000-02-02 Kenichi Handa <handa@etl.go.jp>
14484
25660570
KH
14485 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14486 instead of incrementing ic directly.
14487 <CCL_WriteExprConst> Likewise.
14488 <ccl_set_expr>: Set ic to jump_address.
14489
ca91fb26
KH
14490 * fileio.c (e_write): Fix the handling of
14491 CODING_FINISH_INSUFFICIENT_SRC.
14492
2ede9689
DL
144932000-02-01 Dave Love <fx@gnu.org>
14494
14495 * editfns.c (Fpropertize): Doc fix.
14496
14497 * process.c (Fstart_process): Doc fix.
14498
14499 * eval.c: Fix various doc strings not to duplicate information
14500 from help-manyarg-func-alist.
14501
52283633 14502 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14503
14504 * doc.c (Vhelp_manyarg_func_alist): New variable.
14505 (Fdocumentation): Use it.
14506 (syms_of_doc): Define it.
14507
b6680a0e
GM
145082000-01-31 Gerd Moellmann <gerd@gnu.org>
14509
2cb750ba
GM
14510 * xterm.c (xim_open_dpy): Remove unused local variable.
14511
52283633 14512 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14513
14514 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14515 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14516
b6680a0e
GM
14517 * fns.c (sweep_weak_table): New function.
14518 (sweep_weak_hash_tables): Use it. Keep on marking until there
14519 is no more change.
14520
994c5afe
GM
145212000-01-30 Gerd Moellmann <gerd@gnu.org>
14522
14523 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14524 that XTread_socket does not crash by trying to call XNoOp on a
14525 closed display.
427ec082 14526
f00276e3
JR
145272000-01-30 Jason Rumney <jasonr@gnu.org>
14528
14529 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14530 Change selected_frame to SELECTED_FRAME ().
14531 (w32_console_mouse_position): Remove #ifndef MULE from around
14532 `insist' parameter.
14533
14534 * makefile.nt: Remove dosfns.obj.
14535
14536 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14537
14538 * w32fns.c (w32_defined_color): Check for valid frame before
14539 applying gamma correction. Eliminate dependency on frame elsewhere.
14540 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14541 (w32_to_x_font): Use resx and resy not height_in and width_in.
14542 (x_to_w32_font): Doc fix.
14543 (xlfd_strip_height): New function to strip and return font height.
14544 (w32_font_match): Compare height separately from rest of xlfd
14545 spec, using xlfd_strip_height.
14546
14547 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14548 width_in. Use w32_defined_color in place of defined_color.
14549
14550 * w32faces.c: Merge more of DOS and X specifics in preparation for
14551 merge with xfaces.c.
14552 (defined_color): Remove FIXME comment.
14553 (tty_color_name): Provide w32-specific function.
14554 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14555
14556 * w32console.c (turn_on_face, turn_off_face): Removed.
14557 (w32_face_attributes): New function.
14558 (Global_variables): Reduce scope where possible.
14559 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14560 fill attribute.
14561 (hl_mode): Don't modify text attributes.
14562 (write_glyphs): Don't do anything if len <= 0. Use
14563 w32_face_attributes to get attributes for drawing. Write
14564 terminating codes using char_attr_normal.
14565 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14566 (update_begin, update_end): Likewise.
14567 (vga_stdcolor_name): New function.
14568 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14569 (Fset_screen_color): Remove char_attr_reverse.
14570
b08e8bb2
GM
145712000-01-29 Gerd Moellmann <gerd@gnu.org>
14572
14573 * xfns.c (xic_set_preeditarea): Take window parameter and
14574 window-relative pixel-positions.
14575
14576 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14577 is its frame's selected window.
14578 (xim_instantiate_callback): Likewise.
14579
14580 * xfns.c (x_create_im): Removed.
14581 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14582 (supported_xim_styles): Renamed from supported_styles.
14583 (best_xim_style): Renamed from best_style.
14584 (create_frame_xic): Renamed from xic_create_frame.
14585 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14586
b08e8bb2
GM
145872000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14588
14589 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14590 our frames, call XFilterEvent with 2nd parameter `None'.
14591 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14592 returning XBufferOverflow.
52283633 14593 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14594 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14595 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14596 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14597 (xim_initialize, xim_close)
14598 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14599 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14600 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14601 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14602
14603 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14604 and `xim_styles'.
14605 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14606 `xic_style' and `xic_xfs'.
14607 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14608 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14609 (FRAME_XIM): Removed.
14610
14611 * xfns.c (supported_styles): New variable.
14612 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14613 (xic_create_xfontset, best_style, xic_create_frame)
14614 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14615 (xic_set_xfontset): New functions.
14616
142e109c
DL
146172000-01-28 Dave Love <fx@gnu.org>
14618
14619 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14620
14621 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14622
b02786f9
GM
146232000-01-28 Gerd Moellmann <gerd@gnu.org>
14624
d060bc9f
GM
14625 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14626 for *scratch* if it already existed.
14627
b02786f9
GM
14628 * emacs.c (USAGE): New macro.
14629 (main): Use it to display usage information.
14630
2c52d7e4
EZ
146312000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14632
14633 Support for the menu-help feature:
14634
52283633 14635 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14636
14637 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14638 part of the line to the termscript file.
14639 (IT_clear_to_end): Clear the entire line, not just its beginning.
14640 (menu_help_message, prev_menu_help_message): New variables.
14641 (IT_menu_make_room): Make room for the help_text member.
14642 (IT_menu_display): New argument disp_help; all callers changed.
14643 If disp_help is non-zero, store the help text of the active menu
14644 item in menu_help_message.
14645 (XMenuAddPane): Initialize the help_text member to NULL.
14646 (XMenuAddSelection): New argument help_text. Store it in the
14647 XMenu structure.
14648 (XMenuActivate): New argument help_callback. If the value of
14649 menu_help_message has changed since the last time, display the
14650 menu help message text while waiting for the mouse to move. Clear
14651 the echo area before exiting.
14652 (XMenuDestroy): Free the help_text member.
14653
ffe0bcd1
GM
146542000-01-27 Gerd Moellmann <gerd@gnu.org>
14655
14656 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14657 XMenuAddSelection. Pass help callback to XMenuActivate.
14658 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14659
50dbd23f
EZ
146602000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14661
14662 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14663 and EMACS_SET_USECS.
14664
f5941bf8
GM
146652000-01-26 Dave Love <fx@gnu.org>
14666
6c67ddee
DL
14667 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14668
f5941bf8
GM
14669 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14670 an error may be signalled.
14671
9e49c990
GM
146722000-01-26 Gerd Moellmann <gerd@gnu.org>
14673
fc3cb460
GM
14674 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14675 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14676
9e49c990
GM
14677 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14678
d0c037d8
GM
146792000-01-25 Gerd Moellmann <gerd@gnu.org>
14680
14681 * charset.c (Fstring): If there is a multibyte char among
14682 the args, always return a multibyte string.
14683
e12489f9
GM
146842000-01-25 Gerd Moellmann <gerd@gnu.org>
14685
14686 * sysdep.c (sys_select): Turn atimers off and on instead of
14687 recording and restoring old alarm handler
14688
14689 * process.c (toplevel): Include atimer.h.
14690 (create_process_1): Rewritten.
14691 (create_process): Use atimers instead of alarm.
14692 (wait_reading_process_input) [hpux]: Turn atimers off instead
14693 of turning off SIGALRM.
14694 (wait_reading_process_input): Turn off atimers instead off
14695 calling stop_polling.
14696
14697 * emacs.c (main): Call init_atimer.
14698
14699 * keyboard.c (toplevel): Include systime.h and atimer.h.
14700 (polling_for_input): Removed because unused.
14701 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14702 (poll_timer): New variable.
14703 (poll_for_input, poll_for_input_1): New functions.
14704 (start_polling, stop_polling): Rewritten.
14705
14706 * keyboard.h (polling_for_input): Removed.
427ec082 14707
e12489f9
GM
14708 * atimer.h, atimer.c: New files.
14709
14710 * Makefile.in (obj): Add atimer.o.
14711 (atimer.o): New target.
14712
14713 * blockinput.h (pending_atimers): Add extern declaration.
14714 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14715
14716 * lisp.h (popup_activated_flag): Add extern declaration.
14717
14718 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14719 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14720 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14721
14722 * xterm.c (toplevel): Include atimer.h.
14723 (toolkit_scroll_bar_interaction): New variable.
14724 (Fxt_process_timeouts): Removed.
14725 (x_process_timeouts): New function.
14726 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14727 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14728 (x_make_frame_visible): Call poll_for_input_1 instead of
14729 input_poll_signal. Don't call alarm.
14730 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14731
1e5279b9
DL
147322000-01-24 Dave Love <fx@gnu.org>
14733
6c67ddee 14734 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14735 Don't use -cckr -- apparently not now necessary.
14736
edf6aeb8
EZ
147372000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14738
14739 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14740 screen boundary.
14741
9badad41
JR
147422000-01-23 Jason Rumney <jasonr@gnu.org>
14743
14744 * w32fns.c (w32_defined_color): Apply gamma correction before
14745 trying to map to the palette.
14746 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14747 to w32_clear_rect.
14748
14749 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14750 here. Callers changed to always pass real device context.
14751 (w32_draw_bitmap): Likewise.
14752 (w32_get_glyph_overhangs): Likewise.
52283633 14753 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14754 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14755 pfnSetScrollInfo and SetScrollRange.
14756 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14757 back into MULE characters after decoding them.
14758 (x_get_glyph_face_and_encoding): Likewise.
14759 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14760 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14761 (x_produce_glyphs): Calculate per char metrics for a character
14762 that we know exists in default font when font_not_found_p is true.
14763
63bd786b
JR
147642000-01-22 Jason Rumney <jasonr@gnu.org>
14765
14766 * makefile.nt (intervals.obj, composite.obj): New modules.
14767 (composite.h): Added as dependency where appropriate.
14768
14769 * w32gui.h (XGCValue): New struct for emulating X GCs.
14770
14771 * w32term.h (XCharStruct): New struct for emulating X.
14772
14773 * w32console.c (turn_on_face, turn_off_face): New functions.
14774 (change_line_highlight): New prototype for new redisplay.
14775 (write_glyphs): Support multibyte text. Support faces.
14776
52283633 14777 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14778
14779 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14780 throughout. struct frame * in place of FRAME_PTR.
14781 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14782 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14783 (w32_get_arg): Renamed from x_get_arg.
14784 (Fx_file_dialog): New function.
14785 (w32_list_fonts): Check cache before asking system.
14786 (Vw32_enable_synthesized_fonts): New variable.
14787 (Vw32_enable_italics): Obsolete, removed.
14788
14789 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14790 Use SELECTED_FRAME macro.
14791
14792 * w32menu.c: Add skeleton support for help strings on menus.
14793 (add_menu_item): Native checkbox and radio support added, but not
14794 yet enabled due to bugs.
14795 (push_menu_item): Add parameters type, selection and help.
14796 Callers updated.
14797 Formatting changes to reduce unnecessary diffs with xmenu.c.
14798
14799 * w32select.c (Fw32_set_clipboard_data): Update call to
14800 find_charset_in_str.
14801
14802 * w32term.c: Complete rewrite for new redisplay based on new
14803 xterm.c with necessary sections merged back in from old w32term.c.
14804
6ffd3cf7 148052000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14806
14807 * data.c (set_internal): Further fix in same criterion.
14808
6ffd3cf7 148092000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14810
14811 * data.c (set_internal): Fix the criteria for whether
14812 to swap out the old cached binding.
14813
60af03f1
DL
148142000-01-19 Dave Love <fx@gnu.org>
14815
14816 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14817
f9be074f
KH
148182000-01-18 Kenichi Handa <handa@etl.go.jp>
14819
14820 * regex.c (re_compile_fastmap): While checking a range table for
14821 `charset', skip flag bits for a character class correctly.
14822
52b8dbf9
GM
148232000-01-17 Gerd Moellmann <gerd@gnu.org>
14824
d36100c9
GM
14825 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14826
52283633 14827 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14828
14829 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14830 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14831
14832 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14833 MENU_ITEMS_ITEM_.*.
14834 (MENU_ITEMS_ITEM_HELP): New enumerator.
14835 (push_menu_item): Add parameter HELP. Record help in menu_items.
14836 (single_menu_item, single_submenu, list_of_items): Call
14837 push_menu_item with new parameter.
14838 (single_submenu): Set help string in widget value.
14839 (menu_highlight_callback): New function.
14840 (set_frame_menubar): Call lw_create_widget with new
14841 parameter list.
14842 (xmenu_show, xdialog_show): Ditto.
14843
3139018f
GM
148442000-01-13 Gerd Moellmann <gerd@gnu.org>
14845
14846 * sound.c (Fplay_sound): Improve doc string.
14847
83c8f461
RS
148482000-01-11 Richard M. Stallman <rms@gnu.org>
14849
14850 * lisp.h (set_internal): Enter the new arg.
14851
14852 * eval.c (specbind): Record buffer-local variables specially,
14853 indicating which buffer's binding was saved.
14854 (unbind_to): Restore buffer-local variables specially
14855 in the proper buffer.
14856
14857 * data.c (set_internal): New arg BUF.
427ec082 14858
83c8f461
RS
14859 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14860 * data.c (Fset): Pass new arg to set_internal.
14861 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14862
1fab1775
GM
148632000-01-11 Gerd Moellmann <gerd@gnu.org>
14864
52283633 14865 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14866
83c8f461 148672000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14868
14869 * minibuf.c (Ftry_completion): Doc fix.
14870
7a85e4df
GM
148712000-01-11 Gerd Moellmann <gerd@gnu.org>
14872
14873 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14874 vector, too.
14875
a970dae4
AS
148762000-01-11 Andreas Schwab <schwab@suse.de>
14877
14878 * coding.c (code_convert_region): Initialize total_skip.
14879
c65d14ee
DL
148802000-01-08 Dave Love <fx@gnu.org>
14881
14882 * eval.c (Fuser_variable_p): Check customizability too.
14883
834938d2
GM
148842000-01-07 Gerd Moellmann <gerd@gnu.org>
14885
14886 * minibuf.c (Fcompleting_read): Doc fix.
14887
e0303cd6
GM
148882000-01-05 Gerd Moellmann <gerd@gnu.org>
14889
8a26744b
GM
14890 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14891 -L /usr/local/lib.
14892
e0303cd6
GM
14893 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14894 Check that input style is supported before trying to create an
14895 IC for it.
14896 (x_window): Call x_create_im.
427ec082 14897
2e471eb5
GM
148982000-01-04 Gerd Moellmann <gerd@gnu.org>
14899
560a7bd2
GM
14900 * xfns.c (current_gif_memory_src): New variable.
14901 (gif_load): Record the address of the current memory source
14902 in current_gif_memory_src.
14903 (gif_read_from_memory): Use current_gif_memory_src.
14904
f9ee84a3
GM
14905 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14906 macros statement form.
14907
d1299cde
GM
14908 * sound.c (struct sound): Renamed from struct sound_file.
14909 (struct sound): Add members `data' and `header_size'.
14910 (enum sound_attr): Add SOUND_DATA.
14911 (current_sound, current_sound_device): Variables renamed from
14912 sound_file and sound_device.
14913 (parse_sound): Parse :data.
14914 (parse_sound): Handle sound data in strings.
14915 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14916 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14917 needed header size.
14918 (wav_play, au_play): Play sounds from string data.
14919
2e471eb5
GM
14920 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14921
14922 * lisp.h: Add prototype for allocate_string_data.
14923
52283633 14924 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14925
14926 * alloc.c (mark_buffer): Remove code in #if 0.
14927 (gc_sweep): Ditto.
14928 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14929 (strings_consed): New variable.
14930 (allocate_string): Set it.
14931 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14932 (Fmemory_use_counts): Return strings_consed. Use Flist.
14933
14934 * alloc.c: General cleanup in comments etc. Remove conditional
14935 compilation for `standalone'.
14936
14937 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14938
14939 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14940 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14941 (DONT_COPY_FLAG): Removed.
14942 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14943 (struct sdata, struct sblock): New
14944 (struct string_block): Rewritten.
14945 (STRINGS_IN_STRING_BLOCK): New macro.
14946 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14947 (large_sblocks, string_blocks, string_free_list): New variables.
14948 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14949 (init_strings): Rewritten.
14950 (allocate_string, allocate_string_data, compact_small_strings)
14951 (free_large_strings, sweep_strings): New functions.
14952 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14953 (struct string_block_head, current_string_block)
14954 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14955 (STRING_PAD): Removed.
14956 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14957 (Fgarbage_collect): Don't set mark bit in large strings.
14958 (mark_object): Mark strings differently. Mark symbol names
14959 differently.
14960 (survives_gc_p): Test marked strings differently.
427ec082 14961 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14962 symbol names.
14963 (compact_strings): Removed.
14964
42608ba8
EZ
149652000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14966
14967 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14968 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14969
e0a09e1a
KH
149702000-01-04 Kenichi Handa <handa@etl.go.jp>
14971
dd9f0750 14972 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14973 in a non-empty buffer.
dd9f0750 14974
3c0f3b15 14975 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14976
44cd3ae5
GM
149772000-01-03 Gerd Moellmann <gerd@gnu.org>
14978
14979 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14980 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14981
14982 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14983
c182a70f
EZ
149842000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14985
14986 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14987 need to test for MSDOS frames.
14988
24480d5b
EZ
149892000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14990
14991 * dosfns.c (unspecified_colors): Remove.
14992 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14993 unspecified_bg.
14994 (msdos_stdcolor_name): Return strings for unspecified fore- and
14995 back-ground colors.
14996
14997 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14998 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14999 (tty_color_name): Return Lisp strings for unspecified fore- and
15000 back-ground colors.
15001 (Finternal_set_lisp_face_attribute): Remove the special treatment
15002 for Qunspecified_{f,b}g.
52283633 15003 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 15004
047f434a
GM
150052000-01-03 Gerd Moellmann <gerd@gnu.org>
15006
15007 * xdisp.c (reseat_at_next_visible_line_start): Position before
15008 newline only if ending up on a newline.
15009 (next_element_from_ellipsis): Return success. Handle case of
52283633 15010 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
15011 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15012 returns 0.
15013
d684c676
EZ
150142000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15015
15016 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15017 (Fcolor_supported_p): Renamed from face-color-supported-p.
15018
5fe1d139
EZ
150192000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15020
15021 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15022 list of colors renamed to tty-defined-color-alist.
15023 (tty_color_name): Pass the frame to tty-color-by-index.
15024 (realize_tty_face): tty-color-alist is now a function which
15025 accepts the frame as argument.
15026
52283633 15027 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15028
816be8b8
EZ
150292000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15030
15031 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15032 encode_terminal_code.
15033
b635321e
EZ
150342000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15035
15036 * dispnew.c (mode_line_string): Support termcap frames as well.
15037
9b784e96
GM
150382000-01-01 Gerd Moellmann <gerd@gnu.org>
15039
27189709
GM
15040 * syntax.c (Fforward_word): Undo previous change.
15041
15042 * editfns.c (Fconstrain_to_field): Don't constrain if
15043 inhibit-field-text-motion is non-nil.
15044 (Fline_beginning_position): Undo previous change.
15045 (Fline_end_position): Ditto.
15046
15047 * syntax.c (Fforward_word): Notice field boundaries only if
15048 inhibit-field-text-motion is nil.
15049
15050 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15051
15052 * editfns.c (Vinhibit_field_text_motion): New variable.
15053 (inhibit-field-text-motion): New DEFVAR_LISP.
15054 (Fline_beginning_position, Fline_end_position): Notice field
15055 boundaries only if inhibit-field-text-motion is nil.
15056
45158a91
GM
15057 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15058 All calls adjusted.
15059 (x_build_heuristic_mask): Likewise.
15060 (xbm_load_image_from_file): Change error output.
15061 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15062 (gif_load, gs_load, x_kill_gs_process): Ditto.
15063
9b784e96
GM
15064 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15065 color indices when accessing raster pixels.
63cec32f
GM
15066 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15067 one of :file or :data.
15068 (enum pbm_keyword_index): Add PBM_DATA.
15069 (pbm_format): Add :data.
15070 (pbm_image_p): Allow either :file or :data.
15071 (pbm_read_file): New function.
15072 (pbm_scan_number): Rewritten to read from string.
15073 (pbm_load): Support :data.
9b784e96 15074
2cb085db 15075See ChangeLog.8 for earlier changes.
6922b018
KH
15076
15077;; Local Variables:
49b3bd82 15078;; coding: iso-2022-7bit
6922b018 15079;; End:
2a34a036
GM
15080
15081 Copyright (C) 2001 Free Software Foundation, Inc.
15082 Copying and distribution of this file, with or without modification,
15083 are permitted provided the copyright notice and this notice are preserved.