(x_setup_relief_colors): Don't compute an image's
[bpt/emacs.git] / src / ChangeLog
CommitLineData
539e92ad
GM
12001-12-28 Gerd Moellmann <gerd@gnu.org>
2
0cb8bb48
GM
3 * xterm.c (x_setup_relief_colors): Don't compute an image's
4 background color if it doesn't have a Pixmap.
5
60626bab
GM
6 * xterm.c (notice_overwritten_cursor): Don't depend on
7 output_cursor and updated_area. Compare pixel coordinates with
8 window's cursor pixel coordinates.
9 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
10 notice_overwritten_cursor with new arg list.
11 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
12 unconditionally.
0cb8bb48 13
539e92ad
GM
14 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
15 height of the cursor line to the amount to scroll.
16
4e02881b
RS
172001-12-27 Richard M. Stallman <rms@gnu.org>
18
19 * intervals.c (set_point_both): The position after an invisible,
20 intangible character is not an acceptable stopping point.
21
1ab964d7
KR
222001-12-27 Ken Raeburn <raeburn@gnu.org>
23
24 * window.c (enlarge_window): In new preserve_before code, convert
25 CURBEG from lisp object to integer before doing arithmetic.
26
749f499f
RS
272001-12-27 Richard M. Stallman <rms@gnu.org>
28
29 * bytecode.c (Fbyte_code): Undo previous change.
30
b5d9aaba
KS
312001-12-26 Kim F. Storm <storm@cua.dk>
32
33 * keyboard.c (record_char): Ignore duplicate help-echo events only
34 separated by mouse-movement. When tracking mouse, only record
35 first and last mouse-movement event in same window.
36 Don't record mouse-movement events in keyboard macros.
37
d0fd26dd
RS
382001-12-25 Richard M. Stallman <rms@gnu.org>
39
b4c45162
RS
40 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
41 (Fenlarge_window): New arg PRESERVE_BEFORE.
42
d0fd26dd
RS
43 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
44 instead of Fstring_as_unibyte.
45
c95eaa61
PJ
462001-12-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
47
48 The following changes remove mocklisp support:
49
50 * mocklisp.h, mocklisp.c: Files removed.
51
52 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
53 `Qmocklisp' and `Qmocklisp_arguments'.
54 Remove prototype of syms_of_mocklisp.
55
56 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp
57 files.
58
59 * callint.c: Do not include mocklisp.h.
60 (Fcall_interactively): Do not test for mocklisp case.
61
62 * eval.c: Remove variables `Qmocklisp_arguments',
63 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of
64 ml_apply.
65 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda): Do
66 not test for mocklisp case.
67 (Fwhile): Remove unused variable `tem'.
68 (syms_of_eval): Remove variable `moclisp-arguments'.
69
70 * data.c (wrong_type_argument): Remove mocklisp case.
71
72 * doc.c (Fdocumentation): Remove mocklisp case.
73
74 * emacs.c (main): Do not call syms_of_mocklisp.
75
31877e0a
RS
762001-12-21 Richard M. Stallman <rms@gnu.org>
77
78 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
79 to the left or to the right of the pointer, put it against
80 the left screen edge.
81
e2c3786a
EZ
822001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
83
84 * Makefile.in (distclean): Remove .gdbinit if we are building
85 outside the source tree.
86
c513fc03
EZ
872001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
88
bf794306
EZ
89 * w32.c (emacs_root_dir): New function.
90
91 * msdos.c (emacs_root_dir): New function.
92
93 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
94 of the current drive as the fallback for default_directory.
95
62582985
EZ
96 * dired.c (file_name_completion): Run the elements of
97 completion-ignored-extensions through ENCODE_FILE.
98
c513fc03
EZ
99 * lisp.h (scmp): Remove prototype, since it's now a static
100 function private to dired.c.
101
3509a04c
RS
1022001-12-18 Richard M. Stallman <rms@gnu.org>
103
104 * dired.c (scmp): Function moved from minibuf.c.
105 Delete multibyte handling--used only on encoded strings.
106
107 * minibuf.c (scmp): Function moved to dired.c.
108
109 * fns.c (merge): Add QUIT call.
110
1e9a6186
DL
1112001-12-18 Dave Love <fx@gnu.org>
112
113 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
114 language/georgian.el.
115
e4e34e31
EZ
1162001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
117
118 * Makefile.in (lisp, shortlisp): Synchronize with changes to
119 lisp/Makefile.in:DONTCOMPILE.
120
4521d1fc
PJ
1212001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
122
7c75be36
PJ
123 * xdisp.c (window_box_height): Do not return negative values.
124 From Gerd Moellmann <gerd@gnu.org>.
125
4521d1fc
PJ
126 * keyboard.c (head_table): Add missing braces around initializer.
127
128 * term.c (keys): Likewise.
129
130 * xfns.c (x_frame_parms, visual_classes): Likewise.
131
93dec019
SS
1322001-12-17 Sam Steingold <sds@gnu.org>
133
134 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
135 patch (COMPOSING_P, not COMPOSING).
136
905cc05a
RS
1372001-12-17 Richard M. Stallman <rms@gnu.org>
138
2ed06289
RS
139 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
140
0e79d667
RS
141 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
142 before calling decode_coding.
143
144 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
145
146 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
905cc05a
RS
147 instead of only for COMPOSITION_DISABLED.
148
82a7ab23
RS
1492001-12-16 Richard M. Stallman <rms@gnu.org>
150
d75bec6a
RS
151 * alloc.c (pure_alloc): After overflow, allocate just a small block.
152
52dcb476
RS
153 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
154
82a7ab23
RS
155 * buffer.h (struct buffer): New field `display_error_modiff'.
156 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
157
158 * window.c (Frecenter): Clear display_error_modiff field.
159
160 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
161 Call redisplay_window, but not if display_error_modiff field says no.
162 (redisplay_window_error): New function.
163 (displayed_buffer): New variable.
164 (redisplay_internal, redisplay_windows): Call the new functions
165 instead of redisplay_window directly.
166
4d0fa4f3
RS
1672001-12-15 Richard M. Stallman <rms@gnu.org>
168
169 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
170
493faf20
AI
1712001-12-14 Andrew Innes <andrewi@gnu.org>
172
325111e9
AI
173 * makefile.w32-in (EMACSLOADPATH): Define.
174 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
175 (bootstrap-temacs): Remove dependency on bootstrap-clean.
493faf20 176
4971e491
EZ
1772001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
178
397b3b50 179 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
180 parameter have a numeric value all the time.
181
182 * w32fns.c (x_report_frame_params): Likewise.
183
d911a0fa
RS
1842001-12-12 Richard M. Stallman <rms@gnu.org>
185
186 * fileio.c (Fwrite_region): Doc fix.
187
188 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
189 (redisplay_internal): Call clear_image_cache only for window terminals.
190
201c831a
GM
1912001-12-12 Gerd Moellmann <gerd@gnu.org>
192
193 * xdisp.c (move_it_vertically_backward): Change heuristic
194 for the case that we didn't move far enough initially.
195
196 * window.c (Frecenter): Simplify computation in the case of window
197 system frames and ARG < 0; use window_box_height.
198
34e39c95
RS
1992001-12-11 Richard M. Stallman <rms@gnu.org>
200
201 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
202 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
203
d77fbc16
AI
2042001-12-11 Andrew Innes <andrewi@gnu.org>
205
206 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
207 arg is negative.
208
61e3b944
RS
2092001-12-11 Richard M. Stallman <rms@gnu.org>
210
211 * m/hp800.h: Split the __hpux conditional into the parts
212 that are right for GNU/Linux too and the parts that are not.
213 Use the former if GNU_LINUX.
214 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
215
216 * s/gnu-linux.h (GNU_LINUX): Defined.
217
70da46c3
PJ
2182001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
219
220 * macros.c, msdos.c, w16select.c: Change doc-string comments to
221 `new style' [w/`doc:' keyword].
222
8af01033
JR
2232001-12-10 Jason Rumney <jasonr@gnu.org>
224
225 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
226 before using.
227
7363986a
PJ
2282001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
229
230 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
231 keyword].
232
d9e6c4b1
EZ
2332001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
234
d20fc48a
EZ
235 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
236
d9e6c4b1
EZ
237 * s/hpux10.h (srand48): Don't undefine.
238
f1a85b89
JR
2392001-12-09 Jason Rumney <jasonr@gnu.org>
240
241 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
242 comment to explain where the struct came from.
243 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
244 (add_menu_item): Process pop-up menus first to avoid memory leak.
245 (add_menu_item, w32_menu_display_help): Use `help' field as
246 Lisp_Object.
247 (w32_free_submenu_strings): Only free owner-drawn strings.
248
3a62677f
PJ
2492001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
250
72244db2
PJ
251 * COPYING: Moved back.
252
3a62677f
PJ
253 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
254 Add parentheses around && within ||.
255
256 * indent.c (compute_motion): Likewise.
257
258 * intervals.c (merge_properties_sticky): Likewise.
259
260 * coding.c (setup_coding_system, shrink_encoding_region)
261 (Fdecode_sjis_char): Likewise.
262
9d113d9d
AS
2632001-12-07 Andreas Schwab <schwab@suse.de>
264
b8523839
AS
265 * xdisp.c (display_mode_element): Don't read past end of string if
266 it ends with '%'.
267
9464dea4
AS
268 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
269 can hold.
270
9d113d9d
AS
271 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
272 from most_positive_fixnum and most_negative_fixnum, resp., and
273 type changed to Lisp_Object.
274 (syms_of_data): DEFVAR_LISP them.
275
70ec1377
RS
2762001-12-07 Richard M. Stallman <rms@gnu.org>
277
278 * callproc.c (init_callproc): Set Vdata_directory based on the source
279 location whenever Emacs was run uninstalled.
280
92f7dd37
PE
2812001-12-06 Paul Eggert <eggert@twinsun.com>
282
283 * config.in (HAVE_WORKING_VFORK): New #undefs.
284 * process.c (create_process):
285 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
286 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
287 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
288 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
289 * m/intel386.h (HAVE_VFORK): Likewise.
290 * m/mips-siemens.h (HAVE_VFORK): Likewise.
291 * m/mips.h (HAVE_VFORK): Likewise.
292 * s/freebsd.h (vfork): Remove #define.
293 * s/lynxos.h (HAVE_VFORK): Remove #undef.
294 * s/usg5-4-2.h: Fix comment about vfork.
295
c93674bb
RS
2962001-12-06 Richard M. Stallman <rms@gnu.org>
297
298 * s/hpux10.h (random): Add undef.
299 (HAVE_RANDOM): Define it just once.
300
59b59892
SM
3012001-12-06 Stefan Monnier <monnier@cs.yale.edu>
302
303 * eval.c: Undo last change: the standard syntax is not wanted.
304
c6ea2775
EZ
3052001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
306
307 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
308 scroll bars of the frame before deleting the frame itself. If the
309 frame has a widget, delete the frame with XtDestroyWidget, and do
310 not call XDestroyWindow before that.
311
91175673
KS
3122001-12-06 Kim F. Storm <storm@cua.dk>
313
314 * xfns.c (x_report_frame_params): Return actual fringe widths.
315
316 * w32fns.c (x_report_frame_params): Return actual fringe widths.
317
e0fead5d
AI
3182001-12-05 Andrew Innes <andrewi@gnu.org>
319
320 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
321 excessively large.
322
323 * insdel.c (make_gap_larger): New function.
324 (make_gap_smaller): New function.
325 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
326 make_gap_smaller if arg is negative.
327
c186cdb3
SM
3282001-12-04 Stefan Monnier <monnier@cs.yale.edu>
329
330 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
331 Pass a dummy argument when calling interrupt_signal.
332 (parse_menu_item): Mark disabled items before checking for empty def.
333 (read_char_minibuf_menu_prompt): Make safety more visible.
334 (read_key_sequence): Add a `first_unbound' variable.
335 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
336 unbound prefix as soon as we can detect it.
337
338 * doc.c (Fsnarf_documentation): Add prototype.
339 (get_doc_string): Handle negative arguments.
340 (Fdocumentation): Use AREF and ASIZE.
341 Move the calls to get_doc_string to a single place.
342 Don't confuse an interactive-spec for a docstring reference.
343 (Fdocumentation_property): Take advantage of the fact that
344 get_doc_string now ignores the sign of the docstring position.
345
346 * eval.c: Use standard syntax for usage in docstrings.
347
58cfce98
PJ
3482001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
349
c186cdb3 350 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 351
62854fe2
PJ
3522001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
353
354 * xterm.c (x_draw_image_relief): Use predefined macro instead of
355 constant when the value of `tool_bar_button_relief' is negative.
356
656f46bb
RS
3572001-12-02 Richard M. Stallman <rms@gnu.org>
358
359 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
360 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
361
362 * fileio.c (read_non_regular): Delete Fsignal call.
363
036e218d
SM
3642001-12-01 Stefan Monnier <monnier@cs.yale.edu>
365
366 * lisp.h (run_hook_list_with_args): Undo last change.
367
7ddb2c16
GM
3682001-12-01 Gerd Moellmann <gerd@gnu.org>
369
370 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
371
ace9b298
JR
3722001-12-01 Jason Rumney <jasonr@gnu.org>
373
90647b07
JR
374 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
375
376 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
377 [!WM_MOUSELEAVE]: Define.
378
ace9b298
JR
379 * w32menu.c (current_popup_menu, get_menu_item_info):
380 (set_menu_item_info): New vars.
381 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
382 (w32_menu_show): Set current_popup_menu.
383 (add_menu_item): Allocate new strings for owner-drawn menu items
384 and help strings.
385 Use owner-draw for disabled menu items again.
386 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
387 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
388
389 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
390 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
391 <WM_EXITMENULOOP>: Free menu strings.
392 <WM_MOUSELEAVE>: Stop tracking mouse.
393 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
394
395 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
396 and mouse face.
397
a9549909 3982001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
399
400 The following changes add left-fringe and right-fringe
401 frame parameters to adjust fringe widths, or remove one or
402 both fringes.
036e218d 403
9fbc32aa
KS
404 * frame.h (struct frame): Remove trunc_area_pixel_width and
405 trunc_area_cols fields.
406 (Qleft_fringe, Qright_fringe): Declare.
407 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
408
409 * frame.c (Qleft_fringe, Qright_fringe): New vars.
410 (syms_of_frame): Initialize them.
411
412 * window.c (coordinates_in_window): Handle separate left and right
413 fringe widths.
414
415 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
416 and fringe_cols fields.
417 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
418 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
419 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
420 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
421 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
422 (x_compute_fringe_widths): Add prototype.
423
424 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
425 fill fringe evenly with small dashes.
426 (x_draw_fringe_bitmap): Clear background if necessary. Align and
427 clip the new ZV bitmap to avoid jitter between rows.
428 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
429 background. Don't draw fringe bitmaps if fringe width is zero.
430 (x_compute_fringe_widths): New function.
431 (x_new_font, x_set_window_size_1): Use it.
432
433 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
434 (x_set_frame_parameters): Process Process `font' parameter before other
435 parameters as fringe widths depend on it.
436 (x_set_fringe_width): New function.
437 (x_figure_window_size): Use x_compute_fringe_widths.
438 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
439 parameters.
440
441 * widget.c (set_frame_size): Use x_compute_fringe_widths.
442 (EmacsFrameSetCharSize): Ditto.
443
444 * w32term.h: Merged changes from xterm.h.
445 * w32term.c: Merged changes from xterm.c.
446 * w32fns.c: Merged changes from xfns.c.
447
0142178a
PJ
4482001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
449
450 * COPYING: Removed.
451
d4824a5d
DL
4522001-11-29 Dave Love <fx@gnu.org>
453
454 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
455 extra extra slot.
456 (detect_coding_mask): Fix call of detect_coding_iso2022.
457
b1356234
PJ
4582001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
459
460 * fileio.c (file-name-coding-system)
461 (default-file-name-coding-system): Doc fix (links to referenced
462 variables added).
463
3ce081f5
SM
4642001-11-28 Stefan Monnier <monnier@cs.yale.edu>
465
99e380ee
SM
466 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
467 Add dummy uses of gcproN variables.
468
3ce081f5 469 * category.c (describe_category, describe_category_1)
2ad56c09 470 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
471 (syms_of_category): Don't defsubr Sdescribe_categories.
472
66458f32
RS
4732001-11-28 Richard M. Stallman <rms@gnu.org>
474
475 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
476
477 * Makefile.in (lispdir): New variable, referring to build dir.
478 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
479
59a86c99
AI
4802001-11-28 Andrew Innes <andrewi@gnu.org>
481
482 * w32menu.c (w32_menu_display_help): Actually add the new argument
483 OWNER.
484
eb77a5f4
JR
4852001-11-28 Jason Rumney <jasonr@gnu.org>
486
487 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
488 menu items. From David Ponce <dponce@wanadoo.fr>.
489 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
490 conditionally.
491 (w32_menu_display_help): New argument OWNER. Rewritten to store a
492 help event in the owner frame's keyboard buffer.
493
494 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
495 (Fx_show_tip): Don't subtract last width from row width.
496
497 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
498 (w32_read_socket): Use EQ to compare frames.
499
bb313871
GM
5002001-11-28 Gerd Moellmann <gerd@gnu.org>
501
502 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
503 OVERLAPS_P.
504
55b43a63
PJ
5052001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
506
6052529b
PJ
507 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
508 `gcpro3' and `gcpro4'.
509
3ce081f5
SM
510 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
511
5122001-11-28 Stefan Monnier <monnier@cs.yale.edu>
513
514 * ccl.c: Use AREF and ASIZE.
515
5162001-11-27 Stefan Monnier <monnier@cs.yale.edu>
517
518 * lisp.h (run_hook_list_with_args): Remove.
519 (LIST_END_P): Fix call to wrong_type_argument.
520 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 521
111ed14e
SM
5222001-11-26 Stefan Monnier <monnier@cs.yale.edu>
523
9fabb2f5
SM
524 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
525 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
526
527 * eval.c: Use AREF and ASIZE.
528 (Ffetch_bytecode): Add the file name to the error message.
529
530 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
531 which match the end of the file-name.
532 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
533 is not a valid env var, but leave it as is instead.
534
111ed14e
SM
535 * keymap.c (access_keymap): Handle t bindings like nil bindings.
536 Make nil bindings in char-tables transparent.
537 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
538
2fa0eedf
RS
5392001-11-26 Richard M. Stallman <rms@gnu.org>
540
d1420435
RS
541 * textprop.c (set_text_properties_1): Allow START, END in either order.
542 Do nothing if range is empty.
543
2fa0eedf
RS
544 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
545
ebcbef4e
RS
546 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
547 (clean): Not here.
548
5c131048
SM
5492001-11-25 Stefan Monnier <monnier@cs.yale.edu>
550
551 * textprop.c (set_text_properties_1): Clearly mark that the
552 interval should not be empty.
553
554 * intervals.c (graft_intervals_into_buffer):
555 Don't call set_text_properties_1 on an empty interval.
556
96d276c3
RS
5572001-11-25 Richard M. Stallman <rms@gnu.org>
558
6108b49c
RS
559 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
560
96d276c3
RS
561 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
562 don't lose the data in it.
563
5eea19a4
RS
5642001-11-25 Juanma Barranquero <lektu@terra.es>
565
566 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
567
568 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
569
570 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
571
438e57dd
SM
5722001-11-25 Stefan Monnier <monnier@cs.yale.edu>
573
574 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
575
c88e5347
EZ
5762001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
577
578 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
579 Niemitalo <kon@iki.fi>.
580
59ce1461
JR
5812001-11-25 Jason Rumney <jasonr@gnu.org>
582
583 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
584
585 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
586 (Fx_show_tip): Block input during frame creation.
587 (Fx_show_tip, Fx_hide_tip): Enable.
588
8727d588
RS
5892001-11-24 Richard M. Stallman <rms@gnu.org>
590
591 * lread.c (Fload): Detect recursive load error for more than 3
592 nestings of the same file.
593 (Vrecursive_load_depth_limit): Variable deleted.
594 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
595
cc63037e
JR
5962001-11-24 Jason Rumney <jasonr@gnu.org>
597
598 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
599 mouse position if either left or top is not specified.
600
601 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
602 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
603 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
604 (my_create_tip_window): Assign tip_window.
605 (x_create_tip_frame): Use same defaults as X.
606 (compute_tip_xy): Remove unused variable. Use full screen width.
607 (Fx_show_tip): Do not double height. Call ShowWindow directly.
608
609 * w32term.c (x_after_update_window_line): Doc fix.
610 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
611 frames.
612 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
613
614 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
615 for all Windowed systems.
616
deece6f5
EZ
6172001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
618
619 * msdos.c (IT_clear_screen): If the frame's faces are not yet
620 realized, use the initial screen colors to clear the screen.
621
1b944d9c
PJ
6222001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
623
28ff4293
PJ
624 * textprop.c (Fset_text_properties): Remove unused variables
625 `unchanged', `prev_changed', `s' and `len'.
626
56167cc5
PJ
627 * search.c (Freplace_match): Remove unused variable `inslen'.
628
1b944d9c
PJ
629 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
630
ca56d953
JR
6312001-11-22 Jason Rumney <jasonr@gnu.org>
632
633 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
634 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
635 (my_create_tip_window): New function.
636 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
93dec019 637 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
ca56d953 638
33399dce
JR
6392001-11-20 Jason Rumney <jasonr@gnu.org>
640
641 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
642 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
643
644 * w32fns.c (Vw32_system_coding_system): Remove.
645 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
646
9b46de40
SM
6472001-11-19 Stefan Monnier <monnier@cs.yale.edu>
648
6710ea06
SM
649 * fileio.c (Fwrite_region): Move choose_write_coding_system to
650 after build_annotations.
651
a395ef6a
SM
652 * syntax.c (describe_syntax): Add dummy arg.
653 (describe_syntax_1): Update call to describe_vector.
654
655 * category.c (describe_category): Add dummy arg.
656 (describe_category_1): Update call to describe_vector.
657
658 * keymap.c (Fdescribe_vector): Add `describer' parameter.
659 (describe_command, describe_translation): Add dummy second param.
660 (describe_map): Call elt_describer with two arguments.
661 (describe_vector_princ): Add `fun' parameter.
662 Call it instead of the hardcoded `princ'.
663 (describe_vector): Add arg `args'.
664 Pass it as a new second argument to elt_describer.
665
666 * keymap.h (describe_vector): Update prototype.
667
9b46de40
SM
668 * frame.c: Don't include keymap.h any more.
669 (keys_of_frame): Remove.
670
671 * lisp.h (keys_of_frame): Remove declaration.
672
673 * emacs.c (main): Don't call `keys_of_frame' any more.
674
aff37336
SS
6752001-11-14 Andreas Schwab <schwab@suse.de>
676
677 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
678 if defined, 0 otherwise.
9b46de40 679 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
680 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
681
b9937f07
RS
6822001-11-19 Richard M. Stallman <rms@gnu.org>
683
684 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
685
2cd23960
JR
6862001-11-18 Jason Rumney <jasonr@gnu.org>
687
688 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
689 (x_draw_bar_cursor): If the background color of the glyph under
690 the cursor equals the frame's cursor color, use the glyph's
691 foreground color for drawing the bar cursor.
692 (x_after_update_window_line): Clear internal border in different
693 circumstances.
694 (w32_set_vertical_scroll_bar): Check for width and height > 0.
695 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
696 (x_set_glyph_string_background_width):
697 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
698 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
699 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
700 if cursor_in_non_selected_windows is false.
9b46de40 701 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
702 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
703 Notice if cursor gets overwritten.
704 (notice_overwritten_cursor): Renamed from
705 note_overwritten_text_cursor. Rewritten to take glyph widths
706 into account, and to take X positions as parameters.
707 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
708 around call to x_draw_glyphs.
709 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
710 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
711 color to use for image glyph reliefs.
712 (x_draw_image_relief): Accept zero tool_bar_button_relief.
713 (glyph_rect): Remove unused variable `area'.
714
715 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
716 some items.
717 (x_set_internal_border_width): Set frame garbaged when window
718 doesn't exist yet.
719 (Fx_create_frame): Accept zero tool_bar_button_relief.
720 (x_clear_image_1, four_corners_best, image_background)
721 (image_background_transparent): New functions.
722 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
723 (gs_format): Add `:background' entry.
724 (lookup_image): Set IMG's background color if specified.
725 (pbm_load, xbm_load_image, png_load): Set IMG's background field
726 when appropriate.
727 (x_clear_image_1): Reset `background_valid' and
728 `background_transparent_valid' fields.
729 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
730 calculating it here. Set IMG's background_transparent field.
731 (enum xpm_keyword_index): Add XPM_BACKGROUND.
732 (enum png_keyword_index): Add PNG_BACKGROUND.
733 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
734 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
735 (enum gif_keyword_index): Add GIF_BACKGROUND.
736 (enum gs_keyword_index): Add GS_BACKGROUND.
737 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
738 Pre-calculate image background color where necessary.
9b46de40
SM
739 (x_create_x_image_and_pixmap, xbm_load, gs_load):
740 Use display info's n_cbits entry for screen depth.
2cd23960
JR
741 (Fx_show_tip): Remove unused variables `buffer', `top',
742 `left', `max_width' and `max_height'.
743
744 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
745
a4184c1c
GM
7462001-11-18 Gerd Moellmann <gerd@gnu.org>
747
748 * puresize.h (BASE_PURESIZE): Increase to 750000.
749
f6fa0866
PJ
7502001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
751
752 * frame.c (Fframe_live_p): Doc fix.
753
f4ca4b00
RS
7542001-11-18 Richard M. Stallman <rms@gnu.org>
755
756 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
757 (message_dolog_marker3): New static variables hold three markers.
758 (syms_of_xdisp): Initialize and staticpro them.
759 (message_dolog): Use message_dolog_marker1..3 instead of
760 allocating markers each time. Unchain them when done.
761
f4e25f94
RS
7622001-11-17 Richard M. Stallman <rms@gnu.org>
763
764 * doc.c (Fsnarf_documentation): Doc fix.
765
91c153e2
AS
7662001-11-17 Andreas Schwab <schwab@suse.de>
767
768 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
769
65b7d3e7
RS
7702001-11-17 Richard M. Stallman <rms@gnu.org>
771
772 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
773
6b5f6311
JR
7742001-11-17 Jason Rumney <jasonr@gnu.org>
775
776 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
777
be676094
GM
7782001-11-17 Gerd Moellmann <gerd@gnu.org>
779
780 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
781 with invalid position.
782
032a857d
RS
7832001-11-16 Richard M. Stallman <rms@gnu.org>
784
785 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
786
787 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
788 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
789 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
790
791 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
792
b6270150
SM
7932001-11-16 Stefan Monnier <monnier@cs.yale.edu>
794
795 * fileio.c (build_annotations): Split off the tail.
796 (build_annotations_2): New fun. Extracted from build_annotations.
797 (Fwrite_region): Split the call to build_annotations into two
798 calls to build_annotations and build_annotations_2.
799
792e5cbd
PJ
8002001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
801
98cbb9fa
PJ
802 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
803 clear_waiting_for_input with argument.
804
805 * xterm.h (x_update_cursor): Remove duplicated prototype.
806
b6270150 807 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 808
ea904403 809 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 810
ea904403 811 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 812
fa336b91
SM
8132001-11-16 Stefan Monnier <monnier@cs.yale.edu>
814
815 * fileio.c (choose_write_coding_system): New fun, extracted
816 from Fwrite_region.
817 (Fwrite_region): Use it.
818
819 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
820 (funcall_lambda, run_hook_with_args): Make static and add prototype.
821 (ml_apply, find_handler_clause): Add prototype.
822
077907d4
EZ
8232001-11-16 Eli Zaretskii <eliz@gnu.org>
824
aa2af83a
EZ
825 * config.in: Add #undef HAVE_COFF_H.
826
077907d4
EZ
827 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
828 Required for ISC 4.1.
829
1756e2fb
EZ
8302001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
831
832 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
833 Andrew Wiseman <a.wiseman@btclick.com>.
834
06e8f738
KS
8352001-11-16 Kim F. Storm <storm@cua.dk>
836
837 The following changes are made to clean up the various internal
838 references to the fringes to actually use the term `fringe' for
839 them. Previously, they were called `flags areas', `bitmap areas',
840 `left/right side of windows', or implicitly as `flags' or
841 `bitmaps':
842
843 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
844 Comments fixed. Use renamed symbols.
fa336b91 845
06e8f738 846 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 847
06e8f738
KS
848 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
849 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
850 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 851
06e8f738 852 * msdos.c: Comment fix.
fa336b91 853
06e8f738 854 * w32fns.c: Use renamed symbols.
fa336b91 855
06e8f738
KS
856 * w32term.c: Comment fixes. Use renamed symbols.
857 (fringe_bitmap_type): Renamed from bitmap_type.
858 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
859 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
860 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 861
06e8f738
KS
862 * w32term.h: Comment fixes. Use renamed symbols.
863 (fringes_extra): Renamed from flags_areas_extra.
864 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
865 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
866 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
867 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
868 (FRAME_X_LEFT_FRINGE_WIDTH):
869 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
870 (FRAME_X_RIGHT_FRINGE_WIDTH):
871 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
872
06e8f738 873 * widget.c: Use renamed symbols.
fa336b91 874
06e8f738
KS
875 * window.c: Comment fixes. Use renamed symbols.
876 (coordinates-in-window-p): Doc fix.
fa336b91 877
06e8f738 878 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 879
06e8f738 880 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 881
06e8f738 882 * xfns.c: Use renamed symbols.
fa336b91 883
06e8f738
KS
884 * xterm.c: Comment fixes. Use renamed symbols.
885 (fringe_bitmap_type): Renamed from bitmap_type.
886 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
887 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
888 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
889
890 * xterm.h: Comment fixes. Use renamed symbols.
891 (fringes_extra): Renamed from flags_areas_extra.
892 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
893 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
894 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
895 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
896 (FRAME_X_LEFT_FRINGE_WIDTH):
897 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
898 (FRAME_X_RIGHT_FRINGE_WIDTH):
899 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 900
9ce647f4
JR
9012001-11-15 Jason Rumney <jasonr@gnu.org>
902
903 * w32menu.c (add-menu-item): Make help_echo and radio buttons
904 work for most menu items. From David Ponce
905 <david.ponce@wanadoo.fr>.
906
9b784ab8
GM
9072001-11-15 Gerd Moellmann <gerd@gnu.org>
908
9f7e52b4
GM
909 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
910 Some x_set_* function expect to be called even if old and new
911 value are equal.
912
913 * xdisp.c (build_desired_tool_bar_string): Accept zero
914 tool_bar_button_relief.
915
916 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
917
918 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 919
34e5d0af
GM
920 * xterm.c (x_draw_bar_cursor): If the background color of the
921 glyph under the cursor equals the frame's cursor color, use
922 the glyph's foreground color for drawing the bar cursor.
923
9b784ab8
GM
924 * dispnew.c (direct_output_forward_char): Fix character/byte
925 position comparison.
926
89512fcd
MB
9272001-11-15 Miles Bader <miles@gnu.org>
928
929 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
930 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
931 Update arguments to find_field.
932 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
933 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
934 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
935 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
936
7d18891d
RS
9372001-11-14 Richard M. Stallman <rms@gnu.org>
938
d2936d21
RS
939 * editfns.c (Fpropertize): Allow call with 1 arg.
940
7d18891d
RS
941 * dispextern.h (image_background, image_background_transparent):
942 Conditionalize on HAVE_X_WINDOWS.
943
9442001-11-13 Richard M. Stallman <rms@gnu.org>
945
946 * print.c (Fprin1_to_string): Doc fix.
947
948 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
949
950 * floatfns.c (Fceiling, Ffloor): Doc fixes.
951
952 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
953
954 * fileio.c (Ffile_accessible_directory_p): Doc fix.
955
956 * eval.c (syms_of_eval): Doc fix.
957
958 * coding.c (syms_of_coding): Doc fix.
959
960 * doc.c (Fsnarf_documentation): Doc fix.
961
962 * dispnew.c (syms_of_display): Doc fix.
963
964 * category.c (Fget_unused_category): Doc fix.
965
966 * buffer.c (syms_of_buffer): Doc fixes.
967
9474c847
EZ
9682001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
969
970 * print.c (prin1, print): Doc fix.
971
e3059a5d
PJ
9722001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
973
2b6f3c2b 974 * fontset.h: Remove declarations of variables
e3059a5d
PJ
975 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
976
977 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
978 `Vclip_large_size_font'.
979
b3700ae7
JR
9802001-11-13 Jason Rumney <jasonr@gnu.org>
981
982 * w32fns.c: Doc fix.
983
eae936e2
PJ
9842001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
985
4bb962be
PJ
986 * xfaces.c (Fface_attributes_as_vector): Doc fix.
987
0a332240
PJ
988 * w32fns.c (Fx_synchronize): Reindent.
989
ddb67bdc
PJ
990 * fns.c: Doc fix.
991
3467c402
PJ
992 * emacs.c: Doc fix.
993
994 * coding.c: Doc fix.
995
6e1b91d7
PJ
996 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
997 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
998 `new style' [w/`doc:' keyword].
999
f6e34773
PJ
1000 * xmenu.c (x-popup-menu): Reindent.
1001 (x-popup-dialog): Likewise.
1002
fa336b91 1003 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 1004
c2552f79
PJ
1005 * xdisp.c (Fdump_tool_bar_row): Reindent.
1006
94c7167b
PJ
1007 * minibuf.c (Fminibuffer_complete_word): Reindent.
1008 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 1009 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
1010 (Fminibuffer_message): Likewise.
1011
462a5e3a
PJ
1012 * fns.c (Freverse): Reindent.
1013
b8de5714
PJ
1014 * eval.c (Fif): Reindent.
1015 (Fand): Likewise.
1016
deb8e082
PJ
1017 * editfns.c (Fuser_real_login_name): Reindent.
1018 (Finsert_buffer_substring): Likewise.
1019 (Fcompare_buffer_substrings): Likewise.
1020 (Fsubst_char_in_region): Likewise.
1021
bacf09b4
PJ
1022 * dispnew.c (Fsit_for): Reindent.
1023 (Fframe_or_buffer_changed_p): Likewise.
1024 (Finternal_show_cursor_p): Likewise.
1025 (syms_of_display): Likewise.
1026
eae936e2
PJ
1027 * alloc.c (Flist): Reindent.
1028 (Fvector): Likewise.
1029
1c1d3d69
RS
10302001-11-12 Richard M. Stallman <rms@gnu.org>
1031
1032 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
1033 LeaveNotify events. Only FocusIn and FocusOut do that now.
1034 (x_display_and_set_cursor): Do display hollow cursors in active
1035 minibuffer windows when they are not selected.
1036
b6f4c7ba
JR
10372001-11-12 Jason Rumney <jasonr@gnu.org>
1038
1039 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
1040 * w32term.c: Change doc-string comments to `new style'.
1041 [w/`doc:' keyword]. Doc fixes.
1042
1043 * w32fns.c: Don't define max.
1044 (Fx_open_connection): Only execute once.
1045
a89f435d
PJ
10462001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1047
1048 * ccl.c: Change macros to use do-while block instead of if-else.
1049 Use braces to follow GNU Coding Standards.
1050
a4cd0cd7
RS
10512001-11-11 Richard M. Stallman <rms@gnu.org>
1052
eafb659a
RS
1053 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
1054
1055 * lread.c (read_escape): Use end_of_file_error for reporting eof.
1056
a4cd0cd7
RS
1057 * insdel.c (replace_range): Use adjust_markers_for_replace
1058 instead of adjust_markers_for_delete and adjust_markers_for_insert.
1059
1060 * intervals.h: Declare set_text_properties and set_text_properties_1.
1061
1062 * textprop.c (set_text_properties_1): New subroutine
1063 broken out of set_text_properties.
1064 (set_text_properties): Use set_text_properties_1.
1065
1066 * intervals.c (graft_intervals_into_buffer):
1067 Use set_text_properties_1 to clear out properties.
1068
1069 * search.c (Freplace_match): Use replace_range to insert
1070 and delete. Don't request property inheritance from
1071 surrounding text.
1072
91823618
JR
10732001-11-10 Jason Rumney <jasonr@gnu.org>
1074
1075 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
1076 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 1077 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 1078
86928dfb
GM
10792001-11-10 Gerd Moellmann <gerd@gnu.org>
1080
fa336b91 1081 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
1082 instead of malloc/free.
1083
40ef1eda
PJ
10842001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1085
ab8469eb
PJ
1086 * xfaces.c (merge_face_vectors): Use braces to follow GNU
1087 Coding Standards.
1088 (Finternal_set_lisp_face_attribute): Likewise.
1089
a78e0303
PJ
1090 * buffer.c (Fbury_buffer): Likewise.
1091
40ef1eda
PJ
1092 * indent.c (current_column_1): Remove unused variable `prev_col'.
1093
fabf4a91
PJ
1094 * coding.c (encode_coding): Use precomputed value of `src'.
1095 (encode_coding): Remove unused variable `src_end'.
1096 (code_convert_region): Remove unused variables `count'.
1097
0c99b139
JR
10982001-11-07 Jason Rumney <jasonr@gnu.org>
1099
1100 * w32term.c (x_display_and_set_cursor): Do not move system caret
1101 if cursor_glyph is NULL.
1102
830ddd77
PJ
11032001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1104
1105 * keymap.c (access_keymap): Fix compilation error.
1106
55c6d645
MB
11072001-11-07 Miles Bader <miles@gnu.org>
1108
1109 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
1110
5de38842
PJ
11112001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1112
7a4564a4
PJ
1113 * intervals.c (graft_intervals_into_buffer):
1114 Remove #ifdef'd-out code.
1115 (graft_intervals_into_buffer): Remove unused variable `middle'.
1116
5de38842
PJ
1117 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
1118 code (eval-current-buffer).
1119 Change doc-string comments to `new style' [w/`doc:' keyword].
1120
4fa23df5
RS
11212001-11-06 Richard M. Stallman <rms@gnu.org>
1122
1123 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
1124
7a6a97d7
SM
11252001-11-06 Stefan Monnier <monnier@cs.yale.edu>
1126
c191d13c
SM
1127 * lread.c (read1): Fix behavior with nested backquoting.
1128
7a6a97d7
SM
1129 * keyboard.c (make_lispy_event): Check integerness and fix
1130 Lisp_Object/int mixup.
1131
44dc78e0
PJ
11322001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1133
1134 * fns.c (copy_hash_table): Remove unused variable `v'.
1135
17893c65
PJ
1136 * fontset.c (fontset_font_pattern): Remove unused variable
1137 `family_registry'.
1138
4d994a79
PJ
1139 * indent.c (current_column_1): Remove unused variable `prev_col'.
1140
d5360cc7
RS
11412001-11-05 Richard M. Stallman <rms@gnu.org>
1142
1143 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
1144
1145 * buffer.c (Fkill_buffer): Don't delete auto save file
1146 if buffer is modified.
1147
96238a5a
AI
11482001-11-05 Andrew Innes <andrewi@gnu.org>
1149
1150 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
1151 CHECK_NUMBER_CDR.
1152
d9d54213
RS
11532001-11-05 Richard M. Stallman <rms@gnu.org>
1154
1155 * unexelf.c (unexec): Minor changes; clean up comments.
1156
b116830b
SS
11572001-11-05 Sam Steingold <sds@gnu.org>
1158
1159 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
1160
3297e2a1
AS
11612001-11-05 Andreas Schwab <schwab@suse.de>
1162
1163 * sound.c (sound_perror): Save errno from being clobbered.
1164
9212319f 11652001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
1166
1167 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1168 the program image directly.
1169
7dd73b78
PJ
11702001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1171
1172 * buffer.h (Fbuffer_local_value): Add prototype.
1173
982f6c7e
RS
11742001-11-04 Richard M. Stallman <rms@gnu.org>
1175
d31053f9
RS
1176 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1177 and CHECK_BUFFER.
1178
1179 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1180 (record_char): Likewise.
1181
1182 * keyboard.c (make_lispy_event): Don't insist a drag event must
1183 move to a different buffer position. Instead, check for moving at
1184 least double_click_fuzz.
1185
1186 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1187
1188 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1189
982f6c7e
RS
1190 * indent.c (current_column_1, Fmove_to_column): Separate the code
1191 for display-table glyphs from the code buffer text, to fix
1192 bugs in the former.
1193
830047fd
RS
11942001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1195
1196 * buffer.c (Fbuffer_local_value): New function.
c191d13c 1197 (syms_of_buffer): Defsubr it.
b116830b 1198
830047fd
RS
1199 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1200 value of `cursor-in-non-selected-windows'.
1201
1202 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1203 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1204 (syms_of_xdisp): Initialize it.
b116830b 1205
2df5238c
PJ
12062001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1207
4e397688
PJ
1208 * xfns.c (Fx_create_frame): Doc fix.
1209
48b0f3ae
PJ
1210 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1211 keyword].
1212
2df5238c
PJ
1213 * eval.c (top_level_value, top_level_set): Remove commented and
1214 #ifdef'd-out code.
1215 (Fdefvar): Fix usage in doc-string.
1216
3ecaf7e5
RS
12172001-11-03 Richard M. Stallman <rms@gnu.org>
1218
1219 * xfns.c: Include unistd.h, if it exists.
1220
1221 * editfns.c: Move the include of ctype.h after unistd.h.
1222
1223 * gmalloc.c: Test BROKEN_PROTOTYPES.
1224
8db2e33b
KR
12252001-11-03 Ken Raeburn <raeburn@gnu.org>
1226
1227 * lisp.h (CHECK_STRING_CAR): New macro.
1228 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1229 treating XCAR and XCDR as lvalues.
1230 (openp): Use CHECK_STRING_CAR.
1231 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1232
aed29b97
EZ
12332001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1234
1235 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1236 (SIGMASKTYPE): Define.
aed29b97
EZ
1237
1238 * syssignal.h (sigunblock): Don't define if already defined.
1239
6cb16f95
PJ
12402001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1241
16b45be4
EZ
1242 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1243 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1244 Fix typos in comments.
1245
020f9b38
PJ
1246 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1247 and #ifdef'd-out code.
1248 Fix and reindent comments.
1249
c191d13c 1250 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1251
6cb16f95
PJ
1252 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1253 argument `i' in macros.
1254
1255 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1256 `i' in macros.
1257
16b45be4
EZ
1258 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1259 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1260 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1261 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1262 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1263 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1264 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1265 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1266 in macros.
1267
1268 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
153c2160
PJ
1269 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1270 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1271 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1272 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1273 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1274 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1275 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1276 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
6cb16f95
PJ
1277 (remove unused second argument).
1278
7e9d3c2f
SM
12792001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1280
1281 * syntax.c (describe_syntax): New wrapper.
1282 (Finternal_describe_syntax_value): Rename from describe_syntax.
1283 Don't insert space at front and \n at the end.
1284 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1285
1286 * regex.c (re_wctype): Try to fix some warnings.
1287 (regcomp, regexec): Don't forget the __restrict.
1288
e6bff182
RS
12892001-11-02 Richard M. Stallman <rms@gnu.org>
1290
1291 * textprop.c (Fget_char_property): Doc fix.
1292
9ba48103
PJ
12932001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1294
1295 * process.c (Fstart_process): Add usage to doc-string.
1296
1297 * data.c (Fsetq_default): Ditto.
1298
1299 * callint.c (Finteractive): Ditto.
1300
c22e59e1
SM
13012001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1302
1303 * macros.c: Don't include keymap.h any more.
1304
9271ed2c
RS
13052001-11-01 Richard M. Stallman <rms@gnu.org>
1306
e6bff182
RS
1307 * data.c (Fmake_local_variable): Doc fix.
1308
1309 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1310 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1311
9271ed2c
RS
1312 * keymap.c (Fdescribe_buffer_bindings): Print character property
1313 bindings along with or instead of the buffer local map.
1314 Make the overriding maps override what they should.
1315
8b8bd9c6
PJ
13162001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1317
1318 * window.c (grow_mini_window): Fix typo in comment.
1319
27188d11
GM
13202001-11-01 Gerd Moellmann <gerd@gnu.org>
1321
7b49b9d2
GM
1322 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1323 (XTset_vertical_scroll_bar): Likewise.
1324
43f7c3ea
GM
1325 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1326 instead of IMAGE_BACKGROUND.
c22e59e1 1327
b350c2e5
GM
1328 * xfns.c (four_corners_best): Reindent.
1329
c22e59e1 1330 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1331 Handle :box so that it is possible to specify sexprs.
1332
d576358b
PJ
13332001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1334
1335 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1336 (Fface_font): Ditto.
1337 (Finternal_set_alternative_font_registry_alist): Ditto.
1338 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1339
1340 * xfns.c (x-get-resource): Reindent.
1341
bf00d461
EZ
13422001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1343
1344 * s/hpux11.h: New file.
1345
4e10df59
PJ
13462001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1347
2b209b97
PJ
1348 * emacs.c (USAGE1): Show command line option --no-window-system
1349 instead of --no-windows in usage.
1350 (standard_args): Rename --no-windows to --no-window-system.
1351 (bug_reporting_address): Follow Emacs coding conventions.
1352
9dbc9081
PJ
1353 * eval.c (Fcommandp): Doc fix.
1354 Change doc-string comments to `new style' [w/`doc:' keyword].
1355
4e10df59
PJ
1356 * frame.c (Fframe_live_p): Doc fix.
1357
1358 * buffer.c (selective-display-ellipses): Doc fix.
1359
dd387b25
GM
13602001-10-31 Gerd Moellmann <gerd@gnu.org>
1361
fe957e65
GM
1362 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1363
dd387b25
GM
1364 * xfaces.c (realize_x_face): If C is not a single-byte character,
1365 set the face's colors_copied_bitwise_p instead of the defaulted_p
1366 members which have a different meaning.
1367 (free_face_colors): Do nothing for a face whose colors have been
1368 copied bitwise.
1369
c22e59e1 1370 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1371
2e1280f8
PJ
13722001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1373
687784e8
PJ
1374 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1375 [w/`doc:' keyword].
2e1280f8 1376
b9d9a9b9
GM
13772001-10-31 Gerd Moellmann <gerd@gnu.org>
1378
1379 * fns.c (require_unwind): Return Lisp_Object.
1380
48400103
PJ
13812001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1382
fa1361cb
PJ
1383 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1384 (last-input-char): Revert doc-string to be the same as the
1385 doc-string of `last-input-event'.
1386
48400103
PJ
1387 * xdisp.c: Fix typos in comments.
1388
eafa3196
GM
13892001-10-31 Gerd Moellmann <gerd@gnu.org>
1390
1391 * window.c (grow_mini_window): Handle case that the root
1392 window is already smaller than the nominal mininum height.
1393
747d3f2a
SM
13942001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1395
bf9bb76f
SM
1396 * emacs.c (main): Don't call keys_of_macros any more.
1397
1398 * lisp.h (keys_of_macros): Remove.
1399
1400 * macros.c (keys_of_macros): Remove.
1401
747d3f2a
SM
1402 * xfaces.c (Fface_attribute_relative_p): Declare args.
1403
5e905a57
JR
14042001-10-30 Jason Rumney <jasonr@gnu.org>
1405
1406 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1407 (enum_font_cb2): Ignore fonts with vertical orientation.
1408
3a426197
RS
14092001-10-30 Richard M. Stallman <rms@gnu.org>
1410
1411 * keyboard.c (Finput_pending_p): Doc fix.
1412
a742d646
GM
14132001-10-30 Gerd Moellmann <gerd@gnu.org>
1414
259cf6bc
GM
1415 * xterm.c (x_after_update_window_line): Don't run the code
1416 clearing in borders for rows whose visible height is 0.
1417
3f99f948
GM
1418 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1419 resized_p flag is set. If not set, use the much less flickering
1420 method previously used.
1421
1422 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1423
1424 * frame.h (struct frame) <resized_p>: New member.
1425
b4a3be43
GM
1426 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1427 as large as the number of bytes to convert.
747d3f2a 1428
a742d646
GM
1429 * lread.c (to_multibyte): New function.
1430 (read1): Use it.
1431
cacbb9e9
EZ
14322001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1433
1434 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1435
99cb6b2f
GM
14362001-10-30 Gerd Moellmann <gerd@gnu.org>
1437
327f42ee 1438 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1439 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1440 if the row's fill_line_p is set and drawing the last glyph with
1441 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1442
99cb6b2f
GM
1443 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1444
8e8223e2
SM
14452001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1446
1447 * xmenu.c: Include coding.h and charset.h.
1448 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1449 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1450 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1451 Explicitly set wv->help. Use `TRUE' rather than `True'.
1452 (menu_help_callback): Use empty_string.
1453
1454 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1455 (Fx_popup_dialog): Explicitly init f.
1456 (w32_menu_display_help): Use empty_string.
1457
4d083a8f
RS
14582001-10-29 Richard M. Stallman <rms@gnu.org>
1459
b2304472
RS
1460 * fns.c (Frequire): Detect recursive try to require the same
1461 feature 3 or more levels deep, and get error.
1462 (require_unwind): New subroutine.
1463 (require_nesting_list): New variable.
1464 (syms_of_fns): Init and staticpro it.
1465
4d083a8f
RS
1466 * print.c (print_object): Clarify indication of insertion type.
1467
2fe41216
EZ
14682001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1469
90480000
EZ
1470 * coding.c (syms_of_coding): Document that locale-coding-system is
1471 used for decoding input on X.
1472
2fe41216
EZ
1473 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1474
74e79967
PJ
14752001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1476
1477 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1478 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1479
60ebcfe8
GM
14802001-10-29 Gerd Moellmann <gerd@gnu.org>
1481
9a7bdceb
GM
1482 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1483 use NO_CURSOR if cursor_in_non_selected_windows is false.
1484
3f08fcd2
GM
1485 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1486 the slant attribute if FRAME is t.
1487
0ccfdad2
GM
1488 * xfns.c (x_set_internal_border_width): Set frame garbaged
1489 when X window doesn't exist yet.
1490
ef253080
GM
1491 * xterm.c (x_after_update_window_line): Clear internal border
1492 in different circumstances.
b116830b 1493
60ebcfe8
GM
1494 * xterm.c (XTread_socket) <KeyPress>: Don't use
1495 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1496 <handa@etl.go.jp>.
1497
73d25f9c
EZ
14982001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1499
1500 * m/ibms390.h: New file. From Adam Thornton
1501 <athornton@sinenomine.net>.
1502
cac1daf0
GM
15032001-10-28 Gerd Moellmann <gerd@gnu.org>
1504
053b3256 1505 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1506
cac1daf0
GM
1507 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1508 a loop counter.
1509
13b1a09c
PJ
15102001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1511
186486eb
PJ
1512 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1513
4707d2d0
PJ
1514 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1515 keyword].
1516 Fix typos in comments.
b116830b 1517
d883731c
PJ
1518 * emacs.c (bug_reporting_address): New function.
1519 Use it when displaying usage message.
1520
04012254
PJ
1521 * minibuf.c (read_minibuf): Remove unused external declaration of
1522 variable `Qread_only'.
1523
13b1a09c
PJ
1524 * keymap.c (access_keymap): Remove unused variable `charset'.
1525
5bbf4378
MB
15262001-10-28 Miles Bader <miles@gnu.org>
1527
1528 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1529 Remove #ifdef'd-out code.
1530 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1531 (syms_of_xfaces): Initialize them.
1532
1ce1e4ee
JR
15332001-10-27 Jason Rumney <jasonr@gnu.org>
1534
1535 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1536 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1537 position using the system caret.
1538
1539 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1540 (w32_system_caret_height, w32_system_caret_x)
1541 (w32_system_caret_y): New variables for tracking system caret.
1542 (w32_initialize): Initialize them.
c2d53558 1543 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1544
c2d53558
SM
1545 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1546 New messages types.
1ce1e4ee
JR
1547
1548 * w32term.c (note_mouse_highlight): Clear old help_echo.
1549
4e30ce42
PJ
15502001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1551
bb4600a4
PJ
1552 * xterm.c: Fix typo in a comment.
1553
7db35a48
PJ
1554 * emacs.c: Fix typos in comments.
1555 Remove unnecessary spaces.
1556 Change doc-string comments to `new style' [w/`doc:' keyword].
1557 (USAGE2): Fix typos in usage string.
1558
a7248e4f
PJ
1559 * xterm.c: Fix typo in a comment.
1560
4e30ce42
PJ
1561 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1562 emacs.c.
1563
62725a92
GM
15642001-10-27 Gerd Moellmann <gerd@gnu.org>
1565
798dbe1f 1566 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1567 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1568 farther backward when target_y was not reached.
1569
62725a92
GM
1570 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1571 Display errno only if non-zero.
1572 (sound_warning): New function.
1573 (vox_configure): Don't treat failing to set sample rate as error.
1574 (various places): Improve error messages.
1575
d4e34d24
EZ
15762001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1577
944e6f60
EZ
1578 * fileio.c (Faccess_file): Run the argument filename through
1579 Fexpand_file_name, before using it.
1580
d4e34d24
EZ
1581 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1582 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1583
38d2af0c
GM
15842001-10-26 Gerd Moellmann <gerd@gnu.org>
1585
da80a8d5
GM
1586 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1587
38d2af0c
GM
1588 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1589 Fix clearing in the case of scroll bars on the right.
c2d53558 1590
56f508dd
EZ
15912001-10-26 Juanma Barranquero <lektu@terra.es>
1592
1593 * w32gui.h (XImage): Add a dummy typedef.
1594
fbd5ceb2
GM
15952001-10-26 Gerd Moellmann <gerd@gnu.org>
1596
c2d53558 1597 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1598
b23236fb
EZ
15992001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1600
1601 * frame.c (Fframe_parameter): Fix last change.
1602
5d991fc4
EZ
1603 * fileio.c: Revert last change (which removed old commented-out
1604 version of expand-file-name). Add a comment that explains why
1605 this old version should not be removed.
1606
879eadc3
GM
16072001-10-25 Gerd Moellmann <gerd@gnu.org>
1608
75700ff2
GM
1609 * frame.c (Fframe_parameter): Fix a bug whereby some
1610 ``artificial'' frame parameters, like `minibuffer' were not
1611 obtained by calling Fframe_parameters.
1612
dfe92a6a
GM
1613 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1614 cursor differently.
1615
879eadc3
GM
1616 * xdisp.c (move_it_vertically_backward): Compute line height
1617 differently. Add heuristic to try to be more compatible to 20.x.
1618
e1010ebe
SM
16192001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1620
d73a471b
SM
1621 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1622
d6da5a06
GM
1623 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1624 boolean.
e1010ebe 1625
f66bd220
MB
16262001-10-25 Miles Bader <miles@gnu.org>
1627
1628 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1629 BG is a pointer to a structure, not a structure.
1630 (gif_format, png_format): Add missing commas.
1631
d436d538
RS
16322001-10-24 Richard M. Stallman <rms@gnu.org>
1633
1634 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1635 (syms_of_xfaces): Defsubr it.
d436d538 1636
075c507b
PJ
16372001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1638
1639 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1640 variable `area'.
1641
d492b584
PJ
16422001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1643
c2d53558 1644 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1645
e2a57b34
MB
16462001-10-25 Miles Bader <miles@gnu.org>
1647
1648 * dispextern.h (struct image): Add `background',
1649 `background_valid', and `background_transparent' fields.
1650 (image_background, image_background_transparent): New declarations.
1651 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1652 * xfns.c (image_background, image_background_transparent)
1653 (four_corners_best): New functions.
c2d53558 1654 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1655 (gs_format): Add `:background' entry.
1656 (lookup_image): Set IMG's background color if specified.
1657 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1658 when appropriate.
1659 (x_clear_image_1): Reset `background_valid' and
1660 `background_transparent_valid' fields.
1661 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1662 calculating it here. Set IMG's background_transparent field.
1663 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1664 (enum png_keyword_index): Add PNG_BACKGROUND.
1665 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1666 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1667 (enum gif_keyword_index): Add GIF_BACKGROUND.
1668 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1669 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1670 Pre-calculate image background color where necessary.
1671 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1672 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1673 color to use for image glyph reliefs.
1674
b547b6e8
GM
16752001-10-24 Gerd Moellmann <gerd@gnu.org>
1676
d9e3b8c6
GM
1677 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1678 in full-width rows.
c2d53558 1679
b547b6e8
GM
1680 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1681 Fix clearing of area not covered by scroll bar.
1682
2beb36f9
PJ
16832001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1684
1685 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1686 and `real_start'.
c2d53558 1687 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1688 (glyph_rect): Remove unused variable `area'.
1689
76cb5e06
GM
16902001-10-24 Gerd Moellmann <gerd@gnu.org>
1691
bdbdebff 1692 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1693
1694 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1695 (row_containing_pos): Take additional argument DY.
1696 Treat rows ending in middle of char differently.
62e33982
GM
1697 (display_line): Handle tabs on window systems differently.
1698
1699 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1700 with additional argument.
1701
1702 * dispextern.h (row_containing_pos): Adjust prototype.
1703
76cb5e06
GM
1704 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1705 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1706 (try_window_id, try_window_reusing_current_matrix)
1707 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1708 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1709
996fee11
PJ
17102001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1711
c9e60620
PJ
1712 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1713 gnuemacs).
1714 (HAVE_BOXES): Fix typo in comment.
1715 (push_menu_pane): Fix typo in comment.
1716
3b552d56
PJ
1717 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1718 of `Qwhen'.
1719 (single_display_prop_string_p): Remove unused local declarations
1720 of `Qwhen' and `Qmargin'.
1721 (string_buffer_position): Remove unused variable `around'.
1722 (store_frame_title): Remove unused variable `width'.
1723
15c565ac
PJ
1724 * window.c: Don't define max.
1725 (coordinates_in_window): Remove unused variable `uy'.
1726
a8818eb9
PJ
1727 * widget.c: Don't define max.
1728
996fee11
PJ
1729 * process.c: Don't define max.
1730 (create_process): Remove unused variable `buffer'.
1731
496e1a5b
GM
17322001-10-23 Gerd Moellmann <gerd@gnu.org>
1733
c2d53558 1734 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1735
5905ae8b
EZ
17362001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1737
1738 * xfaces.c (Finternal_set_lisp_face_attribute)
1739 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1740 frame is on a windowed display.
1741
24db49fb
GM
17422001-10-23 Gerd Moellmann <gerd@gnu.org>
1743
c2d53558
SM
1744 * dispnew.c (sync_window_with_frame_matrix_rows):
1745 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1746 of marginal areas.
1747
c2d53558 1748 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1749
f0487f05
EZ
17502001-10-23 Andreas Schwab <schwab@suse.de>
1751
1752 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1753 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1754
f0a48a01
GM
17552001-10-23 Gerd Moellmann <gerd@gnu.org>
1756
c2d53558 1757 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1758 REAL_END. Notice if cursor gets overwritten.
1759 (notice_overwritten_cursor): Take X positions as parameters.
1760 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1761 around call to x_draw_glyphs.
1762
a50a10a0
PJ
17632001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1764
fc11dff0
PJ
1765 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1766 instead of C) and usage.
a50a10a0 1767
fc11dff0
PJ
1768 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1769 of C) and usage.
a50a10a0
PJ
1770
1771 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1772 `left', `max_width' and `max_height'.
1773
8738febd
GM
17742001-10-23 Gerd Moellmann <gerd@gnu.org>
1775
1776 * xdisp.c (display_line): For a tab continued to the next line,
1777 set row's ends_in_middle_of_char_p.
1778
653c329b
GM
17792001-10-22 Gerd Moellmann <gerd@gnu.org>
1780
1781 * xdisp.c (display_line): Fix computation of continuation lines
1782 width for TABs.
1783
f958c5ac
PJ
17842001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1785
7ba51063
PJ
1786 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1787 `Qlaplace'.
1788
f958c5ac
PJ
1789 * fileio.c: Remove unused code.
1790
eb360291
MB
17912001-10-22 Miles Bader <miles@gnu.org>
1792
1793 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1794 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1795 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1796
98515cf0
JR
17972001-10-21 Jason Rumney <jasonr@gnu.org>
1798
1799 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1800
93026d88
EZ
18012001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1802
1803 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1804 (Finsert_string): Avoid the multi-line string literals warning.
1805
c9a95b79
MB
18062001-10-22 Miles Bader <miles@gnu.org>
1807
1808 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1809 (Fdocumentation): Don't use it.
1810 (syms_of_doc): Don't initialize it.
1811
1812 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1813 * print.c (Fwith_output_to_temp_buffer): Likewise.
1814 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1815 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1816 (Fsave_restriction): Likewise.
c2d53558
SM
1817 * eval.c (Frun_hooks, Frun_hook_with_args)
1818 (Frun_hook_with_args_until_failure)
1819 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1820 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1821 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1822 (Funwind_protect, Fcondition_case): Likewise.
1823 * coding.c (Ffind_operation_coding_system): Likewise.
1824 * keyboard.c (Ftrack_mouse): Likewise.
1825
a3b10252
MB
18262001-10-21 Miles Bader <miles@gnu.org>
1827
c2d53558 1828 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1829 (Fmake_hash_table): Add usage: string to doc string.
1830 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1831 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1832 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1833 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1834 (Fml_prefix_argument_loop): Likewise.
1835
c6f73eec
PJ
18362001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1837
c2d53558 1838 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1839
c6f73eec
PJ
1840 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1841 style' [w/`doc:' keyword].
1842
1843 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1844 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1845 comments to `new style' [w/`doc:' keyword].
1846
3cf3436e
JR
18472001-10-21 Jason Rumney <jasonr@gnu.org>
1848
1849 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1850
c169b8f1
JR
1851 * w32term.c (remember_mouse_glyph): New function.
1852 (w32_mouse_position): Use it.
1853 (note_mouse_movement): If the mouse moved off the glyph, remember
1854 its new position.
c2d53558 1855
4fdd691b
JR
1856 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1857 (w32_display_info): Add mouse_face_overlay.
1858
c169b8f1
JR
1859 * w32term.c (notice_overwritten_cursor): Renamed from
1860 note_overwritten_text_cursor. Rewritten to take glyph widths into
1861 account.
1862 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1863 (fast_find_string_pos): New function.
1864 (fast_find_position): Return the correct vpos. Add parameter
1865 STOP. In the final row, stop before glyphs having STOP as object.
1866 Don't consider glyphs that are not from a buffer.
1867 (fast_find_position) [0]: Add a presumably more correct version
1868 for after 21.1.
1869 (expose_window_tree, expose_frame): Don't compute intersections here.
1870 (expose_window): Do it here instead.
1871 (expose_window_tree, expose_window, expose_line): Return 1 when
1872 overwriting mouse-face.
1873 (expose_window): If W is the window currently being updated, mark
1874 the frame garbaged.
1875 (expose_frame): If mouse-face was overwritten, redo it.
1876 (x_use_underline_position_properties): New variable.
1877 (syms_of_xterm): DEFVAR_BOOL it.
1878 (x_draw_glyph_string): Add comment to use it in future.
1879 (x_draw_glyph_string): Restore clipping after drawing box.
1880 Fix a computation of the underline position.
1881 (w32_get_glyph_string_clip_rect): Minor cleanup.
1882 (x_fill_stretch_glyph_string): Remove an assertion.
1883 (x_produce_glyphs): Don't convert multibyte characters
1884 to unibyte characters in unibyte buffers.
1885 (cursor_in_mouse_face_p): New function.
1886 (x_draw_stretch_glyph_string): Use it to choose a different GC
1887 when drawing a cursor within highlighted text. Don't draw
1888 background again if it has already been drawn.
1889 (x_draw_glyph_string_box): Don't draw a full-width
1890 box just because the glyph row's full_width_p flag is set.
1891 (x_draw_glyphs): Fix computation of rightmost x for
1892 full-width rows.
1893 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1894 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1895 change bottom shadow accordingly. Some cleanup.
1896 (x_update_window_end): Handle overwritten mouse face
1897 also for tool bar windows.
1898 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1899 DRAW is DRAW_IMAGE_RAISED.
1900 (clear_mouse_face): Return 1 if text with mouse face was
1901 actually redrawn. Make the function static. Reset
1902 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1903 optimize away highlighting if we pass over that same overlay again.
1904 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1905 to detect a case where we have to highlight a different region
1906 despite not having left the currently highlighted region.
1907 Set mouse_face_overlay in the x_display_info. Avoid changing the
1908 mouse pointer shape when show_mouse_face has already done it, or
1909 there is no need. Handle mouse-face and help-echo in strings.
1910 (glyph_rect): New function.
1911 (w32_mouse_position): Use it to raise the threshold for mouse
1912 movement event generation.
1913 (w32_initialize_display_info): Initialize the x_display_info's
1914 mouse_face_overlay.
1915 (w32_set_vertical_scroll_bar): Don't clear a zero height
1916 or width area.
1917 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1918 a widget to zero height.
1919
3cf3436e 1920 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1921 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1922 equivalents in menu_items.
1923 (w32_menu_show): Don't overwrite an item's name with its key
1924 description in case the description is a multibyte string.
1925 (single_submenu): Some cleanup.
1926
1927 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1928 (postprocess_image): New function.
1929 (lookup_image): Call it for all image types except PostScript.
1930 (x_kill_gs_process): Call postprocess_image.
1931 (tiff_error_handler, tiff_warning_handler): New functions.
1932 (tiff_load): Install them as handlers.
1933 (x_kill_gs_process): Recognize if someone has cleared the image
1934 cache under us.
1935 (valid_image_p): Protect better against invalid image
1936 specifications. Previous code could signal an error.
1937 (Fx_hide_tip, Fshow_tip): Doc fix.
1938 (Fv_max_tooltip_size): New variable.
1939 (syns_of_xfns): DEFVAR_LISP it.
1940 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1941 window buffer to *tip* right after creating the frame. Set frame's
1942 window_width. Use a maximum tooltip size specified by
1943 Vx_max_tooltip_size, if that has valid contents.
1944 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1945 Make sure the tooltip is completely visible.
1946 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1947 (Fx_create_frame): Adjust the frame's height for presence
1948 of the tool bar before calling x_figure_window_size.
1949 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1950 when the window gets smaller.
1951 (x_set_foreground_color): Set frame's cursor_pixel.
1952 (x_set_foreground_color, x_set_background_color): Cleaned up.
1953 (x_set_font): Handle case of x_new_fontset returning the same name
1954 as before, although there was a change in fontsets.
1955
386ca361
MB
19562001-10-21 Miles Bader <miles@gnu.org>
1957
c2d53558 1958 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1959 (Flogxor): Add usage: string to doc string.
1960 * charset.c (Fstring): Likewise.
1961 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1962 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1963
14ff1ee0
PJ
19642001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1965
03be2694
PJ
1966 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1967
1968 * alloc.c: Reindent DEFUNs with doc: keywords.
1969
1970 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1971
14ff1ee0
PJ
1972 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1973 keyword].
1974
71431a0e
GM
19752001-10-20 Gerd Moellmann <gerd@gnu.org>
1976
6aa97356 1977 * (Version 21.1 released.)
71431a0e 1978
39f624fa
PJ
19792001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1980
c2d53558 1981 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1982
1983 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1984 0 because unused.
1985
1986 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1987 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1988 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1989
abcce93a
MB
19902001-10-20 Miles Bader <miles@gnu.org>
1991
1992 The following changes remove the glyph_row `inverse_p' field,
1993 which is never set anymore, due to other changes:
1994
1995 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1996 (reassert_line_highlight, change_line_highlight): Declarations removed.
1997 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1998 (line_hash_code, row_equal_p, fake_current_matrices)
1999 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
2000 (update_frame_line, update_frame_line, update_frame_line):
2001 Don't use `inverse_p' field.
2002 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
2003 change_line_highlight_hook.
2004 (XTreassert_line_highlight, x_change_line_highlight):
2005 Functions removed.
c2d53558 2006 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2007 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2008 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
2009 `inverse_p' field.
c2d53558 2010 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2011 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2012 (w32_reassert_line_highlight, x_change_line_highlight):
2013 Functions removed.
2014 * w32console.c (reassert_line_highlight, change_line_highlight):
2015 Functions removed.
2016 (initialize_w32_display): Don't set reassert_line_highlight_hook
2017 or change_line_highlight_hook.
2018 (hl_mode): Function removed.
c2d53558
SM
2019 (reset_terminal_modes, set_terminal_modes, update_begin)
2020 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
2021 (clear_frame, ins_del_lines): Don't call it.
2022 * termhooks.h (reassert_line_highlight_hook)
2023 (change_line_highlight_hook): Declarations removed.
2024 * term.c (reassert_line_highlight_hook)
2025 (change_line_highlight_hook): Variables removed.
2026 (reassert_line_highlight, change_line_highlight): Functions removed.
2027 * msdos.c (IT_reassert_line_highlight)
2028 (IT_change_line_highlight): Functions removed.
2029 (internal_terminal_init): Don't set reassert_line_highlight_hook
2030 or change_line_highlight_hook.
2031 (highlight): Variable removed.
c2d53558 2032 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
2033 (IT_set_terminal_modes): Don't set or use it.
2034
2035 The following changes remove inverse-video support for terminals
2036 that use a `magic cookie' standout mode. Due to changes in the
2037 way mode-lines are displayed, such support no longer works
2038 anyway, and it's probable that almost no one uses such terminals
2039 anymore:
2040
2041 * term.c (standout_requested): Variable removed.
2042 (update_end, highlight_if_desired): Don't use it.
2043 (chars_wasted, copybuf): Variables removed.
2044 (write_standout_marker): Function removed.
c2d53558 2045 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
2046 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
2047 Don't use `chars_wasted' or `copybuf'.
2048 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
2049 Set `costs_set' to true.
2050 (cursor_to, clear_end_of_line): Test `costs_set' instead of
2051 `chars_wasted'.
2052 (clear_end_of_line): Function removed.
2053 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
2054 (clear_to_end): Call `clear_end_of_line' instead of
2055 `clear_end_of_line_raw'.
54800acb
MB
2056 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
2057 (term_init): Don't set them.
2058 Turn off any standout/underline modes that require magic cookies.
c2d53558 2059 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
2060 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
2061 Remove special processing for magic-cookie standout modes.
2062 (turn_off_face, turn_on_face): Remove special processing for
2063 underline magic-cookie glitch.
abcce93a 2064
0b5f679f
RS
20652001-10-19 Richard M. Stallman <rms@gnu.org>
2066
2067 * eval.c (syms_of_eval): Doc fixes.
2068
5a4a5bd4
GM
20692001-10-19 Gerd Moellmann <gerd@gnu.org>
2070
2071 * xdisp.c (redisplay_internal): Don't clear echo area if the
2072 mini-window is selected.
2073
79f1f96c
MB
20742001-10-19 Miles Bader <miles@gnu.org>
2075
b57c2708
MB
2076 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
2077 doesn't take precedence if the affected property's value is nil.
2078
2079 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
2080
79f1f96c
MB
2081 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
2082 with fields and suggest using `forward-line' to avoid them.
2083 * editfns.c (Fline_beginning_position, Fline_end_position):
2084 Clarify documentation.
2085
ef879104
SM
20862001-10-18 Stefan Monnier <monnier@cs.yale.edu>
2087
2088 * keymap.c (current_minor_maps): `override' only shadows its
2089 correspondent in minor-mode-map-alist, not the whole tail.
2090
97f4db8c
AI
20912001-10-18 Andrew Innes <andrewi@gnu.org>
2092
2093 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
2094 optimization. The fontp->encoding array was not being initialized
2095 correctly when compiled with optimizations by MSVC.
2096
e6b70fd8
GM
20972001-10-18 Gerd Moellmann <gerd@gnu.org>
2098
30903479 2099 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 2100
0e804d38
AI
21012001-10-17 Andrew Innes <andrewi@gnu.org>
2102
2103 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
2104
2105 * w32fns.c (w32_load_system_font): Cache codepage for font, in
2106 font_info.charset field.
2107
2108 * w32term.c (w32_encode_char): Get cached codepage from font_info,
2109 rather than working it out by calling w32_codepage_for_font for
2110 every glyph.
2111
66e5868a
AI
21122001-10-17 Andrew Innes <andrewi@gnu.org>
2113
2114 * w32term.c (w32_read_socket): Determine clipping rectangle for
2115 the entire frame, including areas covered by scrollbars and the
2116 menubar. This avoids internal arguments about whether a frame is
2117 fully obscured or not.
2118
15b00083
GM
21192001-10-17 Gerd Moellmann <gerd@gnu.org>
2120
23e8bd86
GM
2121 * xdisp.c (try_window_id): Undo last change. Give up if
2122 window ends in strings.
30903479 2123
9c6ba6d1 2124 * xdisp.c (try_window_id): Don't display lines after the window
30903479 2125 end if the rest of the window after the window end was already blank.
23e8bd86 2126
30903479 2127 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
2128 for the release of 21.1.
2129
30903479 2130 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 2131
945220bd
MB
21322001-10-17 Miles Bader <miles@gnu.org>
2133
2134 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
2135 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
2136 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
2137 Change doc-string comments to `new style' [w/`doc:' keyword].
2138 (DOC_STRINGS_IN_COMMENTS): Macro removed.
2139 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
2140 out make-docfile.
2141
14242528
MB
21422001-10-16 Miles Bader <miles@gnu.org>
2143
2144 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
2145
3ddf952f
GM
21462001-10-16 Gerd Moellmann <gerd@gnu.org>
2147
2148 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
2149 *scratch*.
2150
f3fbd155
KR
21512001-10-16 Ken Raeburn <raeburn@gnu.org>
2152
2153 Avoid the assumption that car and cdr slots of cons cells are
2154 addressable lvalues; this allows for easier experimentation with
2155 other lisp implementations that may not permit such accesses for
2156 various reasons. Not quite complete -- buffer.c still needs some
2157 work, and w32/mac files need rechecking -- so compile-time
2158 enforcement is left disabled for now.
2159
2160 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 2161 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
2162 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
2163 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
2164 (XSETCAR, XSETCDR): New macros.
2165 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2166 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2167 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2168 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2169 XSETCDR.
2170 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
2171 * buffer.c (record_buffer, Fbury_buffer)
2172 (swap_out_buffer_local_variables, recenter_overlay_lists)
2173 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
2174 fields of a cons cell respectively.
2175 * callint.c (quotify_args, Fcall_interactively): Likewise.
2176 * ccl.c (Fregister_code_conversion_map): Likewise.
2177 * coding.c (detect_coding_system): Likewise.
2178 * composite.c (get_composition_id, make_composition_value_copy):
2179 Likewise.
30903479
SM
2180 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2181 (swap_in_symval_forwarding, set_internal, Fset_default)
2182 (Fmake_variable_buffer_local, Fmake_local_variable)
2183 (Fmake_variable_frame_local): Likewise.
f3fbd155 2184 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 2185 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 2186 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
2187 * minibuf.c (get_minibuffer): Likewise.
2188 * search.c (Fmatch_data): Likewise.
2189 * textprop.c (extend_property_ranges): Likewise.
c2d53558 2190 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
2191 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2192 Likewise.
2193 * w32term.c (x_delete_display): Likewise.
2194 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2195 Likewise.
c2d53558 2196 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 2197 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 2198 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
2199 (Fread_file_name): Use XSETCAR.
2200 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2201 CHECK_NUMBER_CDR.
2202 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2203 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2204 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2205 CHECK_NUMBER_CDR.
2206 * keyboard.c (read_char): Alter list traversal to avoid taking the
2207 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2208 (parse_menu_item): Use XSETCAR and XSETCDR.
2209 (reach_char_x_menu_prompt): Use XSETCAR.
2210 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2211 (Fcommand_execute): Use XSETCDR.
2212 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2213 (openp): Change list traversal to avoid using XCAR as lvalue.
2214 (read_list): Use XSETCDR.
2215 * process.c (wait_reading_process_input): Change wait_for_cell
2216 handling to avoid taking addresses of cons cell slots.
30903479
SM
2217 * xselect.c (x_own_selection, x_handle_selection_clear)
2218 (x_clear_frame_selections): Use XSETCDR.
2219 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2220 (x_handle_property_notify, x_get_foreign_selection)
2221 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2222
502150e5
PJ
22232001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2224
018ba359
PJ
2225 * buffer.c: Put doc strings in comments.
2226
30903479 2227 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2228
b56ba8de
SS
22292001-10-15 Sam Steingold <sds@gnu.org>
2230
2231 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2232
6a0b793a
PJ
22332001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2234
30903479
SM
2235 * process.c (process-inherit-coding-system-flag)
2236 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2237 in comment.
2238
a1f17501 2239 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2240 arguments. Put doc strings in comments.
a65da641
PJ
2241
2242 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2243
aa601ad0
GM
22442001-10-15 Gerd Moellmann <gerd@gnu.org>
2245
30903479 2246 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2247
aa601ad0
GM
2248 * window.c (select_window_1): Unfreeze window start. Remove a
2249 doubled test for WINDOW being live.
2250
288148a1
PJ
22512001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2252
dd8d1e71
PJ
2253 * fns.c (Fmapconcat): Fix typo in a doc string.
2254
288148a1
PJ
2255 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2256
9f5eb4a3
GM
22572001-10-15 Gerd Moellmann <gerd@gnu.org>
2258
2259 * xterm.c (x_draw_glyph_string): Restore clipping after
2260 drawing box.
2261
dbae44c8
PJ
22622001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2263
30903479 2264 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2265
0c88c937
SM
22662001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2267
56378db4
GM
2268 * indent.c (skip_invisible): Use new retval of
2269 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2270
845e4cf4
SM
2271 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2272 If a parent is reached and noinherit is set, exit immediately.
2273 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2274
0c88c937
SM
2275 * s/ms-w32.h (EXEC_SUFFIXES):
2276 * s/msdos.h (EXEC_SUFFIXES):
2277 * process.h (EXEC_SUFFIXES): Remove.
2278
2279 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2280 (decode_suffixes): Remove.
2281
2282 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2283 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2284 (invisible_ellipsis_p): Remove.
0c88c937
SM
2285
2286 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2287 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2288 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2289 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2290 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2291
d19be8a9
PJ
22922001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2293
04d7d066
PJ
2294 * lisp.h (Ftop_level): Add prototype.
2295
d624284c
PJ
2296 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2297 (XTread_socket): Improve style of comments to follow other
2298 comments.
2299
a87414f9
PJ
2300 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2301 is already prototyped in included lisp.h).
2302
d19be8a9
PJ
2303 * frame.c (Fset_mouse_position): Improve style of comment to
2304 follow other comments.
2305 (Fset_mouse_pixel_position): Improve style of comment to follow
2306 other comments.
2307 (Fmake_frame_visible): Doc fix and typo in comment.
2308 (Fmake_frame_invisible): Doc fix and typo in comment.
2309 (Ficonify_frame): Fix typo in comment.
2310
c061c855
GM
23112001-10-14 Gerd Moellmann <gerd@gnu.org>
2312
37f6b5b6 2313 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2314 * term.c, alloc.c: Put doc strings in comments.
c061c855 2315
e641b454
GM
23162001-10-13 Gerd Moellmann <gerd@gnu.org>
2317
2318 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2319 Provide definitions for doc strings in comments.
2320
2321 * fns.c: Put doc strings in comments.
2322
51724e26
EZ
23232001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2324
2325 * dired.c (file_name_completion): Ignore a candidate directory if
2326 it matches an element in completion-ignored-extensions that ends
2327 in a slash.
2328 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2329 feature in the doc string.
2330 (Ffile_name_completion): Ditto.
2331
be5fc59b
SM
23322001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2333
5a1373f3
SM
2334 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2335
2336 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2337
2338 * lisp.h (Fprovide): Update prototype.
2339 (Ffeaturep, invisible_p): Remove.
2340
bbc4a3d3 2341 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2342 (DOLIST, LOOP_PROPVAL): New macros.
2343 (invisible_p, invisible_ellipsis_p): Use them.
2344 (invisible_noellipsis_p): New function.
2345 (syms_of_xdisp): Use empty_string.
2346
2347 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2348
2349 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2350 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2351
2352 * print.c (Fwith_output_to_temp_buffer): Align with
2353 internal_with_output_to_temp_buffer.
2354 (print_preprocess): Use traverse_intervals_noorder.
2355 (print_object): Update call to traverse_intervals.
2356
2357 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2358 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2359
2360 * intervals.c (traverse_intervals_noorder): New function.
2361 (search_for_interval, count_intervals): Use it.
2362 (traverse_intervals): Use less stack space and drop `depth' arg.
2363
2364 * fns.c (Ffeaturep): Add new `subfeature' arg.
2365 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2366 (Qsubfeatures): New var.
2367 (syms_of_fns): Initialize it.
2368
026f408d
SM
2369 * keymap.c (Fkey_description): Use empty_string.
2370 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2371 (syms_of_keymap): Setup inheritance between maps.
2372 Don't export Sdescribe_bindings_internal any more.
2373
be5fc59b
SM
2374 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2375
3365175e
GM
23762001-10-12 Gerd Moellmann <gerd@gnu.org>
2377
2378 * xterm.c (notice_overwritten_cursor): Renamed from
2379 note_overwritten_text_cursor. Rewritten to take glyph widths into
2380 account.
2381
2ab7765c
EZ
23822001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2383
2384 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2385 multi-line strings without a trailing "\n\".
2386
311346bb
PJ
23872001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2388
2389 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2390 defined.
2391
2168e04d
SM
23922001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2393
026f408d
SM
2394 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2395
c0ec53ad
SM
2396 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2397 * w32proc.c (sys_spawnve):
2398 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2399 * w32.c (check_windows_init_file):
2400 * sound.c (Fplay_sound):
026f408d 2401 * emacs.c (init_cmdargs):
c0ec53ad
SM
2402 * process.c (Fstart_process): Update calls to openp.
2403
2404 * callproc.c (Vexec_suffixes): New var.
2405 (Fcall_process): Update call to openp.
2406 (decode_suffixes): New function.
2407 (syms_of_callproc): Init exec-suffixes.
2408
2409 * lread.c (Vload_suffixes, default_suffixes): New vars.
2410 (openp): Take a lisp list of suffixes.
2411 Check for file-name-handlers even if the file was absolute already.
2412 (syms_of_lread): Declare load-suffixes.
2413 (Fload): Fix up call to openp.
2414 Don't bother checking for file-name-handler at the very beginning.
2415
f6333468
SM
2416 * keymap.h (Fcopy_keymap): Don't export.
2417
2418 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2419 (Vload_suffixes, Vexec_suffixes): Declare.
2420 (openp): Update prototype.
f6333468
SM
2421
2422 * emacs.c (empty_string): New var.
2423 (syms_of_emacs): Initialize it.
2424
2425 * search.c (wordify): Use it.
2426
2427 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2428 selected window if it's not displayed there. Handle the case
2429 when the window is dedicated.
2430 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2431
2432 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2433
2168e04d
SM
2434 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2435 Remove left_ok and right_ok.
2436 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2437 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2438 new meaning of b_property.
2439
2440 * syntax.c (update_syntax_table): Simplify.
2441 (Fforward_comment): Don't skip quoted chars when going backward.
2442
13d95cc0
GM
24432001-10-11 Gerd Moellmann <gerd@gnu.org>
2444
beb0990f
GM
2445 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2446 in case I is of some unsigned type, in which case
2447 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2448 comparison becomes bogus.
2449
cb938d46
GM
2450 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2451 (Fuser_full_name): Fix bug treating a float as a fixnum.
2452
2453 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2454
2455 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2456
13d95cc0
GM
2457 * lisp.h (circular_list_error): Add prototype.
2458
2459 * data.c (Qcircular_list): New variable.
2460 (circular_list_error): New function.
2461 (syms_of_data): Initialize it Qcircular_list.
2462
e35f6ff7
SM
24632001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2464
2465 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2466 casefiddle.c, buffer.c: Include keymap.h.
2467
619632ac
GM
24682001-10-10 Gerd Moellmann <gerd@gnu.org>
2469
2470 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2471 options. From Dave Love <d.love@dl.ac.uk>.
2472
5e5388f6
GM
24732001-10-09 Gerd Moellmann <gerd@gnu.org>
2474
2475 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2476 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2477
14a3dff7
GM
2478 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2479 unsigned char.
2480 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2481
76ba8daf
AI
24822001-10-08 Andrew Innes <andrewi@gnu.org>
2483
2484 * lisp.h [max]: Undef min and max before redefining them.
2485
2486 * w32gui.h: Do not undef min and max.
2487
2488 * w32heap.h: Do not undef min and max.
2489
2490 * s/ms-w32.h: Do not undef min and max.
2491
166253cb
SM
24922001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2493
2494 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2495
0c4d9527
SS
24962001-10-08 Sam Steingold <sds@gnu.org>
2497
2498 * keymap.c (current-active-maps): Quote newlines (compilation error).
2499
14bfa771
EZ
25002001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2501
2502 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2503 bindings.elc, since otherwise doc strings in bindings.el get wrong
2504 offsets in etc/DOC.
2505
bdb7aa47
SM
25062001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2507
9985827f
SM
2508 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2509
2510 * keyboard.h (map_prompt): Remove.
2511
2512 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2513 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2514
bdb7aa47
SM
2515 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2516
2517 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2518
2519 * keyboard.c (map_prompt): Remove.
2520 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2521 Use Fkeymap_prompt.
2522
2523 * keymap.h: New file. Extracted from lisp.h.
2524
9985827f
SM
2525 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2526 (accessible_keymaps_1): New function.
2527 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2528 (Fwhere_is_internal): Use Fcurrent_active_maps.
2529 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2530 Insert in current buffer rather than standard-output.
2531 Don't call `help-mode'. Export to elisp.
2532 (describe_buffer_bindings): New wrapper.
2533 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2534 and Sdescribe_buffer_bindings.
2535
402c9a51
GM
25362001-10-08 Gerd Moellmann <gerd@gnu.org>
2537
9985827f 2538 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2539 Remove code setting signal handler.
2540
9985827f 2541 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2542 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2543
3fe81fdf
PJ
25442001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2545
2546 * keyboard.c: Don't define min/max.
2547
55fa7820
GM
25482001-10-08 Gerd Moellmann <gerd@gnu.org>
2549
9985827f 2550 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2551 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2552 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2553 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2554 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2555 Don't define min/max.
2556
2557 * lisp.h (min, max): New macros.
2558
55fa7820
GM
2559 * puresize.h (BASE_PURESIZE): Increase to 725000.
2560
1aad31e4
PJ
25612001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2562
9180dc8c
PJ
2563 * xfaces.c (free_frame_menubar): Add prototype.
2564
01f67d2c
PJ
2565 * lisp.h (init_window): Add prototype.
2566
2567 * editfns.c: Include ctype.h.
2568
2569 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2570 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2571 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2572 variable `sb'.
2573
5f351ff1
PJ
2574 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2575 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2576 `popup_activated_flag' and `title'.
2577
479dfe87
PJ
2578 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2579
dff49fc8
PJ
2580 * emacs.c (main): Remove extra `;'.
2581
248ac615
PJ
2582 * atimer.h (struct atimer): Fix typos in a comment.
2583
2584 * atimer.c: Fix typo.
2585
af232c7d
PJ
2586 * Makefile.in: Fix typo.
2587
2588 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2589
d876f455
MB
25902001-10-07 Miles Bader <miles@gnu.org>
2591
2592 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2593
0037e2f2
KR
25942001-10-07 Ken Raeburn <raeburn@gnu.org>
2595
b056f36d
KR
2596 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2597 Lisp_Object.
2598
0037e2f2
KR
2599 * lisp.h (Ffield_end): Declare.
2600
1a4372ef
GM
26012001-10-07 Gerd Moellmann <gerd@gnu.org>
2602
a4a74e8c
GM
2603 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2604
2605 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2606
2607 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2608
2609 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2610
1a4372ef
GM
2611 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2612 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2613
2614 * alloc.c (inhibit_garbage_collection): Simplify.
2615 (Fmemory_use_counts): Ditto.
2616
9985827f 2617 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2618 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2619 most-negative-fixnum.
2620
9985827f 2621 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2622 (FIXNUM_OVERFLOW_P): New macros.
2623
4650e362
MB
26242001-10-06 Miles Bader <miles@gnu.org>
2625
2626 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2627 scroll_bar_bottom_shadow_pixel fields.
2628 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2629 for the shadows, and tell the toolkit about them if we succeed.
2630 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2631 Free scroll-bar shadow colors.
2632 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2633 Free scroll-bar shadow colors when the background color changes.
2634 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2635 Initialize scroll-bar shadow-color fields.
2636
ace64e0a
GM
26372001-10-05 Gerd Moellmann <gerd@gnu.org>
2638
2639 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2640
ec66bdc7
MB
26412001-10-05 Miles Bader <miles@gnu.org>
2642
9985827f
SM
2643 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2644 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2645 New functions (were in simple.el).
9985827f 2646 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2647 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2648 (syms_of_minibuf): Initialize them.
2649
a0fb4492
GM
26502001-10-05 Gerd Moellmann <gerd@gnu.org>
2651
2652 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2653 (tiff_load): Install them as error and warning handler.
2654
0bcf87c1
AI
26552001-10-04 Andrew Innes <andrewi@gnu.org>
2656
2657 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2658 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2659 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2660 (x_to_w32_charset): Handle private format for unknown charsets.
2661 Handle wildcards in charset spec, by ignoring them.
2662 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2663 "*-" prefix from charset.
2664 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2665 handle the truncated font spec form constructed by font_list_1, so
2666 that we correctly identify the charset fields. Don't remove "*-"
2667 prefix from charset.
2668 (w32_list_synthesized_fonts): Fix argument to alloca.
2669
c89e4bc5
GM
26702001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2671
2672 * window.h (MINI_WINDOW_P): Use NILP.
2673
2674 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2675
2676 * termhooks.h (struct input_event): Use proper type for `kind'.
2677
26782001-10-04 Gerd Moellmann <gerd@gnu.org>
2679
2680 This handles unknown keysyms better than before. For example,
2681 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2682 Emacs formerly completely ignored F5. With the change, it derives
2683 a key symbol from the name of the X keysym, `ccaron' in this case.
2684 Reported by Martin Buchholz.
2685
2686 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2687 unknown keysyms.
2688
2689 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2690 that EVENT->code isn't a function key, use the keysym's name.
2691
26922001-10-04 Gerd Moellmann <gerd@gnu.org>
2693
2694 FOREACH is a macro that should make it easier to loop over Lisp
2695 lists with checks for cycles and proper lists.
2696
2697 * lisp.h (LIST_END_P, FOREACH): New macros.
2698
26992001-10-04 Gerd Moellmann <gerd@gnu.org>
2700
2701 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2702 called for a lost connection. Prevent dumping core in this case.
2703 Instead print the X error, and exit. On user request.
2704
2705 * xterm.c (error_msg): New variable.
2706 (x_fatal_error_signal): New function.
2707 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2708 as fatal_error_signal_hook around the call to XtCloseDisplay.
2709
2710 * emacs.c (fatal_error_signal_hook): New variable.
2711 (fatal_error_signal): Call that function.
2712
27132001-10-04 Gerd Moellmann <gerd@gnu.org>
2714
2715 With this, Emacs prints how much pure storage it will
2716 approximately need in case pure storage overflows while dumping.
2717
2718 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2719 New variables.
2720 (init_alloc_once): Initialize new variables.
2721 (PURE_POINTER_P): Use new variables.
2722 (pure_alloc): If pure storage overflows, allocate from the heap.
2723 (check_pure_size): New function.
2724 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2725
2726 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2727 (check_pure_size): Add prototype.
2728
2729 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2730
27312001-10-04 Gerd Moellmann <gerd@gnu.org>
2732
2733 This adds a post-gc-hook that's run with GC inhibited.
2734 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2735
2736 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2737 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2738 (Fgarbage_collect): Run post-gc-hook.
2739
27402001-10-04 Gerd Moellmann <gerd@gnu.org>
2741
2742 This adds `defvaralias' and `indirect-variable'. Changes not
2743 directly related to this feature are there to gain the same
2744 performance again as before variable aliases.
2745
2746 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2747 code to get and set symbol values, to take defvaralias into account.
2748
2749 (Note: the new `constant' bit-flag in symbols would make it
2750 possible to define arbitrary read-only variables, e.g. with
2751 `defconst'.)
2752
2753 Documentation is in lispref/variables.texi. Added to NEWS.
2754
2755 * lisp.h (enum symbol_interned): New enumeration.
2756 (struct Lisp_Symbol): Remove member `obarray', add
2757 `indirect_variable', `constant', and `interned'.
2758 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2759 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2760 (indirect_variable): Add prototype.
2761
2762 * print.c (print_preprocess, print_object): Test internedness of
2763 symbols differently.
2764
2765 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2766 bit-fields.
2767 (init_obarray): Likewise for t and nil.
2768
2769 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2770 (Fdefvaralias): New function.
2771 (specbind): Simplify the test if symbol is a constant.
2772 (syms_of_eval): Defsubr Fdefvaralias.
2773
2774 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2775 (Qcyclic_variable_indirection): New variable.
2776 (Fkeywordp): Check for internedness differently.
2777 (Fmakunbound): Simplify the test if symbol is a constant.
2778 (indirect_variable, Findirect_variable): New functions.
2779 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2780 aliased symbol.
2781 (let_shadows_buffer_binding_p): Check for variable aliases.
2782 (set_internal): Simplify the test if SYMBOL is a constant.
2783 If SYMBOL has a buffer-local value and is an alias, use the aliased
2784 symbol instead.
2785 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2786 Sindirect_variable.
2787
2788 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2789 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2790 set directly.
2791
2792 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2793
2794 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2795 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2796 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2797
ab952a4f
GM
27982001-10-04 Gerd Moellmann <gerd@gnu.org>
2799
2800 * Branch for 21.1.
b56ba8de 2801
ba88ff28
MB
28022001-10-03 Miles Bader <miles@gnu.org>
2803
2804 * callproc.c (syms_of_callproc): Explicitly state in the
2805 documentation for `process-environment' that earlier entries take
2806 precedence over later ones.
2807
ae1a9581
MB
28082001-10-02 Miles Bader <miles@gnu.org>
2809
2810 * textprop.c (Fnext_char_property_change)
2811 (Fprevious_char_property_change): Remove reference to non-existant
2812 argument OBJECT from doc-string.
2813
257e3f57
GM
28142001-10-01 Gerd Moellmann <gerd@gnu.org>
2815
2816 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2817 (try_window_id): Skip back over lines ending in a newline from a
2818 string.
2819
2820 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2821 New bit flag
2822
c1f29759
RS
28232001-10-01 Richard M. Stallman <rms@gnu.org>
2824
2825 * search.c (Freplace_match): Doc fix.
2826
c30dce3d
AI
28272001-09-28 Andrew Innes <andrewi@gnu.org>
2828
2829 * w32menu.c (set_frame_menubar): Take into account that
2830 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2831 <raeburn@gnu.org>.
2832
03be5931
EZ
28332001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2834
2835 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2836
75bec752
PJ
28372001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2838
2839 * s/gnu-linux.h: Fix a typo in comment.
2840
83100e0a
AS
28412001-09-28 Andreas Schwab <schwab@suse.de>
2842
2843 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2844 nocombreloc, in case -z combreloc is the default.
2845
a74b48cf
GM
28462001-09-28 Gerd Moellmann <gerd@gnu.org>
2847
2848 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2849 really going on here.
2850
09c4719e
SM
28512001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2852
2853 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2854
f7d5d963
EZ
28552001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2856
2857 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2858 utf-8, menu-bar, and latin-N.
2859 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2860 unconditionally now.
2861 (lisp): Add latin-N, since they are preloaded.
2862
9240e746
GM
28632001-09-27 Gerd Moellmann <gerd@gnu.org>
2864
14531065
GM
2865 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2866 to the left. Some cleanup.
2867
9240e746
GM
2868 * xdisp.c (display_mode_element): One more case where a string's
2869 multibyteness should be used for display.
2870
edd1e654
GM
28712001-09-26 Gerd Moellmann <gerd@gnu.org>
2872
b02439c8
GM
2873 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2874 reading at EOF.
2875
032906b1 2876 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2877 of the only temporarily set echoing flag for deciding when
032906b1
GM
2878 the cancel echoing.
2879
2880 * keyboard.c (echo_kboard): Make externally visible.
2881
2882 * lisp.h (echo_kboard): Declare extern.
2883
cb617e7c 2884 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2885 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2886 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2887 this round of redisplay if make_cursor_line_fully_visible fails.
2888 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2889 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2890
2891 * dispextern.h (required_matrix_width, required_matrix_height):
2892 Add prototypes.
2893
09c4719e
SM
2894 * dispnew.c (required_matrix_width, required_matrix_height):
2895 New functions.
cb617e7c 2896 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2897 (allocate_matrices_for_frame_redisplay: Use them.
2898 Remove parameters CH_DIM.
cb617e7c 2899
edd1e654
GM
2900 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2901 and selected_window to the frame of the window whose mode-lines
2902 are displayed, and to the window itself.
2903 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2904 here.
edd1e654 2905
924b604c
GM
29062001-09-25 Gerd Moellmann <gerd@gnu.org>
2907
daba7643
GM
2908 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2909 the image cache under us.
2910
b7a22712 2911 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2912 with a string value, use that string's multibyteness for displaying.
b7a22712 2913
ad648212
GM
2914 * keyboard.c (read_char): Don't clear a message for a switch-frame
2915 event. From Stefan Monnier <monnier@cs.yale.edu>.
2916
9f8531e5
GM
2917 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2918 version for after 21.1.
2919
2920 * xdisp.c (row_containing_pos): Make externally visible.
2921
2922 * dispextern.h (row_containing_pos): Add prototype.
2923
924b604c
GM
2924 * process.c (send_process): Disable composition if from_byte < 0.
2925 From Kenichi Handa <handa@etl.go.jp>.
2926
6f3f0db4
GM
29272001-09-24 Gerd Moellmann <gerd@gnu.org>
2928
c69c0ebc
GM
2929 * xterm.c (refreshicon): Function removed.
2930
d1182bc4
GM
2931 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2932
2933 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2934
2935 * xterm.c (toplevel): Remove includes in #if 0.
2936
6f3f0db4
GM
2937 * process.c (sigchld_handler) [LINUX]: Don't return from
2938 the signal handler at the end of the loop.
2939
59957f85
GM
29402001-09-21 Gerd Moellmann <gerd@gnu.org>
2941
09c4719e
SM
2942 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2943 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2944
a0528984
EZ
29452001-09-21 Markus Rost <rost@math.ohio-state.edu>
2946
2947 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2948
db92b288
GM
29492001-09-20 Gerd Moellmann <gerd@gnu.org>
2950
3fed8ad5
GM
2951 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2952 since this function can be called during GC.
2953
db92b288
GM
2954 * callproc.c (Fcall_process): Handle errors from pipe(2).
2955 (child_setup): Delete code in #ifdef vipc.
2956
7121b85a
GM
29572001-09-19 Gerd Moellmann <gerd@gnu.org>
2958
72f62cb5
GM
2959 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2960 (display_mode_element): Display the string from decode_mode_spec
2961 depending on its multibyteness.
2962
a2697022
GM
2963 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2964
7121b85a
GM
2965 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2966
bfc97351
GM
29672001-09-18 Gerd Moellmann <gerd@gnu.org>
2968
c9063433
GM
2969 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2970 recursive_edit_unwind.
2971 (recursive_edit_unwind): Set kboard state according to
2972 SINGLE-KBOARD.
2973
3fbdba3e
GM
2974 * buffer.c (modify_overlay): Don't do nothing if START == END;
2975 This can still be a modification, for example when an overlay has
2976 a before-string or after-string.
2977 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2978 an overlay with before-string or after-string.
2979
1270031d
GM
2980 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2981 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2982
bfc97351
GM
2983 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2984 first_unchanged_at_end_row is in front of
2985 last_unchanged_at_beg_row. This code should be removed after the
2986 release of 21.1.
2987
d8a973aa
GM
29882001-09-17 Gerd Moellmann <gerd@gnu.org>
2989
e18c8b8d
GM
2990 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2991 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2992
d8a973aa
GM
2993 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2994 versions >= 2.95.
2995
ed7d6ba4
EZ
29962001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2997
2998 * dired.c (Ffile_attributes): Doc fix.
2999
551629f9
GM
30002001-09-14 Gerd Moellmann <gerd@gnu.org>
3001
3002 * fileio.c (Ffile_symlink_p): Fix last change.
3003
3004 * filelock.c (current_lock_owner): Fix last change.
3005
4c8c7926
GM
30062001-09-13 Gerd Moellmann <gerd@gnu.org>
3007
620c4704
GM
3008 * filelock.c (current_lock_owner): If readlink returns ERANGE,
3009 take that to mean that the buffer is too small.
3010
81c3310d
GM
3011 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
3012 that to mean that the buffer is too small.
3013
06fd3792
GM
3014 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
3015 current buffer's multibyteness when discarding the iterator's
3016 stack.
3017
4c8c7926
GM
3018 * xfns.c (Fx_window_property): Handle case that property gets
3019 deleted between the two calls to XGetWindowProperty.
3020
9a72e4c1
GM
30212001-09-11 Gerd Moellmann <gerd@gnu.org>
3022
bd819d14 3023 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 3024
a41edd99
GM
3025 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
3026 in addition to read-only.
3027
3028 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
3029 to t in addition to read-only.
3030
3031 * lisp.h (Qinhibit_modification_hooks): Declare.
3032
3033 * insdel.c (Qinhibit_modification_hooks): New variable.
3034 (syms_of_insdel): Initialize and staticpro it.
3035
d4881c6a
GM
3036 * textprop.c (verify_interval_modification): Don't run
3037 modification-hooks if inhibit_modification_hooks.
3038
3039 * dispnew.c (set_window_cursor_after_update): Fix code
3040 finding glyph row containing cursor when cursor_in_echo_area
3041 is >= 0.
3042
9a72e4c1
GM
3043 * xdisp.c (init_from_display_pos): Put some code in #if 0.
3044 (add_to_log): Use bcopy instead of strcpy.
3045 (init_from_display_pos): Use an explicit loop over bytes in
3046 overlay strings instead of calling index.
3047
f4a374a1
GM
30482001-09-10 Gerd Moellmann <gerd@gnu.org>
3049
300e57bd
GM
3050 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
3051
3052 * dispnew.c (direct_output_for_insert): Don't change IT's
3053 stop_charpos to something in front of its current position.
3054
f4a374a1
GM
3055 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
3056 `format'.
3057
7e4cbc91
RS
30582001-09-10 Richard M. Stallman <rms@gnu.org>
3059
3060 * frame.c (Fmouse_position): Doc fix.
3061
6afad91e
GM
30622001-09-07 Gerd Moellmann <gerd@gnu.org>
3063
3064 * xdisp.c (init_from_display_pos): Don't compare the result
3065 of calling index with NULL.
3066
f76e0368
GM
30672001-09-06 Gerd Moellmann <gerd@gnu.org>
3068
3069 * xfns.c (x_set_background_color): Don't change the colors
3070 of the X window of scroll bar widgets.
3071
9ead1b60
AI
30722001-09-05 Andrew Innes <andrewi@gnu.org>
3073
3074 * w32fns.c (w32_createwindow): Undo last change.
3075
c3b497b3
GM
30762001-09-05 Gerd Moellmann <gerd@gnu.org>
3077
08e1d6df
GM
3078 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
3079
c3b497b3
GM
3080 * xdisp.c (string_buffer_position): Use *single_char_property*
3081 functions instead of the *single_property* functions.
b56ba8de 3082
8f860180
AI
30832001-09-04 Andrew Innes <andrewi@gnu.org>
3084
9a72e4c1
GM
3085 * w32term.c (w32_read_socket): Add more information to debugging
3086 output.
8f860180
AI
3087
3088 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
3089 from Emacs frames, so that calls to GetClipBox in w32term.c
3090 correctly report when part of a frame is visible (including
3091 scrollbars, etc). This prevents repeated redrawing of frames when
3092 only a scrollbar is visible.
3093 (w32_wnd_proc): Add more frame information to debugging output.
3094
2ee1aa00
SM
30952001-09-03 Stefan Monnier <monnier@cs.yale.edu>
3096
3097 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
3098
e3b22517
GM
30992001-09-03 Gerd Moellmann <gerd@gnu.org>
3100
7e376260
GM
3101 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
3102 help-echo for a string which doesn't have help-echo itself, use
3103 get-char-property to obtain the help-echo from the string's buffer
3104 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
3105 have mouse-face, look ``under'' the string for mouse-face from an
3106 overlay.
3107 (fast_find_position): Add parameter STOP. In the final row, stop
3108 before glyphs having STOP as object. Don't consider glyphs that
3109 are not from a buffer.
3110
e3b22517
GM
3111 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
3112
9a249bba
EZ
31132001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
3114
3115 * fns.c (Fmd5): Doc fix.
3116
c9979669
GM
31172001-08-31 Gerd Moellmann <gerd@gnu.org>
3118
3119 * composite.c (update_compositions): Do nothing if
3120 inhibit-modification-hooks is set.
3121
9584e63a
GM
31222001-08-30 Gerd Moellmann <gerd@gnu.org>
3123
986ec8f2 3124 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 3125 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
3126 glyph matrices etc. in a core dump.
3127
92a25631
GM
3128 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
3129 (syms_of_xdisp): Initialize them.
3130 (handle_single_display_prop): Don't change point, bind `object',
3131 `position', and `buffer-position' instead to the object having the
2ee1aa00 3132 `display' property, position in the object and position in the buffer.
92a25631 3133
9584e63a
GM
3134 * fileio.c (Finsert_file_contents): Don't change the multibyteness
3135 of the buffer if REPLACE is non-nil.
3136
d38633a3
GM
31372001-08-29 Gerd Moellmann <gerd@gnu.org>
3138
3139 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
3140
f4fccc1e
EZ
31412001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
3142
3143 * w32term.c (x_set_glyph_string_background_width)
3144 (show_mouse_face): Track the last changes in xterm.c.
3145
eaaa65b0
GM
31462001-08-28 Gerd Moellmann <gerd@gnu.org>
3147
7b0870b2
GM
3148 * xterm.c (x_set_glyph_string_background_width): Set the glyph
3149 string's background width so that multi-line mouse-face is drawn
3150 to the right edge of the window.
3151 (show_mouse_face): Set the row's mouse_face_p flag after drawing
3152 glyphs.
3153
6b6e2422 3154 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 3155 before inserting/writing glyphs.
6b6e2422 3156
eaaa65b0
GM
3157 * xdisp.c (display_mode_element): Use string_byte_to_char to
3158 determine character positions in strings, use chars_in_text
3159 instead of strwidth.
3160 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
3161 a matrix as parameter; this is easier to use from GDB.
3162
9ad62cf8
MB
31632001-08-28 Miles Bader <miles@gnu.org>
3164
2ee1aa00
SM
3165 * textprop.c (Fprevious_single_char_property_change)
3166 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 3167
32171635
GM
31682001-08-27 Gerd Moellmann <gerd@gnu.org>
3169
47d57b22
GM
3170 * fileio.c (Finsert_file_contents): Allocate, restore, and
3171 free composition data in the case of REPLACE not being nil.
3172
3173 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3174 there exist overlay strings with newlines at POS.
3175 (text_outside_line_unchanged_p): Return 0 if changes start at
3176 START and overlays exist at START. Likewise for END.
3177 (try_window_id): Give up if init_to_row_end returns 0.
3178
32171635
GM
3179 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3180 unconditionally.
3181
e1249666
GM
31822001-08-24 Gerd Moellmann <gerd@gnu.org>
3183
33954c45
GM
3184 * keymap.c (access_keymap): Return the cdr of the binding of
3185 a generic character instead of its definition (KEY . BINDING).
3186
e1249666
GM
3187 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3188 to 0 also in the REPLACE case.
3189
fb4c6c96
AC
31902001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3191
3192 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3193 open to determine whether file is readable (as for DOS_NT).
3194
59ecf80b
GM
31952001-08-23 Gerd Moellmann <gerd@gnu.org>
3196
3197 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3198 coding.type is coding_type_no_conversion or coding_type_raw_text,
3199 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3200 non-nil instead of just setting enable_multibyte_characters in the
3201 buffer to nil.
3202
40e33037
GM
32032001-08-22 Gerd Moellmann <gerd@gnu.org>
3204
374388c3
GM
3205 * dispextern.h (struct face_cache): Add member
3206 menu_face_changed_p.
3207
3208 * xfaces.c (menu_face_changed_default): New variable.
3209 (menu_face_changed_count): Variable removed.
3210 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3211 the menu_face_changed_default flag, otherwise set the FRAME's
3212 menu_face_changed_p flag if the `menu' face has been changed.
3213 Prevent calling set_font_frame_param if FRAME is t.
3214 (make_face_cache): Initialize cache's menu_face_changed_p
3215 from menu_face_changed_default.
3216 (realize_basic_faces): Look into the frame's face cache to
3217 determine if the menu appearance needs updating.
3218
40e33037
GM
3219 * keymap.c (access_keymap): Fix last change to not consider
3220 IDX when it has modifiers.
3221
859ea4b8
GM
32222001-08-21 Gerd Moellmann <gerd@gnu.org>
3223
3224 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3225 . BINDING) exists, where GENERIC-CHAR is the generic character of
3226 the charset of IDX, return BINDING unless there exists a binding
3227 for IDX itself.
3228
e8660d73
GM
32292001-08-16 Gerd Moellmann <gerd@gnu.org>
3230
cca1b1d7
GM
3231 * xrdb.c (SYSV): Don't define on Solaris 2.
3232 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3233
e8660d73 3234 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3235 of the screen line, not text line, containing IT's current position.
e8660d73 3236
93aba6fc
GM
32372001-08-15 Gerd Moellmann <gerd@gnu.org>
3238
288d4e06
GM
3239 * window.c (window_scroll_pixel_based): Don't recenter if
3240 PT is partially visible in the window.
3241
3452efc2
SM
3242 * xterm.c (expose_window_tree, expose_window, expose_line):
3243 Return 1 when overwriting mouse-face.
82f053ab
GM
3244 (expose_frame): If mouse-face was overwritten, redo it.
3245
93aba6fc
GM
3246 * xfaces.c (x_update_menu_appearance): Don't call
3247 set_frame_menubar, let the next redisplay do it.
3248
858a55c1
AI
32492001-08-14 Andrew Innes <andrewi@gnu.org>
3250
3251 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3252 drawing glyph string.
3253
3a990b67
EZ
32542001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3255
3256 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3257 running HI-UX/MPP.
3258
04386463
GM
32592001-08-14 Gerd Moellmann <gerd@gnu.org>
3260
3261 * xfaces.c (x_update_menu_appearance): Save and restore value of
3262 interrupt_input_blocked.
3263
3e6385a4
GM
32642001-08-13 Gerd Moellmann <gerd@gnu.org>
3265
b0e619b4
GM
3266 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3267 a line start, move back to the line start.
3452efc2 3268
0de73d5a
GM
3269 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3270 exactly when a mini-buffer is active.
3271
3e6385a4
GM
3272 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3273 in units of 1/8 character on non window-system frames.
3274 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3275
d1b5f629
EZ
32762001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3277
3278 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3279 a doc string.
3280
eaa2319f
GM
32812001-08-09 Gerd Moellmann <gerd@gnu.org>
3282
8e3189f0
GM
3283 * keyboard.c (Vpre_help_message): New variable.
3284 (syms_of_keyboard): Initialize and staticpro it.
3285 (show_help_echo): Record current message before displaying a
3286 help-echo, and restore that message when clearing the help.
3287
eaa2319f
GM
3288 * xfns.c (x_create_im): Remove prototype.
3289
3290 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3291
3292 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3293
eaa2319f
GM
32942001-08-08 Gerd Moellmann <gerd@gnu.org>
3295
3296 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3297 windows whose height has changed, disable partially visible lines.
eaa2319f 3298
17fdcfc8
GM
32992001-08-07 Gerd Moellmann <gerd@gnu.org>
3300
22d01aed 3301 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3302 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3303
17fdcfc8
GM
3304 * xdisp.c (start_display): Don't try to determine the continuation
3305 lines width if lines are truncated. It's superfluous and leads to
3306 incorrect results if POS is not visible in the window after
3307 reseating the iterator at the previous line start.
3308
8e3fe78e
GM
33092001-08-06 Gerd Moellmann <gerd@gnu.org>
3310
3311 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3312
98a8938c
GM
33132001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3314
3315 * alloc.c (init_stack): Remove declaration.
3316
18f9986a
GM
33172001-08-03 Gerd Moellmann <gerd@gnu.org>
3318
5e1f85e0
GM
3319 * keyboard.c (read_key_sequence): Check that key is an integer
3320 before comparing it with quit_char.
3321 (add_command_key): Use larger_vector.
3322 (read_char_x_menu_prompt): Instead of converting symbol and
3323 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3324 which cannot be confused with valid events.
5e1f85e0
GM
3325 (read_char): When reading from Vunread_command_events, check for
3326 events of the form (EVENT . disabled) instead of
3327 (EVENT . nil).
3328
18f9986a
GM
3329 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3330 a float, determine the max height from the frame's height.
3331
fbc7f2a6
GM
33322001-08-02 Gerd Moellmann <gerd@gnu.org>
3333
3334 * xdisp.c (redisplay_internal): Take message_cleared_p into
3335 account only if minibuf_level == 0.
3336
81b1a79d
GM
33372001-08-01 Gerd Moellmann <gerd@gnu.org>
3338
e5c60873
GM
3339 * xdisp.c (redisplay_internal): Add a check for the last
3340 displayed message.
3452efc2 3341
6e019995
GM
3342 * xdisp.c (message_cleared_p): New variable.
3343 (clear_message): Set message_cleared_p when clearing the current
3344 message.
3345 (redisplay_internal): Look at message_cleared_p to capture
3346 the case that the echo area should be cleared.
3347
308a74d8
GM
3348 * keyboard.c (command_loop_1): Fix spelling of
3349 resize_echo_area_exactly.
3350
3452efc2 3351 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3352
3353 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3354
81b1a79d
GM
3355 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3356 current matrix when the window gets smaller.
3357
ada329e6
EZ
33582001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3359
3360 * print.c (strout): Cast the character passed to insert_char to
3361 unsigned char, to avoid sign extension when it is promoted to int.
3362
ed86208c
GM
33632001-07-31 Gerd Moellmann <gerd@gnu.org>
3364
3365 * fileio.c (Finsert_file_contents): Don't treat a return value
3366 of 0 from emacs_read as an IO error.
3367
6594ac22
GM
33682001-07-30 Gerd Moellmann <gerd@gnu.org>
3369
cef68af5
GM
3370 * keyboard.c (abs): New macro.
3371 (double_click_fuzz): New variable.
3372 (make_lispy_event): Use it to determine what makes a double-click.
3373 (syms_of_keyboard): DEFVAR_INT it.
3374
6594ac22
GM
3375 * xmenu.c (set_frame_menubar): Take into account that
3376 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3377 <raeburn@gnu.org>.
3378
75c5350a
GM
33792001-07-27 Gerd Moellmann <gerd@gnu.org>
3380
3381 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3382
3383 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3384 of row's visible height.
3385
3386 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3387 deal with the first overlay string having an image `display' property.
3388 (try_window_reusing_current_matrix, compute_line_metrics):
3389 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3390 row is invisible above and part of the row is at the same time
3391 invisible below the window.
3392
ac49effe
GM
33932001-07-26 Gerd Moellmann <gerd@gnu.org>
3394
3395 * xfns.c (x-show-tip): Doc fix.
3452efc2 3396
ac49effe
GM
3397 * xfns.c (Vx_max_tooltip_size): New variable.
3398 (syms_of_xfns): DEFVAR_LISP it.
3399 (Fx_show_tip): Set frame's window_width to the width of the
3400 window. Use a maximum tooltip size specified by
3401 Vx_max_tooltip_size, if that has valid contents.
3402 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3403
8c3b00cb
AI
34042001-07-26 Andrew Innes <andrewi@gnu.org>
3405
3406 * w32term.c (x_display_list): New variable.
3407 (w32_term_init): Set it.
3408
3409 * w32term.h (x_display_list): New extern.
3410
16098288
GM
34112001-07-26 Gerd Moellmann <gerd@gnu.org>
3412
3413 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3414 is non-nil, instead of when redisplaying_p is non-zero.
3415 See comment there.
16098288
GM
3416 (mark_window_display_accurate_1): Add an assertion.
3417
64c5be50
GM
34182001-07-25 Gerd Moellmann <gerd@gnu.org>
3419
e743f599
GM
3420 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3421
563b384d
GM
3422 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3423 events so that we get a chance of processing expose events.
3424
64c5be50
GM
3425 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3426
296808a5
GM
34272001-07-24 Gerd Moellmann <gerd@gnu.org>
3428
3429 * xfns.c (valid_image_p): Protect better against invalid image
3430 specifications. Previous code could signal an error.
3431
5247262a
GM
34322001-07-23 Gerd Moellmann <gerd@gnu.org>
3433
3452efc2 3434 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3435 presence of display table entries.
3436 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3437
dd42b31a
GM
3438 * dispnew.c (adjust_glyph_matrix): In the optimization for
3439 windows whose height has changed, use the new window height
3440 to compute which rows to invalidate.
3441
9e5a7f2a
GM
3442 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3443 (MAX_10_EXP): New macro.
3444 (Fformat): Use it.
3445
5247262a
GM
3446 * coding.c (code_convert_region): Handle the multibyte case if
3447 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3448
177ab8ce
GM
34492001-07-20 Gerd Moellmann <gerd@gnu.org>
3450
6e07c0a5
GM
3451 * dispextern.h (struct face): Change type of `stipple' to
3452 int; it's an ID.
3453
177ab8ce
GM
3454 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3455
b5b80599
GM
34562001-07-19 Gerd Moellmann <gerd@gnu.org>
3457
4e2a256b
GM
3458 * dispnew.c (update_window): Don't set the cursor at the end
3459 of the update if display update has been paused.
3460
3452efc2 3461 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3462
c1fd9232
KR
34632001-07-18 Ken Raeburn <raeburn@gnu.org>
3464
3465 * fns.c (Fset_char_table_default): Check that a charset is defined
3466 before checking its dimension.
3467
928a85c1
KR
34682001-07-17 Ken Raeburn <raeburn@gnu.org>
3469
3470 * coding.c (setup_coding_system): Don't do any designation based
3471 on reg_bits if charset is not yet defined.
3472
fb4c6c96 3473 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3474 pointer, using eassert.
3475
de11c1ea
GM
34762001-07-17 Gerd Moellmann <gerd@gnu.org>
3477
3452efc2
SM
3478 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3479 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3480
467f1209
GM
34812001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3482
3483 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3484
c3d6be34
GM
34852001-07-16 Gerd Moellmann <gerd@gnu.org>
3486
c1d61a7d
GM
3487 * fileio.c (unwind_read): Function removed.
3488 (read_non_regular, read_non_regular_quit): New functions.
3489 (Finsert_file_contents): When reading from non-regular files,
3490 arrange to catch a `quit' and terminate the loop. Rearrange
3491 code so that a `quit' when reading from a regular file doesn't
3492 insert text in the buffer.
3493
c3d6be34
GM
3494 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3495 Clear faces afterwards.
3496 (clear_font_table): Take a x_display_info parameter. Don't free
3497 fonts being the default font of any frame on the given display.
3498
e06aa1f9
GM
34992001-07-13 Gerd Moellmann <gerd@gnu.org>
3500
3501 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3502 instead of CHAR_STRING which can signal an error.
3503
3504 * charset.c (char_to_string_1): Extracted from char_to_string.
3505 Return -1 instead of signaling an error.
3506 (char_to_string): Use it.
3507
3508 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3509
176c92e6
SM
35102001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3511
3512 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3513 is t, don't try to append anything to it.
3514
1c56232f
EZ
35152001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3516
3517 * dired.c (file_name_completion): Pass dp->d_name to
3518 Fstring_match, not elt, which is always nil here.
3519
1d2b2268
GM
35202001-07-12 Gerd Moellmann <gerd@gnu.org>
3521
3522 * xselect.c (x_decline_selection_request): Handle errors
3523 caused by receivers that have vanished.
3524
3525 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3526 ignoring events on foreign windows in #if 0. Always dispatch
3527 the event after checking it with x_handle_property_notify.
3528
3529 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3530 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3531 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3532 (toplevel): Add prototypes for file-local functions.
3533 (x_atom_to_symbol): Remove DPYINFO parameter.
3534
fe5a0162
SM
35352001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3536
3537 * w32menu.c (menubar_selection_callback, w32_menu_show):
3538 Initialize `entry' to nil.
3539 (w32_dialog_show): Remove unused `save_wv' variable.
3540 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3541
a777242c
GM
35422001-07-11 Gerd Moellmann <gerd@gnu.org>
3543
8ee5b6a3
GM
3544 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3545
d0e2444e
GM
3546 * fileio.c (unwind_read): Print a message when discarding inserted
3547 text or switching the buffer to unibyte. Change parameter.
3548 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3549
a777242c
GM
3550 * fileio.c (unwind_read): New function.
3551 (Finsert_file_contents): Record it as unwind-function for
3552 the case that reading is interrupted by C-g.
3553
ae794295
GM
35542001-07-10 Gerd Moellmann <gerd@gnu.org>
3555
fe5a0162 3556 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3557 update when scrolling_window returns 0.
3558
6b05fae3
GM
3559 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3560
3561 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3562 for the case that x_decode_color signals an error.
6b05fae3 3563
ae794295
GM
3564 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3565
bb6e8cee
GM
35662001-07-09 Gerd Moellmann <gerd@gnu.org>
3567
3568 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3569 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3570 around ioctls.
3571
36b40a8a
EZ
35722001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3573
24b97d4b
EZ
3574 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3575 doc string line for dos-timezone-offset.
3576
36b40a8a
EZ
3577 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3578 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3579 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3580 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3581
3582 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3583
0967b4b0
GM
35842001-07-05 Gerd Moellmann <gerd@gnu.org>
3585
f25cfe53
GM
3586 * sound.c: Include Emacs' header files with #include "...".
3587
0967b4b0
GM
3588 * eval.c (specbind): Additionally record the buffer that was
3589 current when a buffer-local or frame-local variable was bound.
3590
c347a1c3
GM
35912001-07-04 Gerd Moellmann <gerd@gnu.org>
3592
3593 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3594 to unibyte characters in unibyte buffers.
3595
6332ca8a
GM
35962001-07-03 Gerd Moellmann <gerd@gnu.org>
3597
38472d44
GM
3598 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3599 the frame on the binding stack. Change format of entries for
3600 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3601 (unbind_to): Handle unbinding a frame-local variable.
3602
6332ca8a 3603 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3604 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3605 (dump_glyph_row): Print row's continuation_lines_width.
3606 (try_window_id): Take the shortcut if ZV is visible in the
3607 window, but there are actually no changes at ZV.
3608
63d1b174
GM
36092001-07-02 Gerd Moellmann <gerd@gnu.org>
3610
4c175203
GM
3611 * xterm.h (x_free_dpy_colors): Add prototype.
3612
3613 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3614 right number of arguments.
3615
0b54ce28
GM
3616 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3617 ($(lwlibdir)TAGS): New target.
4c175203 3618 (TAGS): Fix dependency list.
0b54ce28 3619
63d1b174
GM
3620 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3621 with input blocked.
3622
d827466c
GM
36232001-06-30 Gerd Moellmann <gerd@gnu.org>
3624
3625 * emacs.c (main): Remove extern declaration for sys_nerr, which
3626 isn't used and causes a compilation error with GCC 3.0 on
3627 FreeBSD 4.3.
3628
b5cb1ada
GM
36292001-06-27 Gerd Moellmann <gerd@gnu.org>
3630
a5d3ec3f 3631 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3632 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3633 (toplevel): Include <signal.h> and syssignal.h.
3634
b5cb1ada
GM
3635 * sound.c (vox_configure, vox_close): Turn off atimers
3636 around ioctls.
3637
d9bad487
GM
36382001-06-26 Gerd Moellmann <gerd@gnu.org>
3639
fdbb67fe
GM
3640 * keyboard.c (read_char) <non_reread>: Record the previous idle
3641 start time before calling timer_stop_idle.
3642 (read_char) <reread_first>: After processing a help-echo event,
3643 restore the previous idle start time.
3644
d9bad487
GM
3645 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3646 the start of invisible text.
3647 (setup_for_ellipsis): New function.
3648 (next_overlay_string): After all overlay strings have been
3649 processed, display an ellipsis if necessary.
3650 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3651 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3652
3653 * dispextern.h (struct iterator_stack_entry): Add member
3654 display_ellipsis_p.
3655
2b9c25e0
GM
36562001-06-25 Gerd Moellmann <gerd@gnu.org>
3657
80de57df
GM
3658 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3659 on the value of the wait-for-wm frame parameter.
3660
3661 * xterm.h (struct x_output): Add member wait_for_wm.
3662
3663 * xfns.c (Qwait_for_wm): New variable.
3664 (x_frame_parms): Add entry for `wait-for-wm".
3665 (x_set_wait_for_wm): New function.
3666 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3667 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3668
2b9c25e0
GM
3669 * xdisp.c (try_window_id) <all changes below window end>: Don't
3670 take this shortcut if ZV is visible in the window.
3671 (try_window_id): When checking for window start being in changed
3672 text, don't check that the buffer's size has changed.
3673
f772775c
RS
36742001-06-23 Richard M. Stallman <rms@gnu.org>
3675
3676 * minibuf.c (Fcompleting_read): Doc fix.
3677
fa9090b8
GM
36782001-06-19 Gerd Moellmann <gerd@gnu.org>
3679
3680 * composite.c (Ffind_composition_internal): Accept ZV
3681 and a string's end position as POS.
3682
f6f1beba
GM
36832001-06-18 Gerd Moellmann <gerd@gnu.org>
3684
3685 * composite.c (Ffind_composition_internal): Check POS
3686 for validity.
3687
0ae83348
EZ
36882001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3689
3690 * editfns.c (Fmessage_box): If the frame is not under a window
3691 system, output the message in the echo area.
3692
e4cdc335
RS
36932001-06-14 Richard M. Stallman <rms@gnu.org>
3694
3695 * xdisp.c (try_window_id): When EOB is visible, don't treat
3696 insertion at EOB as if it were "off the bottom of the screen."
3697
a55a5f3c
AI
36982001-06-11 Andrew Innes <andrewi@gnu.org>
3699
3700 * w32proc.c (create_child): Add new parameter is_gui_app.
3701 (w32_executable_type): Add new parameter is_gui_app.
3702 (sys_spawnve): Use it.
3703 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3704 SIGQUIT. This matches better how the signals are interpreted by
3705 MSVC compiled programs.
3706 (syms_of_ntproc): Update docstring.
3707
1b85dc1c
SM
37082001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3709
3710 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3711 well otherwise note_mouse_highlight might optimize away highlighting
3712 if we pass over that same overlay again.
3713
b75f8eab
EZ
37142001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3715
3716 * lread.c (Fload): Document that the argument is run via
3717 substitute-in-file-name.
3718
94843cc1
GM
37192001-05-31 Gerd Moellmann <gerd@gnu.org>
3720
b14659e6
GM
3721 * Makefile.in (bootstrap-doc): New target.
3722 (bootstrap-emacs): Depend on it.
3723
0894672f
GM
3724 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3725 auto-save-list-file-name when shutting down Emacs, because
3726 creating the directory might signal an error, and leaves
3727 Emacs in a strange state.
3728
94843cc1
GM
3729 * term.c: (tty_cursor_hidden): New variable.
3730 (update_begin): Don't call tty_hide_cursor. Clean up.
3731 (update_end, set_terminal_window, set_scroll_region): Clean up.
3732 (ring_bell, reset_terminal_modes): Clean up.
3733 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3734 on tty_cursor_hidden.
3735 (write_glyphs): Call tty_hide_cursor.
3736
db3a49a6
SM
37372001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3738
3739 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3740
8bd189fb
GM
37412001-05-30 Gerd Moellmann <gerd@gnu.org>
3742
6f1be3b9
GM
3743 * xfns.c (enum image_value_type): New enumerator
3744 IMAGE_STRING_OR_NIL_VALUE.
3745 (parse_image_spec): Handle it.
3746 (xbm_format, pbm_format): Use it for :foreground and :background.
3747 (xbm_load, pbm_load): Check for nil color names.
3748
8bd189fb
GM
3749 * xterm.c (note_mouse_highlight): If an overlapping overlay
3750 exists, but we find that we highlight the same overlay as before,
3751 don't do the highlighting again.
3752
7bdba03c
GM
37532001-05-29 Gerd Moellmann <gerd@gnu.org>
3754
4c329aa8
GM
3755 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3756 Protect unibyte strings created by replacing their multibyte
3757 equivalents in menu_items.
3758
e15e2828
GM
3759 * keymap.c (Fsingle_key_description): NUL-terminate the string
3760 buffer before calling build_string.
3761
7bdba03c
GM
3762 * callproc.c (Fcall_process): Deal with decode_coding returning
3763 CODING_FINISH_INCONSISTENT_EOL.
3764
89c8dc6c
GM
37652001-05-28 Gerd Moellmann <gerd@gnu.org>
3766
db3a49a6 3767 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3768 an item's name with its key description in case the description
3769 is a multibyte string.
3770
3771 * keymap.c (Fsingle_key_description): Create a multibyte string
3772 only if necessary.
3773
eb04d6cd
GM
3774 * macros.c (Fstart_kbd_macro): Doc fix.
3775
8bd6307f
GM
3776 * xterm.c (cursor_in_mouse_face_p): New function.
3777 (x_draw_stretch_glyph_string): Use it to choose a different GC
3778 when drawing a cursor within highlighted text.
3779
e26c4089
GM
3780 * editfns.c (char_property_eq): Put in #if 0.
3781
3782 * indent.c (string_display_width): Put in #if 0.
3783
3784 * lread.c (Fload): Remove unused label.
3785
89c8dc6c
GM
3786 * termcap.c (speeds): Put in #if 0.
3787
9a1211f2
GM
37882001-05-18 Gerd Moellmann <gerd@gnu.org>
3789
29148a3f
GM
3790 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3791
9a1211f2
GM
3792 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3793 transformation matrix by 10.
3794
09393d07
GM
37952001-05-16 Gerd Moellmann <gerd@gnu.org>
3796
3797 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3798 only if it's equal to the former foreground pixel color.
db3a49a6 3799 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3800 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3801
460e6bae
GM
38022001-05-16 Dave Love <fx@gnu.org>
3803
3804 * insdel.c (signal_before_change, signal_after_change): Consider a
3805 local change hook which changes the buffer.
99c78ce8
GM
3806
3807 * process.c (read_process_output): Don't call signal_after_change
3808 and update_compositions after insert_from_string_before_markers.
3809
dbcf3c03
GM
38102001-05-16 Gerd Moellmann <gerd@gnu.org>
3811
a90b3d3c
GM
3812 * xfaces.c (split_font_name): Use the right field when
3813 checking for `[...]' syntax.
3814
1b7818b4
GM
3815 * buffer.c (copy_overlays): New function.
3816 (clone_per_buffer_values): Use it.
3817
3818 * buffer.h (OVERLAY_PLIST): New macro.
3819
9bae8781
GM
3820 * keymap.c (Fsingle_key_description): Replace a build_string with
3821 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3822
dbcf3c03
GM
3823 * fontset.c (Ffontset_info): Check that face is non-null
3824 before accessing its fields.
3825
8a1ae4dd
GM
38262001-05-15 Gerd Moellmann <gerd@gnu.org>
3827
18a0a39e
GM
3828 * keyboard.c (read_key_sequence): Prevent generating a fake
3829 prefix key twice.
3830
e335b66a
GM
3831 * xfaces.c (split_font_name): Handle `[...]' for the right
3832 font name fields.
3833
8a1ae4dd
GM
3834 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3835 of CCL_STAT_INVALID_CMD.
3836
3cf80731
SM
38372001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3838
33568849
SM
3839 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3840 in <var> has no default value yet.
3841
3cf80731
SM
3842 * xfaces.c (try_alternative_families): First try the FAMILY.
3843 And if nothing is found in the end, try again with scalable fonts.
3844 (try_font_list): Let try_alternative_families do a bit more of
3845 the work. Only use FAMILY if it is not nil.
3846 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3847
933b0249
GM
38482001-05-14 Gerd Moellmann <gerd@gnu.org>
3849
58e5af83
GM
3850 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3851 pointer shape when show_mouse_face has already done it.
33568849 3852
58e5af83 3853 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3854 full-width rows.
3855
7b16a6bf
GM
3856 * xfaces.c (split_font_name): Make sure to leave the loop
3857 with the right value of `i'.
3cf80731 3858
933b0249
GM
3859 * xfaces.c (split_font_name): Handle matrix transformations
3860 in the pixel and point size fields of XLFD font names.
3861 (xlfd_point_size): Likewise.
3862
dddcbf00
EZ
38632001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3864
3cf80731 3865 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3866 (x_to_w32_font): Add prototype.
3867
7689ef0b
EZ
3868 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3869 redefining, to avoid compiler warnings.
3870
e7c15bba
EZ
3871 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3872
dddcbf00
EZ
3873 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3874 (w32_get_bdf_glyph): Cast between unsigned char and char when
3875 passing arguments to subroutines, to shut up compiler warnings.
3876 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3877 GET_HEX_VAL.
3878
3879 * xfaces.c: Include keyboard.h before frame.h, not after it.
3880
3881 * widget.c: Include keyboard.h before frame.h.
3882
3883 * w32term.h (struct image, struct face): Forward declaration, to
3884 avoid compiler warnings.
3885
7bd2d083
GM
38862001-05-11 Gerd Moellmann <gerd@gnu.org>
3887
47e72862
GM
3888 * keyboard.c (read_key_sequence): Don't modify events when
3889 generating fake prefix keys (mode-line, scroll-bar, ...) since
3890 this prevents proper processing of such events when pushed back
3891 into unread-command-events.
3892
dd5f324b
GM
3893 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3894 actually redrawn. Make the function static.
3895 (note_mouse_highlight): Fix a case where the mouse cursor
3896 was changed back to the text cursor.
3897
3898 * xterm.h (clear_mouse_face): Remove prototype.
3899
d88a79d4
GM
3900 * xdisp.c (try_window_id): Fix the fix and set the right
3901 window_end_vpos.
3902
3903 * xdisp.c (try_window_id): Fix computation of window end in the
3904 case that lines were deleted at the end of the window. Add some
3905 more debug_method_adds.
0416532f 3906
7bd2d083
GM
3907 * xfaces.c (try_alternative_families): New function.
3908 (try_font_list): Use it. If ATTRS specifies a family, check
3909 fonts from that family first.
3910 (choose_face_font): Remove code setting the family part of
3911 the pattern to nil.
3912
23fca891
GM
39132001-05-10 Gerd Moellmann <gerd@gnu.org>
3914
ff9aa2ca
GM
3915 * xdisp.c (try_window_id): Fix case of all changes before
3916 the window start.
7b2654b5 3917
23fca891
GM
3918 * xdisp.c (try_window_id): Add some xasserts.
3919
e9726794
GM
39202001-05-09 Gerd Moellmann <gerd@gnu.org>
3921
3922 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3923
9e53a675
GM
39242001-05-09 Dave Love <fx@gnu.org>
3925
3926 * xdisp.c (GIVE_UP): Fix for K&R C.
3927
0d487c52
GM
39282001-05-09 Gerd Moellmann <gerd@gnu.org>
3929
fe88d421
GM
3930 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3931
0d487c52
GM
3932 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3933 back to the text cursor shape without need.
3934
1e9fc92e
GM
39352001-05-07 Gerd Moellmann <gerd@gnu.org>
3936
a2a6232e
GM
3937 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3938
3939 * dispextern.h (inverse_video): Declare extern.
3940
1e9fc92e
GM
3941 * keyboard.c (delete_kboard): Handle the case that selected_frame
3942 has been deleted in the course of x_connection_closed.
3943
12949a7f
EZ
39442001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3945
7b2654b5
SM
3946 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3947 Fix the change from 2001-04-30.
12949a7f 3948
2fa2f461
GM
39492001-05-03 Gerd Moellmann <gerd@gnu.org>
3950
a779d213
GM
3951 * xfns.c (file_dialog_unmap_cb): New function.
3952 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3953 where a dialog is closed via the window manager.
3954
7b2654b5 3955 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3956 the window start or all below the window end mostly rewritten.
3957 (redisplay_window): Move the tests if try_window_id is
3958 applicable to try_window_id.
3959 (GIVE_UP): New macro.
3960
3356df63
GM
39612001-05-02 Gerd Moellmann <gerd@gnu.org>
3962
a39202f6 3963 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3964 currently being updated, mark the frame garbaged.
3965 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3966 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3967
3356df63
GM
3968 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3969 again if it has already been drawn.
3970
a9d2fd1d
SM
39712001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3972
3973 * syntax.c (update_syntax_table): Check that oldi has the same
3974 properties as old_prop before deciding not to invalidate.
3975
c95fc5f1
GM
39762001-04-30 Gerd Moellmann <gerd@gnu.org>
3977
a9793e45
GM
3978 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3979 read-only text that is so because of text properties.
3980
c95fc5f1 3981 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3982 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3983 windows that are components of a Lucid menu bar.
3984
5a5d9185
GM
39852001-04-27 Gerd Moellmann <gerd@gnu.org>
3986
3987 * term.c (turn_on_face): Fix reverse video handling on terminals
3988 that don't support colors.
3989
ba973f7a
GM
39902001-04-26 Gerd Moellmann <gerd@gnu.org>
3991
3992 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3993 a non-buffer.
3994
8c56a983
GM
39952001-04-25 Gerd Moellmann <gerd@gnu.org>
3996
a728644c
GM
3997 * term.c (toggle_highlight): New function.
3998 (turn_on_face): Change handling of reverse video.
3999
7b2654b5
SM
4000 * process.c (wait_reading_process_input):
4001 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 4002
bfd8410f
GM
4003 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
4004 of the number of overlays to check.
4005
be2488ca
GM
4006 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
4007
8c56a983
GM
4008 * xdisp.c (try_window_id): Fix a case where window_end_pos
4009 and window_end_bytepos were not adjusted.
4010
522d42f7
GM
40112001-04-23 Gerd Moellmann <gerd@gnu.org>
4012
4013 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
4014 zero instead of -1.
4015
78c1afb6
EZ
40162001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
4017
a9d2fd1d
SM
4018 * process.c (wait_reading_process_input) [!subprocesses]:
4019 Don't reference waiting_for_user_input_p, it's not defined in the
4020 branch without async subprocesses support.
78c1afb6 4021
a2fab450
GM
40222001-04-19 Gerd Moellmann <gerd@gnu.org>
4023
a122a38e
GM
4024 * keyboard.c (delete_kboard): Prevent a dangling reference
4025 from current_kboard to KB, which is freed.
4026
a9d2fd1d
SM
4027 * process.c (wait_reading_process_input):
4028 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
4029 read_key_sequence aware of buffer changes from under it.
4030
0f8d6dc7
GM
40312001-04-18 Gerd Moellmann <gerd@gnu.org>
4032
eeffb293
GM
4033 * xfaces.c (Qscalable_fonts_allowed): New variable.
4034 (realizing_basic_faces_p): Removed.
2fa2f461
GM
4035 (x_face_list_fonts): Special handling for realizing_basic_faces_p
4036 removed.
eeffb293 4037 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
4038 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
4039 for scalable-fonts-allowed to t.
eeffb293 4040
0f8d6dc7
GM
4041 * fileio.c (Finsert_file_contents): If the file size returned from
4042 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 4043 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 4044
eec2d1de
EZ
40452001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
4046
4047 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
4048 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
4049 (__memalign_hook): Make the two prototypes consistent.
4050
f4f480bd
GM
40512001-04-17 Gerd Moellmann <gerd@gnu.org>
4052
4053 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
4054 matrix of mini-windows.
4055
52283633
SM
40562001-04-12 Stefan Monnier <monnier@cs.yale.edu>
4057
4058 * intervals.c (find_interval): Don't rebalance during signal handling.
4059
ec2423c9
GM
40602001-04-11 Gerd Moellmann <gerd@gnu.org>
4061
30cb0001 4062 * fns.c: Include blockinput.h.
52283633 4063
ec2423c9
GM
4064 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
4065
719d83ad
GM
40662001-04-10 Gerd Moellmann <gerd@gnu.org>
4067
60f8d735
GM
4068 * fns.c (Fcompare_strings): Fix return values.
4069
afffeb57
GM
4070 * window.c (window_scroll): Change the meaning of N to mean
4071 N screen-fulls or N lines.
4072 (window_scroll_pixel_based, window_scroll_line_based)
4073 (scroll_command, Fscroll_other_window): Change accordingly.
4074
52283633
SM
4075 * window.c (window_scroll_pixel_based, Frecenter):
4076 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
4077 height of the window.
4078
4079 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
4080 instead of using it.last_visible_y for the height of the window.
52283633 4081
719d83ad 4082 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 4083 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
4084
4085 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
4086 able to write to hidden and system files. From Dan Holmsand
4087 <dan@eyebee.com>.
719d83ad 4088
8ddf3ee1
GM
4089 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
4090 Holmsand <dan@eyebee.com>.
719d83ad 4091
522ed7fb
GM
40922001-04-09 Gerd Moellmann <gerd@gnu.org>
4093
9170e5d4
GM
4094 * fns.c (Fplist_get, Fplist_put): Add QUITs.
4095
522ed7fb
GM
4096 * window.c (window_internal_height): Return 1 less if the
4097 window has a header line.
4098
4099 * xdisp.c (try_window_id): When scrolling on a terminal, take
4100 the change of window_internal_height into account.
4101
ceeb3d7d
EZ
41022001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
4103
4104 * gmalloc.c (align): If the argument SIZE would overflow
4105 __malloc_ptrdiff_t, fail right away.
4106
63685b9d
GM
41072001-04-06 Gerd Moellmann <gerd@gnu.org>
4108
4109 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
4110 Make sure the tooltip is completely visible.
4111 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
4112
4113 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
4114
4115 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
4116
3ffb33bb
DL
41172001-04-06 Dave Love <fx@gnu.org>
4118
52283633
SM
4119 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
4120 Fix test of `from'.
3ffb33bb 4121
869fb12c
GM
41222001-04-06 Gerd Moellmann <gerd@gnu.org>
4123
52283633 4124 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 4125
869fb12c
GM
4126 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
4127
441bf856
GM
41282001-04-05 Gerd Moellmann <gerd@gnu.org>
4129
4d664b04
GM
4130 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
4131
52283633 4132 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 4133
30ca89f5
GM
4134 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
4135 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
4136
4137 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
4138 shell widget's position only if it is non-null.
4139
52283633
SM
4140 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
4141 Set f->output_data.x->widget to null after destroying it.
30ca89f5 4142
81a81c0f
GM
4143 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
4144 FILENAME to bring it in synch with the documentation.
4145
441bf856
GM
4146 * xfaces.c (realizing_basic_faces_p): Renamed from
4147 realize_default_face_p.
4148 (realize_basic_faces): Set/clear realizing_basic_faces_p.
4149 (realize_default_face): Don't set the flag.
4150
702a1e8e
GM
41512001-04-04 Gerd Moellmann <gerd@gnu.org>
4152
1013f4e3
GM
4153 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
4154
52283633
SM
4155 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
4156
1013f4e3
GM
4157 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
4158 the buffer that was used for echoing.
4159
702a1e8e
GM
4160 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
4161 (first_font_matching): Removed unused function.
4162 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
4163 (may_use_scalable_font_p): Remove parameter FONT; rename
4164 parameter NAME to FONT.
4165 (x_face_list_fonts): Fix missing bounds check.
4166 (realizing_default_face_p): New variable.
4167 (realize_default_face): Set and clear that flag.
4168 (x_face_list_fonts): When called during the realization of the
4169 default face, and no matching fonts are found when ignoring
4170 scalable fonts and fonts matching a regexp from
4171 face-ignored-fonts, try without ignoring fonts.
4172
f9dbcda4
GM
41732001-04-03 Gerd Moellmann <gerd@gnu.org>
4174
ad18ffb1
GM
4175 * xfns.c (postprocess_image): New function.
4176 (lookup_image): Call it for all image types except PostScript.
4177 (x_kill_gs_process): Call postprocess_image.
4178
f9dbcda4
GM
4179 * xterm.c (x_use_underline_position_properties): New variable.
4180 (x_draw_glyph_string): Use it.
4181 (syms_of_xterm): DEFVAR_BOOL it.
4182
651f03b6
GM
41832001-04-02 Gerd Moellmann <gerd@gnu.org>
4184
4185 * xterm.c (x_alloc_nearest_color_1): New function.
4186 (x_alloc_nearest_color): Use it.
4187 (x_color_cells): Take a Display as argument, instead of a frame.
4188 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4189 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4190 (x_initialize): Register cvt_string_to_pixel as resource converter
4191 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4192
73d75a62
GM
41932001-03-30 Gerd Moellmann <gerd@gnu.org>
4194
b2046df8
GM
4195 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4196 (set_iterator_to_next): If a string from a display property ends,
4197 consider the case that this might also be the end of an
4198 overlay string having the display property.
4199
52283633 4200 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 4201
87d8eba4
GM
4202 * xdisp.c (reseat_to_string): Undo last change.
4203
73d75a62
GM
4204 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4205 matrix of a window when the header line changes, when
4206 new rows are allocated, or when the width changes.
4207
911a2406
EZ
42082001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4209
52283633 4210 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 4211
aea51abe
EZ
42122001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4213
4214 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4215 deprecated.
4216
176bc847
GM
42172001-03-29 Gerd Moellmann <gerd@gnu.org>
4218
ed31fabf
GM
4219 * data.c (Fsubr_interactive_form): New function.
4220 (syms_of_data): Defsubr it.
4221
176bc847
GM
4222 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4223 (live_float_p, live_misc_p): Return 1 only if the offset of the
4224 pointer in its block is >= 0.
4225
e59d0e9d
GM
42262001-03-28 Paul Eggert <eggert@twinsun.com>
4227
4228 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4229 microseconds calcuation. Avoid double-rounding problem.
4230 In doc string, warn that the result is approximate.
4231
f827b862
GM
42322001-03-28 Gerd Moellmann <gerd@gnu.org>
4233
30a3f61c
GM
4234 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4235 bind `inhibit-eval-during-redisplay' to t.
4236
4237 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4238
4239 * xdisp.c (inhibit_eval_during_redisplay)
4240 (Qinhibit_eval_during_redisplay): New variables.
4241 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4242 don't eval, return nil instead.
4243 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4244 Initialize Qinhibit_eval_during_redisplay.
4245
e719f5ae
GM
4246 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4247 the iterator's multibyte_p flag.
4248
deb2613a
GM
4249 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4250 instead of setting it to zero; it's incremented for each frame
4251 where the menu face is changed.
4252
52283633
SM
4253 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4254 change bottom shadow accordingly.
4255
4256 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4257 intersections here.
4258 (expose_window): Do it here instead.
52283633 4259 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4260
f827b862
GM
4261 * bytecode.c (BYTE_CODE_QUIT): New macro.
4262 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4263
4bde0ebb
GM
42642001-03-27 Gerd Moellmann <gerd@gnu.org>
4265
607ec83c
GM
4266 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4267 Give up if matrix starts in an ellipsis.
4268 (init_from_display_pos): Do nothing if POS doesn't specify
4269 a dpvec_index but the iterator has such a position.
4270
0245398f
GM
4271 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4272
aba25348
GM
4273 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4274 x/y position is (0, 0) after destroying the menu bar, restore
4275 its original position.
4276
4bde0ebb
GM
4277 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4278 (init_from_display_pos): Use it.
4279 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4280
8cdb267e
GM
42812001-03-26 Gerd Moellmann <gerd@gnu.org>
4282
4283 * xdisp.c (try_window_id): Undo last change.
4284
9948db79
EZ
42852001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4286
4287 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4288
4289 * buffer.c (syms_of_buffer): Doc fix.
4290
2eddf899
GM
42912001-03-26 Gerd Moellmann <gerd@gnu.org>
4292
4293 * xfaces.c (x_update_menu_appearance): Use local variable
4294 popup_path for setting font resources.
4295
6c145d35
EZ
42962001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4297
6a65b1b5
EZ
4298 * frame.c (Fframe_list): Don't reference tip_frame if
4299 HAVE_WINDOW_SYSTEM is not defined.
4300
6c145d35
EZ
4301 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4302 <wl@gnu.org>.
4303
d74c1900
GM
43042001-03-25 Gerd Moellmann <gerd@gnu.org>
4305
20fbd925
GM
4306 * xdisp.c (init_from_display_pos): Test invisible property
4307 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4308
927c5b3b
GM
4309 * xdisp.c (redisplay_internal) <update one window>: Make sure
4310 last_arrow_position and last_arrow_string are set.
4311
d74c1900
GM
4312 * frame.c (Fframe_list): Don't return a tooltip frame.
4313
091f8878
GM
43142001-03-23 Gerd Moellmann <gerd@gnu.org>
4315
52283633
SM
4316 * xdisp.c (mark_window_display_accurate_1): New function,
4317 extracted from mark_window_display_accurate.
4318 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4319 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4320 (mark_window_display_accurate): Use it.
4321 (redisplay_internal): Use it for the selected window.
4322 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4323 for the selected frame.
4324
ac90c44f
GM
4325 * xdisp.c Use make_number, for readability.
4326 (try_window_id): Disable rows below the window end.
4327 (try_window_reusing_current_matrix): Use cursor_row_p.
4328 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4329 of rows.
4330 (init_from_display_pos): If POS specifies a position in a display
4331 vector, maybe get the iterator set up for that ellipsis.
43c09969 4332
091f8878
GM
4333 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4334
991786dd
EZ
43352001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4336
4337 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4338
6c29b43c
GM
43392001-03-23 Gerd Moellmann <gerd@gnu.org>
4340
4341 * xfaces.c (x_update_menu_appearance): Use a different path
4342 for Lucid popup menus.
4343
d8731202
SM
43442001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4345
4346 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4347
4348 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4349 (string_buffer_position): Use `make_number'.
4350
f61a541b
GM
43512001-03-22 Gerd Moellmann <gerd@gnu.org>
4352
3c9e997b
GM
4353 * xfaces.c (x_update_menu_appearance): Renamed from
4354 x_set_menu_face_resources. Use different resources for popups.
4355
4356 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4357 (GC_CHECK_STRING_BYTES): Don't define.
4358
364cd450
GM
4359 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4360 Removed, together with subroutines.
4361 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4362 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4363
d8731202
SM
4364 * dispextern.h (x_set_menu_resources_from_menu_face):
4365 Remove prototype.
364cd450 4366
d8731202 4367 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4368 Remove calls to x_set_menu_resources_from_menu_face.
4369
d8731202
SM
4370 * xfaces.c (xm_set_menu_resources_from_menu_face):
4371 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4372
4373 * xmenu.c: Include widget.h.
4374 (single_submenu): Return int. Some cleanup.
4375 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4376
140330de
GM
43772001-03-21 Gerd Moellmann <gerd@gnu.org>
4378
4379 * xterm.c (x_update_window_end): Handle overwritten mouse face
4380 also for tool bar windows.
4381 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4382 DRAW is DRAW_IMAGE_RAISED.
4383
1741905c
GM
43842001-03-20 Gerd Moellmann <gerd@gnu.org>
4385
fa88947e
GM
4386 * print.c (syms_of_print): Doc fixes.
4387
1741905c
GM
4388 * fns.c (Fmd5): Doc fix.
4389
ade0bee1
GM
43902001-03-19 Gerd Moellmann <gerd@gnu.org>
4391
357e7376
GM
4392 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4393 Clear area of the frame not occupied by the scroll bar.
4394
c2c097cc
GM
4395 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4396 tip frame's root window buffer to *tip* right after creating
4397 the frame.
4398
ade0bee1
GM
4399 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4400 is an integer don't have to be for space characters.
4401
88c6e37e
GM
44022001-03-16 Gerd Moellmann <gerd@gnu.org>
4403
52283633
SM
4404 * indent.c (current_column, current_column_1, Fmove_to_column)
4405 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4406
c62eed76
KH
44072001-03-15 Kenichi Handa <handa@etl.go.jp>
4408
4409 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4410 drawing glyph string.
4411
c899e7e6
GM
44122001-03-15 Gerd Moellmann <gerd@gnu.org>
4413
d0bbfc99
GM
4414 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4415 (command_loop_1): Undo last change.
4416
03d1a189
GM
4417 * xterm.c (fast_find_position): Return the correct vpos.
4418
c899e7e6 4419 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4420 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4421 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4422 Call store_symval_forwarding with BUF null.
4423 (set_internal): Call store_symval_forwarding with the BUF
4424 parameter passed to set_internal. Formerly, the value was always
4425 set in the current buffer; the buffer recorded in specbind for
4426 this case wasn't used.
4427 (arith_driver): Reindent.
4428
52283633
SM
4429 * buffer.c (swap_out_buffer_local_variables):
4430 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4431
4432 * lisp.h (store_symval_forwarding): Change prototype.
4433
4434 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4435
57ac7c81
GM
44362001-03-14 Gerd Moellmann <gerd@gnu.org>
4437
697617d9
GM
4438 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4439 FOR_DELETION. Avoid resizing the mini-window of the selected
4440 frame if FOR_DELETION is set.
4441 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4442 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4443 signature.
4444
4445 * window.c (Fset_window_configuration): Change call to
4446 do_switch_frame to new format.
4447
4448 * keyboard.c (quit_throw_to_read_char): Change call to
4449 do_switch_frame to new format.
4450
4451 * lisp.h (do_switch_frame): Change prototype.
4452
819dce0f
GM
4453 * frame.c (Fframe_parameters): In the `buffer-list' frame
4454 parameter, store the buffer list of FRAME, not the list of the
4455 selected frame.
4456
57ac7c81
GM
4457 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4458 box just because the glyph row's full_width_p flag is set.
4459
65008712
GM
44602001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4461
4462 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4463 skip the padding blanks inserted in extend_face_to_end_of_line,
4464 before checking for trailing whitespace.
4465
159cf431
GM
44662001-03-13 Gerd Moellmann <gerd@gnu.org>
4467
52283633 4468 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4469 Remove special handling for LessTif/Motif.
4470 (toplevel): Don't include Xm/Xm.h.
4471
52283633
SM
4472 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4473 Remove workaround code for LessTif; it doesn't work anymore.
4474
2564ea1b 4475 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4476 Xm/ScrollBarP.h.
afcdc0a1 4477
52283633
SM
4478 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4479 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4480 contemporary LessTif.
4481
52283633
SM
4482 * xfaces.c (xm_set_menu_resources_from_menu_face):
4483 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4484
159cf431
GM
4485 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4486 removing button grabs.
4487
c6f7429a
KH
44882001-03-13 Kenichi Handa <handa@etl.go.jp>
4489
cb82d767
KH
4490 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4491 and clip-large-size-font as obsolete.
4492
c6f7429a
KH
4493 * lread.c (read_multibyte): Check the validity of multibyte
4494 sequence. If invalid, return the first byte.
4495
760cefb5
GM
44962001-03-12 Gerd Moellmann <gerd@gnu.org>
4497
4498 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4499 before running the command; timer functions or process
4500 filters may have set it.
4501
5141f9d0
EZ
45022001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4503
4504 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4505 Doc fix.
4506
b6a15240
GM
45072001-03-12 Gerd Moellmann <gerd@gnu.org>
4508
4509 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4510 to sprintf.
4511
95522746
GM
45122001-03-09 Gerd Moellmann <gerd@gnu.org>
4513
db14cfc5
GM
4514 * dispextern.h (string_buffer_position): Add prototype.
4515
52283633 4516 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4517 (single_display_prop_string_p): New functions.
4518
4519 * xterm.c (note_mouse_highlight): If there's no help-echo on
4520 a string, look at the buffer text ``under'' it.
4521
4522 * keyboard.c (make_lispy_event): Add string info to the event,
4523 analogous to what's done on mode lines.
4524 (read_key_sequence): For a click on a string, consider `local-map'
4525 and `keymap' of that string.
4526
52283633
SM
4527 * keyboard.c (make_lispy_event, make_lispy_movement):
4528 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4529
4530 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4531
4532 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4533 POS; return void.
4534
95522746
GM
4535 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4536 flags argument to emacs_open; it seems to conflict with O_EXCL.
4537
898a399d
KH
45382001-03-09 Kenichi Handa <handa@etl.go.jp>
4539
28cd4910
KH
4540 * composite.h (struct composition): Change types of members;
4541 glyph_len to unsigned, width to unsigned short.
898a399d 4542
4cdf6a6c
AI
45432001-03-08 Andrew Innes <andrewi@gnu.org>
4544
4545 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4546 menu titles.
4547
129004d3
GM
45482001-03-08 Gerd Moellmann <gerd@gnu.org>
4549
221dd3e7
GM
4550 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4551 instead of nil.
4552
52283633 4553 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4554 help-echo in strings.
4555 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4556 (fast_find_string_pos): New function.
4557
52283633
SM
4558 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4559 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4560
4561 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4562 Handle `mouse-face'.
4563
4564 * dispextern.h (face_at_string_position): Change prototype.
4565
52283633 4566 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4567
129004d3
GM
4568 * keyboard.c (make_lispy_event): Avoid generating drag events
4569 if the mouse hasn't actually moved to another buffer position.
52283633 4570
80c8ab8c
DL
45712001-03-08 Dave Love <fx@gnu.org>
4572
129004d3 4573 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4574
989521fd
GM
45752001-03-08 Gerd Moellmann <gerd@gnu.org>
4576
4577 * process.c (Fset_process_window_size): Fix a typo.
4578
bb5c338d
KH
45792001-03-08 Kenichi Handa <handa@etl.go.jp>
4580
4581 * coding.c (detect_coding_sjis): Do more rigid check.
4582 (detect_coding_big5): Likewise.
4583 (decode_coding_sjis_big5): Likewise.
4584 (Fdetect_coding_region): Call detect_coding_system with tailing
4585 anchor byte `\0' for more rigid detection.
52283633 4586 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4587 (Fdetect_coding_string): Likewise.
4588
8b8f9197
SM
45892001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4590
4591 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4592 a string before extracting its data.
4593
3bdf2660
GM
45942001-03-07 Gerd Moellmann <gerd@gnu.org>
4595
4596 * window.c (Frecenter): Rewrite code handling negative values
4597 of ARG on graphical frames.
4598
45992001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4600
4601 * window.c (displayed_window_lines): If W->start is outside the
4602 accessible portion of the buffer, call start_display with BEGV or
4603 ZV instead of W->start.
4604
471f86b9
GM
46052001-03-07 Gerd Moellmann <gerd@gnu.org>
4606
2ab62c6c
GM
4607 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4608
471f86b9
GM
4609 * process.c (Fset_process_filter): Don't crash if the input
4610 file descriptor of PROCESS is closed.
4611 (Fset_process_window_size): Likewise.
4612
101922c3
GM
46132001-03-06 Kenichi Handa <handa@etl.go.jp>
4614
4615 * xterm.c (XTflash): Make the timeout of select shorter, and call
4616 select repeatedly until the desired time expires.
4617
45d051a7
GM
46182001-03-06 Gerd Moellmann <gerd@gnu.org>
4619
4620 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4621
4622 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4623
4624 * lisp.h (Vwindow_list): Declare extern.
4625
8f372c46
EZ
46262001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4627
4628 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4629
f16a7aa5
GM
46302001-03-06 Gerd Moellmann <gerd@gnu.org>
4631
157ae273
GM
4632 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4633 to detect a case where we have to highlight a different region
4634 despite not having left the currently highlighted region.
4635 Set mouse_face_overlay in the x_display_info.
45d051a7 4636 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4637
4638 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4639
4640 * buffer.c (mouse_face_overlay_overlaps): New function.
4641
4642 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4643 (Qmouse_face): Declare extern.
4644
f16a7aa5
GM
4645 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4646 if face_change_count is non-zero.
4647
827afcac
KH
46482001-03-06 Kenichi Handa <handa@etl.go.jp>
4649
4650 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4651 that the source is unibyte.
4652
14c7242e
DL
46532001-03-05 Dave Love <fx@gnu.org>
4654
827afcac 4655 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4656
c28b847b
GM
46572001-03-05 Gerd Moellmann <gerd@gnu.org>
4658
4659 * minibuf.c (read_minibuf): Clean up the binding stack if
4660 called noninteractively.
4661
b86644f2
KH
46622001-03-05 Kenichi Handa <handa@etl.go.jp>
4663
4664 * coding.c (syms_of_coding): Docstring modified.
4665
203682cc 46662001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4667
4668 * charset.c (char_to_string): If a single byte char has modifier
4669 bits that can't be reflected to the character code, ignore them
45d051a7 4670 instead of signaling an error.
b86644f2 4671
e30bd7b7
EZ
46722001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4673
4674 * s/msdos.h: Update copyright notice.
4675
4676 * dosfns.h: Update copyright notice.
4677
4678 * dosfns.c: Update copyright notice.
4679
4680 * msdos.c: Update copyright notice.
4681
b52b65bd
GM
46822001-03-02 Gerd Moellmann <gerd@gnu.org>
4683
4684 * xterm.c (glyph_rect): New function.
4685 (XTmouse_position): Use it to raise the threshold for mouse
4686 movement event generation.
4687
53c4b1e6
EZ
46882001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4689
4690 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4691 specifies (reverse . t), reverse the initial screen colors.
4692 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4693 but we are reversing the colors, set bg_set, not fg_set.
4694 Likewise for setting background-color and reversing: set fg_set.
4695 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4696 in effect.
4697
4698 * xfaces.c (Finternal_set_lisp_face_attribute)
4699 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4700 parameters alist.
4701
f964b4d7
GM
47022001-03-02 Gerd Moellmann <gerd@gnu.org>
4703
ef53d75e
GM
4704 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4705 to a single slash in the middle of file names.
4706
52283633 4707 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4708 Accept only alphanumeric time zone names.
4709
f964b4d7
GM
4710 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4711 or width area.
4712 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4713 a widget to zero height.
52283633 4714
c3c45f65
GM
47152001-03-01 Gerd Moellmann <gerd@gnu.org>
4716
4717 * window.c (Fwindow_end): Call move_it_past_eol only if
4718 ending up on a partially visible line.
4719
028d739a
DL
47202001-03-01 Dave Love <fx@gnu.org>
4721
4722 * ccl.c (Fccl_execute): Doc fix.
4723
57c5889c
GM
47242001-03-01 Gerd Moellmann <gerd@gnu.org>
4725
35f59f6b
GM
4726 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4727 of the tool bar before calling x_figure_window_size.
4728
f84ff02c
GM
4729 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4730 NULL after destroying it, otherwise XTread_socket can access a
4731 destroyed widget when input is unblocked.
4732
8b8f9197 4733 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4734
57c5889c
GM
4735 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4736 same name as before, although there was a change in fontsets.
4737
224227d1
KR
47382001-02-28 Ken Raeburn <raeburn@gnu.org>
4739
4560730a
KR
4740 * lisp.h (Fframe_parameter): Declare.
4741
224227d1 4742 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4743 Lisp_Object.
224227d1 4744
ece93c02
GM
47452001-02-28 Gerd Moellmann <gerd@gnu.org>
4746
11ef99b9
GM
4747 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4748 NULL instead.
4749
4750 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4751 NULL instead.
4752
ece93c02
GM
4753 * alloc.c (toplevel): Include process.h.
4754 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4755 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4756 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4757 (allocate_vector, allocate_hash_table, allocate_window)
4758 (allocate_frame, allocate_process, allocate_other_vector):
4759 New functions.
ece93c02
GM
4760 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4761 (mark_maybe_pointer): New function.
52283633 4762 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4763 remain and not Lisp_Objects.
4764 (min_heap_address, max_heap_address): New variables.
4765 (mem_find): Return MEM_NIL if START is below min_heap_address or
4766 above max_heap_address.
4767 (mem_insert): Compute min_heap_address and max_heap_address.
4768
4769 * process.c (make_process): Use allocate_process.
4770
4771 * frame.c (make_frame): Use allocate_frame.
4772
4773 * window.c (make_window, make_dummy_parent): Use allocate_window.
4774 (Fcurrent_window_configuration): Use allocate_other_vector.
4775
4776 * lisp.h (allocate_vectorlike): Remove prototype.
4777 (allocate_vector, allocate_other_vector, allocate_frame)
4778 (allocate_window, allocate_process, allocate_hash_table):
4779 Add prototypes.
4780
4781 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4782 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4783
063af457
KH
47842001-02-27 Kenichi Handa <handa@etl.go.jp>
4785
4786 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4787 treat the produced bytes as a valid multibyte sequence.
4788
4789 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4790 (ccl_driver) <CCL_WriteMultibyteChar2>:
4791 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4792 <ccl_finish>: Set ccl->eight_bit_control properly.
4793
4794 * ccl.h (struct ccl_program): New member eight_bit_control.
4795
f58c6494
SM
47962001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4797
4798 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4799 accessible_keymaps_char_table.
4800 (accessible_keymaps_char_table): Obey `is_metized'.
4801 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4802 Lisp_Object.
4803
c596c392
GM
48042001-02-26 Gerd Moellmann <gerd@gnu.org>
4805
4806 * dispnew.c: Check HAVE_TERM_H before including term.h.
4807
425de386
AI
48082001-02-24 Andrew Innes <andrewi@gnu.org>
4809
4810 * makefile.w32-in: Update copyright notice.
4811
2ba11bbd
SM
48122001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4813
4814 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4815
66c56ed1
KH
48162001-02-24 Kenichi Handa <handa@etl.go.jp>
4817
4c1593ce
KH
4818 * Makefile.in (lisp): Add international/utf-8.elc.
4819
66c56ed1
KH
4820 * fontset.c (Fnew_fontset): Fix handling of the case that an
4821 element of FONTLIST is a cons of family and registry.
4822
796ead7e
JR
48232001-02-23 Jason Rumney <jasonr@gnu.org>
4824
4825 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4826 to height unconditionally.
4827
4828 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4829 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4830 (x_insert_glyphs): Call window_box_left to obtain the left
4831 x-coordinate of the area to shift.
4832
4833 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4834 safe_run_hooks.
4835
f6839838
AI
48362001-02-22 Andrew Innes <andrewi@gnu.org>
4837
52283633 4838 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4839 ($(BLD)\dispnew.obj):
4840 ($(BLD)\editfns.obj):
4841 ($(BLD)\fileio.obj):
4842 ($(BLD)\filelock.obj):
4843 ($(BLD)\keyboard.obj):
4844 ($(BLD)\w32proc.obj):
4845 ($(BLD)\process.obj):
4846 ($(BLD)\sysdep.obj): Ditto.
4847
4848 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4849 header files.
52283633
SM
4850 ($(BLD)/dispnew.$(O)):
4851 ($(BLD)/editfns.$(O)):
4852 ($(BLD)/fileio.$(O)):
4853 ($(BLD)/filelock.$(O)):
4854 ($(BLD)/keyboard.$(O)):
4855 ($(BLD)/w32proc.$(O)):
4856 ($(BLD)/process.$(O)):
f6839838
AI
4857 ($(BLD)/sysdep.$(O)): Ditto.
4858
c224f70b
GM
48592001-02-22 Gerd Moellmann <gerd@gnu.org>
4860
51695746
GM
4861 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4862 at the start of the function, check that the \n in it->c is
4863 from the iterator's current position.
52283633 4864
a61b7058
GM
4865 * xdisp.c (handle_single_display_prop): Add parameter
4866 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4867 properties which replace the display of text with something else.
4868 (handle_display_prop): Call handle_single_display_prop with
4869 additional argument saying if we already replaced text display
4870 with something else. Use AREF.
52283633 4871 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4872 (decode_mode_spec_coding): Use AREF and ASIZE.
4873
3473f362
GM
4874 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4875 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4876 * vmstime.h: Files removed.
52283633 4877
2bb58df3
GM
4878 * unexencap.c, unexfx2800.c: Files removed.
4879
c224f70b
GM
4880 * dispnew.c (direct_output_for_insert): Give up if we are showing
4881 a message or just cleared the message because we might need to
4882 resize the echo area window or display an empty echo area.
4883
ffc9ff0c
GM
48842001-02-21 Gerd Moellmann <gerd@gnu.org>
4885
0528abe1
GM
4886 * xdisp.c (redisplay_internal): Do the
4887 mark_window_display_accurate after all windows have been
4888 redisplayed because this call resets flags in buffers which are
4889 needed for proper redisplay.
4890
52283633
SM
4891 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4892 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4893 the old names.
4894
52283633
SM
4895 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4896 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4897
4898 * msdos.h (struct x_output): Rename busy_window to
4899 hourglass_window, busy_p to hourglass_p.
4900
52283633
SM
4901 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4902 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4903
4904 * xfns.c: Rename everything containing *busy_cursor* and similar
4905 to *hourglass*.
4906 (syms_of_w32fns): Rename x-busy-pointer-shape to
4907 x-hourglass-pointer-shape, display-busy-cursor to
4908 display-hourglass, busy-cursor-delay to hourglass-delay.
4909
4910 * w32fns.c: Rename everything containing *busy_cursor* and similar
4911 to *hourglass*.
4912 (syms_of_w32fns): Rename x-busy-pointer-shape to
4913 x-hourglass-pointer-shape, display-busy-cursor to
4914 display-hourglass, busy-cursor-delay to hourglass-delay.
4915
4916 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4917 of its busy_p flag.
4918
4919 * dispextern.h (start_hourglass, cancel_hourglass)
4920 (display_hourglass_p): Renamed from *busy_cursor*.
4921
ab2c5f0a
GM
49222001-02-20 Gerd Moellmann <gerd@gnu.org>
4923
d17e49a8
GM
4924 * keyboard.c (read_char): When an event from unread-command-events
4925 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4926
fa97adf6
GM
4927 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4928 equal to the current buffer.
4929
ab2c5f0a
GM
4930 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4931 nil, otherwise we're left with truncate_lines t when a message
4932 is printed with message-truncate-lines bound to t.
4933
aeac019e
GM
49342001-02-19 Gerd Moellmann <gerd@gnu.org>
4935
c8bc6f65
GM
4936 * window.c (Fmove_to_window_line): Undo last change.
4937 (displayed_window_lines): Call line_bottom_y to determine
4938 the line's bottom position.
4939
4940 * dispextern.h (line_bottom_y): Add prototype.
4941
52283633 4942 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4943 (pos_visible_p): Use it.
4944
980a2d69
GM
4945 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4946 set redisplaying_p to 0 here instead of in Frecursive_edit.
4947 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4948 set redisplaying_p.
4949
52283633 4950 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4951 New variables.
4952 (syms_of_xdisp): Initialize new variables.
4953 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4954 Specbind `inhibit-menubar-update' when updating the menu bar.
4955
65048e97
GM
4956 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4957 safe_run_hooks.
4958
4959 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4960 safe_run_hooks.
4961
a57c4026
GM
4962 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4963 is null.
4964
aeac019e
GM
4965 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4966 to the start of the file.
4967
76846b31
GM
49682001-02-16 Gerd Moellmann <gerd@gnu.org>
4969
f3f053f3 4970 * window.c (set_window_buffer): Fix last change.
52283633 4971
f3f053f3
GM
4972 * window.c (set_window_buffer): Set window's vscroll to 0.
4973
dad75588
GM
4974 * window.c (coordinates_in_window): Increase width of area
4975 where the vertical line can be dragged.
4976
c220b753
GM
4977 * xterm.c (x_set_glyph_string_background_width): Extend the
4978 background face to the end of the drawing area in the text
4979 area, only.
4980
c56b1c1b
GM
4981 * xdisp.c (handle_single_display_prop): Set iterator's position
4982 to where the `display' property starts, like for images.
4983 (dump_glyph): New function.
4984 (dump_glyph_row): Use it. Dump info about marginal areas.
4985
4986 * dispnew.c (direct_output_for_insert): Recognize more cases where
4987 glyphs can be written instead of being inserted.
4988
4989 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4990 the left x-coordinate of the area to shift.
4991
76846b31
GM
4992 * dired.c (directory_files_internal): Set result list to nil
4993 before retrying.
4994
0fc71a77
KH
49952001-02-15 Kenichi Handa <handa@etl.go.jp>
4996
4997 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4998 invalid multibyte sequence, treat *SRC as a character of
4999 eight-bit-graphic.
5000
25078b54
EZ
50012001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
5002
5003 * textprop.c (Fset_text_properties): Doc fix.
5004
8399f8a0
GM
50052001-02-15 Gerd Moellmann <gerd@gnu.org>
5006
5007 * dispnew.c (update_text_area): Undo change of 2001-01-12.
5008
9a2a6f73
DL
50092001-02-14 Dave Love <fx@gnu.org>
5010
5011 * coding.c: Doc and message fixes.
5012
bf853fee
AI
50132001-02-14 Andrew Innes <andrewi@gnu.org>
5014
5015 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
5016 Emacs frame above the screen size.
5017
78c663d8
GM
50182001-02-14 Gerd Moellmann <gerd@gnu.org>
5019
5020 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
5021
7cc9f69f
GM
50222001-02-13 Gerd Moellmann <gerd@gnu.org>
5023
0a411995
GM
5024 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
5025 case that TO ends up beyond ZV after running before-change-functions.
5026
5ddc1b75
GM
5027 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
5028 the selected window if it is showing the buffer in question.
5029
7cc9f69f
GM
5030 * dired.c (directory_files_internal): Initialize errno.
5031 (toplevel): Include errno.h.
5032
2e6621ca
GM
50332001-02-13 Kenichi Handa <handa@etl.go.jp>
5034
5035 * xfaces.c (best_matching_font): New parameter width_ratio.
5036 Multiply avgwidth by width_ratio.
5037 (choose_face_font): Call best_matching_font with width_ratio
5038 calculated from the column width of C.
5039
60222d69
AI
50402001-02-12 Andrew Innes <andrewi@gnu.org>
5041
5042 The following changes are to draw box lines inside characters area
5043 if line-width is negative.
52283633 5044
60222d69
AI
5045 * w32term.c (x_produce_image_glyph): Pay attention to the case that
5046 face->box_line_width is negative.
5047 (x_produce_stretch_glyph): Likewise.
5048 (x_produce_glyphs): Likewise.
5049 (x_estimate_mode_line_height): Likewise.
5050 (x_draw_glyph_string_background): Likewise.
5051 (x_draw_glyph_string_foreground): Likewise.
5052 (x_draw_composite_glyph_string_foreground): Likewise.
5053 (x_draw_glyph_string_box): Likewise.
5054 (x_draw_image_foreground): Likewise.
5055 (x_draw_image_relief): Likewise.
5056 (x_draw_image_foreground_1): Likewise.
5057 (x_draw_image_glyph_string): Likewise.
5058
9804b846
KH
50592001-02-09 Kenichi Handa <handa@etl.go.jp>
5060
5061 The following changes are to draw box lines inside characters area
5062 if line-width is negative.
52283633 5063
9804b846
KH
5064 * xterm.c (x_produce_image_glyph): Pay attention to the case that
5065 face->box_line_width is negative.
5066 (x_produce_stretch_glyph): Likewise.
5067 (x_produce_glyphs): Likewise.
5068 (x_estimate_mode_line_height): Likewise.
5069 (x_draw_glyph_string_background): Likewise.
5070 (x_draw_glyph_string_foreground): Likewise.
5071 (x_draw_composite_glyph_string_foreground): Likewise.
5072 (x_draw_glyph_string_box): Likewise.
5073 (x_draw_image_foreground): Likewise.
5074 (x_draw_image_relief): Likewise.
5075 (x_draw_image_foreground_1): Likewise.
5076 (x_draw_image_glyph_string): Likewise.
5077
5078 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
5079 and :line-width can be negative.
52283633 5080 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 5081
49be9f70
JR
50822001-02-09 Jason Rumney <jasonr@gnu.org>
5083
5084 * w32term.c (w32_encode_char): Treat eight bit graphic and control
5085 characters the same as ASCII and latin-1.
5086 (x_display_and_set_cursor): Check for the focus frame's selected
5087 window instead of selected_window.
5088 (x_after_update_window_line): Don't clear if frame's internal
5089 border width is zero.
5090 (x_new_font): Don't change a tooltip's size.
5091 (w32_initialize): Set char_ins_del_ok to 1.
5092
5093 * w32fns.c (Fx_show_tip): Fix calls to make_number.
5094 (x_set_font): If font hasn't changed, avoid recomputing
5095 faces and other things.
52283633
SM
5096 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
5097 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
5098 (x_create_tip_frame): Prevent changing the tooltip's
5099 background color by specifying a color for the default font
5100 in .Xdefaults.
5101 (Qcancel_timer): New variable.
5102 (syms_of_w32fns): Initialize and staticpro it.
5103 (Fx_hide_tip, Fx_show_tip): Use it.
5104 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5105 the timer.
5106 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
5107
5108 * w32.c (init_environment): Duplicate local string before putenv.
5109
555e35d2
SZ
51102001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
5111
5112 * charset.c (Fstring): A typo.
5113
19c92c94
KH
51142001-02-09 Kenichi Handa <handa@etl.go.jp>
5115
e47a1c33
KH
5116 * charset.c (Fstring): If all arguments are less than 256, return
5117 a unibyte string.
5118
5119 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
5120 return a unibyte string.
5121
19c92c94
KH
5122 * coding.c (code_convert_region): After detecting a coding, if
5123 nothing found, set coding->composing to COMPOSITION_NO.
5124 (decode_coding_string): Likewise.
5125
d8e675f5
SM
51262001-02-08 Stefan Monnier <monnier@cs.yale.edu>
5127
5128 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
5129 to avoid overflow.
5130
bd503487
KH
51312001-02-07 Kenichi Handa <handa@etl.go.jp>
5132
5133 * charset.c (parse_str_to_multibyte): New function.
5134
5135 * charset.h (parse_str_to_multibyte): Extern it.
5136
5137 * print.c (print_string): If we are going to print a unibyte
5138 string into a multibyte buffer, convert the string to multibyte by
5139 str_to_multibyte.
5140
a8370d72
AI
51412001-02-06 Andrew Innes <andrewi@gnu.org>
5142
5143 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
5144 been created. It seems we can get sent window messages such as
5145 WM_ERASEBKGND before we properly update a frame.
5146
c363a1d6
GM
51472001-02-06 Gerd Moellmann <gerd@gnu.org>
5148
5149 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
5150 Avoid some unnecessary cursor positioning.
5151
a08332c0
GM
51522001-02-05 Gerd Moellmann <gerd@gnu.org>
5153
52283633 5154 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
5155 (LFACE_AVGWIDTH): New macro.
5156 (LFACEP): Use AREF.
5157 (check_lface_attrs): Check LFACE_AVGWIDTH.
5158 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5159 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
5160 (merge_face_vectors): Check LFACE_AVGWIDTH.
5161 (Finternal_make_lisp_face): Use AREF.
5162 (xm_set_menu_resources_from_menu_face)
5163 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
5164 (Finternal_lisp_face_empty_p): Use AREF.
5165 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5166 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5167 Compare average widths..
5168 (best_matching_font): Arrange for comparing average widths.
5169
52283633
SM
5170 * dispextern.h (enum lface_attribute_index):
5171 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5172
5cb3c8d4
DL
51732001-02-05 Dave Love <fx@gnu.org>
5174
5175 * puresize.h: Revert last change following loadup.el change.
5176
193fba87
AI
51772001-02-05 Andrew Innes <andrewi@gnu.org>
5178
5179 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5180 invocation of temacs, to work with Windows 2000.
5181 (bootstrap-emacs): Ditto.
5182
e16f52ce
GM
51832001-02-05 Gerd Moellmann <gerd@gnu.org>
5184
7a58ab59
GM
5185 * xterm.c (x_display_and_set_cursor): Check for the focus
5186 frame's selected window instead of selected_window.
5187
e89aaabd
GM
5188 * xdisp.c (try_scrolling): If point is in the line below the
5189 window, make sure to move the iterator at least a canonical
5190 char height down.
5191
52283633 5192 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 5193
789ce875
KH
51942001-02-05 Kenichi Handa <handa@etl.go.jp>
5195
52283633
SM
5196 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5197 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
5198 (ccl_driver): If the CCL program is terminated because of
5199 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5200 destination instead of throwing them away.
5201
20b28f82
GM
52022001-02-02 Gerd Moellmann <gerd@gnu.org>
5203
79fb38c0
GM
5204 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5205 faces and other things.
5206
20b28f82
GM
5207 * xdisp.c (get_next_display_element): Fix case of empty
5208 display table entry.
5209
5a72551e
EZ
52102001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5211
eb24d0bf
EZ
5212 * editfns.c (Fconstrain_to_field): Doc fix.
5213
6a3f48c7
EZ
5214 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5215 into `thoroughly', to make it consistent with the doc string.
5216
5a72551e
EZ
5217 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5218
01acdb05
GM
52192001-02-01 Gerd Moellmann <gerd@gnu.org>
5220
0353b28f
GM
5221 * search.c (search_buffer): Call set_search_regs with a byte
5222 position, not a character position.
5223
01acdb05
GM
5224 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5225 minibuffer-only,
5226
e86b5133
EZ
52272001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5228
5229 * frame.c (Fmodify_frame_parameters): Doc fix.
5230
7442878f
GM
52312001-01-31 Gerd Moellmann <gerd@gnu.org>
5232
01acdb05
GM
5233 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5234 identifier which is not reserved by Standard C.
52283633 5235
7442878f
GM
5236 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5237
5238 * window.c (enum window_part): New enumeration.
5239 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5240 Qright_bitmap_area.
5241 (coordinates_in_window): Return an enumerator from enum
5242 window_part. Fix handling of right scroll bar.
5243 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5244 `right-fringe' instead of `left-bitmap-area' and
5245 `right-bitmap-area'. Use enumerators from enum window_part
5246 instead of hard-coded integers.
52283633
SM
5247 (check_window_containing, window_from_coordinates):
5248 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5249 (syms_of_window): Replace Qleft_bitmap_area and
5250 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5251
7c132cba
EZ
52522001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5253
5254 * editfns.c (Fformat_time_string): Doc fix.
5255
c359dd9e
SM
52562001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5257
5258 * keymap.c (Fwhere_is_internal): Use the first valid binding
5259 if no ascii binding is found (when firstonly is t).
5260
ce070307
GM
52612001-01-31 Gerd Moellmann <gerd@gnu.org>
5262
b4f30ec5
GM
5263 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5264 instead of Finteractive_p.
5265
5266 * lisp.h (interactive_p): Add prototype.
5267
5268 * eval.c (interactive_p): New function.
5269 (Finteractive_p): Use it.
5270
ce070307
GM
5271 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5272
f57b6e64
DL
52732001-01-31 Dave Love <fx@gnu.org>
5274
d61c7afe
DL
5275 * .gdbinit (hook-run): Define to run xreload.
5276
f57b6e64
DL
5277 * textprop.c (Fset_text_properties): Fix newline in doc string.
5278
eef93f99
GM
52792001-01-30 Gerd Moellmann <gerd@gnu.org>
5280
52283633
SM
5281 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5282 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5283
5284 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5285 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5286 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5287
5288 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5289 height.
5290
d9c1f6f9
DL
52912001-01-30 Dave Love <fx@gnu.org>
5292
5293 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5294 AFTER_POTENTIAL_GC.
5295
e8f044a0
GM
52962001-01-29 Gerd Moellmann <gerd@gnu.org>
5297
52283633
SM
5298 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5299 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5300
8e1db7b3
EZ
53012001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5302
5303 * textprop.c (Fset_text_properties): Doc fix.
5304
4eefd9d2
GM
53052001-01-29 Gerd Moellmann <gerd@gnu.org>
5306
5307 * xdisp.c (forward_to_next_line_start): Remove xassert.
5308
fccb8288
EZ
53092001-01-29 Jason Rumney <jasonr@gnu.org>
5310
4eefd9d2 5311 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5312 returning without releasing it.
5313
76581eab
KH
53142001-01-29 Kenichi Handa <handa@etl.go.jp>
5315
5316 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5317 for '^', '$', and '\0'.
5318
83a96b4d
AC
53192001-01-28 Andrew Choi <akochoi@i-cable.com>
5320
5604ec34
AC
5321 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5322 regex for '^', '$', and '\0'.
5323
83a96b4d
AC
5324 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5325 only if current_sblock has been initialized.
5326
5327 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5328 terminal frame even if it is the only visible frame.
5329
c09a6440
KH
53302001-01-28 Kenichi Handa <handa@etl.go.jp>
5331
5332 * fontset.c (font_family_registry): Even if FONTNAME conform to
5333 XLFD, if it specifies other fields than family and registry,
52283633 5334 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5335 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5336 a signle byte character. Don't set FAMILY part to nil here.
5337 It is handled by the caller choose_face_font.
c09a6440
KH
5338 (Fnew_fontset): Call font_family_registry with FORCE 0.
5339 (Fset_fontset_font): Likewise.
5340
4dcd74e6
GM
53412001-01-27 Gerd Moellmann <gerd@gnu.org>
5342
5343 * xdisp.c (display_line): Don't treat a newline as fitting
5344 on the line.
5345
d2906bf8
GM
53462001-01-26 Gerd Moellmann <gerd@gnu.org>
5347
0130fe1a
GM
5348 * window.c (size_window): Set the window's orig_top to nil when
5349 changing heights, so that a future shrink_mini_window won't
5350 restore a bogus height.
5351
550f0e6a
GM
5352 * frame.c (do_switch_frame): If selected frame has a mini-window,
5353 resize that to exact size.
5354
b7b20fbd
GM
5355 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5356
a47b7816
GM
5357 * xdisp.c (display_line): Simplify check for glyphs fitting
5358 entirely in the line.
5359
d2906bf8
GM
5360 * xfns.c (xic_style): New variable.
5361 (create_frame_xic): Move static variable to global scope for
550f0e6a 5362 the case that `static' gets defined away.
d2906bf8 5363
73df2b1e
KH
53642001-01-26 Kenichi Handa <handa@etl.go.jp>
5365
5366 * coding.c (decode_coding): Set a flag for inhibiting
5367 inconsistent eol.
5368 (code_convert_region): Always set saved_coding_symbol.
5369 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5370 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5371
6613cfc4
GM
53722001-01-25 Gerd Moellmann <gerd@gnu.org>
5373
c5e6e06b
GM
5374 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5375 XClearArea.
5376
5377 * xterm.c (x_after_update_window_line): Don't clear if frame's
5378 internal border width is zero.
5379 (x_clear_area): New function.
5380 (x_after_update_window_line, x_clear_end_of_line)
5381 (x_scroll_bar_create, x_scroll_bar_set_handle)
5382 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5383 instead of XClearArea.
5384
5385 * xterm.h (x_clear_area): Add prototype.
5386
6613cfc4
GM
5387 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5388 which doesn't seem necessary anymore with Lesstif 0.92.
5389
650cc6cc
DL
53902001-01-25 Dave Love <fx@gnu.org>
5391
34ac3367
DL
5392 * puresize.h (BASE_PURESIZE): Up to 720000.
5393
650cc6cc
DL
5394 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5395
5e37dc22
GM
53962001-01-25 Gerd Moellmann <gerd@gnu.org>
5397
e1e441f9
GM
5398 * xdisp.c (echo_area_display): Don't call redisplay_internal
5399 when Emacs is shutting down. We can't run hooks etc. that
5400 would be necessary to do a redisplay.
5401
5e37dc22
GM
5402 * lread.c (read_integer): Use type EMACS_INT instead of int.
5403
0fb94c7f
EZ
54042001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5405
5406 * ccl.c (ccl_driver): Fix last change.
5407
e3778624
KH
54082001-01-25 Kenichi Handa <handa@etl.go.jp>
5409
5410 * ccl.h (sturct ccl_program): New member suppress_error.
5411
bb264518 5412 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5413 insert error message to the output.
5414 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5415
5416 * coding.h (struct coding_system): New member suppress_error.
5417
5418 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5419 (Fset_terminal_coding_system_internal): Set the member
5420 suppress_error to 1.
5421 (Fset_safe_terminal_coding_system_internal): Likewise.
5422
245ed2b1
SM
54232001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5424
5425 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5426 as if it was a `charset'.
5427
f9aaedb6
GM
54282001-01-24 Gerd Moellmann <gerd@gnu.org>
5429
5430 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5431 value in where_is_cache; the next lookup in the cache returns
5432 something bogus if we do.
5433
c3902c3e
EZ
54342001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5435
5436 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5437 if HAVE_WINDOW_SYSTEM isn't defined.
5438
3497f73e
GM
54392001-01-24 Gerd Moellmann <gerd@gnu.org>
5440
e7e41584
GM
5441 * fns.c (sweep_weak_table): Fix code taking items out of
5442 the hash collision chain. Some cleanup.
5443
3497f73e
GM
5444 * xterm.c (x_new_font): Don't change a tooltip's size.
5445
5446 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5447 background color by specifying a color for the default font
5448 in .Xdefaults.
5449
3d48e687
KH
54502001-01-24 Kenichi Handa <handa@etl.go.jp>
5451
96531b20
KH
5452 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5453 a workaround for SunOS 4's cc.
5454 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5455 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5456 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5457 statement.
3d48e687 5458
a30629d2
GM
54592001-01-23 Gerd Moellmann <gerd@gnu.org>
5460
5461 * xterm.c (x_set_window_size_1): New function extracted from
5462 x_set_window_size.
5463 (x_set_window_size): Use it.
5464 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5465 doesn't have a widget, like tooltips.
5466
5a43decf
EZ
54672001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5468
52283633 5469 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5470
b0e98867
KH
54712001-01-23 Kenichi Handa <handa@etl.go.jp>
5472
5473 * fns.c (Fset_char_table_default): Fix to make sub char-table
5474 correctly.
5475
50606b4c
GM
54762001-01-22 Gerd Moellmann <gerd@gnu.org>
5477
cb2ddc53 5478 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5479 a desired tool bar string, even if there are no tool bar items.
5480
57c28064
GM
5481 * xdisp.c (Ftool_bar_lines_needed): New function.
5482 (syms_of_xdisp): Defsubr it.
5483
50606b4c
GM
5484 * editfns.c (Fformat): Don't extend text properties from arguments
5485 to padding chars in the result.
5486
2f169c38
EZ
54872001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5488
5489 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5490
0f32f023
AI
54912001-01-20 Andrew Innes <andrewi@gnu.org>
5492
52283633 5493 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5494 (w32_initialize): Don't set term hooks that aren't actually needed
5495 in windowed mode.
5496
5497 * xfaces.c (realize_default_face):
5498 (realize_face):
5499 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5500
5501 * xdisp.c (handle_single_display_prop): Remove references to
5502 FRAME_W32_CONSOLE_P.
5503
52283633 5504 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5505
5506 * frame.h (output_method): Remove output_w32_console method.
5507 (FRAME_W32_CONSOLE_P): Remove macro.
5508
5509 * frame.c (Qw32_console): Remove variable.
5510 (Fframep): Remove references to it.
5511 (syms_of_frame): Ditto.
5512 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5513
5514 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5515 redefinition.
5516
7173eada
KH
55172001-01-20 Kenichi Handa <handa@etl.go.jp>
5518
5519 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5520
755b45ce
AI
55212001-01-19 Andrew Innes <andrewi@gnu.org>
5522
5523 * w32.c (init_environment): Add a version-independent site-lisp
5524 directory to EMACSLOADPATH, after the version dependent one.
5525
0a949811
GM
55262001-01-19 Gerd Moellmann <gerd@gnu.org>
5527
8501998a
GM
5528 * editfns.c (Fbuffer_substring): Doc fix.
5529
52283633
SM
5530 * xdisp.c (message_dolog, message2, message2_nolog):
5531 Rename parameter LEN to NBYTES.
0a949811 5532
e6ebcbbe
KH
55332001-01-19 Kenichi Handa <handa@etl.go.jp>
5534
200ecca2
KH
5535 * charset.c (strwidth): Use c_string_width.
5536 (c_string_width): New function.
5537 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5538 Caller changed.
5539
5540 * charset.h (c_string_width, lisp_string_width): Extern them.
5541
52283633 5542 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5543
e6ebcbbe
KH
5544 * indent.c (check_composition): Check validity of composition.
5545
200ecca2
KH
5546 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5547 characters by calling c_string_width.
5548 (x_consider_frame_title): Get byte length of frame tile string
5549 correctly.
5550 (display_mode_element): Pay attention to width of non-ASCII
5551 characters by calling strwidth.
5552
8692ca92
GM
55532001-01-18 Gerd Moellmann <gerd@gnu.org>
5554
8962e303
GM
5555 * xfns.c (Qcancel_timer): New variable.
5556 (syms_of_xfns): Initialize and staticpro it.
5557 (Fx_hide_tip, Fx_show_tip): Use it.
5558 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5559 the timer.
5560 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5561
91523be9
GM
5562 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5563
5564 * window.h (WINDOW_LIVE_P): New macro.
5565
b0b7ed0e
GM
5566 * window.c (window_size_fixed): New variable.
5567 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5568 the doc string.
5569
06bccf8e
GM
5570 * eval.c (specbind): If binding a per-buffer variable which
5571 doesn't have a buffer-local value in the current buffer, change
5572 the global value by changing the value of the symbol bound in all
5573 buffers not having their own value, to make it consistent with
5574 what happens with other buffer-local variables.
5575
8692ca92
GM
5576 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5577
5578 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5579 when searching for a newline.
5580
bb3a3b50
KH
55812001-01-18 Kenichi Handa <handa@etl.go.jp>
5582
5583 * xdisp.c (display_string): Fix previous change.
5584
c2cc16fa
JR
55852001-01-18 Jason Rumney <jasonr@gnu.org>
5586
5587 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5588 GLYPH_DEBUG is defined.
5589 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5590 true for images with `:ascent 100'.
5591 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5592 meantime, use face MOUSE_FACE_ID.
5593 If first glyph isn't a character glyph, use the ASCII NUL
5594 character to determine the face.
5595 (expose_area): Do not treat left margin specially.
5596 (note_mode_line_highlight): If no local_map, check global keymap.
5597 (note_mouse_highlight): Initialize overlay.
52283633 5598 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5599 (show_scroll_bars): Remove unused function.
5600 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5601 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5602 Clip to row.
52283633 5603 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5604 (x_free_frame_resources): Unload relief colors.
5605
9c11f79e
GM
56062001-01-17 Gerd Moellmann <gerd@gnu.org>
5607
3aec8722 5608 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5609 get_next_display_element when the newline is already found.
5610 This may change the iterator's position, when its current position is
3aec8722
GM
5611 equal to the iterator's stop_charpos.
5612
f3ffc2c3
GM
5613 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5614 zero, use this method only at the end of a line.
5615
52283633 5616 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5617 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5618 if SCALABLE_FONTS_P is set.
52283633 5619
d26d6fd9
GM
5620 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5621 so that scalable fonts are included.
5622
9c11f79e
GM
5623 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5624 In the cache, use a key containing the information if scalable
5625 fonts are included.
5626 (x_load_font): Adapt to change of keys in the font cache.
5627
56282001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5629
d26d6fd9
GM
5630 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5631 XListFonts to take advantage of font caching.
5632
9c11f79e
GM
5633 * xterm.c (x_list_fonts): Ensure caching font information when
5634 called for a null frame, which is the case frequently when Emacs
5635 starts.
5636
51446987
GM
56372001-01-17 Gerd Moellmann <gerd@gnu.org>
5638
f864120f
GM
5639 * xfns.c (QCconversion): Replaces QCalgorithm.
5640
5641 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5642
5643 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5644 of :algorithm.
52283633 5645
e37d1417
GM
5646 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5647 not everything could be displayed.
5648
51446987
GM
5649 * line.h, x-list-font.c: Files removed because unused.
5650
9ad4f3e5
AI
56512001-01-17 Andrew Innes <andrewi@gnu.org>
5652
5653 * dired.c (directory_files_internal): Convert result from readdir
5654 to a unibyte string initially, to avoid possible misinterpretation
5655 of some bytes as the internal form of Emacs characters.
5656
2eda09b5
KH
56572001-01-17 Kenichi Handa <handa@etl.go.jp>
5658
5659 * fns.c (concat): Be sure to avoid putting the same `composition'
5660 property on the adjacent regions.
5661
826f3788
GM
56622001-01-16 Gerd Moellmann <gerd@gnu.org>
5663
52283633 5664 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5665 (Fscroll_right, Fscroll_left): Set it here instead, if called
5666 interactively.
5667
d57b83b3
GM
5668 * buffer.c (Fset_buffer_modified_p): Set buffer's
5669 prevent_redisplay_optimizations_p flag.
5670
826f3788 5671 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5672 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5673 with additional arg.
5674
5675 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5676 Change prototype.
826f3788 5677
826f3788
GM
5678 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5679 FROM_WHERE, for debugging.
5680
261d788b
KH
56812001-01-16 Kenichi Handa <handa@etl.go.jp>
5682
5683 * ccl.c (Fregister_ccl_program): Handle the return value of
5684 resolve_symbol_ccl_program correctly.
52283633 5685 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5686
bccee4f2
GM
56872001-01-15 Gerd Moellmann <gerd@gnu.org>
5688
e4ded23c
GM
5689 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5690 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5691
5692 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5693 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5694 the display; we didn't open it.
5695
bccee4f2
GM
5696 * dispnew.c (save_or_restore_current_matrices): Function removed.
5697 (save_current_matrix, restore_current_matrix): New functions.
5698 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5699 restore the frame's current matrix. Due to the glyph pointer
5700 setup done in adjust_glyph_matrix, there is no easy way to make
5701 saving the current matrix in the desired matrix generally correct,
5702 so don't try it.
5703
ebeccffa
KH
57042001-01-15 Kenichi Handa <handa@etl.go.jp>
5705
5706 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5707 truncation glyphs.
5708 (display_line): Optimize for wide characters.
e4ded23c 5709 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5710 partially. On ttys, produce more than one truncation glyph for
5711 multi-column characters that don't fit on the line.
5712
64388126
KH
57132001-01-13 Kenichi Handa <handa@etl.go.jp>
5714
52283633
SM
5715 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5716 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5717
8edb0a6f
JR
57182001-01-13 Jason Rumney <jasonr@gnu.org>
5719
5720 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5721 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5722 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5723 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5724
52283633
SM
5725 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5726 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5727 (x_draw_image_glyph_string): Adapt to change of image margins.
5728
5729 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5730 variables.
5731
5732 * w32bdf.c (search_file_line, get_cached_font_char)
5733 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5734
5735 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5736
5737 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5738 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5739 (Fw32_send_sys_command): Remove unused variables.
5740 (w32_msg_pump): Add parentheses.
5741
5742 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5743 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5744 Add parentheses.
5745
4956d1ef
GM
57462001-01-12 Gerd Moellmann <gerd@gnu.org>
5747
b30623be
GM
5748 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5749 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5750 being a pair of margins.
5751 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5752 to DEFVAR_LISP. Extend doc.
5753
5754 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5755 margins.
5756 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5757 pair of integers `(X . Y)', use X for the horizontal and Y for the
5758 vertical margin.
5759 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5760 (parse_image_spec): Check it.
52283633
SM
5761 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5762 (tiff_format, gif_format, gs_format):
5763 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5764
52283633
SM
5765 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5766 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5767 (x_draw_image_glyph_string): Adapt to the change of image margins.
5768
5769 * dispextern.h (struct image): Replace member `margin' with
5770 `hmargin' and `vmargin'.
5771
4554cc79
GM
5772 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5773 and GLYPHS.
5774
5775 * dispnew.c (update_text_area): Put code which decrements the
5776 stop position when the row's face extends to the end of the
3bffc665 5777 line in #if 0.
4554cc79 5778
3cccce8d
GM
5779 * xfns.c (x_set_mouse_color): Fix color allocation.
5780
4956d1ef
GM
5781 * keyboard.c: Call get_local_map with new argument list.
5782
5783 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5784
5785 * intervals.h (enum map_property): Removed.
5786 (get_local_map): Change prototype.
5787
5788 * keymap.c: Call get_local_map with new argument list.
5789 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5790
2c2ff7f2
GM
57912001-01-11 Gerd Moellmann <gerd@gnu.org>
5792
a23887b9
GM
5793 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5794 of the size needed for the tool bar string. For the last image,
5795 use a `display' property that reaches to the end of the string.
5796
a7ee2d2e
GM
5797 * xselect.c (selection_request_dpyinfo): New variable.
5798 (x_handle_selection_request): Set it.
5799 (x_selection_request_lisp_error): Don't call
5800 x_decline_selection_request if selection request's display has
5801 been closed.
5802
52283633
SM
5803 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5804 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5805
457b792c
GM
58062001-01-10 Dave Love <fx@gnu.org>
5807
5808 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5809 ${SOME_MACHINE_LISP}, not ${lisp}.
5810
c1efd260
GM
58112001-01-10 Gerd Moellmann <gerd@gnu.org>
5812
52283633
SM
5813 * xdisp.c (display_line): On ttys, produce more than one truncation
5814 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5815
ac95a621
GM
5816 * xselect.c (x_reply_selection_request): Add a comment.
5817
c1efd260
GM
5818 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5819 XkbGetNames instead of XkbGetKeyboard.
5820
1bfb1345
DL
58212001-01-10 Dave Love <fx@gnu.org>
5822
5823 * sysdep.c (random): Revert the declaration.
5824
38119822
GM
58252001-01-09 Gerd Moellmann <gerd@gnu.org>
5826
52283633
SM
5827 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5828 Call function string_bytes.
35f464a7
GM
5829 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5830
5831 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5832 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5833 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5834 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5835 the current sblock.
5836 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5837 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5838 after sweeping strings, and at the end.
5839 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5840
38119822
GM
5841 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5842 ensure that pop_message is called.
5843
5844 * keyboard.c (Fexecute_extended_command): Use a
5845 record_unwind_protect to ensure that pop_message is called.
5846
5847 * lisp.h (push_message_unwind): Add prototype.
5848
5849 * xdisp.c (push_message_unwind): New function.
5850
5851 * fileio.c (do_auto_save_unwind): Do the pop_message here
5852 instead of in Fdo_auto_save.
5853 (Fdo_auto_save): Don't call pop_message.
5854
f47a9ec4
KR
58552001-01-08 Ken Raeburn <raeburn@gnu.org>
5856
5857 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5858 in inner block.
5859
a758f97d
GM
58602001-01-08 Gerd Moellmann <gerd@gnu.org>
5861
6d0afc03
GM
5862 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5863 when increasing window's vscroll.
5864
a758f97d
GM
5865 * macros.c (Qkbd_macro_termination_hook): New variable.
5866 (syms_of_macros): Initialize and staticpro it.
5867 (pop_kbd_macro): Run kbd-macro-termination-hook.
5868
5869 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5870
1bfb1345 58712001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5872
5873 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5874 arglist, for documentation's sake.
5875
0dac6924
AI
58762001-01-06 Andrew Innes <andrewi@gnu.org>
5877
5878 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5879 of *.pdb.
5880
8182406a
AI
58812001-01-05 Andrew Innes <andrewi@gnu.org>
5882
5883 * term.c (update_end): Don't check updating_frame; for some reason
5884 this can be 0 sometimes, such as after dismissing a popup menu,
5885 and isn't necessary given the explicit frame argument.
5886
3828218c
GM
58872001-01-05 Gerd Moellmann <gerd@gnu.org>
5888
5889 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5890 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5891
2f5ded21
GM
58922001-01-04 Gerd Moellmann <gerd@gnu.org>
5893
52283633 5894 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5895
5896 * xfns.c (x_create_tip_frame): Preserve the value of
5897 face_change_count around the creation of the tip frame.
52283633 5898
2f5ded21
GM
5899 * xfns.c (last_show_tip_args): New variable.
5900 (compute_tip_xy): New function.
5901 (Fx_show_tip): Reuse an existing tip frame, if possible.
5902 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5903
dfad65fa
DL
59042001-01-04 Dave Love <fx@gnu.org>
5905
64d4ec0f
DL
5906 * editfns.c (Fformat): Doc fix.
5907
dfad65fa
DL
5908 * systime.h (set_file_times): Prototype.
5909
5910 * widget.h (EmacsFrameSetCharSize_): Prototype.
5911
5912 * sysdep.c (random, srandom): Declare explicitly.
5913
5914 * dispextern.h (move_it_vertically_backward): Declare.
5915
85fe3b5e
GM
59162001-01-04 Gerd Moellmann <gerd@gnu.org>
5917
0f2ac578
GM
5918 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5919 like in Fx_create_frame.
5920
482cca61
GM
5921 * xfaces.c (set_font_frame_param): Don't do anything for
5922 non-graphical frames.
5923
85fe3b5e
GM
5924 * window.c (Fdelete_other_windows): Set window's window_end_valid
5925 to nil when changing the window's start. Don't change the
5926 window's start when its top position hasn't changed. If we do,
5927 this will set the window's optional_new_start, which act's like a
5928 force_start during redisplay with C-x 1 M-> under particular
5929 circumstances (see report from Per Starback to emacs-pretest-bug
5930 from 2000-12-13.).
5931
3e99d3b4
GM
59322001-01-03 Gerd Moellmann <gerd@gnu.org>
5933
a77dc1ec
GM
5934 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5935 short cut at the start of the function. Add an assertion.
5936 (reseat_at_next_visible_line_start): Add an assertion.
5937
2f3cad6c
GM
5938 * window.c (Frecenter): When changing the window start, set the
5939 window's window_end_valid to nil.
5940 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5941
5942 * dispextern.h (move_it_past_eol): Add prototype.
5943
5944 * xdisp.c (move_it_past_eol): New function.
5945
3e99d3b4
GM
5946 * window.c (Fwindow_end): Doc fix.
5947
59482001-01-03 Dave Love <fx@gnu.org>
5949
52283633 5950 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5951
bafb434c
GM
59522001-01-03 Gerd Moellmann <gerd@gnu.org>
5953
5954 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5955 the enabled_p flag of the glyph row at window_end_vpos to 0.
5956 (handle_single_display_prop): Fix last change.
5957
5297fb00
RS
59582001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5959
5960 * window.c (Frecenter): Doc fix.
5961
13d6a61c
AI
59622001-01-02 Andrew Innes <andrewi@gnu.org>
5963
5964 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5965
5966 * frame.h (output_method): Add output_w32_console method.
5967 (FRAME_W32_CONSOLE_P): New macro.
5968
5969 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5970 use output_w32_console method.
5971 (Qw32_console): New Lisp_Object.
5972 (Fframep): Return it.
5973 (syms_of_frame): Init it.
52283633 5974 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5975
5976 * xfaces.c (realize_default_face): Set face foreground and
5977 background to unspecified for w32_console frames.
5978 (realize_face): Realize face cache for w32_console frames.
5979 (realize_tty_face): Accept w32_console frames.
5980
52283633 5981 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5982 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5983 necessary, even if running interactively.
5984
5985 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5986 w32_console frames.
5987
52283633
SM
5988 * w32term.c (x_update_begin):
5989 (x_update_end):
5990 (x_clear_frame):
5991 (x_ins_del_lines):
5992 (x_change_line_highlight):
5993 (x_delete_glyphs):
5994 (w32_ring_bell):
5995 (x_update_begin):
5996 (x_update_end):
5997 (w32_reassert_line_highlight):
5998 (w32_frame_rehighlight):
13d6a61c
AI
5999 (w32_frame_raise_lower): Do nothing if not w32 frame.
6000
6001 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
6002
6003 * w32fns.c (Fx_display_color_cells): Determine correct value, when
6004 system doesn't tell us directly.
6005 (Fx_display_visual_class): Implement properly.
6006
d6bb0c0d
GM
60072001-01-02 Gerd Moellmann <gerd@gnu.org>
6008
6009 * window.c (Frecenter): Handle centering in graphical frames
6010 specially. Centering on the basis of line counts doesn't work
6011 reliably with variable-height lines.
52283633 6012
315f5865
EZ
60132001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6014
6015 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
6016 and al[].
6017
52283633 6018 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
6019 (update_compositions): Remove unused variable `hook'.
6020
6021 * intervals.c (get_local_map): Remove unused variable `tem'.
6022
6023 * doprnt.c (doprnt1): Remove unused variable `size'.
6024
6025 * fns.c (Flength): Remove unused variable `tail'.
6026 (Fdelete): Remove unused variable `size'.
6027
6028 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
6029 and `gcpro2'.
6030
52283633 6031 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
6032
6033 * data.c (find_symbol_value): Remove extra 3rd argument in the
6034 call to swap_in_symval_forwarding.
6035
52283633 6036 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
6037
6038 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
6039 (trivial_regexp_p): Remove unused variable `c'.
6040 (boyer_moore): Remove unused variable `k'.
6041
6042 * indent.c (current_column): Remove unused variable `stopchar'.
6043 (Fcompute_motion): Remove unused variable `contin'.
6044
6045 * casefiddle.c (casify_object): Remove unused variable `tolen'.
6046
6047 * dired.c (directory_files_internal): Fix a typo in a comment.
6048 Remove an unused variable `handler'.
52283633 6049 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
6050 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
6051 on BSD4_2.
6052
52283633 6053 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
6054
6055 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
6056 and `buf'.
6057 (Fmarker_insertion_type): Remove unused variable `buf'.
6058
6059 * insdel.c (make_gap): Remove unused variable `result'.
6060
52283633 6061 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
6062 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
6063 (menu_bar_items): Remove unused function-scope variable `tem'.
6064
6065 * fontset.c (fontset_ref): Remove unused variable `i'.
6066 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 6067 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
6068 (make_fontset_for_ascii_face): Remove unused variable `name'.
6069 (fs_load_font): Remove unused variable `font_idx'.
52283633 6070 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
6071 (list_fontsets): Remove unused variable `tail'.
6072 (Fnew_fontset): Remove unused variables `family' and `registry'.
6073 (accumulate_font_info): Remove unused variable `tmp'.
6074 (Ffontset_font): Remove unused variable `id'.
6075 (syms_of_fontset): Remove unused variable `i'.
6076
6077 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
6078 to x_term_init.
6079 (lookup_image): Remove unused variable `file'.
6080 (xbm_load): Remove unused variables `bitmap_data', `height', and
6081 `width'. Remove function-local variable `i', leave the
6082 block-local one.
6083 (gif_load): Remove unused variable `inc'.
6084
52283633 6085 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
6086 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
6087 leave only the one in the inner block.
6088
6089 * xfaces.c (face_fontset, realize_default_face): Remove unused
6090 variable `fontset'.
6091 (face_at_buffer_position): Remove unused variable `multibyte_p'.
6092
6093 * term.c (encode_terminal_code): Remove unused variable `c'.
6094
6095 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
6096 char *' instead of `char *'.
6097
6098 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 6099 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
6100 (Fchar_category_set): Remove unused variables `val', `charset',
6101 `c1' and `c2'.
6102
52283633
SM
6103 * coding.c (detect_coding_iso2022, setup_coding_system):
6104 Remove unused variable `i'.
315f5865
EZ
6105 (detect_coding_mask): Remove unused variable `idx'.
6106 (detect_coding): Remove unused variable `i'.
6107 (ccl_coding_driver): Remove unused variable `result'.
6108 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 6109 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
6110 (encode_coding_string): Remove unused variables `gcpro1' and
6111 `saved_coding_symbol'.
6112 (Ffind_coding_systems_region_internal): Remove function-local
6113 variable args[], leave only the block-local one.
6114 (code_convert_region1): Remove unused variable `len'.
6115
6116 * charset.c (char_printable_p): Remove unused variable `chars'.
6117 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
6118 (str_to_multibyte): Remove unused variable `c'.
6119
6120 * window.c (size_window): Remove block-local variable `min_size'.
6121
6122 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
6123 `header_line_height'.
6124 (append_space, extend_face_to_end_of_line): Declare `saved_what'
6125 enum display_element_type.
6126
1a8a9daf
GM
61272001-01-02 Gerd Moellmann <gerd@gnu.org>
6128
6dde6abc 6129 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
6130 statements that call X. Save away the error message in a local copy.
6131
1883b2c6
GM
6132 * xterm.c (x_connection_closed): Set handling_signal to 0 at
6133 the start.
6134
a13be207
GM
6135 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
6136 in or at the start of invisible text.
6137
1a8a9daf
GM
6138 * dispnew.c (update_window): Don't check_current_matrix_flags.
6139
3608c0f9
JR
61402001-01-01 Jason Rumney <jasonr@gnu.org>
6141
6142 * w32fns.c (x_figure_window_size): Do not allow new_height and
6143 new_width of frame to override specified values.
6144
abb1acc4
KH
61452000-12-30 Kenichi Handa <handa@etl.go.jp>
6146
52283633 6147 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 6148
762a68ec
GM
61492000-12-29 Gerd Moellmann <gerd@gnu.org>
6150
52283633 6151 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
6152 (update_window) [GLYPH_DEBUG]: Call it.
6153 (scrolling_window): Prevent including current rows which are below
6154 what's displayed in the window.
6155
6156 * xdisp.c (try_window_reusing_current_matrix)
6157 <new start <= old start>: Disable rows in the current matrix
6158 which are below the window after scrolling.
52283633 6159
762a68ec
GM
6160 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
6161 is zero. It's not worth the complexity.
6162 (invisible_text_between_p): Put in #if 0 because unused.
6163
2d5912c1
GM
61642000-12-28 Gerd Moellmann <gerd@gnu.org>
6165
46f6a258
GM
6166 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6167 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6168
89f93679
GM
6169 * keyboard.c (echo_char): If C is an integer, always call
6170 push_key_description. Former code could signal an invalid
6171 character error.
6172
6173 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6174 If set, print multibyte text.
6175 (Fsingle_key_description): Call push_key_description with
6176 FORCE_MULTIBYTE set.
6177 (describe_buffer_bindings): Likewise.
6178
6179 * lisp.h (push_key_description): Add prototype.
6180
c06017fb
GM
6181 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6182 around the call to redisplay_internal.
6183
f1d2ce7f
GM
6184 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6185
2d5912c1
GM
6186 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6187
9371f831
KH
61882000-12-28 Kenichi Handa <handa@etl.go.jp>
6189
6190 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6191 (ccl_driver): New local variable `extra_bytes'.
6192
6193 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6194
52283633
SM
6195 * coding.c (setup_coding_system):
6196 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
6197 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6198
0c80628a
KH
61992000-12-28 Kenichi Handa <handa@etl.go.jp>
6200
6201 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6202 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6203 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6204 (decode_composition_emacs_mule): New function.
6205 (decode_coding_emacs_mule): Decode composition sequence by calling
6206 decode_composition_emacs_mule.
6207 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
6208 (encode_coding_emacs_mule): Changed from macro to function.
6209 If a text contains compositions, encode them correctly.
0c80628a
KH
6210 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6211 that decoding and encoding are required.
6212
3e32cc27
GM
62132000-12-27 Gerd Moellmann <gerd@gnu.org>
6214
5e25feee
GM
6215 * xfaces.c (PT_PER_INCH): New macro.
6216 (xlfd_point_size): Compute real point size from font's pixel size.
6217 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6218 instead of 72.
6219
892d8fcd
GM
6220 * .gdbinit: Comment out the line pointing to the Lesstif source
6221 directory.
6222
12c8b416
GM
6223 * window.c (Frecenter): Use displayed_window_lines instead
6224 of window_internal_height.
6225
6061fbf0
GM
6226 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6227 instead of x-toolkit-scroll-bars-p.
6228 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6229
6230 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6231 instead of x-toolkit-scroll-bars-p.
6232 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6233
3e32cc27
GM
6234 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6235 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6236 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6237 New variables.
6238 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6239 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6240 (build_frame_matrix_from_leaf_window): Remove unused code.
6241 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6242 redisplay history.
6243 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6244 (update_window) [GLYPH_DEBUG]: Likewise.
6245 (syms_of_display): Defsubr dump-redisplay-history.
6246
31798cfe
GM
62472000-12-23 Gerd Moellmann <gerd@gnu.org>
6248
f717c2ba
GM
6249 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6250 the end of the prompt. Set echo_after_prompt to the offset
6251 of echoptr in echobuf.
6252
aeb2b8fc
GM
6253 * xdisp.c (init_from_display_pos): Pop until the iterator's
6254 stack is empty; there may be frames for stretch or images
6255 on the stack.
6256
31798cfe
GM
6257 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6258 (save_or_restore_current_matrix): New function for the same
6259 purpose, but more efficient.
6260 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6261
f8156156
EZ
62622000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6263
6264 * xdisp.c (syms_of_xdisp): Fix last change.
6265
bdd6d4e8
GM
62662000-12-23 Gerd Moellmann <gerd@gnu.org>
6267
6268 * xdisp.c (syms_of_xdisp): Doc fix.
6269
6270 * xdisp.c (redisplay_window): Remove label restore_buffers;
6271 use finish_scroll_bars instead to make sure that scroll bars
6272 are redeemed. If we don't do this, flickering can result from
6273 scroll bars being destroyed and recreated.
6274
9436cdf9
JR
62752000-12-22 Jason Rumney <jasonr@gnu.org>
6276
6277 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6278 in the wrong colors when the foreground is not black.
6279 (expose_window): Don't redraw the window that's currently being
6280 updated.
6281
951f9df5
GM
62822000-12-22 Gerd Moellmann <gerd@gnu.org>
6283
856ff7a7
GM
6284 * window.c (size_window): When setting the window's too_small_ok
6285 flag, compare old size with minimum size depending on WIDTH_P,
6286 don't compare with window_min_width.
52283633 6287
951f9df5
GM
6288 * window.c (delete_window): Simplify somewhat.
6289 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6290 freeing window matrices. The flag windows_or_buffers_changed is
6291 set, so the next redisplay will consider all windows; this should
6292 suffice.
6293
886bc933
KH
62942000-12-22 Kenichi Handa <handa@etl.go.jp>
6295
6296 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6297
6298 * ccl.h (struct ccl_program): New member cr_consumed.
6299
6300 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6301 (CCL_READ_CHAR): Handle EOL conversion here.
6302 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6303
177f4e88
GM
63042000-12-21 Gerd Moellmann <gerd@gnu.org>
6305
52283633 6306 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6307
6308 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6309 otherwise tabs of different size compare equal.
6310
6311 * callint.c (Fcall_interactively): Prevent a compiler warning.
6312
6313 * print.c (print_unwind): Return nil.
6314 (PRINTDECLARE): Initialize all local variables.
6315 (print_preprocess): Add a default case.
6316
8e15274f
GM
6317 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6318
6319 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6320
52283633 6321 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6322 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6323
6324 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6325
6326 * dispnew.c (ensure_frame_matrix): Removed.
6327 (save_frame_matrix, restore_frame_matrix): New functions.
6328 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6329
6330 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6331 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6332
99012074
AI
63332000-12-21 Andrew Innes <andrewi@gnu.org>
6334
6335 * w32term.c (x_update_begin): Regenerate the palette here, rather
6336 than for each window.
6337
6338 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6339 palette is NULL, since this corrupts memory! Also get
6340 display_info reference from frame.
6341
29ef7d2d
JR
63422000-12-21 Jason Rumney <jasonr@gnu.org>
6343
6344 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6345
6346 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6347 to avoid returning without releasing it.
3e27fa1f 6348
3f9d67a6
KH
63492000-12-21 Kenichi Handa <handa@etl.go.jp>
6350
587fc3f9
KH
6351 * keymap.c (push_key_description): Don't convert eight-bit-control
6352 and eight-bit-graphic to multibyte character.
6353
3f9d67a6
KH
6354 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6355 generic character and CODE1 is nil, return the smallest character
6356 in CHARSET.
6357
774ba8c9
DL
63582000-12-20 Dave Love <fx@gnu.org>
6359
6360 * s/osf5-0.h (NSIG): Don't redefine.
6361
88416888
SM
63622000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6363
6364 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6365 excluding menu-bar and tool-bar.
6366 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6367 (menu_item_p): Remove.
6368 (where_is_internal_1): Don't ignore menu-items.
6369
a6426c6f
GM
63702000-12-20 Gerd Moellmann <gerd@gnu.org>
6371
03ff8aab
GM
6372 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6373 into account.
6374
6375 * window.c (make_window): Initialize window's min_hscroll.
6376 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6377 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6378 to zero.
6379 (struct saved_window): New member min_hscroll.
6380 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6381 (Fset_window_configuration): Set window's min_hscroll.
6382 (save_window_save): Save window's min_hscroll.
6383 (compare_window_configurations): Compare min_hscroll values.
6384
6385 * window.h (struct window): New member min_hscroll.
6386
6387 * keyboard.c (echo_prompt): Prevent a compiler warning.
6388
8de4aaf8
GM
6389 * xdisp.c (try_cursor_movement): Fix last change. The real
6390 condition is that PT is at the end of the row, and should
6391 be displayed at the start of the next row.
52283633 6392
3f7e3031
GM
6393 * xdisp.c (try_cursor_movement): If we end on a partially
6394 visible line, end we already decided to scroll, return -1.
6395
a6426c6f
GM
6396 * dispextern.h (ensure_frame_matrix): Add prototype.
6397
6398 * window.c (delete_window, Fsplit_window)
6399 (Fset_window_configuration): Call ensure_frame_matrix.
6400
52283633
SM
6401 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6402 New functions.
a6426c6f
GM
6403 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6404 completed, call fake_current_matrices instead of marking frame
6405 garbaged.
6406
57fa2774
JR
64072000-12-20 Jason Rumney <jasonr@gnu.org>
6408
6409 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6410
d925df90
EZ
64112000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6412
6413 * fns.c (Frequire): Doc fix.
6414
7b93a85b
GM
64152000-12-19 Gerd Moellmann <gerd@gnu.org>
6416
52283633 6417 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6418
c74e645b
GM
6419 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6420 currently displaying a message.
6421
7b93a85b
GM
6422 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6423 xterm.h.
6424 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6425
90d97e64
AI
64262000-12-18 Andrew Innes <andrewi@gnu.org>
6427
6428 * w32.c (w32_strerror): New function.
6429
6430 * w32.h (w32_strerror): New extern.
6431
6432 * w32fns.c (Fw32_shell_execute): Use it.
6433
91c9e6ce
GM
64342000-12-18 Gerd Moellmann <gerd@gnu.org>
6435
6436 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6437
6f4745e2
EZ
64382000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6439
6440 * msdos.c (IT_set_face): Obey inverse_video.
6441
c9e088ce
KH
64422000-12-18 Kenichi Handa <handa@etl.go.jp>
6443
6444 * dired.c (directory_files_internal): Always return decoded filenames.
6445
c3695f5f
GM
64462000-12-18 Gerd Moellmann <gerd@gnu.org>
6447
52d8e4ff
GM
6448 * xterm.c (x_connection_closed): Prevent being called recursively
6449 because of an error condition in XtCloseDisplay.
52283633 6450
62be9979
GM
6451 * xdisp.c (init_iterator): If noninteractive, and the frame's
6452 face cache is null, make one.
6453
52283633 6454 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6455
c3695f5f
GM
6456 * process.c (wait_reading_process_input): Check for pending
6457 input when running timers.
6458
78555fbe
EZ
64592000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6460
52283633 6461 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6462
b2b36264
KH
64632000-12-18 Kenichi Handa <handa@etl.go.jp>
6464
6465 * process.c (read_process_output): Don't run a filter if the code
6466 decoder produces nothing but carryover.
6467
9c543fbf
AI
64682000-12-17 Andrew Innes <andrewi@gnu.org>
6469
6470 * w32.c (sys_rename): Only check errno against EEXIST, and not
6471 EACCES, when determining whether rename failed because the target
6472 exists. This was resulting in indefinite looping on Windows 9x if
6473 the source file was locked by another process.
6474
6475 * w32fns.c (Ffile_system_info): New function.
6476 (syms_of_w32fns): Defsubr it.
6477
10c2b5a8
GM
64782000-12-17 Gerd Moellmann <gerd@gnu.org>
6479
b0228ace
GM
6480 * window.c (coordinates_in_window): Fix computation for
6481 position on vertical line between mode lines.
6482
10c2b5a8
GM
6483 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6484 Don't alter tip_frame or tip_window.
6485 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6486 was deleted.
6487
c844a81a
GM
6488 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6489 Don't alter tip_frame or tip_window.
6490 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6491 was deleted.
6492
6c825f8e
EZ
64932000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6494
6495 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6496 be consistent with the doc string. Reported by NAKAJIMA Mikio
6497 <minakaji@osaka.email.ne.jp>.
6498
af4bb4c8
KH
64992000-12-16 Kenichi Handa <handa@etl.go.jp>
6500
6501 * xfaces.c (Vface_ignored_fonts): New variable.
6502 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6503 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6504
8062e53a
GM
65052000-12-15 Gerd Moellmann <gerd@gnu.org>
6506
e87b8809
GM
6507 * dispnew.c (update_window): Detect pending input every nth line
6508 updated, i.e. do it depending on real work done, and not on the
6509 vpos of the line.
6510
6511 * xterm.c (expose_window): Don't redraw the window that's
6512 currently being updated.
6513
a6768cc5
GM
6514 * window.c (Fset_window_point): Remove test for
6515 cursor_in_non_selected_windows.
6516
4ea7fdca
GM
6517 * lread.c (read1): Recognize end of file after `\\'.
6518
8062e53a
GM
6519 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6520 not unwind_create_frame.
6521
bb7959c1
GM
65222000-12-15 Dave Love <fx@gnu.org>
6523
6524 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6525 bcopy & al.
6526
6527 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6528
ced04c42
KH
65292000-12-15 Kenichi Handa <handa@etl.go.jp>
6530
c5443913
KH
6531 * coding.c (setup_coding_system): Clear all members of the struct
6532 coding_system at first.
bc137305
KH
6533 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6534 argument.
6535 (code_convert_region): Don't override coding->src_multibyte and
6536 coding->dst_multibyte.
c5443913 6537
ced04c42
KH
6538 * fns.c (Fmd5): Docstring improved.
6539
c2d7f289
MB
65402000-12-15 Miles Bader <miles@gnu.org>
6541
6542 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6543 are actually marked as mode-lines; otherwise use
6544 estimate_mode_line_height.
6545
9d7d9263
GM
65462000-12-14 Gerd Moellmann <gerd@gnu.org>
6547
6548 * editfns.c (Fformat): Prevent a buffer overrun when the format
6549 specifies a precision.
6550
7cf0153a
EZ
65512000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6552
6553 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6554 argument is outside the range [2..3].
6555
1de0f662
AI
65562000-12-14 Andrew Innes <andrewi@gnu.org>
6557
6558 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6559 nothing to do. Bind inhibit-quit.
6560 (tip_frame): Make it a Lisp_Object.
6561 (x_create_tip_frame): Set tip_frame after it has been added to
6562 Vframe_list.
6563 (Fx_show_tip): Don't set tip_frame here.
52283633 6564 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6565 (unwind_create_frame, unwind_create_tip_frame): New functions.
6566 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6567 while a frame is only partially constructed.
6568
6569 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6570 (x_free_frame_resources): New function.
6571 (x_destroy_window): Use it.
6572
02387dcc
GM
65732000-12-14 Gerd Moellmann <gerd@gnu.org>
6574
6575 * xfns.c (Fx_backspace_delete_keys_p): New function.
6576 (syms_of_xfns): Defsubr it.
6577
6578 * config.in (HAVE_XKBGETKEYBOARD): Add.
6579
0544ef49
KH
65802000-12-14 Kenichi Handa <handa@etl.go.jp>
6581
98d62747
KH
6582 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6583 Always store string in multibyte representation in echobuf.
6584 (echo_char): Always store string in multibyte representation in
6585 echobuf.
6586 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6587 (read_key_sequence): Adjusted for the change of echo_prompt.
6588
a20193cd
KH
6589 * fns.c (Fmd5): Docstring improved.
6590
191b83b6
KH
6591 * lisp.h (detect_coding_system): Prototype adjusted.
6592
0544ef49
KH
6593 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6594 (detect_coding_emacs_mule, detect_coding_iso2022,)
6595 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6596 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6597 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6598 (detect_coding_mask, detect_coding_system): New argument
6599 MULTIBYTEP. Callers changed.
1da1bb05
KH
6600 (decode_coding_string): Set coding->src_multibyte and
6601 coding->dst_multibyte before calling detect_coding and detect_eol.
6602 Update them after some coding system is detected.
52283633 6603
d5b3eb1b
SM
66042000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6605
6606 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6607
6608 * keyboard.c (menu_bar_items, tool_bar_items):
6609 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6610
f7f8bb69
GM
66112000-12-13 Gerd Moellmann <gerd@gnu.org>
6612
52283633 6613 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6614 New variables.
6615 (unwind_create_frame, unwind_create_tip_frame): New functions.
6616 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6617 while a frame is only partially constructed.
6618
6619 * xterm.h (x_free_frame_resources): Declare.
6620
6621 * xterm.c (x_free_frame_resources): New function.
6622 (x_destroy_window): Use it.
6623
e10da507
GM
6624 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6625 don't interrupt the update for pending input initially, i.e.
6626 update at least some lines.
6627
6628 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6629
d5b3eb1b 6630 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6631
6632 * xfns.c (gray_bitmap_bits): Declare `char *'.
6633
90aa2856
GM
66342000-12-12 Gerd Moellmann <gerd@gnu.org>
6635
6636 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6637 lines start with a relief line.
6638
a308c9cd
DL
66392000-12-12 Dave Love <fx@gnu.org>
6640
6641 * window.c (Fdisplay_buffer): Doc fix.
6642 (Fwindow_list): Remove unused var.
6643
6644 * buffer.h (mmap_set_vars): Declare.
6645
6646 * window.h (Fset_window_point): Declare.
6647
d575011f
EZ
66482000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6649
bf6282d2 6650 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6651 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6652 variable `area'. When looking for a row under (X,Y), give up if some
6653 of the previous rows is not enabled.
d575011f 6654
ecf4d726
GM
66552000-12-12 Gerd Moellmann <gerd@gnu.org>
6656
2ebf6139
GM
6657 * window.c (Fset_window_point): If displaying cursors in windows
6658 other than the selected window, make sure redisplay updates
6659 other windows to show the new value of point in the window.
6660
6661 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6662
bfdb75ee
GM
6663 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6664 the buffer is the sole visible buffer when in the mini-buffer.
6665
52283633 6666 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6667 Bind `inhibit-read-only' to t.
6668 (unwind_with_echo_area_buffer): Use AREF.
6669
c0006262
GM
6670 * xfns.c (Fx_hide_tip): Simplified.
6671
52283633
SM
6672 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6673 instead of `1'.
e9a59cad 6674
ecf4d726
GM
6675 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6676
e5959a9a
GM
66772000-12-11 Gerd Moellmann <gerd@gnu.org>
6678
a3642e49 6679 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6680
44b5a125
GM
6681 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6682 nothing to do. Bind inhibit-quit.
6683 (tip_frame): Make it a Lisp_Object.
6684 (x_create_tip_frame): Set tip_frame after it has been added to
6685 Vframe_list.
6686 (Fx_show_tip): Don't set tip_frame here.
6687
6688 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6689
6690 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6691 Lisp_Object.
6692
6693 * dispextern.h: Change external declaration of tip_frame.
6694
d990421f
GM
6695 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6696 return an empty string.
6697
4db87380
GM
6698 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6699 of the window's update_mode_line flag, since the former is set by
6700 force-mode-line-update, not the latter. This makes
6701 column-number-mode slightly faster.
52283633 6702
e5959a9a
GM
6703 * xdisp.c (try_window_id) <all changes above window start>:
6704 Set the cursor.
6705
169fe44e
GM
67062000-12-11 Paul Eggert <eggert@twinsun.com>
6707
6708 * config.in (HAVE_FTELLO): Remove.
6709 (HAVE_FSEEKO): Add.
6710 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6711 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6712 HAVE_FTELLO.
6713 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6714 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6715
59ec59ae
MB
67162000-12-11 Miles Bader <miles@gnu.org>
6717
6718 * window.c (displayed_window_lines): Don't round up when
6719 converting empty space at bottom to lines.
ff904dd6
MB
6720 Handle non-newline-terminated final lines properly.
6721 (Fwindow_text_height): New function (used to be in lisp).
6722 (syms_of_window): Initialize it.
59ec59ae 6723
42ebfa31
SM
67242000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6725
6726 * syntax.c (scan_lists): Check that the right quote char has the
6727 right Sstring syntax when jumping over strings.
6728 (init_syntax_once): Use Smax rather than 13.
6729
5cdb3cf3
MB
67302000-12-09 Miles Bader <miles@gnu.org>
6731
6732 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6733 with PARTIALLY, inverting the sense.
6734 (window_scroll_pixel_based): Scroll partially visible lines into
6735 place if we hit the beginning or end of the buffer.
a12167c5
MB
6736 (displayed_window_lines): Don't include partially visible lines.
6737 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6738
842b2a94
GM
67392000-12-08 Gerd Moellmann <gerd@gnu.org>
6740
6741 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6742
6743 * tparam.c (tparam1): Change the way buffers are reallocated to be
6744 portable and less obfuscated.
6745
6746 * termcap.c (tgetent): Change the way buffers are reallocated to
6747 be portable and less obfuscated.
6748
6749 * macros.c (store_kbd_macro_char): Change the way buffers are
6750 reallocated to be portable and less obfuscated.
6751
6752 * lread.c (read1): Change the way buffers are reallocated to be
6753 portable and less obfuscated.
6754
6755 * doc.c (Fsubstitute_command_keys): Change the way buffers
6756 are reallocated so that it is portable.
6757
137cad7c
EZ
67582000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6759
6760 * dosfns.c (Ffile_system_info): New function.
6761 (syms_of_dosfns): Defsubr it.
6762
5c7f629c
SM
67632000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6764
6765 * alloc.c (gc_sweep): Add comment.
6766
959e647d
GM
67672000-12-07 Gerd Moellmann <gerd@gnu.org>
6768
52283633
SM
6769 * sound.c (vox_configure): Change order of ioctls.
6770 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6771 Ignore errors when changing volume.
6772 (vox_close): Don't reset the device.
6773
926b7e5e
GM
6774 * process.c (read_process_output): Make sure the process marker's
6775 position is valid when the process buffer is changed in
6776 after-change functions. W3 does that.
52283633 6777
959e647d
GM
6778 * xfns.c (x_free_gcs): New function.
6779
6780 * xterm.h (x_free_gcs): Add prototype.
6781
6782 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6783 freeing GCs here.
6784
6785 * xterm.c (x_destroy_window): Call x_free_gcs so that
6786 resources of non-toolkit X windows will be freed.
6787
478ea067
AI
67882000-12-07 Andrew Innes <andrewi@gnu.org>
6789
6790 * w32fns.c (xlfd_charset_of_font): Fix last change.
6791
fbee3231
DL
67922000-12-06 Dave Love <fx@gnu.org>
6793
67292061
DL
6794 * md5.h (__P): Don't define -- it comes from config.h.
6795
fbee3231
DL
6796 * strftime.c: Change some #if foo to #ifdef foo.
6797
4ee87dbb
AI
67982000-12-06 Andrew Innes <andrewi@gnu.org>
6799
6800 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6801
52283633 6802 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6803 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6804 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6805
9765b4a4
GM
68062000-12-06 Gerd Moellmann <gerd@gnu.org>
6807
d285b373
GM
6808 * alloc.c (gc_sweep): Prevent symbols read during loadup
6809 from being freed.
6810
384333ee
GM
6811 * xdisp.c (underlying_face_id): New function.
6812 (handle_face_prop, face_before_or_after_it_pos): Use it
6813 to determine the face ``under'' a string. Let strings inherit
6814 the face of the buffer under them.
6815
6816 * xfaces.c (face_at_string_position): Update function comment.
52283633 6817
d4b72d58
GM
6818 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6819 matrix if the window's left position has changed; we need to
6820 redraw it in this case.
6821
6822 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6823
e1d05387
GM
6824 * window.c (coordinates_in_window): Check mouse on mode-line or
6825 header-line first.
6826
eb1b0c74
GM
6827 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6828 advertized by the function documentation.
6829
d94d636f
GM
6830 * window.c (syms_of_window): Doc fix.
6831
3887b449
GM
6832 * sound.c (vox_configure): Set volume for left and right channel.
6833 (sound_cleanup): Return nil.
6834
efc8f57a
GM
6835 * xdisp.c (move_it_by_lines): Fix paren typo.
6836
9765b4a4
GM
6837 * xterm.c (x_load_font): Don't use the font's max_bounds for
6838 computing the height of the font. If max_bounds' ascent or
6839 descent are greater than the font's ascent or descent, this means
6840 glyphs overlap, which should be handled now by redisplay.
6841
6529ed87
GM
6842 * window.c (Veven_window_heights): New variable.
6843 (syms_of_window): DEFVAR_LISP it.
6844 (Fdisplay_buffer): Check Veven_window_heights before evening the
6845 window heights.
52283633 6846
0eb2ecde
MB
68472000-12-06 Miles Bader <miles@gnu.org>
6848
6849 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6850 update `default-frame-alist' instead of setting no frame parameters.
6851
03d7a167
KH
68522000-12-06 Kenichi Handa <handa@etl.go.jp>
6853
6854 * composite.c (update_compositions): Fix typo (use the correct
6855 variable).
6856
5f8803c2
JR
68572000-12-05 Jason Rumney <jasonr@gnu.org>
6858
6859 * md5.h: Remove underscores from function declarations.
6860 (__attribute__, __alignof__) [!__GNUC__]: Define.
6861
6862 * md5.c: Delay include of md5.h until after namespace cleaning.
6863
c28a075b
JR
6864 * makefile.w32-in (fns.o): Depend on md5.h
6865 (md5.o): New target.
6866 (sunfns.o): Remove.
6867
6868 * makefile.nt: Likewise.
6869
ff3c7056
JR
68702000-12-05 Jason Rumney <jasonr@altavista.net>
6871
6872 * w32term.c (expose_area): Complete last change.
6873
0c21eeeb
KR
68742000-12-05 Ken Raeburn <raeburn@gnu.org>
6875
6876 * minibuf.c: Include intervals.h.
6877
f201d732
JR
68782000-12-05 Jason Rumney <jasonr@gnu.org>
6879
6880 * w32term.c (x_produce_glyphs): If a font for a component of
6881 a composition is not found, use 1 pixel dot ascent and 0 dot
6882 descent value to avoid displaying terribly tall empty boxes.
6883 (expose_area): Pass x-coordinate relative to the exposed
6884 area to x_draw_glyphs instead of a window-relative coordinate.
6885
21999ab9
GM
68862000-12-05 Gerd Moellmann <gerd@gnu.org>
6887
4d2036e4
GM
6888 * xdisp.c (next_element_from_ellipsis): Save face before selective
6889 display in saved_face_id, and set face_before_selective_p.
6890 (reseat_1): Reset face_before_selective_p.
6891 (append_space, extend_face_to_end_of_line): If iterator's
6892 face_before_selective_p is set, use the face from saved_face_id.
6893 (extend_face_to_end_of_line): For tty frames, make sure to
6894 use the right face id when producing spaces at the end of
6895 the line.
6896
6897 * dispextern.h (struct it): Add face_before_selective_p.
6898
52be17cc
GM
6899 * keyboard.c (record_char): Don't record identical help-echo
6900 events in recent_keys.
6901
8a4f36cc
GM
6902 * xterm.c [USE_X_TOOLKIT]: Close the display.
6903 (xim_close_dpy): Handle case that the display has been closed.
6904
57d6e381
GM
6905 * xterm.c (x_destroy_window): Reset the frame's X window after
6906 destroying it.
6907
21999ab9
GM
6908 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6909 variable window_width.
6910 (line_draw_cost): Fix code skipping over spaces at the end of the
6911 line when must_write_spaces is not set.
6912 (scrolling_window): Fix code inserting runs in list of all runs.
6913
91372bb7
KH
69142000-12-05 Kenichi Handa <handa@etl.go.jp>
6915
6916 * coding.c (setup_coding_system): Be sure to initialize
6917 coding->category_idx.
6918
6c083b4c
GM
69192000-12-04 Gerd Moellmann <gerd@gnu.org>
6920
0c68ce6f 6921 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6922
6452929e
GM
6923 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6924 area to x_draw_glyphs instead of a window-relative coordinate.
6925
d7f31e22
GM
6926 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6927 error in the message.
6928
ae18aa3b
GM
6929 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6930 timer after having read a key. It's not good for code reading
6931 several keys in a loop, like an input method.
6932
caa15ef7
GM
6933 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6934 record undo information for format-decode.
6935
6936 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6937 current buffer is read-only, not if it isn't.
6938
6c083b4c
GM
6939 * keyboard.c (record_char): Record `help-echo' input events
6940 in recent_keys only if they display some help. Don't record
6941 `help-echo' events as macro char.
6942
caa15ef7
GM
69432000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6944
6945 * editfns.c (save_excursion_restore): Don't move point
6946 in another window if it is showing the wrong buffer.
6947 Avoid the call to Fwindow_live_p, for speed.
6948
5a13529b
KH
69492000-12-04 Kenichi Handa <handa@etl.go.jp>
6950
e225faa7
KH
6951 * xfaces.c (struct font_name): New member registry_priority.
6952 (split_font_name): Initialize the above member to zero.
6953 (concat_font_list): New function.
6954 (font_list): Include fonts of all alternative registries.
6955 (FONT_POINT_SIZE_QUANTUM): New macro.
6956 (better_font_p): Ignore point size difference less than
6957 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6958
e89648b4
KH
6959 * xterm.c (x_produce_glyphs): If a font for a component of
6960 a composition is not found, use 1 pixel dot ascent and 0 dot
6961 descent value to avoid displaying terribly tall empty boxes.
6962
5a13529b
KH
6963 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6964
d7935eb6
KR
69652000-12-03 Ken Raeburn <raeburn@gnu.org>
6966
6967 * coding.h (code_convert_string1): Declare.
6968
6969 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6970
52283633 6971 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6972
0dd5e255
JR
69732000-12-02 Jason Rumney <jasonr@gnu.org>
6974
6975 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6976 correctly for single byte character case.
6977 (w32_per_char_metric): Do not try to make any assumptions about
6978 the metrics of BDF fonts.
250cfece 6979 (x_estimate_mode_line_height): If `mode-line' face
52283633 6980 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6981 (note_mouse_highlight): Change the cursor shape on the vertical
6982 border between windows [not enabled].
6983
6984 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6985
6986 * w32fns.c (Fx_create_frame): Reintroduce the call to
6987 face-set-after-frame-defaults.
6988 (Vx_window_horizontal_drag_shape): New variable.
6989 (syms_of_xfns): DEFVAR_LISP it.
6990 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6991 enabled].
0dd5e255 6992
b5d8d2ca
GM
69932000-12-02 Simon Josefsson <simon@josefsson.org>
6994
6995 * fns.c (Fmd5): Use a different logic to decide the coding system
6996 to use.
6997
6998 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6999
fbb87147
EZ
70002000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
7001
52283633 7002 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 7003
447e9da0
GM
70042000-12-01 Gerd Moellmann <gerd@gnu.org>
7005
7708ced0
GM
7006 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
7007 height for YNegative.
7008 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
7009 height; also see comment there.
7010
447e9da0
GM
7011 * window.c (coordinates_in_window): Handle computations for
7012 positions on the vertical bar and fringes differently for
7013 window-system frames. Consider some pixels near the vertical bar
7014 as on the bar if the frame doesn't have vertical scroll bars.
7015 Associate positions between mode or header lines with the
7016 right window, the left one.
7017
86d1db20
JR
70182000-12-01 Jason Rumney <jasonr@gnu.org>
7019
7020 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
7021
7022 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
7023 invalid frame.
7024
a1d58e5b
GM
70252000-12-01 Gerd Moellmann <gerd@gnu.org>
7026
52283633 7027 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
7028 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
7029 (save_window_save, Fset_window_configuration): Save/restore
7030 window's orig_top and orig_height.
7031
89c609af
JR
70322000-12-01 Jason Rumney <jasonr@gnu.org>
7033
4d177746 7034 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 7035
89c609af
JR
7036 * w32fns.c (x_set_cursor_color): Fix last change.
7037
eccc05db
GM
70382000-11-30 Gerd Moellmann <gerd@gnu.org>
7039
31b6671b
GM
7040 * xdisp.c (echo_area_display): If cursor is in the echo area, make
7041 sure that the next redisplay displays the minibuffer, so that
7042 the cursor will be replaced with what the minibuffer wants.
7043
eccc05db
GM
7044 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
7045 #ifndef instead of using #if.
7046 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
7047 USE_TOOLKIT_SCROLL_BARS is defined.
7048
162de750
JR
70492000-11-30 Jason Rumney <jasonr@gnu.org>
7050
7051 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
7052 x_display_cursor.
7053
693c4692
GM
70542000-11-30 Gerd Moellmann <gerd@gnu.org>
7055
7056 * fns.c (Fmd5): Doc fix.
7057
b5d8d2ca 70582000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
7059
7060 * fns.c (Fmd5): New function.
7061 (syms_of_fns): Defsubr md5.
7062
7063 * Makefile.in (obj): Add md5.o
7064
b02cd40b
GM
70652000-11-30 Gerd Moellmann <gerd@gnu.org>
7066
edfb795e
GM
7067 * md5.h, md5.c: New files, taken from glibc.
7068
df3aedcf
GM
7069 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
7070
b02cd40b 7071 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 7072 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 7073
8b5176cd
SM
70742000-11-29 Stefan Monnier <monnier@cs.yale.edu>
7075
7076 * eval.c (Frun_hooks): Allow 0 arguments.
7077
346598f1
GM
70782000-11-29 Gerd Moellmann <gerd@gnu.org>
7079
f9396e03
GM
7080 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
7081 is over the menu bar widget, say it's not on the frame.
7082
4a967a9b
GM
7083 * xfns.c (Fx_create_frame): Reintroduce the call to
7084 face-set-after-frame-defaults.
7085
346598f1
GM
7086 * eval.c (Fsignal): Reset handling_signal.
7087
222456a1
JR
70882000-11-28 Jason Rumney <jasonr@gnu.org>
7089
7090 * w32menu.c (add_menu_item): Reset menu item text when changing
7091 type to radio button.
7092
8049ddc0
GM
70932000-11-28 Gerd Moellmann <gerd@gnu.org>
7094
346598f1 7095 * xselect.c: Update copyright.
f4f4ee4d 7096
bebe4a2c
GM
7097 * window.c (coordinates_in_window): If on a mode or header line,
7098 but sufficiently close to its start, return ``on vertical
7099 border''. This gives us a way to drag windows horizontally when
7100 using toolkit scroll bars.
7101
7102 * xterm.c (note_mouse_highlight): Change the cursor shape
7103 on the vertical border between windows.
7104
7105 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
7106
7107 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
7108 (syms_of_xfns): DEFVAR_LISP it.
7109 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
7110
8d2c2642
GM
7111 * textprop.c (text_read_only): New function.
7112 (verify_interval_modification): Use it instead of signaling
7113 `text-read-only'. This makes it easier to catch this error
52283633 7114 with a breakpoint.:
8d2c2642 7115
52283633 7116 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
7117 not end of line, which includes CR.
7118
5a2bae6c
KH
71192000-11-28 Kenichi Handa <handa@etl.go.jp>
7120
7121 * coding.c (Ffind_coding_systems_region_internal): Be sure to
7122 include no-conversion.
7123
ae31f84d
JR
71242000-11-27 Jason Rumney <jasonr@gnu.org>
7125
7126 * w32fns.c (w32_load_system_font): Always mark font as double byte
7127 if codepage is unicode.
7128
67f1cf4c
GM
71292000-11-27 Gerd Moellmann <gerd@gnu.org>
7130
4a74d071 7131 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 7132 just consume it to avoid unintended skipping over invisible text below.
4a74d071 7133
902ae620
GM
7134 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
7135 `vertical-line', `mode-line' and `header-line' events.
7136
7137 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
7138 of a character, a TAB for instance. This is easier than to set
7139 up the iterator exactly, and it's not a frequent case, so the
7140 additional effort wouldn't really pay off.
7141
c1e279c2
AC
71422000-11-26 Andrew Choi <akochoi@i-cable.com>
7143
67f1cf4c 7144 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
7145 init_window_once.
7146
a609568a
JR
71472000-11-25 Jason Rumney <jasonr@gnu.org>
7148
52283633
SM
7149 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
7150 Args to window_from_coordinates should be pixel coordinates.
48b21762 7151
a609568a
JR
7152 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
7153 redisplay handles them properly.
7154
a658d039
MB
71552000-11-25 Miles Bader <miles@gnu.org>
7156
7157 * indent.c (compute_motion): Keep pos_byte in sync with pos.
7158
d3416cca
JR
71592000-11-24 Jason Rumney <jasonr@gnu.org>
7160
7161 * w32.c (init_environment): Set LANG environment variable based on
7162 locale settings, if not set.
7163
7164 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
7165 making tool bar smaller. When clearing the frame, also
7166 clear current matrices. Clear frame when tool bar disappears.
7167 Don't use more lines for the tool-bar than is available.
7168 (x_change_window_heights): New function.
7169
ba193890
GM
71702000-11-24 Gerd Moellmann <gerd@gnu.org>
7171
2be8f184
GM
7172 * xdisp.c (init_from_display_pos): If POS says we're already after
7173 an overlay string ending at POS, make sure to pop the iterator
7174 because it will be in front of that overlay string. When POS is
7175 ZV, we've thereby also ``processed'' overlay strings at ZV.
7176
ba193890
GM
7177 * xfaces.c (lface_from_face_name): Function comment fix.
7178
1862a24e
MB
71792000-11-24 Miles Bader <miles@gnu.org>
7180
7181 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7182 apply `mode-line-inverse-video' -- zero means force display using
7183 the default face, non-zero means display using the specialized face.
7184 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7185
f07fa1b8
KH
71862000-11-23 Kenichi Handa <handa@etl.go.jp>
7187
7188 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7189 hard coded `4'.
7190
2bcdf662
EZ
71912000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7192
7193 * coding.c (decode_coding_emacs_mule): Fix the case of
7194 CODING_EOL_LF, which used uninitialized value of c.
7195
ba8299ff
SM
71962000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7197
7198 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7199
f4117c4d
GM
72002000-11-22 Gerd Moellmann <gerd@gnu.org>
7201
03e757c1
GM
7202 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7203 buffer object.
7204
f4117c4d
GM
7205 * frame.h (struct frame): Replace desired_tool_bar_items,
7206 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 7207 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
7208
7209 * frame.c (make_frame): Change initialization of tool bar
7210 items accordingly.
7211
7212 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 7213 Change references to members deleted from struct frame to use the
f4117c4d
GM
7214 new ones.
7215
7216 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7217 references to members deleted from struct frame to use the new ones.
f4117c4d 7218
52283633 7219 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7220
7221 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7222
7223 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7224 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7225 from struct frame to use the new ones.
7226
f8e2f3f2
MB
72272000-11-23 Miles Bader <miles@gnu.org>
7228
7229 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7230 the face's inverse-video attribute, rather than overriding it.
7231
60e8e0a5
GM
72322000-11-22 Gerd Moellmann <gerd@gnu.org>
7233
7234 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7235 making tool bar smaller.
7236
92dd1b29
DL
72372000-11-22 Dave Love <fx@gnu.org>
7238
7239 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7240
e672fdce
MB
72412000-11-22 Miles Bader <miles@gnu.org>
7242
3a17d6cc
MB
7243 * keyboard.c (Vminibuffer_message_timeout): New variable.
7244 (command_loop_1): Use it to determine message timeout.
7245 (syms_of_keyboard): Initialize it.
7246
60e8e0a5 7247 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7248
e9655d81
KH
72492000-11-22 Kenichi Handa <handa@etl.go.jp>
7250
7251 * sysdep.c: Move the code for declaring h_errno after #include
7252 <netdb.h>.
7253
77270fac
GM
72542000-11-21 Gerd Moellmann <gerd@gnu.org>
7255
cd913aae
GM
7256 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7257 the menu bar when the tooltip is unmapped.
7258
77270fac
GM
7259 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7260 sole visible buffer when we're currently in the mini-buffer, and
7261 give up if so.
52283633 7262
556635d6
JR
72632000-11-21 Jason Rumney <jasonr@gnu.org>
7264
7265 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7266 put on the clipboard.
7267 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7268 copy of what Emacs last put there. If they are the same, do not
52283633 7269 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7270
5b7bde64
MB
72712000-11-22 Miles Bader <miles@gnu.org>
7272
7273 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7274 (syms_of_minibuf): Initialize it.
7275 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7276 to prompt, don't make read-only.
7277
ff23e1dd
GM
72782000-11-21 Gerd Moellmann <gerd@gnu.org>
7279
52283633
SM
7280 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7281 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7282
7aaf4388
GM
7283 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7284
f5f47add 7285 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7286
ff23e1dd
GM
7287 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7288
37c35586
KH
72892000-11-21 Kenichi Handa <handa@etl.go.jp>
7290
7291 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7292 ... #endif scope.
7293
ff9ab414
GM
72942000-11-20 Gerd Moellmann <gerd@gnu.org>
7295
52283633 7296 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7297 screen supports it.
7298
29a01b72
GM
7299 * s/gnu-linux.h: Don't use `#cpu'.
7300
09dfdf85
GM
7301 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7302 not defined in mman.h.
7303
52283633 7304 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7305 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7306 and store an index in the XClientMessageEvent. Storing a
7307 Lisp_Object or pointer can fail on a 64 bit system, since X only
7308 transfers 32 bits.
52283633
SM
7309 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7310
81459ac9
DL
73112000-11-20 Dave Love <fx@gnu.org>
7312
7313 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7314
56c13ae6
GM
73152000-11-20 Gerd Moellmann <gerd@gnu.org>
7316
7317 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7318
495a6df3
KH
73192000-11-20 Kenichi Handa <handa@etl.go.jp>
7320
2bcf3714
KH
7321 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7322 by WIDTH.
7323
495a6df3
KH
7324 * alloc.c (make_string): Fix previous change. Be sure to make
7325 unibyte string correctly.
7326
6d950f4c
GM
73272000-11-19 Gerd Moellmann <gerd@gnu.org>
7328
39b39373
GM
7329 * window.c (Fwindow_list): Change parameter list to be XEmacs
7330 compatible.
7331 (window_list_1): New function.
7332 (window_loop): Use it instead of Fwindow_list.
7333
b95b34e5
GM
7334 * sysdep.c (emacs_ospeed): New variable.
7335 (toplevel): Don't declare ospeed extern.
7336 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7337
7338 * termcap.c (ospeed): Remove.
7339 (tputs) [!emacs]: Remove unused code.
7340 (tgetent): Avoid a compiler warning.
7341
e83dc917
GM
7342 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7343 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7344 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7345
7346 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7347 removed.
7348 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7349 Take the X display as additional argument.
7350 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7351 `Widget' is a pointer type that's not easily stored in Lisp_Object
7352 form in a portable way.
52283633 7353
6d950f4c
GM
7354 * dispnew.c (update_text_area): Fix last change.
7355
e47306e6
GM
73562000-11-18 Gerd Moellmann <gerd@gnu.org>
7357
fb3cd89b
GM
7358 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7359
7360 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7361 clear current matrices.
7362
edaa9aed
GM
7363 * buffer.c (mmap_enlarge): Don't print a message on stderr
7364 if mapping new memory at the end of the existing region fails.
7365
e47306e6
GM
7366 * dispnew.c (update_text_area): Don't skip over equal glyphs
7367 when the last current glyph overlaps the glyph to its right.
7368
509633e3
MB
73692000-11-18 Miles Bader <miles@gnu.org>
7370
7371 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7372 lines that *end* with "..." too (that's the most common case!).
7373
d392e9c5
GM
73742000-11-18 Gerd Moellmann <gerd@gnu.org>
7375
67988445
GM
7376 * xdisp.c (resize_mini_window): Temporarily change to the
7377 mini-window's buffer if necessary.
1bfdbe43 7378
d392e9c5
GM
7379 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7380 the tooltip obscures less text under it.
7381
73822000-11-17 Gerd Moellmann <gerd@gnu.org>
7383
7384 * puresize.h (BASE_PURESIZE): Increase to 700000.
7385
92bb977f
JR
73862000-11-18 Jason Rumney <jasonr@gnu.org>
7387
7388 * w32term.c (w32_draw_bitmap): Use face to set colors.
7389
26fbf20b
DL
73902000-11-17 Dave Love <fx@gnu.org>
7391
7392 * lread.c (Fload): Fix #ifdef for pcc.
7393
100b593b
GM
73942000-11-17 Gerd Moellmann <gerd@gnu.org>
7395
7396 * xdisp.c (pos_visible_p): Compute the default character height
7397 differently.
7398
a288d0d1
GM
73992000-11-16 Gerd Moellmann <gerd@gnu.org>
7400
cac94de6 7401 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7402 knowing the line's height; use the default font's height in that case.
cac94de6 7403
a288d0d1
GM
7404 * xfaces.c (weight_table): Add `demi' with the same meaning as
7405 `demibold'.
7406
981fb6f6
KH
74072000-11-16 Kenichi Handa <handa@etl.go.jp>
7408
2cca872d 7409 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7410 (clear_glyph_row): Delete local static variable null_row.
7411
e5fa381b
JR
74122000-11-15 Jason Rumney <jasonr@gnu.org>
7413
7414 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7415 (w32_alloc_lighter_color): Use new brightness calculations from
7416 xterm.c. Scale delta to be in the range expected by W32.
7417 (w32_draw_relief_rect): Use frame relief colors.
7418
8e42f043
GM
74192000-11-15 Gerd Moellmann <gerd@gnu.org>
7420
6d133d1f
GM
7421 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7422 (Qinhibit_default_face_x_resources): New variable.
7423 (syms_of_frame): Initialize it.
7424 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7425
7426 * xdisp.c (pos_visible_p): Improve function comment.
7427
7428 * lisp.h (BINDING_STACK_SIZE): New macro.
7429
8e42f043
GM
7430 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7431 reading the directory if readdir returns null and errno is EAGAIN
7432 or EINTR.
7433
e8c87124
SM
74342000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7435
7436 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7437 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7438 Set amount_to_scroll to max of dx and scroll_step so that
7439 scroll-conservatively doesn't defeat scroll-step>1.
7440 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7441 scroll-conservatively for line-at-a-time scrolling.
7442
5f0c971d
GM
74432000-11-14 Gerd Moellmann <gerd@gnu.org>
7444
7445 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7446 extra argument.
7447
7448 * xdisp.c (current_mode_line_height, current_header_line_height):
7449 New variables.
7450 (init_xdisp): Initialize them.
7451 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7452 and use exact mode line heights if it is set.
7453
7454 * lisp.h (pos_visible_p): Change prototype.
7455
7456 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7457 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7458 and current_header_line_height first.
52283633
SM
7459 (current_mode_line_height, current_header_line_height):
7460 Declare extern.
5f0c971d 7461
d7361edf
MB
74622000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7463
7464 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7465 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7466 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7467
ee5e440a
MB
74682000-11-14 Miles Bader <miles@gnu.org>
7469
7470 * xterm.c (x_alloc_lighter_color): Include an additive component
7471 too for dark colors, because FACTOR isn't enough.
7472 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7473 New macros.
7474
5ca020fc
GM
74752000-11-13 Gerd Moellmann <gerd@gnu.org>
7476
7477 * keyboard.c (show_help_echo): Call message3_nolog with number of
7478 bytes in the help string as 2nd parameter, instead of the number
7479 of characters.
7480
9d348294
MB
74812000-11-13 Miles Bader <miles@gnu.org>
7482
7483 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7484 (Fload): Use new openp return protocol.
7485 Don't try to use Vload_source_file_function to load .elc files.
7486 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7487 openp return protocol.
7488 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7489
1729bb9a
KH
74902000-11-11 Kenichi Handa <handa@etl.go.jp>
7491
4e677396
KH
7492 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7493
7494 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7495 Defined these macros.
7496 (NLIST_STRUCT): Avoid re-defining it.
7497
1729bb9a
KH
7498 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7499 -I/usr/contrib/X11R6/include.
7500 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7501
a82fe213
JR
75022000-11-10 Jason Rumney <jasonr@gnu.org>
7503
7504 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7505
7506 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7507 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7508
7509 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7510 (Qw32_charset_vietnamese): New symbol.
7511 (xlfd_charset_of_font): New function.
7512 (w32_load_system_font): Use it.
7513 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7514 when Vw32_charset_info_alist is nil to ensure default face always
7515 has font. Use Fcar and Fcdr for safety.
7516 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7517 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7518 pseudo-codepages for special cases.
7519 (w32_to_x_font): New parameter to allow charset portion to be
7520 specified where there is many to one mapping. Callers changed.
7521 (w32_list_fonts): Avoid listing fonts that won't display.
7522
52d89894
GM
75232000-11-10 Gerd Moellmann <gerd@gnu.org>
7524
7525 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7526 (font_list_1): Renamed from font_list.
7527 (font_list): New function, trying alternative registries from
7528 Vface_alternative_font_registry_alist.
7529 (Finternal_set_alternative_font_registry_alist): New function.
7530 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7531 Vface_alternative_font_registry_alist.
7532 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7533
651cd3da
KR
75342000-11-09 Ken Raeburn <raeburn@gnu.org>
7535
7536 * lisp.h (Flooking_at): Declare.
7537
388ac098
GM
75382000-11-09 Gerd Moellmann <gerd@gnu.org>
7539
778fbc46 7540 * dired.c (directory_files_internal): Fix a braino.
52283633 7541
388ac098
GM
7542 * dired.c (directory_files_internal): Add missing GCPRO's.
7543 Some cleanup.
7544
ecaedde1
GM
75452000-11-08 Gerd Moellmann <gerd@gnu.org>
7546
f7eb32aa
GM
7547 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7548 (resize_mini_window): Return quickly if Vresize_mini_window is
7549 nil. Don't return if Vmax_mini_window_height is nil.
7550
7551 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7552 (syms_of_xdisp): Initialize them.
7553 (resize_mini_window): Act according to the setting of
7554 Vresize_mini_window.
7555 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7556
ecaedde1
GM
7557 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7558 scroll bar widget after configuring it, so that it will appear at
7559 the right position from the start.
7560 (XTredeem_scroll_bar): Cleaned up.
7561
3747ef2c
KH
75622000-11-08 Kenichi Handa <handa@etl.go.jp>
7563
7564 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7565 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7566 division by two.
7567
7568 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7569
03391420
DL
75702000-11-07 Dave Love <fx@gnu.org>
7571
7758f1c1 7572 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7573
7574 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7575
b5de343d
GM
75762000-11-07 Gerd Moellmann <gerd@gnu.org>
7577
acad3c0b
GM
7578 * window.c (Fset_window_configuration): Don't try to preserve
7579 point in the current buffer, if that buffer is displayed in more
7580 than one window.
7581
b5de343d
GM
7582 * xfaces.c (lookup_named_face): If default face isn't realized,
7583 try to realize it. Return -1 if not successful.
7584 (Fx_list_fonts): Handle case that face cannot be determined.
7585 (Fface_font): Likewise.
7586
cdb1fe49
GM
75872000-11-06 Gerd Moellmann <gerd@gnu.org>
7588
7589 * window.c (displayed_window_lines): Detect partially
7590 visible lines at the bottom correctly.
7591
d3a67486
SM
75922000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7593
7594 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7595 when ensuring we don't do visit in indirect buffer.
7596
ff8dd5d5
KH
75972000-11-06 Kenichi Handa <handa@etl.go.jp>
7598
7599 * composite.h (compose_chars_in_text): Add prototype.
7600
7601 * composite.c (Vcomposition_function_table): New variable.
7602 (Qcomposition_function_table): New variable.
7603 (run_composition_function): Call
7604 Vcompose_chars_after_function with three arguments.
7605 (compose_chars_in_text): New function.
7606 (syms_of_composite): Modified the doc-string of
7607 Vcompose_chars_after_function. Declare composition-function-table
7608 as a lisp variable, and initialize it.
7609
7610 * xfns.c (x_encode_text): Suppress producing escape sequences for
7611 composition.
7612
7613 * xselect.c: Include composite.h.
7614 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7615
d1145f85
AI
76162000-11-05 Andrew Innes <andrewi@gnu.org>
7617
7618 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7619
7620 * sysdep.c (read_input_waiting): Remove extraneous argument to
7621 read_socket_hook.
7622
7623 * w32fns.c (Fx_server_version): Include w32_build_number in the
7624 return list.
7625
7626 * w32heap.c (w32_build_number): New variable.
7627 (cache_system_info): Set it.
7628
7629 * w32heap.h (w32_build_number): Add extern.
7630
7631 * emacs.c (syms_of_emacs): Update docstring for
7632 system-configuration, to reflect the actual usage on MS-Windows.
7633
e85ee976
GM
76342000-10-31 Gerd Moellmann <gerd@gnu.org>
7635
26dcb81b
GM
7636 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7637 process idle timers while waiting for another event.
7638
52283633 7639 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7640 the default face are colored.
7641
e85ee976
GM
7642 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7643 window height hasn't changed.
7644
01b220b6
JR
76452000-10-31 Jason Rumney <jasonr@gnu.org>
7646
7647 * w32term.c (x_produce_glyphs): Handle composite characters.
7648 (x_draw_glyph_string_foreground)
7649 (x_draw_composite_glyph_string_foreground): Restore old font.
7650
4e6b7204
MB
76512000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7652
7653 * minibuf.c (read_minibuf): Reset the undo history just before
7654 starting the recursive-edit.
7655
d4358b37
GM
76562000-10-30 Gerd Moellmann <gerd@gnu.org>
7657
563f68f1
GM
7658 * xfaces.c (menu_face_change_count): New variable.
7659 (Finternal_set_lisp_face_attribute): Increment it for changes
7660 of the `menu' face.
7661 (realize_basic_faces): Reflect changes in the `menu' faces
7662 in menu bars.
7663
82e274d1
GM
7664 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7665 dy obtained from the iterator's y-position after moving from
7666 scroll_margin_pos to PT; see comment there.
52283633 7667
0dbf9fd2
GM
7668 * xdisp.c (safe_eval_handler): Call add_to_log.
7669
906b3b14
GM
7670 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7671 is not a symbol or string.
7672
d4358b37
GM
7673 * xdisp.c (echo_area_display): Don't perform a display update from
7674 inside redisplay. The update will happen anyway at the end of
7675 redisplay, and it can confuse redisplay (GC messages while
7676 redisplaying, for instance.)
7677
70c825df
SM
76782000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7679
cf9b4b0b
SM
7680 * xrdb.c (x_load_resources): Use the class name in the defaults.
7681
70c825df
SM
7682 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7683 (regex_compile): Catch bogus \(\1\).
7684
a1d34b1e
GM
76852000-10-30 Gerd Moellmann <gerd@gnu.org>
7686
cae71efe
GM
7687 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7688 RGB values.
52283633 7689
35efe0a1
GM
7690 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7691 we have a color cache, check that the cached color equals the
7692 allocated color. If not, clear the color cache.
7693
1d3baf74
GM
7694 * window.c (displayed_window_lines): Change buffers if necessary.
7695 Fix computation of displayed lines.
7696
a1d34b1e
GM
7697 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7698 update_menu_bindings to DEFVAR_BOOL.
7699
70737ea9
KH
77002000-10-30 Kenichi Handa <handa@etl.go.jp>
7701
70c825df 7702 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7703
fa0cb51d
KH
7704 * puresize.h (BASE_PURESIZE): Increase to 680000.
7705
70737ea9
KH
7706 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7707
0e4c08e8
JR
77082000-10-29 Jason Rumney <jasonr@gnu.org>
7709
7710 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7711
7712 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7713 (w32_cache_char_metrics): Handle possibility that 'x' does not
7714 exist in a BDF font.
7715 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7716
7717 * w32bdf.h (bdffont): Add nchars.
7718
7719 * w32bdf.c (set_bdf_font_info): Set it.
7720 (w32_BDF_TextOut): Swap byte order of double byte characters.
7721 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7722
45b84006
EZ
77232000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7724
7725 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7726 don't override the colors in frame's param_alist, unless they are
7727 unspecified.
7728
7729 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7730 reverse the effect of the highlight flag.
7731
caf9deee
KR
77322000-10-27 Ken Raeburn <raeburn@gnu.org>
7733
7734 * window.h (Fwindow_live_p): Declare.
7735
ae0b9b46
KR
7736 * undo.c (record_delete): Check that last_undo_buffer is really a
7737 buffer before applying XBUFFER to it.
7738
7739 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7740 Faref.
7741
02067692
SM
77422000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7743
7744 * lisp.h (KEYMAPP): New macro.
7745 (get_keymap): Remove.
7746 (get_keymap_1): Rename get_keymap.
7747
7748 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7749
7750 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7751
7752 * xmenu.c (single_submenu): Use KEYMAPP.
7753 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7754 Use KEYMAPP rather than Fkeymapp.
7755
7756 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7757
7758 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7759 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7760 Use KEYMAPP rather than Fkeymapp.
7761 (single_submenu): Use KEYMAPP.
7762 (w32_menu_show, w32_dialog_show): Use TRUE.
7763
7764 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7765
7766 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7767 (Fkeymapp): Use KEYMAPP.
7768 (get_keymap): Rename from get_keymap_1. Remove old def.
7769 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7770 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7771 (Fminor_mode_key_binding): Don't raise an error if the binding
7772 is not a keymap.
7773 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7774 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7775
7776 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7777 Allow Vspecial_event_map to be autoloaded.
7778 (menu_bar_items): Fetch the keymap rather than using keymapp.
7779 (menu_bar_one_keymap): No need to follow func-indirect any more.
7780 (parse_menu_item): get_keymap_1 -> get_keymap.
7781 (tool_bar_items): Fetch the keymap rather than using keymapp.
7782 (read_key_sequence): Use KEYMAPP.
7783
7784 * intervals.c (get_local_map): Use get_keymap rather than following
7785 function-indirections explicitly.
7786
7787 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7788
f9d80af3
JR
77892000-10-27 Jason Rumney <jasonr@gnu.org>
7790
7791 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7792 point, as Windows has oversized fonts.
7793
7794 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7795
a3ba27da
GM
77962000-10-27 Gerd Moellmann <gerd@gnu.org>
7797
7798 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7799 (freehook, reallochook): Handle null pointer arguments.
7800 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7801
aa3b80cc
SM
78022000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7803
7804 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7805 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7806 Giving in to popular pressure to shut up the compiler with casts.
7807
e24e84cc
GM
78082000-10-27 Gerd Moellmann <gerd@gnu.org>
7809
7810 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7811 signed value, and use a default value computed from the font's
7812 maximum descent.
7813
05ea7ef2
MB
78142000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7815
7816 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7817 that specify a negative underline position can still use underlines.
7818
7819 * window.c (Fpos_visible_in_window_p): Make POS default to
7820 WINDOW's point, not the current buffer's point.
7821
0b95284b
DL
78222000-10-26 Dave Love <fx@gnu.org>
7823
7824 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7825 when it's necessary.
7826
6c5b90af
GM
78272000-10-26 Gerd Moellmann <gerd@gnu.org>
7828
8b6d9dc9
GM
7829 * window.c (size_window): Compute size difference from sum of old
7830 child window sizes instead of from parent's size.
7831
6bc92b2e
GM
7832 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7833 Handle obscured lines at the top of the window.
7834
7835 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7836 down after the last error condition check.
7837
6c5b90af
GM
7838 * frame.c (Fdelete_frame): Run delete-frame-hook.
7839
42f92d4d
KH
78402000-10-26 Kenichi Handa <handa@etl.go.jp>
7841
7842 * coding.c (decode_coding): Fix previous change (check also
7843 CODING_MODE_LAST_BLOCK).
7844
d97151cb
SM
78452000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7846
e7efc503
SM
7847 * regex.c: More `unsigned char' -> `re_char' changes.
7848 Also change several `int' into `re_wchar_t'.
7849 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7850 (PUSH_FAILURE_POINTER): Don't cast any more.
7851 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7852 We want GCC to complain, since this piece of code makes
7853 re_match non-reentrant, which *should* be fixed.
7854 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7855 (EXTEND_BUFFER): Use RETALLOC.
7856 (SET_LIST_BIT): Don't cast.
7857 (re_wchar_t): New type.
7858 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7859 that those two functions will always properly return.
7860 (IMMEDIATE_QUIT_CHECK): Cast to void.
7861 (analyse_first): Use recursion rather than an explicit stack.
7862 (re_compile_fastmap): Can't fail anymore.
7863 (re_search_2): Don't check re_compile_fastmap for failure.
7864 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7865 Now also sets the new value (passed in a new argument).
7866 (re_match_2_internal): Use it.
7867 Also, use a new var `reg' of type size_t when looping through regs
7868 rather than reuse the inappropriate `mcnt'.
7869
d97151cb
SM
7870 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7871 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7872 (where_is_internal): Renamed from Fwhere_is_internal.
7873 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7874 (Fwhere_is_internal): New function wrapping where_is_internal.
7875 (where_is_internal_1): Handle the case where we're filling the cache.
7876 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7877
d5789b65
MB
78782000-10-25 Miles Bader <miles@gnu.org>
7879
7880 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7881
4ecda532
GM
78822000-10-25 Gerd Moellmann <gerd@gnu.org>
7883
7884 * window.c (pos_fully_visible_p): Removed.
7885 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7886 if position is visible and/or fully visible.
7887
7888 * lisp.h (pos_visible_p): Add prototype.
7889
7890 * xdisp.c (pos_visible_p): New function.
7891
68c3a137
KH
78922000-10-25 Kenichi Handa <handa@etl.go.jp>
7893
7894 * process.c (send_process): If OBJECT is t, it means that the data
7895 is from C string, but we should encode it. Before calling
7896 setup_raw_text_coding_system, be sure to flush out data by the
7897 previous coding system.
7898
7ae1c032
MB
78992000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7900
ff4dcd4b
MB
7901 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7902 assignment of startpos to prev when startpos == pos.
7903
7ae1c032
MB
7904 * editfns.c (find_field): Set the field stickiness correctly from
7905 overlay fields. Use renamed `text_property_stickiness'.
7906 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7907 Only check text properties, not overlays.
7ae1c032
MB
7908 * textprop.c (get_char_property_and_overlay): New function.
7909 (Fget_char_property): Use it.
7910 * intervals.h (get_char_property_and_overlay): Add declaration.
7911
49801145
SM
79122000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7913
7914 * keymap.c: Use AREF, ASET and ASIZE macros.
7915 (Fmake_sparse_keymap): Docstring fix.
7916 (synkey): Remove.
7917 (shadow_lookup): Move up.
7918 Handle the case where lookup-key returns an integer.
7919 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7920 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7921 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7922 Simplify/rewrite the keymap-finding code.
7923 Add check for command shadowing, using shadow_lookup.
7924
39e776cd
SM
79252000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7926
7927 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7928 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7929 a symbol.
7930
2488aba5
AI
79312000-10-24 Andrew Innes <andrewi@gnu.org>
7932
7933 * dired.c (directory_files_internal_unwind): New function.
7934 (directory_files_internal): Use it to ensure closedir is called
7935 even if expand-file-name or file-attributes throw, eg. because of
7936 a user interrupt. Also enable immediate_quit while calling
7937 re_search, so that matching can be interrupted as well.
7938
b94fdf61
AI
79392000-10-24 Andrew Innes <andrewi@gnu.org>
7940
7941 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7942 NT-Emacs only.
7943 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7944 so that re_search functions only quit when callers expect them to.
7945
79462000-10-24 Kenichi Handa <handa@etl.go.jp>
7947
7948 * regex.c (regex_compile): Change the way of handling a range from
7949 a char less than 256 to a char not less than 256.
7950
1946f901
GM
79512000-10-24 Gerd Moellmann <gerd@gnu.org>
7952
7ae2f10f
GM
7953 * window.c (size_window): Prevent setting window's width or
7954 height to a negative value (esp. with XSETFASTINT).
7955
5dcab13e
GM
7956 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7957 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7958 (protect_malloc_state) [GC_MALLOC_CHECK &&
7959 GC_PROTECT_MALLOC_STATE]: New function.
7960 (PROTECT_MALLOC_STATE): New macro.
7961 (__malloc_initialize, morecore, _malloc_internal)
7962 (_free_internal) _realloc_internal): Use it to make _heapinfo
7963 read-only outside of gmalloc.
7964
63e1b552
GM
7965 * keymap.c: Update copyright.
7966
1946f901
GM
7967 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7968 a symbol.
7969
4fa09beb
GM
79702000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7971
7972 * filelock.c (unlock_all_files): Use unlock_file to expand each
7973 buffer's file_truename before trying remove its lock file.
7974
23afac01
EZ
79752000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7976
7977 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7978 or CRLF, decode EOLs.
7979
04448b95
KH
79802000-10-24 Kenichi Handa <handa@etl.go.jp>
7981
7982 * window.c (Fdisplay_buffer): Fix doc.
7983
3090a5a5
JR
79842000-10-23 Jason Rumney <jasonr@gnu.org>
7985
7986 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7987 ASCII font of default fontset on Windows.
7988
7989 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7990 xterm.c comment below).
7991
7992 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7993
a83fee2c
GM
79942000-10-23 Gerd Moellmann <gerd@gnu.org>
7995
7996 * xterm.c (x_connection_closed): Reset handling_signal.
7997
52283633 7998 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7999
6ffdb539
MB
80002000-10-23 Miles Bader <miles@gnu.org>
8001
8002 * window.c (window_scroll_pixel_based, window_scroll_line_based):
8003 Pass nil for FULLY argument to Fpos_visible_in_window_p to
8004 maintain old behavior.
8005 * minibuf.c (Fminibuffer_complete): Likewise.
8006
7f1c969b
MB
80072000-10-23 Miles Bader <miles@lsi.nec.co.jp>
8008
8009 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
8010 that when a font can't be exactly centered, it errs up rather than
8011 down.
8012
23afac01 80132000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 8014
52283633 8015 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 8016
1a578e9b
AC
80172000-10-23 Andrew Choi <akochoi@i-cable.com>
8018
8019 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
8020
8021 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 8022 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
8023
8024 * emacs.c (main) [macintosh]: Call syms_of_textprop,
8025 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
8026 syms_of_search, x_term_init, and init_keyboard before calling
8027 init_window_once. Also, call syms_of_xmenu.
8028
8029 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
8030 default fontset to Monaco.
8031
8032 * frame.c [macintosh]: Include macterm.h. Remove declarations of
8033 NewMacWindow and DisposeMacWindow.
8034 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
8035 instead of calling NewMacWindow and setting fields of
8036 f->output_data.mac directly. Call init_frame_faces.
8037 (Fdelete_frame) [macintosh]: Remove unused code.
8038 (Fmodify_frame_parameters) [macintosh]: Call
8039 x_set_frame_parameters instead of mac_set_frame_parameters.
8040
8041 * frame.h [macintosh]: Define menu_bar_lines field in struct
8042 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
8043
8044 * keyboard.c [macintosh]: Include macterm.h.
8045 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
8046 and menu_bar_activate_event type events as for X and NT.
8047 (make_lispy_event) [macintosh]: Construct lisp events of type
8048 MENU_BAR_EVENT as for X and NT.
8049
8050 * sysdep.c [macintosh]: Remove declaration for sys_signal.
8051 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
8052 (sys_subshell) [macintosh]: Remove definition entirely.
8053 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
8054 Vwindow_system_version here. Remove initialization of
8055 Vx_bitmap_file_path.
8056 (read_input_waiting): Correct the number of parameters passed to
8057 read_socket_hook.
8058 Move all Macintosh functions to mac/mac.c.
8059
8060 * term.c [macintosh]: Include macterm.h.
8061
8062 * window.c [macintosh]: Include macterm.h.
8063
8064 * xdisp.c [macintosh]: Include macterm.h. Declare
8065 set_frame_menubar and pending_menu_activation.
8066 (echo_area_display) [macintosh]: Do not return if terminal frame
8067 is the selected frame.
8068 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
8069 Allow only the selected frame to set menu bar.
8070 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
8071 calling FRAME_EXTERNAL_MENU_BAR (f).
8072 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
8073
8074 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
8075 and check_x. Declare XCreateGC. Define x_create_gc and
8076 x_free_gc. Initialize font_sort_order.
8077 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
8078 but call x_list_fonts instead of w32_list_fonts.
8079 (Finternal_face_x_get_resource) [macintosh]: Do not call
8080 display_x_get_resource.
8081 (prepare_face_for_display) [macintosh]: Set xgcv.font.
8082 (realize_x_face) [macintosh]: Load the font if it is specified in
8083 ATTRS.
52283633 8084 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 8085
1ffbabe3
SM
80862000-10-22 Stefan Monnier <monnier@cs.yale.edu>
8087
8088 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
8089 is nil: since we go to the end of submap anyway, we'd end up
8090 setting nil to nil.
8091 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
8092 doesn't obey autoload.
8093
bed43f1d
EZ
80942000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8095
1ffbabe3 8096 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 8097
ea4233a7
JR
80982000-10-21 Jason Rumney <jasonr@gnu.org>
8099
8100 * w32term.c (w32_cache_char_metrics): Double check that font is
8101 really fixed pitch before trusting tmPitchAndFamily.
8102
f3d3c491
AI
81032000-10-21 Andrew Innes <andrewi@gnu.org>
8104
8105 * w32gui.h (w32_char_font_type): Move enum from w32term.c
8106
8107 * w32term.h: Extern decl for w32_cache_char_metrics.
8108
8109 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
8110
8111 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
8112 (w32_unload_font): Free per_char array if present.
8113
8114 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
8115 cached information in emulated XFontStruct to handle common cases
8116 quickly. Do not allocate XCharStruct for return.
8117 (w32_native_per_char_metric): New function.
8118 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
8119 allocating one.
8120 (x_produce_glyphs): Don't get an HDC. Change calls to
8121 w32_per_char_metric to match arg change above. Remove calls to
8122 free results.
8123 (w32_get_glyph_overhangs): Ditto.
8124 (w32_cache_char_metrics): New function.
8125
8126 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
8127 ($(BLD)/casefiddle.$(O)): Remove compile command.
8128 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
8129 ($(BLD)/dispnew.obj):
8130 ($(BLD)/keyboard.obj):
8131 ($(BLD)/w32inevt.obj):
8132 ($(BLD)/w32bdf.obj):
8133 ($(BLD)/alloc.obj):
8134 ($(BLD)/buffer.obj):
8135 ($(BLD)/editfns.obj):
8136 ($(BLD)/emacs.obj):
8137 ($(BLD)/fileio.obj):
8138 ($(BLD)/fns.obj):
8139 ($(BLD)/indent.obj):
8140 ($(BLD)/insdel.obj):
8141 ($(BLD)/intervals.obj):
8142 ($(BLD)/minibuf.obj):
8143 ($(BLD)/print.obj):
8144 ($(BLD)/scroll.obj):
8145 ($(BLD)/sysdep.obj):
8146 ($(BLD)/textprop.obj):
8147 ($(BLD)/widget.obj):
f3d3c491
AI
8148 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
8149 ($(BLD)/term.obj): Add dependency on dispextern.h.
8150
52283633
SM
8151 * makefile.nt ($(BLD)\dispnew.obj):
8152 ($(BLD)\keyboard.obj):
8153 ($(BLD)\w32inevt.obj):
8154 ($(BLD)\w32bdf.obj):
8155 ($(BLD)\alloc.obj):
8156 ($(BLD)\buffer.obj):
8157 ($(BLD)\editfns.obj):
8158 ($(BLD)\emacs.obj):
8159 ($(BLD)\fileio.obj):
8160 ($(BLD)\fns.obj):
8161 ($(BLD)\indent.obj):
8162 ($(BLD)\insdel.obj):
8163 ($(BLD)\intervals.obj):
8164 ($(BLD)\minibuf.obj):
8165 ($(BLD)\print.obj):
8166 ($(BLD)\scroll.obj):
8167 ($(BLD)\sysdep.obj):
8168 ($(BLD)\textprop.obj):
8169 ($(BLD)\widget.obj):
f3d3c491
AI
8170 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8171 ($(BLD)\term.obj): Add dependency on dispextern.h
8172
18ad4821
EZ
81732000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8174
8175 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8176 with an additional argument of Qt.
8177
de54681a
MB
81782000-10-21 Miles Bader <miles@gnu.org>
8179
8180 * window.c (pos_fully_visible_in_window_p): New function.
8181 (Fpos_visible_in_window_p): Add FULLY argument.
8182 Use pos_fully_visible_in_window_p.
8183 (window_scroll_pixel_based, window_scroll_line_based): Update
8184 calls to Fpos_visible_in_window_p.
8185 * lisp.h (Fpos_visible_in_window_p): Update prototype
8186
13c844fb
GM
81872000-10-20 Gerd Moellmann <gerd@gnu.org>
8188
8189 * alloc.c (toplevel): Conditionalize compilation of mem_*
8190 functions differently.
52283633 8191
d9506268
JR
81922000-10-20 Jason Rumney <jasonr@gnu.org>
8193
8194 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8195 mem_init where it used to be. mem_z etc not defined otherwise.
8196
8094989b
GM
81972000-10-20 Gerd Moellmann <gerd@gnu.org>
8198
8199 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8200 GC_MALLOC_CHECK.
8201 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8202 structure definition and related variabled to the top of the file.
8203 Include this code when GC_MALLOC_CHECK is defined.
8204 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8205 register/unregister allocated region.
8206 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8207 which isn't allocated.
8208 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8209 something which is already in use.
8210 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8211 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8212 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8213 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8214
8215 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8216 _malloc_internal instead of malloc.
8217 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8218 of free.
8219
ea456eb4
AI
82202000-10-20 Andrew Innes <andrewi@gnu.org>
8221
8222 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8223 Windows.
8224 (my_strftime) <macro>: Don't use macro arg list when redefining as
8225 _strftime_copytm.
8226 (my_strftime) <function>: Supply 0 as ut argument.
8227
e64c3a75
JR
82282000-10-19 Jason Rumney <jasonr@altavista.net>
8229
8230 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8231 including dispextern.h, as it stops faces from working.
8232
8233 * w32fns.c (Fx_create_frame): Don't bother calling
8234 face-set-after-frame-default since the caller does it for us
8235 anyway. Clean up calls to x_get_arg to be consistent with X.
8236
8237 * w32term.c (x_produce_glyphs): Handle
8238 unibyte_display_via_language_environment correctly.
8239 (w32_draw_box_rect): Fix the calculation of width and height.
8240
8241 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8242 as it has stopped working.
8243 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8244 menu-bar.
8245
17401c97
GM
82462000-10-19 Gerd Moellmann <gerd@gnu.org>
8247
8248 * eval.c (skip_debugger): Prevent a compiler warning.
8249 (Fcondition_case): Likewise.
8250 (Fbacktrace_frame): Use a null interactive spec.
8251
773272d8
KH
82522000-10-19 Kenichi Handa <handa@etl.go.jp>
8253
8254 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8255
a42943e9
GM
82562000-10-18 Gerd Moellmann <gerd@gnu.org>
8257
e50517d9
GM
8258 * strftime.c: Sync with glibc, file version 1.78.
8259 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8260 should no longer be used according to ISO 8601.
8261
9035a35a
GM
8262 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8263 no map for meta_prefix_char, don't try to use it as a keymap.
8264 Instead, if T_OK is non-zero, look up a default binding, if any,
8265 otherwise, if T_OK is zero, return nil.
8266
a42943e9
GM
8267 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8268 (x_to_xcolors, png_load): Use x_query_color.
8269
52283633
SM
8270 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8271 New functions.
a42943e9
GM
8272 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8273 which can be slow.
8274 (x_copy_color, x_alloc_lighter_color): Likewise.
8275
8276 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8277 (x_query_color, x_query_colors): Add prototype.
8278
8279 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8280 check_string_bytes only if not noninteractive, increase count to 50.
8281
00de2987
MB
82822000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8283
8284 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8285 markers correctly.
8286
54918e2b
GM
82872000-10-17 Gerd Moellmann <gerd@gnu.org>
8288
1f0b3fd2
GM
8289 * alloc.c (pure_bytes_used): Renamed from pureptr.
8290 (ALIGN): New macro.
8291 (pure_alloc): New function.
8292 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8293 Use it.
8294 (Fpurecopy): Use PURE_POINTER_P.
8295
68c5d1db
GM
8296 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8297 PT has moved backward.
52283633 8298
9a038881
GM
8299 * xdisp.c (cursor_row_p): Take continued lines into account.
8300
361b097f
GM
8301 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8302 string's size_byte.
8303 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8304 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8305 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8306 string allocated.
8307
54918e2b
GM
8308 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8309 of selective display off while searching for the next line start.
8310
03ed0806
KH
83112000-10-17 Kenichi Handa <handa@etl.go.jp>
8312
8313 * Makefile.in (term.o): Depend on dispextern.h.
8314
7e05cdaf
SM
83152000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8316
8317 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8318
a6801fd1
GM
83192000-10-16 Gerd Moellmann <gerd@gnu.org>
8320
483de32b
GM
8321 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8322 the iterator at the beginning, so that they can be set later on,
8323 for instance in reseat_at_next_visible_line_start, without being
8324 overwritten.
8325
a6801fd1
GM
8326 * xfns.c (pbm_format): Add :foreground and :background keywords.
8327 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8328 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8329
dbf1fcc1
EZ
83302000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8331
8332 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8333
52283633 8334 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8335
8336 * msdos.c (IT_set_face): Compare highlighted face with the default
8337 face, and invert colors if these faces' colors are identical.
8338 (Fmsdos_remember_default_colors): Don't swap foreground and
8339 background colors in initial_colors[].
8340 (IT_set_frame_parameters): Don't swap frame's foreground and
8341 background pixels. If ALIST includes "(reverse . t)", swap
8342 foreground-color and background-color properties in frame's
8343 param_alist. If the original frame's param_alist doesn't specify
8344 the colors, store unspecified-fg and unspecified-bg, reversed if
8345 required.
8346
8347 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8348 the colors are unspecified and reversed, reverse fore- and back-
8349 ground in the returned value.
8350 (Fframe_parameter): Ditto.
8351
b41fe2c3 83522000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8353
3a6b59d9
GM
8354 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8355 get_last_unchanged_at_beg_row.
8356 (find_first_unchanged_at_end_row): Renamed from
8357 get_first_unchanged_at_end_row.
8358 (find_first_unchanged_at_end_row): Convert assertions to
8359 unconditional tests which abort. When looking for a row in
8360 unchanged text, don't go further back than first_text_row.
8361
b41fe2c3
GM
8362 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8363 Don't add in the last line's height when deciding if the new
8364 position is below the scroll margin.
9d1af64f 8365
b41fe2c3 83662000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8367
8368 * editfns.c (Fconstrain_to_field): Check carefully for field
8369 boundaries if either OLD_POS or NEW_POS has a non-nil field
8370 property, even if they're the same.
8371
c412cb7b
KH
83722000-10-16 Kenichi Handa <handa@etl.go.jp>
8373
8374 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8375 height for XFillRectangle.
8376
5586f3eb
SM
83772000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8378
8379 * syntax.c (Fstring_to_syntax): New function extracted from
8380 Fmodify_syntax_entry.
8381 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8382 (skip_chars, Fforward_comment): Remove unused variables.
8383 (syms_of_syntax): Add defsubr for string-to-syntax.
8384 (describe_syntax): Add code for comment and string fences.
8385
db785038
SM
83862000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8387
8388 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8389 Do the meta->esc mapping. Call get_keyelt before returning.
8390 Start scanning from the second element (the first is always `keymap')
8391 to make it easier to detect when we reach a parent map.
8392 Handle the case of inheriting from a symbol whose function is a map.
8393 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8394 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8395 (get_keyelt, Flookup_key): Update call to access_keymap.
8396 Remove the meta->esc mappings.
8397 (define_as_prefix): Delete old disabled code.
8398 (menu_item_p): New function.
8399 (where_is_internal_1): Skip over the few remaining menu items.
8400 * lisp.h (access_keymap): Update prototype.
8401 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8402 Update call to access_keymap.
8403 (follow_key, read_key_sequence): Update calls to access_keymap.
8404 Remove the meta->esc mappings.
8405
cafafe0b
GM
84062000-10-13 Gerd Moellmann <gerd@gnu.org>
8407
a2e2a7f6
GM
8408 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8409 with additional argument.
8410
cafafe0b
GM
8411 * xdisp.c (cursor_row_p): New function.
8412 (try_cursor_movement, display_line): Use it.
52283633 8413
cafafe0b
GM
8414 * xdisp.c (append_space): Also save/restore iterator's current
8415 character and its length.
8416
8417 * xdisp.c (init_from_display_pos): Add an assertion.
8418 (handle_stop): Don't set iterator's add_overlay_start.
8419 (handle_invisible_prop): Likewise.
8420 (load_overlay_strings): If text under an overlay is invisible,
8421 take both before- and after-strings into account when the iterator
8422 is positioned either at the start or at the end of the overlay.
8423 (forward_to_next_line_start): Rewritten.
8424 (reseat_at_next_visible_line_start): Rewritten.
8425 (set_iterator_to_next): Add parameter RESEAT_P.
8426
8427 * dispextern.h (struct it): Remove member add_overlay_start.
8428 (set_iterator_to_next): Change prototype.
8429
c744452b
KH
84302000-10-13 Kenichi Handa <handa@etl.go.jp>
8431
8432 * coding.c (code_convert_region): Be sure to initialize
8433 coding->category_idx.
e4a3f4e1
KH
8434 (decode_coding_string): Set coding->src_multibyte and
8435 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8436 (encode_coding_string): Set coding->src_multibyte and
8437 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8438
321fd26f
SM
84392000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8440
8441 * xfns.c (Fx_create_frame): Don't bother calling
8442 face-set-after-frame-default since the caller does it for us anyway.
8443
76832439
EZ
84442000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8445
8446 * window.c (coordinates_in_window): Fix detection of vertical line
8447 on character terminals.
8448
2483cf58
GM
84492000-10-12 Gerd Moellmann <gerd@gnu.org>
8450
8451 * editfns.c (save_excursion_save): Additionally record the
8452 selected window.
8453 (save_excursion_restore): If buffer was visible in a window, and a
8454 different window was selected, and the old selected window is
8455 still live, restore point in that window.
8456
eb991b25
KH
84572000-10-12 Kenichi Handa <handa@etl.go.jp>
8458
8a0eba09
KH
8459 * xterm.c (x_produce_glyphs): Handle
8460 unibyte_display_via_language_environment correctly.
8461
20401fcc
KH
8462 * regex.c (regex_compile): Change the way of handling a range from
8463 unibyte char to multibyte char.
8464
8465 * syntax.c (skip_chars): Change the way of handling a range from
8466 unibyte char to multibyte char.
8467
eb991b25
KH
8468 * process.c (read_process_output): Cancel previous change.
8469
365dd325
EZ
84702000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8471
c1b096cb
EZ
8472 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8473
365dd325
EZ
8474 * charset.c (Ffind_charset_string): Doc fix.
8475 (Ffind_charset_region): Doc fix.
8476
eb483c2b
KH
84772000-10-11 Kenichi Handa <handa@mule.m17n.org>
8478
8479 * process.c (read_process_output): Fix previous change. Adjust
8480 multibyteness of text to insert in a buffer by
52283633 8481 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8482
b40bfb99
AS
84832000-10-10 Andreas Schwab <schwab@suse.de>
8484
8485 * alloc.c (mark_object): Remove all workarounds installed on
8486 1993-08-08.
8487
caff31d4
KH
84882000-10-10 Kenichi Handa <handa@etl.go.jp>
8489
52283633 8490 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8491 (base64_encode_1): Make it work for a text of multibyte form.
8492 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8493 case. Don't call str_to_multibyte because base64_decode_1
8494 produces correct multibyte form for eight-bit codes.
52283633 8495 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8496 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8497 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8498 codes.
8499
8500 * charset.h (CHAR_STRING): Optimized for single byte characters.
8501
cba026ef
AS
85022000-10-09 Andreas Schwab <schwab@suse.de>
8503
8504 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8505 -1 after socket is closed, to fall through to error processing.
8506
1e21fe48
EZ
85072000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8508
8509 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8510 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8511 background-color, change also the colors of the default face for
8512 this frame.
8513
a640322e
EZ
85142000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8515
8516 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8517 them extern (they are defined on xfaces.c).
8518 (syms_of_msdos): Don't intern and don't staticpro
8519 Qbackground_color and Qforeground_color.
8520
a115794c
EZ
85212000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8522
8523 * frame.c (Fframe_parameter): For non-windowed frames, if
8524 f->param_alist says foreground or background color is unspecified,
8525 call tty_color_name to return the color name computed from the
8526 frame's current colors.
8527
f5533b63
DL
85282000-10-06 Dave Love <fx@gnu.org>
8529
8530 * terminfo.c (ospeed): Don't declare.
8531
8532 * sysdep.c: Don't include string.h.
8533 (h_errno): Declare conditional also on TRY_AGAIN.
8534
8535 * charset.c (Ffind_charset_string): Doc fix.
8536
52283633 8537 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8538 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8539 error messages.
8540
2b06561a
DL
85412000-10-05 Dave Love <fx@gnu.org>
8542
8543 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8544 position like menu-bar.
8545
ca839c85
GM
85462000-10-05 Gerd Moellmann <gerd@gnu.org>
8547
8548 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8549
8550 * xdisp.c (handle_single_display_prop): Use safe_call1.
8551 (safe_call): Renamed from call_function.
8552 (safe_call1): New function.
8553 (handle_fontified_prop): Use safe_call1 instead of call1.
8554 (safe_eval): Renamed from eval_form.
8555 (safe_eval_handler): Renamed from eval_handler.
8556 (handle_single_display_prop, display_mode_element): Use safe_eval
8557 instead of eval_form.
8558
8559 * xfaces.c (merge_face_heights): Use safe_call instead of
8560 call_function.
8561
8562 * keyboard.c (show_help_echo): Use safe_call instead of
8563 call_function; use safe_eval instead of eval_form.
8564
8565 * lisp.h (safe_call): Renamed from call_function.
8566 (safe_eval): Renamed from eval_form.
8567 (safe_call1): Add prototype.
8568
a3489ece
MB
85692000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8570
8571 * xfns.c (image_ascent): Rearrange ascent calculation for the
8572 has-a-font case.
8573
35810b6f
SM
85742000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8575
8576 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8577 (where_is_internal_1): Don't bother ignoring menu-items any more.
8578
3dc78168
GM
85792000-10-04 Gerd Moellmann <gerd@gnu.org>
8580
8581 * keyboard.c (update_menu_bindings): New variable.
8582 (parse_menu_item): Use AREF. If update_menu_bindings
8583 is 0, don't update menu bindings.
8584 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8585
1efc2bb9
EZ
85862000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8587
8588 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8589 to `mark_object'.
8590
3f679f55
SM
85912000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8592
8593 * syntax.c (forw_comment): Match nestedness of ender/starter.
8594 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8595 (prev_char_comstart_first): Remove.
8596 (back_comment): Check two-char comment markers more carefully
8597 to better handle overlapping cases like *//* or /* */* */ ...
8598 Match nestedness of ender/starter.
8599
2021ab61
DL
86002000-10-02 Dave Love <fx@gnu.org>
8601
8602 * config.in (HAVE_GAI_STRERROR): Add undef.
8603
8604 * process.c (Fopen_network_stream): Use it.
8605
8606 * m/alpha.h (NO_REMAP): Don't define.
8607
64e6cc18
GM
86082000-10-02 Gerd Moellmann <gerd@gnu.org>
8609
8610 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8611 return with a string converted to an integer or vice versa when
8612 Vmocklisp_arguments is t.
8613 (Fsignal): Likewise. The function can return for `quit'.
8614 (struct gcpro): Declare member `var' to point to a volatile
8615 Lisp_Object.
8616
8617 * eval.c (error): Prevent compiler warning.
8618
b1904cd9
SM
86192000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8620
8621 * keymap.c (keymap_memberp): New function.
8622 (Fset_keymap_parent): Use it.
8623 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8624 Use keymap_memberp to avoid creating cycles.
8625 (access_keymap): Use KEYMAPP.
8626
71c9ec51
GM
86272000-09-30 Gerd Moellmann <gerd@gnu.org>
8628
8629 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8630 gai_strerror. Make sure xerrno is set if connect fails. Improve
8631 error recovery.
71c9ec51 8632
c70c6b58
JR
86332000-09-29 Jason Rumney <jasonr@gnu.org>
8634
8635 * w32term.c (w32_char_font_type, w32_encode_char)
8636 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8637 (w32_bdf_per_char_metric): New function.
8638 (w32_per_char_metric): Use it.
8639 (x_draw_glyph_string_background): Always draw background for BDF
8640 glyphs.
8641
8642 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8643 GDI object which is a scarce resource.
8644
8645 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8646 (get_quoted_string): Fix limit on memchr search.
8647 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8648 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8649 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8650 (get_cached_font_char, cache_char_offset): Use macro
8651 BDF_CODEPOINT_RANGE_COVER_P.
8652 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8653 (clear_cached_bitmap_slots): New function.
8654 (GET_HEX_VALUE): G-Z, g-z are not hex.
8655 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8656 (get_bitmap_with_cache): Use new cache implementation.
8657 (create_offscreen_bitmap): New function.
8658 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8659
8660 * w32term.c (x_produce_glyphs): If the distance from the current
8661 position to the next tab stop is less than a canonical character
8662 width, use the tab stop after that.
8663 (x_draw_glyphs): Handle case START and END are out of bounds more
8664 carefully.
8665 (x_clear_mouse_face): Block/unblock input.
8666 (x_display_and_set_cursor): Don't show a hollow box cursor for
8667 buffers whose cursor_type is nil.
8668
fe01239f
GM
86692000-09-29 Gerd Moellmann <gerd@gnu.org>
8670
52283633 8671 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8672
8673 * dispextern.h (updating_frame): Declare extern.
8674
e7c52f1f
AS
86752000-09-29 Andreas Schwab <schwab@suse.de>
8676
8677 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8678
de6e1f7c
GM
86792000-09-29 Gerd Moellmann <gerd@gnu.org>
8680
25126faa
GM
8681 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8682 use its function definition.
8683 (tool_bar_items): Likewise.
8684
de6e1f7c 8685 * lisp.h (fatal): Declare NO_RETURN.
52283633 8686
454ee39b
KH
86872000-09-29 Kenichi Handa <handa@etl.go.jp>
8688
8689 * keymap.c: Remove the line "#undef NULL".
8690
96301c5f
GM
86912000-09-28 Gerd Moellmann <gerd@gnu.org>
8692
52283633 8693 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8694
efffeeb4
DL
86952000-09-28 Dave Love <fx@gnu.org>
8696
ecb8b666
DL
8697 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8698
dc3cd20f
DL
8699 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8700
8701 * .gdbinit (xreload): Note its need on GNU/Linux.
8702
efffeeb4
DL
8703 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8704 r_alloc, r_alloc_free.
8705
8610d903
KH
87062000-09-28 Kenichi Handa <handa@etl.go.jp>
8707
8708 * syntax.c (skip_chars): Handle negation correctly.
8709
8901d1ac
GM
87102000-09-27 Gerd Moellmann <gerd@gnu.org>
8711
6f22f1ad
GM
8712 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8713 with non-zero FORCE_P argument.
8714
52283633 8715 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8716 Add assertions.
8717
8718 * xdisp.c (window_box_height): Add an assertion.
8719
8720 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8721 tool-bar than is available.
8722 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8723
36f1966f
DL
87242000-09-27 Dave Love <fx@gnu.org>
8725
efffeeb4 8726 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8727
31d929e5
GM
87282000-09-26 Gerd Moellmann <gerd@gnu.org>
8729
c98863bf
GM
8730 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8731 instead of BITS_PER_INT.
8732 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8733 EMACS_UINT, respectively.
8734 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8735
8736 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8737
8738 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8739
77072ab1
GM
8740 * window.c (freeze_window_starts): Construct last argument for
8741 foreach_window differently.
8742
8743 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8744
8745 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8746 EMACS_UINT instead of `int' and `unsigned int'.
8747 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8748
8749 * frame.h (struct frame): Make the `nothing' member of union
8750 output_data an EMACS_INT.
8751
52283633 8752 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8753 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8754 size in the sdata structure.
8755 (SDATA_NBYTES, SDATA_DATA): New macros.
8756 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8757 differently for the different layout of the sdata structure.
8758 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8759 in sdata.
8760 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8761 Check that size recorded in the string size and size recorded in
8762 the sdata structure agree.
8763
3e60b029
DL
87642000-09-25 Dave Love <fx@gnu.org>
8765
8766 * buffer.c: Include stdio.h.
8767
8768 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8769
3e60b029
DL
8770 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8771
8772 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8773 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8774 (__malloc_extra_blocks): Declare as __malloc_size_t.
8775
8ff16b4e
GM
87762000-09-25 Gerd Moellmann <gerd@gnu.org>
8777
755a2ccd
GM
8778 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8779
d8b4516f
GM
8780 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8781 (read_char): If help-echo is showing, preserve the echo area
8782 when redisplaying.
8783
8784 * xdisp.c (help_echo_showing_p): New variable.
8785 (set_message): Reset it to 0.
8786 (init_xdisp): Initialize help_echo_showing_p.
8787
8788 * dispextern.h (help_echo_showing_p): Declare extern.
8789
8790 * config.in: Fix typo in __GNUC_MINOR__.
8791
8792 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8793
b11af2dd
GM
8794 * s/freebsd.h (POSIX_SIGNALS): Define.
8795
8ff16b4e
GM
8796 * xterm.c (x_clear_mouse_face): Block/unblock input.
8797
844eb643
DL
87982000-09-24 Dave Love <fx@gnu.org>
8799
8800 * fns.c (base64_encode_1): Fix last change.
8801
b30ab1b3
GM
88022000-09-22 Gerd Moellmann <gerd@gnu.org>
8803
8804 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8805
8806 * xdisp.c (try_window_reusing_current_matrix): More fixes
8807 for the case window has a header-line.
8808
c6cbe5f0
DL
88092000-09-22 Dave Love <fx@gnu.org>
8810
4c7c1f3f
DL
8811 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8812 a doc string.
8813
8814 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8815
c6cbe5f0
DL
8816 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8817
550a625e
GM
88182000-09-21 Gerd Moellmann <gerd@gnu.org>
8819
4c7c1f3f 8820 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8821 for GCC >= 2.5.
8822
52283633
SM
8823 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8824 Declare NO_RETURN.
fca99116 8825
80d26f99
GM
8826 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8827 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8828 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8829 warnings.
52283633 8830
80d26f99
GM
8831 * marker.c (byte_char_debug_check): Return void.
8832
623a0aae
GM
8833 * xfns.c (Fx_create_frame): Set default frame parameter value
8834 for tool-bar-lines to 1.
8835
8836 * dispnew.c (scrolling_window): Compare y-positions of rows
8837 equal at the start. Some simplification.
8838
8839 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8840 reused rows' y-position in the case window has a header-line, and
8841 new window start is greater than old window start.
8842
42ac0ae5
GM
8843 * process.c (process_sent_to): New variable.
8844 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8845 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8846 Declare more parameters volatile.
8847
550a625e
GM
8848 * lread.c (Vrecursive_load_depth_limit): New variable.
8849 (Fload): Check recursive loads whose recursion depth exceeds
8850 Vrecursive_load_depth_limit.
8851 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8852
8320414c
GM
88532000-09-20 Gerd Moellmann <gerd@gnu.org>
8854
f46c275e
GM
8855 * fileio.c (Fread_file_name): Doc fix.
8856
8857 * editfns.c (Fmessage_or_box): Doc fix.
8858
8859 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8860
b7e11c5b 8861 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8862
8320414c
GM
8863 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8864 symbols are specified, add color translations to the cache.
52283633 8865 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8866 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8867 xpm_cache_color.
8868 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8869 structures to xpm_init_color_cache.
8870
da1608d9
GM
88712000-09-19 Gerd Moellmann <gerd@gnu.org>
8872
52283633 8873 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8874
6badfa25
AI
88752000-09-19 Andrew Innes <andrewi@gnu.org>
8876
8877 * makefile.nt (bootstrap-emacs): Don't change directory.
8878
3a5f42bb
KH
88792000-09-19 Kenichi Handa <handa@etl.go.jp>
8880
1b7649bd
KH
8881 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8882
3a5f42bb
KH
8883 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8884 If output buffer is too small, signal an appropriated error.
8885
9f83cf0b
DL
88862000-09-18 Dave Love <fx@gnu.org>
8887
52283633 8888 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8889 (current_active_maps): Remove redundant get_local_map call.
8890
28c7826c
GM
88912000-09-18 Gerd Moellmann <gerd@gnu.org>
8892
5cefa566
GM
8893 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8894 cursor for buffers whose cursor_type is nil.
52283633 8895
6fed3546
GM
8896 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8897 a feature to implement that is already implemented.
8898 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8899 warnings.
8900
8901 * xfns.c (x_clear_image_1): New function.
8902 (x_clear_image): Use it.
52283633 8903 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8904
05b1f851
GM
8905 * dispnew.c (update_window): Move test for invisible lines
8906 at the top to update_window_line.
8907 (update_window_line): Handle invisible lines here.
8908
f4779de9
GM
8909 * xfns.c (clear_image_cache): Clear current matrices of all
8910 frames sharing an image cache. Block input while freeing
8911 images. Fix timestamp comparison.
8912 (x_clear_image): Also free the mask.
8913
28c7826c
GM
8914 * xfns.c (lookup_image): Block input while loading the image so
8915 that we won't get interrupted in a state where the image isn't yet
8916 set up completely.
8917 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8918 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8919 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8920 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8921
b7412313
GM
89222000-09-16 Gerd Moellmann <gerd@gnu.org>
8923
8924 * dispnew.c (update_window): Make sure to make desired rows
8925 current even if they are completely invisible at the top
8926 of a window.
8927
47e351a3
GM
89282000-09-15 Gerd Moellmann <gerd@gnu.org>
8929
7f8f1edc
GM
8930 * xfns.c (lookup_image): Build mask before applying an algorithm.
8931 Recognize algorithm `disabled'.
8932 (cross_disabled_images): New variable.
8933 (COLOR_INTENSITY): New macro.
8934 (x_detect_edges): Use COLOR_INTENSITY.
8935 (x_disable_image): New function.
8936 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8937
8938 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8939 disabled state, don't apply an image transformation algorithm if
8940 the user specified an image for the disabled state. Use
28c7826c 8941 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8942 user hasn't specified an image.
8943
ebb8f116
GM
8944 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8945 allocation functions with the XPM lib.
8946 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8947 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8948 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8949 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8950 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8951 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8952 functions, if possible, because these handle color allocation
8953 failure more gracefully.
8954 (Fimage_mask_p): New function.
8955
47e351a3
GM
8956 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8957 (Qedge_detection, Qheuristic): New symbols.
8958 (syms_of_xfns): Initialize new symbols.
8959 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8960 `algorithm (edge-detection ...)'.
8961 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8962 (tiff_format, gif_format, gs_format): Add `:mask'.
8963 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8964 (GIF_MASK, GS_MASK): New enumerators.
8965 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8966 (emboss_matrix, laplace_matrix): New variables.
8967 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8968 (x_edge_detection): New functions.
8969 (x_laplace): Rewritten in terms of x_detect_edges.
8970 (x_build_heuristic_mask): If image has a mask, free it.
8971
fe83b953
AI
89722000-09-14 Andrew Innes <andrewi@gnu.org>
8973
8974 * makefile.w32-in: Revert to Unix line endings.
8975
3021e816
AI
89762000-09-14 Andrew Innes <andrewi@gnu.org>
8977
8978 * makefile.w32-in: Standardize indentation somewhat.
8979 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8980 cater for differences between shells.
8981
8982 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8983
2a32b5ea
GM
89842000-09-14 Gerd Moellmann <gerd@gnu.org>
8985
8986 * xterm.c (x_produce_glyphs): If the distance from the current
8987 position to the next tab stop is less than a canonical character
8988 width, use the tab stop after that.
8989
b4331e96
DL
89902000-09-14 Dave Love <fx@gnu.org>
8991
8992 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8993
ef9e4345
GM
89942000-09-14 Gerd Moellmann <gerd@gnu.org>
8995
085536c2
GM
8996 * xdisp.c (handle_fontified_prop): While running fontification
8997 functions, bind `fontification-functions' and
8998 `after-change-functions' to nil.
8999
ef9e4345
GM
9000 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
9001 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
9002
9003 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
9004
9005 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
9006 USE_MMAP_FOR_BUFFERS.
9007
9008 * insdel.c (make_gap): Use enlarge_buffer_text.
9009
9010 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
9011 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
9012 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
9013 from former r_alloc_* functions in ralloc.c.
52283633 9014 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
9015 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
9016 (mmap_init) [REL_ALLOC_MMAP]: New function.
9017 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
9018 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
9019 BUFFER_FREE.
9020
9021 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
9022 (enlarge_buffer_text): Add prototype.
9023
9024 * ralloc.c: Remove everything having to do with the use of mmap.
9025
f8608968
GM
90262000-09-13 Gerd Moellmann <gerd@gnu.org>
9027
2a494b2d
GM
9028 * sound.c (Fplay_sound): Doc fix.
9029
8c907a56
GM
9030 * keyboard.c: Avoid some more compiler warnings.
9031 (parse_tool_bar_item): Ignore cached key bindings.
9032
f8608968
GM
9033 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
9034 and allocation of Lisp data.
9035
6ab70e9a
GM
90362000-09-12 Gerd Moellmann <gerd@gnu.org>
9037
d12d0a9b
GM
9038 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
9039 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
9040 defaults first.
9041
6ab70e9a
GM
9042 * lread.c (Fload): Put code checking for recursive loads in #if 0.
9043
63c36c3c
KH
90442000-09-12 Miyashita Hisashi <himi@meadowy.org>
9045
9046 * ccl.c: Comment fixed.
9047 (MAX_MAP_SET_LEVEL): Increased to 30.
9048 (PUSH_MAPPING_STACK): Enclose with do-while block.
9049 (POP_MAPPING_STACK): Likewise.
9050 (stack_idx_of_map_multiple): New variable.
9051 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
9052 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 9053 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
9054 (ccl_driver) <CCL_MapSingle>: Likewise.
9055 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
9056 with the case where looking up process reaches to the end of
9057 map-set, and call CCL programs as the above change.
9058
7ee3bd7b
GM
90592000-09-11 Gerd Moellmann <gerd@gnu.org>
9060
8ec8a5ec
GM
9061 * xfns.c (png_load, jpeg_load): Declare some variables volatile
9062 that might be clobbered by longjmp.
9063 (check_x_display_info, x_decode_color, create_frame_xic)
9064 (Fx_display_backing_store, Fx_display_visual_class)
52283633 9065 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 9066
f74b0705
GM
9067 * lread.c (init_lread): Set Vloads_in_progress to nil.
9068 (Fload): Show list of recursively loaded files, when signaling an
9069 error.
9070
7ee3bd7b
GM
9071 * lread.c (Vloads_in_progress): New variable.
9072 (record_load_unwind): New function.
9073 (Fload): Check for recursive loads.
9074 (syms_of_lread): Initialize Vloads_in_progress.
9075 (read_integer, read1): Avoid some compiler warnings.
9076
9077 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
9078 compiler warnings.
9079
974e1e5b
MB
90802000-09-11 Miles Bader <miles@gnu.org>
9081
9082 * editfns.c (Fbuffer_string): Doc fix.
9083
9824c4e3
GM
90842000-09-10 Gerd Moellmann <gerd@gnu.org>
9085
9086 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
9087
6a72fdd1
KR
90882000-09-09 Ken Raeburn <raeburn@gnu.org>
9089
9090 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
9091 whether to include other header files.
9092
28e6fb66
GM
90932000-09-09 Gerd Moellmann <gerd@gnu.org>
9094
52283633 9095 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 9096 by Fmemq as a boolean.
28e6fb66 9097
7f8b6551
SM
90982000-09-08 Stefan Monnier <monnier@cs.yale.edu>
9099
9100 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
9101
a8710abf
GM
91022000-09-08 Gerd Moellmann <gerd@gnu.org>
9103
d1a02881
GM
9104 * ralloc.c (mmap_fd): Remove initializer which can make it
9105 read-only in a dumped Emacs.
9106 (mmap_fd_1): New variable.
9107 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
9108 restore it from there.
9109 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
9110 unconditionally so that mmap_fd can be initialized there.
9111 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
9112 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
9113 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
9114
c454aac1
GM
9115 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
9116
9117 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 9118 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 9119
fc653ef2
GM
9120 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
9121
3015eec0
GM
9122 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
9123 inheritance.
9124
bfe0ee88
GM
9125 * xdisp.c (try_window_id): When trying to locate cursor in
9126 unchanged rows at the top, handle the case that we can't find it.
9127
a8710abf
GM
9128 * xterm.c (x_draw_glyphs): Handle case START and END are out
9129 of bounds more carefully.
9130
6b7d4ae4
DL
91312000-09-08 Dave Love <fx@gnu.org>
9132
423193c5
DL
9133 * s/sol2.h (REL_ALLOC_MMAP): Define.
9134 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
9135
9136 * ralloc.c: Don't include string.h (redundant).
9137 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
9138 [!MAP_ANON]: Include fcntl.h.
9139 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
9140 (r_alloc, r_re_alloc, r_alloc_free)
9141 (mmap_enlarge, mmap_set_vars): Use it.
9142 (r_alloc_init_fd): New function.
9143 (__morecore) [SYSTEM_MALLOC]: Don't declare.
9144 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
9145 malloc type.
9146
9147 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
9148 Remove vm-limit.o.
9149
6b7d4ae4
DL
9150 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
9151 change to __NetBSD__.
9152
44d31981
KH
91532000-09-08 Kenichi Handa <handa@etl.go.jp>
9154
9155 * search.c (compile_pattern): Check the multibyteness of cached
9156 string and PATTERN.
9157
aad40737
MB
91582000-09-08 Miles Bader <miles@gnu.org>
9159
9160 * xfaces.c (default_face_vector): Function removed.
9161 (Finternal_merge_in_global_face): Restore old global/local
9162 attribute override order. Use inline loop instead of calling
9163 default_face_vector.
9164
91a211b5
GM
91652000-09-07 Gerd Moellmann <gerd@gnu.org>
9166
9167 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9168 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9169 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9170 where necessary, in case POINTER_TYPE is `void'.
9171
03419440
EZ
91722000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9173
9174 * frame.c (make_terminal_frame): Initialize frame foreground and
9175 background colors to unspecified, for the initial instance of an
9176 MSDOS frame.
9177
f46f845b
GM
91782000-09-07 Gerd Moellmann <gerd@gnu.org>
9179
24f76fbf
GM
9180 * ralloc.c (mmap_find): Fix overlap computation.
9181 (mmap_enlarge): Compute nbytes before trying to find an
9182 overlapping region.
9183
f46f845b
GM
9184 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9185 instead of `!='.
9186
9187 * lread.c (syms_of_lread): Change value of regexp
9188 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9189
9190 * xmenu.c (xdialog_show): When looking up the selection in
9191 menu_items, take `quote' boundaries into account; this corresponds
9192 to a nil ITEM in x-popup-dialog.
9193
3c014385
KH
91942000-09-07 Kenichi Handa <handa@etl.go.jp>
9195
fd6f711b
KH
9196 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9197 not 0x81.
9198 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9199
3c014385 9200 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
9201 encoding, not decoding. Fix the handling of latin-jisx0201.
9202 Check for the charset katakana-jisx0201 too.
3c014385 9203 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 9204 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 9205
0da3ecef
GM
92062000-09-07 Gerd Moellmann <gerd@gnu.org>
9207
ab0ee409
GM
9208 * xfaces.c (Vparam_value_alist): New variable.
9209 (syms_of_xfaces): Initialize it.
9210 (Finternal_set_lisp_face_attribute): Avoid more consing.
9211
9212 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9213 specially.
9214 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9215 (Qbackground_mode): New variable.
9216 (syms_of_frame_1): Initialize Qbackground_mode.
9217
9218 * lisp.h (Qdisplay): Declare extern.
1091dd67 9219
0da3ecef
GM
9220 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9221 change face on all frames, and change the default for new frames.
9222
b14654b9
DL
92232000-09-07 Dave Love <fx@gnu.org>
9224
9225 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9226
d24fd56f
KH
92272000-09-07 Kenichi Handa <handa@etl.go.jp>
9228
794f3670
KH
9229 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9230
0fddd0dc
KH
9231 * charset.c: Include composite.h
9232 (lisp_string_width): New function.
9233 (Fstring_width): Call lisp_string_width instead of strwidth.
9234
9235 * Makefile.in (charset.o): Depends on composite.h.
9236
d24fd56f
KH
9237 * process.c (read_process_output): Before inserting the decoded
9238 text in the buffer, adjust the multibyteness.
9239
fa0b693c
GM
92402000-09-06 Gerd Moellmann <gerd@gnu.org>
9241
52283633 9242 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9243 buffer's text buffer is null, map new memory.
9244
0a58f946
GM
9245 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9246 POINTER_TYPE and size_t.
9247 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9248 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9249 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9250 [REL_ALLOC_MMAP]: New macros.
9251 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9252 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9253 [REL_ALLOC_MMAP]: New functions.
9254
9255 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9256 before and after unexec.
9257
9258 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9259 text buffers if necessary.
9260
9261 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9262 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9263 in prototypes.
9264
fa0b693c
GM
9265 * config.in (HAVE_MMAP): Add #undef.
9266
877055f6
GM
92672000-09-05 Gerd Moellmann <gerd@gnu.org>
9268
08ba3862
GM
9269 * frame.c (Qdisplay_type): New variable.
9270 (syms_of_frame_1): Initialize it.
9271 (Fframe_parameter): New function that avoids consing.
9272 (syms_of_frame): Defsubr it.
9273
66ffe51c
GM
9274 * buffer.c (Fother_buffer): Consider buffers as invisible when
9275 they are displayed in a window on an invisible frame.
9276
877055f6
GM
9277 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9278 get-largest-window always return nil.
9279
bb970e67
GM
92802000-09-04 Gerd Moellmann <gerd@gnu.org>
9281
9282 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9283 variable; recognize Emacs 19 elc files.
9284
7a3d0e0e
MB
92852000-09-04 Miles Bader <miles@gnu.org>
9286
9287 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9288 before initially popping up the menu, so the menu doesn't flash
52283633 9289 when the face settings are significantly different from the defaults.
7a3d0e0e 9290
14473664
SM
92912000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9292
9293 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9294 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9295 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9296 (BIT_UNIBYTE): Remove.
9297 (re_match_2_internal): Delete corresponding code and streamline the
9298 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9299 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9300 (re_wctype_t): New type.
9301 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9302 (regex_compile): Use them and fix handling of overly long char classes.
9303
c1174479
AI
93042000-09-03 Andrew Innes <andrewi@gnu.org>
9305
f8803e97
AI
9306 * makefile.w32-in: Change to DOS line endings.
9307
c1174479
AI
9308 * s/ms-w32.h (ORDINARY_LINK): New define.
9309
9310 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9311 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9312
9313 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9314 (distclean): Delete them here instead.
9315
44ef7cf6
AI
9316 * w32proc.c (compare_env): Convert to uppercase for comparison,
9317 not lowercase, to match how the native Windows shell works.
9318
49b3bd82
JR
93192000-09-03 Jason Rumney <jasonr@gnu.org>
9320
9321 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9322 CVS changes the line-ends when checking in/out on DOS/Windows.
9323
9324 * makefile.nt (emacs): Do not change directory to run temacs, as
9325 the load-path is set relative to current directory.
9326
a3d35a39
MB
93272000-09-03 Miles Bader <miles@gnu.org>
9328
9329 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9330
d276b0cf
GM
93312000-09-02 Gerd Moellmann <gerd@gnu.org>
9332
715e84c9
GM
9333 * xdisp.c (redisplay_mode_lines): New function.
9334 (display_mode_lines): Return number of mode lines displayed.
9335 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9336 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9337
8892f40b
GM
9338 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9339 string.h and strings.h.
9340 (index) [HAVE_INDEX]: Add prototype.
9341
d276b0cf
GM
9342 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9343 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9344
9345 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9346 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9347
38404229
GM
93482000-09-01 Gerd Moellmann <gerd@gnu.org>
9349
9350 * lread.c (read1): Accept `?' as symbol constituent, for
9351 compatiblity with XEmacs.
9352
c0f9ea08
SM
93532000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9354
9355 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9356 (struct re_pattern_buffer): Remove newline_anchor.
9357 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9358 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9359 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9360 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9361 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9362 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9363 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9364 Get rid of references to newline_anchor.
9365 (regcomp): Allocate and precompute a fastmap.
9366
8c0f83fe
GM
93672000-08-31 Gerd Moellmann <gerd@gnu.org>
9368
9369 * lread.c (openp): GCPRO local variable `filename'.
9370
4bb91c68
SM
93712000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9372
9373 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9374
9375 * regex.c: Merge some changes from GNU libc. Add prototypes.
9376 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9377 Use memcmp and memcpy instead of bcopy and bcmp.
9378 (init_syntax_once): Use ISALNUM.
9379 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9380 (REG_UNSET_VALUE): Remove. Use NULL instead.
9381 (REG_UNSET, re_match_2_internal): Use NULL.
9382 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9383 New macros.
9384 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9385 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9386 (regex_compile): In handle_interval, return an error rather than try to
9387 unfetch the interval if we can't find the closing brace.
9388 Obey the RE_NO_GNU_OPS syntax bit.
9389 (TOLOWER): New macro.
9390 (regcomp): Use it.
9391 (regexec): Allocate regs.start and regs.end as one block.
9392
5226a931
GM
93932000-08-30 Gerd Moellmann <gerd@gnu.org>
9394
868dd24b
GM
9395 * xdisp.c (echo_area_display): Check display_completed instead
9396 of calling detect_input_pending.
9397
9398 * dispnew.c (update_frame): Only set display_completed here; move
9399 the update_begin and update_end calls here from update_frame_1.
9400 (update_frame_1): Don't set display_completed here, don't call
9401 update_begin/update_end.
9402
5226a931
GM
9403 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9404 instead of store_frame_param.
9405
2a8bd25f
GM
94062000-08-29 Gerd Moellmann <gerd@gnu.org>
9407
9408 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9409 desired window matrix hasn't been displayed, use the current row
9410 instead. Make sure that only those frame rows are updated for
9411 which there exists a corresponding enabled desired row.
52283633 9412
ba3478d9
MB
94132000-08-29 Miles Bader <miles@gnu.org>
9414
9415 * xfaces.c (default_face_vector): New function.
9416 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9417
87d0f685
GM
94182000-08-29 Gerd Moellmann <gerd@gnu.org>
9419
9420 * lread.c (openp): Prevent temporary string passed to
9421 Ffile_readable_p from being garbage collected.
9422
6fa86045
DL
94232000-08-28 Dave Love <fx@gnu.org>
9424
9425 * keymap.c (store_in_keymap): Add `static' to declaration.
9426
bb17930d
GM
94272000-08-28 Gerd Moellmann <gerd@gnu.org>
9428
9429 * emacs.c, callint.c, doc.c, editfns.c
9430 (toplevel) [HAVE_STRING_H]: Include string.h.
9431 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9432 (index): Remove prototypes which might conflict with non-standard
9433 definitions of index/strchr.
9434
9435 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9436 (rindex): Define only if !HAVE_RINDEX.
9437
9438 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9439
9440 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9441
87188200
MB
94422000-08-28 Miles Bader <miles@gnu.org>
9443
9444 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9445 made inconsistent by a font-related attribute in FROM.
9446 (merge_face_inheritance): Add function comment.
9447
41a68aef
KH
94482000-08-28 Kenichi Handa <handa@etl.go.jp>
9449
9450 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9451 the 4th arg (PREV_EVENT) Qt to suppress input method.
9452
f7c436c1
SM
94532000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9454
0b32bf0e
SM
9455 * regex.c: Indent cpp directives and remove parens after `defined'.
9456 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9457 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9458 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9459 (re_compile_pattern): Use size_t for length.
9460 (init_syntax_once): Move to a better place.
9461 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9462 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9463
f7c436c1
SM
9464 * syntax.c (back_comment): Detect cases where a comment-starter is
9465 actually inside another comment as in: /* a // b */ c // d \n.
9466 Make it clear that `comstart_pos' is unused for nested comments.
9467
9468 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9469 (KEYMAPP): New macro.
9470 (Fkeymap_parent, Fset_keymap_parent): Use it.
9471 (fix_submap_inheritance): Mark it static.
9472 (define_as_prefix, describe_buffer_bindings, describe_command)
9473 (describe_translation, describe_map): Complete prototypes.
9474
9475 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9476
9477 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9478 to better match the key-lookup behavior.
9479
6288c62f
GM
94802000-08-27 Gerd Moellmann <gerd@gnu.org>
9481
9482 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9483 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9484
e931344e
EZ
94852000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9486
9487 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9488 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9489 (xterm.o): Depend on coding.h
9490
d10dfeef
KH
94912000-08-26 Kenichi Handa <handa@etl.go.jp>
9492
9493 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9494 the corresponding '#endif'.
9495
2d73e8d3
MB
94962000-08-26 Miles Bader <miles@gnu.org>
9497
9498 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9499 * xfaces.c (QCinherit): New variable.
9500 (syms_of_xfaces): Initialize it.
9501 (LFACE_INHERIT): New macro.
9502 (Finternal_get_lisp_face_attribute)
52283633 9503 (merge_face_vector_with_property)
2d73e8d3
MB
9504 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9505 (check_lface_attrs): Allow new types of face height. Check
9506 inherit attribute.
9507 (CYCLE_CHECK): New macro.
9508 (merge_face_inheritance): New function.
9509 (merge_face_vectors): Merge inherited faces too. Add F and
9510 CYCLE_CHECK arguments.
9511 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9512 (lookup_named_face, lookup_derived_face, realize_named_face)
9513 (face_at_string_position, face_at_buffer_position): Supply
9514 new F and CYCLE_CHECK arguments to merge_face_vectors.
9515 (merge_face_heights): New function.
52283633 9516 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9517 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9518 handle relative face heights.
9519 (lface_same_font_attributes_p): Compare heights using EQ.
9520
6ce974d4
KH
95212000-08-26 Kenichi Handa <handa@etl.go.jp>
9522
9523 * charset.c (char_to_string): Check the character validity.
52283633 9524 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9525
dc1e502d
SM
95262000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9527
9528 * regex.c (PUSH_FAILURE_COUNT): New macro.
9529 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9530 Handle popping of a register's or a counter's data.
9531 (POP_FAILURE_POINT): Use the new name.
9532 (re_match_2_internal): Push counter data on the stack for succeed_n,
9533 jump_n and set_number_at and remove misleading dead code in succeed_n.
9534
bd9d0f3f
GM
95352000-08-25 Gerd Moellmann <gerd@gnu.org>
9536
9537 * xdisp.c (redisplay_internal): If considering all windows on all
9538 frames, update the display for each frame as soon as possible,
9539 instead of first building all desired matrices for all frames, and
9540 then updating them all.
9541 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9542
aa5b8e15
GM
95432000-08-24 Gerd Moellmann <gerd@gnu.org>
9544
17494071
GM
9545 * bytecode.c (mark_byte_stack): Add a comment.
9546
52283633
SM
9547 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9548 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9549 a graphical frame.
9550
c543db81
KH
95512000-08-24 Kenichi Handa <handa@etl.go.jp>
9552
d246d5f5
KH
9553 * minibuf.c (do_completion): Always use compare-string, not
9554 string-equal because the latter doesn't pay attention to
9555 multibyteness of strings.
9556
c543db81
KH
9557 * process.c (create_process): Don't setup raw-text coding here.
9558 (Fopen_network_stream): Don't set coding->src_multibyte and
9559 coding->dst_multibyte here.
9560 (read_process_output): For process filter, return unibyte string
9561 if default-enable-multibyte-characters is nil.
9562 (send_process): If OBJECT is multibyte text, be sure to encoded it
9563 by the specified coding system for the process. Otherwise, setup
9564 raw-text coding.
52283633 9565 (init_process): Don't initialize default-process-coding-system here.
c543db81 9566
9b47cfe0
EZ
95672000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9568
9569 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9570 <scroll-down-aggressively>: Likewise.
9571
f5a36960
KH
95722000-08-23 Kenichi Handa <handa@etl.go.jp>
9573
9574 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9575 zero. Set coding->produced_char correctly.
9576
69a7ffa7
AI
95772000-08-22 Andrew Innes <andrewi@gnu.org>
9578
9579 * makefile.w32-in: New file.
9580
9581 * unexw32.c (unexec): Ignore old_name, and use the actual location
9582 of the current executable instead. Base new_name on this.
9583
9584 * w32proc.c (create_child): Remove reference to security
9585 descriptor, which isn't needed and doesn't compile with mingw32.
9586
9587 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9588 up dllimport attributes.
9589 (x_update_window_end): Update prototype.
9590
9591 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9592 extern, which screws up dllimport attributes.
9593
9594 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9595 up dllimport attributes.
9596
9597 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9598 screws up dllimport attributes.
9599
9600 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9601 up dllimport attributes.
9602 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9603 screws up dllimport attributes.
9604
9605 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9606 up dllimport attributes.
9607
9608 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9609 screws up dllimport attributes.
9610
9611 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9612 screws up dllimport attributes.
9613
9614 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9615 up dllimport attributes.
9616
9617 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9618 unnecessary extern, which screws up dllimport attributes.
9619 (main): Ditto.
9620
9621 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9622 up dllimport attributes.
9623
9624 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9625 unnecessary extern, which screws up dllimport attributes.
9626
9627 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9628 screws up dllimport attributes.
9629
9630 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9631 up dllimport attributes.
9632
9633 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9634
52283633
SM
9635 * w32bdf.c (search_file_line):
9636 (set_bdf_font_info):
9637 (seek_char):
9638 (w32_get_bdf_glyph):
69a7ffa7
AI
9639 (w32_BDF_to_x_font): Fix compile warnings.
9640
52283633 9641 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9642
9643 * w32select.c: Include keyboard.h before frame.h.
9644
9645 * w32fns.c (max): Define macro.
9646 (JOHAB_CHARSET): Define if not known.
9647 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9648 (Fx_show_tip): Synch with X version.
9649
9650 * w32xfns.c: Include keyboard.h before frame.h.
9651
9652 * w32fns.c: Include keyboard.h before frame.h.
9653
9654 * w32term.c: Include keyboard.h before frame.h.
9655
9656 * fontset.c: Include keyboard.h before frame.h.
9657
9658 * w32inevt.c: Include keyboard.h before frame.h.
9659 (MOUSE_MOVED): Define if not known.
9660
9661 * minibuf.c: Include keyboard.h before frame.h.
9662
9663 * keyboard.c: Include keyboard.h before frame.h.
9664
9665 * indent.c: Include keyboard.h before frame.h.
9666
9667 * dispnew.c: Include keyboard.h before frame.h.
9668
9669 * buffer.c: Include keyboard.h before frame.h.
9670
9671 * alloc.c: Include keyboard.h before frame.h.
9672
9673 * print.c: Include keyboard.h before frame.h.
9674
9675 * process.c: Include keyboard.h before frame.h.
9676
9677 * scroll.c: Include keyboard.h before frame.h.
9678
9679 * sysdep.c: Include keyboard.h before frame.h.
9680
9681 * term.c: Include keyboard.h before frame.h.
9682
9683 * window.c: Include keyboard.h before frame.h.
9684
9685 * xdisp.c: Include keyboard.h before frame.h.
9686 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9687
9688 * frame.c: Include keyboard.h before frame.h.
9689
9690 * w32heap.h: Undefine min, max.
9691
9692 * w32gui.h: Undefine min, max.
9693
9694 * unexw32.c: Change PUCHAR to PCHAR.
9695 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9696 (relocate_offset):
9697 (get_section_info):
69a7ffa7
AI
9698 (copy_executable_and_dump_data): Remove unnecessary static defs.
9699 (copy_executable_and_dump_data): Fix compile warnings.
9700
9701 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9702
9703 * w32console.c (min): Define macro.
9704 (clear_frame, write_glyphs): Fix compile warning.
9705
52283633 9706 * w32proc.c (compare_env):
69a7ffa7
AI
9707 (find_child_console): Fix compile warning.
9708
9709 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9710 sys_errlist instead of _sys_errlist.
9711 (get_emacs_configuration_options): New function.
9712
9713 * s/ms-w32.h (sys_nerr): Provide default definition.
9714 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9715 name with _ prepended.
9716 (NSIG): Define if not known.
9717 (get_emacs_configuration): Provide extern declaration.
9718 (get_emacs_configuration_options): Provide extern declaration.
9719 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9720
9721 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9722 (map_w32_filename):
69a7ffa7
AI
9723 (read_unc_volume): Fix compile warning.
9724
9725 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9726 definitions from being used.
9727
9728 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9729
52283633 9730 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9731 (open_unc_volume): Make arg const.
9732
9733 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9734 (read_input_waiting): Remove excess parameter.
9735
9736 * w32.c (init_environment): Call _access.
9737 (check_windows_init_file): Call _close.
9738 (init_user_info): Call _putenv.
9739 (init_environment): Call _putenv and _strdup.
9740 (init_ntproc): Reset volume info cache on startup.
9741
9742 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9743 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9744 cannot override the CRT malloc.
9745
9746 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9747 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9748
9749 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9750 unless we are linking with a static CRT.
9751 (RVA_TO_PTR): Cast result to unsigned char*.
9752
9753 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9754 (add_volume_info): Use xstrdup.
9755
25060080
SM
97562000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9757
9758 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9759 (do_completion, Fminibuffer_complete_word): Use it.
9760 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9761 var so it can take non-boolean values.
9762
6917e6bb
GM
97632000-08-21 Gerd Moellmann <gerd@gnu.org>
9764
acb7cc89 9765 * editfns.c (find_field): Formatting changes.
52283633 9766 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9767 changed to prototypes, some new protypes added, some functions
9768 made static.
9769
9770 * lisp.h (set_time_zone_rule): Add prototype.
9771 (use_dialog_box): External declaration.
9772
0bbfdc25
GM
9773 * keyboard.c (gen_help_event): Add parameter SIZE.
9774 (kbd_buffer_events_waiting): Slightly rewritten.
9775 (clear_event): New function.
9776 (kbd_buffer_get_event): Use it, and clear the input_events of
9777 HELP_EVENTs.
9778 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9779 don't fill the newly created array with nils.
9780 (toplevel): Convert some old-style function forward declarations
9781 to prototypes.
9782
9783 * keyboard.h (gen_help_event): Change prototype.
9784
9785 * xterm.c (XTread_socket): Change calls to gen_help_event.
9786
9787 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9788
6917e6bb
GM
9789 * eval.c (Fmacroexpand): Doc fix.
9790
e5cd3d11
JR
97912000-08-20 Jason Rumney <jasonr@gnu.org>
9792
9793 * w32term.h (x_display_info_for_display): Remove as this function
9794 does not exist on W32.
9795
9796 * w32term.c (help_echo_window): New variable.
9797 (syms_of_w32term): staticpro it.
9798 (note_mode_line_highlight): Set it.
9799 (XTextExtents16): Removed as there is no equivalent on W32.
9800 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9801 the X way of doing this will not work for W32.
9802 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9803 (x_draw_image_foreground): Avoid drawing outside of the clip area
9804 when image doesn't have a mask.
9805 (note_mouse_highlight): Process overlays in the right order of
9806 priority. Set help_echo_window.
9807 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9808 because that's more visible for large images.
9809
9810 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9811 name to single_keymap_panes.
9812 (w32_menu_show): Set wv->title when dealing with titles.
9813 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9814
6e69ab8c
MB
98152000-08-21 Miles Bader <miles@gnu.org>
9816
9817 * minibuf.c (do_completion): Try again if we rewrite the input
9818 string, but no completion was done, so that any completion message
9819 will be correct.
9820
511bd4eb
GM
98212000-08-20 Gerd Moellmann <gerd@gnu.org>
9822
9823 * xfaces.c (lface_equal_p): Compare strings differently.
9824 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9825 (realize_tty_face): Use them.
9826 (syms_of_xfaces): Initialize new variables.
9827 (map_tty_color): New function, extracted from realize_tty_face.
9828 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9829 foreground or background color, store the new color name in the
9830 realized face; previous code trying to do this had no effect.
9831 (realize_tty_face): Use map_tty_color.
9832 (Fclear_face_cache): Set face_change_count and ensure thorough
9833 redisplay.
9834
1433385f
GM
98352000-08-19 Gerd Moellmann <gerd@gnu.org>
9836
511bd4eb
GM
9837 * undo.c (record_first_change, record_marker_adjustment): Don't
9838 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9839
419ac0a2
KH
98402000-08-18 Kenichi Handa <handa@etl.go.jp>
9841
9842 * coding.c (decode_coding_string): Set members consumed,
9843 consumed_char, produced, produced_char of *coding correctly. If
9844 decode_coding doesn't consume any byte, don't try anymore.
9845 (encode_coding_string): Likewise.
9846
7eb9e30d
GM
98472000-08-18 Gerd Moellmann <gerd@gnu.org>
9848
511bd4eb
GM
9849 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9850 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9851
9852 * xdisp.c (redisplay_internal): Compare windows for equality with
9853 EQ, instead of applying XWINDOW to something that might not
9854 be a window.
52283633 9855
dd34a735
KH
98562000-08-18 Kenichi Handa <handa@etl.go.jp>
9857
9858 * fontset.c (Finternal_char_font): Search only the selected frame
9859 for a window of the current buffer.
9860
385ff9e3
GM
98612000-08-18 Gerd Moellmann <gerd@gnu.org>
9862
511bd4eb 9863 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9864 Lisp_Objects.
9865
385ff9e3
GM
9866 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9867 second half of a HELP_EVENT is found at the start of kbd_buffer.
9868
d6abb4c7
MB
98692000-08-18 Miles Bader <miles@gnu.org>
9870
4618074a
MB
9871 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9872
d6abb4c7
MB
9873 * editfns.c (save_restriction_save): Rewrite to use markers.
9874 (save_restriction_restore): Rewrite to understand new form of data
9875 saved by save_restriction_save.
9876 (Fsave_restriction): Remove cautionary note in doc-string.
9877
a7b28523
GM
98782000-08-17 Gerd Moellmann <gerd@gnu.org>
9879
9880 * fileio.c (build_annotations): Add a comment explaining the
9881 return value of format-annotate-function. Replace a spurious call
9882 to Flength with a CONSP test. Call format-annotate-function with
9883 a fifth arg specifying how many times the function is been called
9884 in a row, to let it choose temporary buffers appropriately.
9885
03c9ed77
DL
98862000-08-17 Dave Love <fx@gnu.org>
9887
9888 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9889 declare make_temp_name twice.
9890
52283633 9891 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9892 (unreadpure): Give it an arg.
9893
9894 * unexalpha.c: Prototype fatal_unexec, mark_x,
9895 update_dynamic_symbols. Declare unexec as void.
9896
9897 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9898 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9899
9900 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9901 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9902
9903 * alloca.c: Use #error.
9904 [POINTER_TYPE]: Use it.
9905
9906 * eval.c (Fdefvar): Doc fix.
9907
9908 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9909 INITIALIZE_INTERVAL.
9910
9911 * buffer.h: Avoid DECLARE_INTERVALS.
9912
9913 * config.in: Add size_t.
9914
aae41d97
EZ
99152000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9916
9917 * w16select.c (set_clipboard_data): If there's not enough memory
9918 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9919 expects. In case of other failures, return 3.
9920 (system_error_msg): New error message.
9921 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9922 system_error_msg.
9923
65aa5e85
GM
99242000-08-16 Gerd Moellmann <gerd@gnu.org>
9925
9926 * term.c (write_glyphs): Also turn off inverse video after turning
9927 off other appearances in case TS_exit_attribute_mode is not equal
9928 to TS_end_standout_mode.
9929 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9930 with the same face.
9931 (turn_off_face): Reset standout_mode only if
9932 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9933 is equal to TS_end_standout_mode.
9934
ece23901
KH
99352000-08-16 Kenichi Handa <handa@etl.go.jp>
9936
9d7bcb2e
KH
9937 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9938 sequence at the end of the source block.
9939
ece23901
KH
9940 * ccl.c (Fccl_program_p): Docstring modified.
9941 (Fccl_execute): Likewise.
9942 (Fccl_execute_on_string): Likewise.
9943
5e30eaa2
EZ
99442000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9945
9946 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9947
290602fd
KH
99482000-08-16 Kenichi Handa <handa@etl.go.jp>
9949
9950 The following changes are mainly to fix bugs of
9951 encode/decode-coding-string failing if encoding/decoding return
9952 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9953 variable conversion_buffer.
9954
9955 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9956 decrement dst_end to avoid buffer overflow in the later call of
9957 string_as_multibyte
9958
9959 * coding.h (conversion_buffer_size, conversion_buffer)
9960 (get_conversion_buffer): Extern deleted.
9961
9962 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9963 (conversion_buffer, conversion_buffer_size): Variables deleted.
9964 (get_conversion_buffer): Function deleted.
9965 (struct conversion_buffer): New structure.
9966 (MAX_ALLOCA): New macro.
9967 (allocate_conversion_buffer): New macro.
9968 (extend_conversion_buffer, free_conversion_buffer): New functions.
9969 (ccl_coding_driver): Set coding->result.
9970 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9971 this is the last block of source.
9972 (encode_coding): Likewise. Handle the source block as the last
9973 one only when the whole source text is consumed.
9974 (decode_coding_string): Handle the case that the output buffer is
9975 too small to decode the whole source text. Use
9976 allocate_conversion_buffer, extend_conversion_buffer and
9977 free_conversion_buffer, not get_conversion_buffer.
9978 (encode_coding_string): Likewise.
9979 (init_coding): Function deleted.
52283633 9980 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9981
9982 * emacs.c (main): Don't call init_coding.
9983
52283633 9984 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9985
9986 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9987 (insert_glyphs): Likewise.
9988
9989 * w32console.c (write_glyphs): Use a locally declared
9990 conversion_buffer.
9991
b9f80d41
EZ
99922000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9993
9994 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9995 member of display_info is NULL.
9996
32dc52f7
GM
99972000-08-15 Gerd Moellmann <gerd@gnu.org>
9998
52283633 9999 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 10000
32dc52f7 10001 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 10002 appearances with capability `me'.
32dc52f7
GM
10003 (write_glyphs): Switch on inverse video before each face change.
10004
4eb22d33
DL
100052000-08-14 Dave Love <fx@gnu.org>
10006
10007 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
10008 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
10009 (lisp_free): Declare and make static.
10010
10011 * window.c: Fix embedded comment.
10012 (syms_of_window): Fix doc string.
10013
90cbf47e
GM
100142000-08-14 Gerd Moellmann <gerd@gnu.org>
10015
52283633 10016 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
10017 make sure to print `C-' before `M-', like in the manual.
10018
440fc135
GM
100192000-08-11 Gerd Moellmann <gerd@gnu.org>
10020
10021 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
10022 since they aren't relocated anymore.
52283633 10023 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
10024
10025 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 10026 partially visible line which is smaller than the window's height.
440fc135 10027
6e264fad
KH
100282000-08-11 Kenichi Handa <handa@etl.go.jp>
10029
10030 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 10031 the multibyte form of eight-bit-control characters.
6e264fad
KH
10032 (Fccl_execute_on_string): Initialize ccl->multibyte.
10033
10034 * ccl.h (struct ccl_program): New member multibyte.
10035
10036 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
10037
c371f69a
KH
100382000-08-11 Kenichi Handa <handa@etl.go.jp>
10039
10040 * regex.c (regex_compile) <normal_char>: Pay attention to
10041 multibyteness.
10042 (analyse_first) <exactn>: Setup fastmap correctly for
10043 eight-bit-control characters.
10044
100452000-08-11 Kenichi Handa <handa@etl.go.jp>
10046
52283633 10047 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
10048
10049 * keyboard.c (make_lispy_event): Handle the new event type
10050 multibyte_char_keystroke.
10051
10052 * xterm.c: Include coding.h.
10053 (XTread_socket): Work around a bug of XmbLookupString. If the
10054 input is from XIM, decode it according to the current locale. In
10055 that case, generate multibyte_char_keystroke events.
10056
b8ddbe71
KH
100572000-08-11 Kenichi Handa <handa@etl.go.jp>
10058
10059 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
10060 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
10061
47589c8c
GM
100622000-08-10 Gerd Moellmann <gerd@gnu.org>
10063
10064 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
10065 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
10066 (move_it_in_display_line_to): Record iterator's ascent and descent
10067 before producing glyphs, and restore them when we know the glyph
10068 doesn't fit on the line.
10069 (move_it_to): Restructured so that it's easier to debug. If
10070 moving to a vpos, and not moving to an x or character position,
10071 stop as soon as the specified vpos is reached; don't move further
10072 into that line because that might change the computed line height.
10073 (try_cursor_movement): New function, extracted from the cursor
10074 movement branch of redisplay_window. If ending on a partially
10075 visible line, don't try to scroll if the cursor line is taller
10076 than the window.
10077 (redisplay_window): Use try_cursor_movement.
10078
10079 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
10080 because that function doesn't cope with variable-height lines.
10081
10082 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
10083 box cursor because that's better visible for large images.
52283633 10084
c51bacd6
MB
100852000-08-10 Miles Bader <miles@gnu.org>
10086
10087 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
10088
bea56df7
GM
100892000-08-10 Gerd Moellmann <gerd@gnu.org>
10090
10091 * xdisp.c (Vmessages_buffer_name): New variable.
10092 (message_dolog): Use it.
10093 (syms_of_xdisp): Initialize it.
10094
99cd7364
EZ
100952000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
10096
52283633 10097 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
10098 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
10099 redundant now that keyboard.h is included.
10100
7d093d56
EZ
101012000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
10102
10103 * keyboard.c (kbd_buffer_events_waiting): New function.
10104
10105 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
10106
10107 * msdos.c: Include keyboard.h.
10108 (XMenuActivate): Empty no_event events from the event buffer. If
10109 no events are left after that, call clear_input_pending.
10110 (mouse_clear_clicks): New function, code moved from mouse_init.
10111 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
10112 mouse driver to ``forget'' any past clicks.
10113
10114 * Makefile.in (msdos.o): Depend on keyboard.h.
10115
41e757a6
GM
101162000-08-09 Gerd Moellmann <gerd@gnu.org>
10117
8e7bd231
GM
10118 * lisp.h (input_pending): External declaration.
10119
10120 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 10121
8e7bd231
GM
10122 * xdisp.c (echo_area_display): Display thoroughly if input is
10123 pending. Bind redisplay-dont-pause to t during the redisplay.
10124 in case input is pending.
10125
10126 * dispnew.c (Qredisplay_dont_pause): New variable.
10127 (syms_of_display): Initialize and staticpro it.
10128 (update_frame_1): Don't interrupt the display for pending input if
10129 redisplay_dont_pause is set.
52283633 10130
43028b7e
GM
10131 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
10132
41e757a6
GM
10133 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10134
2f2174fa
KH
101352000-08-09 Miles Bader <miles@lsi.nec.co.jp>
10136
10137 * callproc.c (Fcall_process): Terminate the unwind-protect around
10138 the post-read-conversion of coding system.
10139
0a6fd67e
MB
10140 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
10141 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
10142 * buffer.h (overlays_at): Update prototype.
10143 * xdisp.c (next_overlay_change): Update call to overlays_at.
10144 * xfaces.c (face_at_buffer_position): Likewise.
10145 * textprop.c (Fget_char_property): Likewise.
10146 * xterm.c (note_mouse_highlight): Likewise.
10147
0c80756e
MB
10148 * minibuf.c (do_completion): Don't consider a simple change of
10149 case as `completion'.
10150
975f250a
KR
101512000-08-08 Ken Raeburn <raeburn@gnu.org>
10152
52283633 10153 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
10154 * undo.c (record_delete): Make sure last_point_position_buffer is
10155 a buffer before comparing pointers.
10156
10157 * coding.h (decode_coding_string): Declare.
10158
10159 * intervals.h (Fprevious_single_char_property_change): Declare.
10160
10161 * textprop.c (Fprevious_single_char_property_change): Don't do
10162 arithmetic directly on lisp objects.
10163
52283633 10164 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
10165
10166 * keyboard.h (menu_item_eval_property): Declare.
10167
10168 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10169 reuse as buffer name, instead of recreating (and discarding) every
10170 time a message is logged.
10171 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
10172 (current_message_1, truncate_message_1, set_message_1)
10173 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10174 (current_message, truncate_echo_area, display_echo_area)
10175 (resize_echo_area_axactly): Changed calls.
b347b3fd 10176
975f250a 10177 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 10178 Lisp object.
975f250a 10179 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 10180 must be an integer, not a Lisp object.
975f250a 10181
46dc9912
KH
101822000-08-08 Kenichi Handa <handa@etl.go.jp>
10183
10184 * charset.c (Fchar_width): Doc fix.
10185
9f6d1a6c
GM
101862000-08-08 Gerd Moellmann <gerd@gnu.org>
10187
10188 * charset.c (Fstring_width): Doc fix.
10189
ff3d9573
GM
101902000-08-07 Gerd Moellmann <gerd@gnu.org>
10191
41e757a6 10192 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
10193 line, clear ascent and descent members of the iterator structure;
10194 the height of the continued line does not affect the height of the
10195 continuation line.
10196 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10197 line taller than the window.
10198 (redisplay_window) <forced window start>: Handle case that the
10199 middle of the window is not found in any row.
10200 (dump_glyph_row): Show more information.
10201 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10202 first text line in a glyph matrix.
10203
10204 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10205 of the clip area when image doesn't have a mask.
10206
70fc58b3
GM
10207 * fns.c (sweep_weak_table): Fix survival conditions for
10208 key-or-value and key-and-value weakness.
10209
10210 * .gdbinit (xhashtable): New command.
10211
ac0e96ee
GM
10212 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10213 tables out of the list of all weak hash tables.
10214
ff3d9573
GM
10215 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10216 a new buffer is created, make sure echo_area_buffer[] references
10217 the new buffer.
10218
e0d8827b
EZ
102192000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10220
10221 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10222 the doc string.
10223
c6f35378
KH
102242000-08-07 Kenichi Handa <handa@etl.go.jp>
10225
10226 * syntax.c (skip_chars): Fix previous change. Make the handling
10227 of unibyte string consistent with that of regex search.
10228
1fd4c450
GM
102292000-08-05 Gerd Moellmann <gerd@gnu.org>
10230
e49aa397
GM
10231 * xmenu.c (popup_get_selection): Use xfree instead of free.
10232
10233 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10234
10235 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10236
10237 * callproc.c (child_setup): Use xfree instead of free.
10238
10239 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10240 instead of malloc.
10241 (run_mac_command, closedir): Use `xfree' instead of `free'.
10242
10243 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10244
10245 * eval.c (error): Use xfree instead of free.
10246
1fd4c450
GM
10247 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10248
10249 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10250 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10251
82d497fc
KH
102522000-08-05 Kenichi Handa <handa@etl.go.jp>
10253
10254 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10255 conversion.
10256
59f953a2
NF
102572000-08-04 Noah Friedman <friedman@splode.com>
10258
10259 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10260 docstring.
10261
688351f2
GM
102622000-08-04 Gerd Moellmann <gerd@gnu.org>
10263
10264 * syntax.c (skip_chars): Fix typo in error message.
10265
2dad51cc
AS
102662000-08-04 Andreas Schwab <schwab@suse.de>
10267
10268 * m/ia64.h: Moved from s/ia64.h.
10269
99bb2c60
KH
102702000-08-04 Kenichi Handa <handa@etl.go.jp>
10271
082a1df2
KH
10272 * process.c (read_process_output): Big simplification. Handle
10273 composition and post-read-conversion of coding system correctly.
10274 (send_process): Handle composition correctly.
10275
10276 * callproc.c (Fcall_process): Handle post-read-conversion of
10277 coding system if any.
10278
99bb2c60
KH
10279 * coding.c (decode_coding_iso2022): More strict check for handling
10280 single shifting.
082a1df2
KH
10281 (coding_restore_composition): Pay attention to the case that
10282 cmp_data is not set properly (because of invalid code in the
10283 source text).
10284 (run_pre_post_conversion_on_str): Include text properties in the
10285 resulting string.
10286 (decode_coding_string): Set members of coding correctly.
99bb2c60 10287
f4988be7
GM
102882000-08-03 Gerd Moellmann <gerd@gnu.org>
10289
10290 * s/ia64.h: New file.
10291
10292 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10293 Use NULL instead of 0 at the end of variable argument list of
10294 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10295 sizeof (int) < sizeof (void *).
10296
10297 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10298 of variable argument lists of XtVaGetValues and XtVaSetValues.
10299
10300 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10301 variable argument lists of XtVaGetValues and XtVaSetValues.
10302
ead53494
GM
103032000-08-02 Gerd Moellmann <gerd@gnu.org>
10304
10305 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10306 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10307
10308 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10309 prototype.
10310
10311 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10312 in call to Fsingle_key_description.
10313
10314 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10315 Callers changed.
10316
103172000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10318
10319 * window.c (display_buffer_reuse_frames): New variable.
10320 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10321 frames displaying BUFFER.
52283633 10322 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10323
10b0f752
MB
103242000-08-01 Miles Bader <miles@gnu.org>
10325
10326 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10327 when to constrain NEW_POS (they were pretty screwed up before).
10328
16425c4a
EZ
103292000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10330
10331 * msdos.c (run_msdos_command): Save and restore the master
10332 environment, for the case that child_setup signals an error.
10333 When mirroring slashes in DOS shell commands, don't fail when
10334 argv[2] has embedded blanks.
da288c14
EZ
10335 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10336 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10337 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10338
10339 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10340 using alloca; free it after run_msdos_command returns.
10341
27f73852
DL
103422000-07-27 Dave Love <fx@gnu.org>
10343
52283633
SM
10344 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10345 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10346
10347 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10348
c0261b5e
EZ
103492000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10350
10351 * editfns.c (lisp_time_argument): Fix last change.
10352
b548072f
GM
103532000-07-27 Gerd Moellmann <gerd@gnu.org>
10354
3ab82477
GM
10355 * fns.c (Fdelete): Make it work on vectors and strings in addition
10356 to lists.
10357
b548072f
GM
10358 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10359 (syms_of_fns): Initialize new variables.
52283633 10360 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10361 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10362 weakness, with t meaning the same as `key-and-value'.
10363
91ae8751
KH
103642000-07-27 Kenichi Handa <handa@etl.go.jp>
10365
10366 * coding.h (struct coding_system): Member safe_charset deleted.
10367
10368 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10369 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10370 New variables.
91ae8751
KH
10371 (coding_safe_chars): New function.
10372 (CODING_SAFE_CHAR_P): New macro.
10373 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10374 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10375 (detect_coding_iso2022): New local variable safe_chars.
10376 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10377 safe_charsets member of the coding system.
10378 (decode_coding_iso2022): New local variable safe_chars.
10379 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10380 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10381 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10382 (ENCODE_UNSAFE_CHARACTER): New macro.
10383 (encode_coding_iso2022): New local variable safe_chars. Check
10384 unsafe chars.
10385 (setup_coding_system): Delete the code to initialize
10386 coding->safe_charses
10387 (intersection, find_safe_codings): New functions.
10388 (Ffind_coding_systems_region_internal): New function.
10389 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10390 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10391 variable and initialize it.
10392
10393 * fns.c (char_table_ref_and_index): New function.
10394
10395 * lisp.h (char_table_ref_and_index): Add prototype.
10396
34a7a267
SS
103972000-07-26 Sam Steingold <sds@gnu.org>
10398
10399 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10400 (Ffloat_time): New built-in Lisp function.
34a7a267 10401
a95cb10a
GM
104022000-07-26 Gerd Moellmann <gerd@gnu.org>
10403
3353ef5a
GM
10404 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10405 for the character code.
10406
10407 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10408 GNU/Linux.
10409
a95cb10a
GM
10410 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10411 if called for a popup menu.
10412 (xmenu_show): Store help string in widget values.
10413
b4a12321
DL
104142000-07-26 Dave Love <fx@gnu.org>
10415
10416 * syswait.h: Move some definitions.
10417 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10418 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10419 perspicuous definitions.
10420 (WTERMSIG): Fix bit pattern used.
10421
13f5ad37
KH
104222000-07-26 Kenichi Handa <handa@etl.go.jp>
10423
10424 * print.c (print_object): If vector printing is truncated, print
10425 "..." to indicate it as well as the case of list printing.
10426
070fe99c
GM
104272000-07-25 Gerd Moellmann <gerd@gnu.org>
10428
969065c3
GM
10429 * xdisp.c (next_element_from_display_vector): Improve comments.
10430
10431 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10432 for the character code, and the rest for the face id as in 20.x.
10433 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10434
10435 * window.c (window_display_table): Cleaned up.
10436
070fe99c
GM
10437 * syntax.c (Fforward_word): Add last arg nil in call of
10438 Fconstrain_to_field.
10439
bad77ef7
EZ
104402000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10441
969065c3 10442 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10443 identical but for the letter-case, don't call
10444 barf_or_query_if_file_exists.
bad77ef7 10445
c28da489
MB
104462000-07-25 Miles Bader <miles@gnu.org>
10447
10448 * editfns.c (find_field): Honor special `boundary' fields.
10449 (Qboundary): New variables.
10450 (syms_of_editfns): Initialize Qboundary.
10451 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10452 Use scan_buffer instead of find_before_next_newline, because it
10453 allows us to detect the boundary case where there's a newline at
10454 the search limit.
10455 * lisp.h (Fconstrain_to_field): Update external declaration.
10456
e3c31fd5
GM
104572000-07-24 Gerd Moellmann <gerd@gnu.org>
10458
10459 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10460 if that is nil.
c28da489 10461
c66c29a2
DL
104622000-07-24 Dave Love <fx@gnu.org>
10463
10464 * s/sunos4-0.h, s/sol2.h:
10465 (LIBS_TERMCAP): Move from m/sparc.h.
10466
10467 * m/sparc.h (TERMINFO): Moved to system files (probably only
10468 relevant for sunos4 judging by its vintage).
10469 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10470 __arch64__.
10471
fbe0a958
EZ
104722000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10473
10474 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10475 name to single_keymap_panes.
10476
7d88e5c9
AS
104772000-07-24 Andreas Schwab <schwab@suse.de>
10478
10479 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10480
e024b101
GM
104812000-07-24 Gerd Moellmann <gerd@gnu.org>
10482
10483 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10484 parameters instead of using int parameters. Expect FN to accept
10485 EMACS_INT parameters.
10486 (display_echo_area, resize_echo_area_axactly, current_message)
10487 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10488 with new argument list.
10489 (resize_mini_window_1): New callback function.
10490 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10491 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10492
25c1a9ce
KH
104932000-07-24 Kenichi Handa <handa@etl.go.jp>
10494
10495 * fontset.c (fontset_ref): Remove INLINE declaration.
10496 (fontset_ref_via_base): Likewise.
10497 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10498 to downcase.
10499
7f987ac0
EZ
105002000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10501
10502 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10503 correct order of priority. If help echo was found in an overlay,
10504 use that overlay as the object in which the help echo was found.
10505
e2db3069
MB
105062000-07-22 Miles Bader <miles@gnu.org>
10507
10508 * textprop.c (Fprevious_single_char_property_change): The initial
10509 property value should be from the position preceding POSITION, not
10510 following it.
10511
5e3203e4
EZ
105122000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10513
10514 * coding.c (syms_of_coding): Doc fix for
10515 inhibit-iso-escape-detection.
10516
62145073
GM
105172000-07-21 Gerd Moellmann <gerd@gnu.org>
10518
c20aeb83
GM
10519 * xterm.c (note_mouse_highlight): Process overlays in the right
10520 order of priority.
34a7a267 10521
743934db
GM
10522 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10523
10524 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10525 overlay, use that overlay as the object in which the help was found.
743934db 10526
d1dc7e43 10527 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10528
62145073
GM
10529 * window.c (foreach_window): Instead of a fake variable argument
10530 list, take one USER_DATA argument.
10531 (foreach_window_1): Likewise, and call callback functions with two
10532 args, the window and USER_DATA.
10533 (struct check_window_data): New struct.
10534 (check_window_containing): Use it.
10535 (window_from_coordinates): Set up a struct check_window_data for
10536 foreach_window.
10537 (add_window_to_list, freeze_window_start): Change parameters
10538 according to new calling convention.
10539
10540 * window.h (foreach_window): Change prototype.
10541
10542 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10543
105442000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10545
10546 * xmenu.c (menu_help_callback): Call show_help_echo with
10547 additional arguments OBJECT and POS.
10548
11270583
KH
105492000-07-21 Kenichi Handa <handa@etl.go.jp>
10550
07b14857
KH
10551 * data.c (Faset): Allow storing any multibyte character in a
10552 string. Convert unibyte string to multibyte if necessary.
10553
11270583
KH
10554 * xfns.c (x_encode_text): New function.
10555 (x_set_name): Use x_encode_text.
10556 (x_set_title): Likewise.
10557
10558 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10559
10560 * xterm.h (x_encode_text): Add prototype.
10561
bc75b4fd
DL
105622000-07-20 Dave Love <fx@gnu.org>
10563
10564 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10565 xfree, not free.
10566
48c14970
EZ
105672000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10568
10569 * msdos.c (help_echo_window): New variable.
10570 (syms_of_msdos): Initialize and staticpro it.
10571 (IT_note_mode_line_highlight): Set help_echo_window.
10572 (IT_note_mouse_highlight): Ditto.
10573 (dos_rawgetc): Store help_echo_window in the second event produced
10574 for HELP_EVENTs.
10575
10576 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10577 Record the object that generated the help echo and the position of
10578 that object in help_echo_object and help_echo_pos. Record that
10579 some glyphs in a row are displayed in mouse-face.
10580 (IT_update_begin): Don't clear mouse highlight unless one of the
10581 enabled glyph rows is marked as being displayed in mouse-face.
10582 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10583 and position recorded in help_echo_object and help_echo_pos to the
10584 event queue.
10585 (IT_menu_display): Accept a new argument PN: the pane number of
10586 the current menu pane. Record the pane number and the item
10587 number of the item which has associated help string.
10588 (XMenuActivate): Update the prototype for help_callback in
10589 function declaration. Call IT_menu_display with the current menu
10590 pane number as an additional argument. Call help_callback with
10591 two additional arguments: the pane number and the item number of
10592 the menu item associated with the help text.
10593 (help_echo_object, help_echo_pos): New variables.
10594 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10595
10596 * msdos.h (XMenuActivate): Update prototype.
10597
4279296d
GM
105982000-07-19 Gerd Moellmann <gerd@gnu.org>
10599
47db06aa
GM
10600 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10601 Add some more prototypes.
10602
10603 * xterm.c, xterm.h: Add some more prototypes.
10604
10605 * lisp.h (Fnext_single_char_property_change): Add prototype.
10606
10607 * dispnew.c (direct_output_for_insert): Remove confusing
10608 outer local variable mouse_face_overwritten_p.
10609 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10610
4279296d
GM
10611 * alloc.c (allocate_string_data): Don't copy old string contents.
10612
670acd62
KH
106132000-07-19 Kenichi Handa <handa@etl.go.jp>
10614
10615 * coding.c (code_convert_region): Delete text properties before
10616 shrinking the conversion region.
10617
7cea38bc
GM
106182000-07-18 Gerd Moellmann <gerd@gnu.org>
10619
dc1cac59
GM
10620 * dispnew.c (update_text_area): Write the whole row if it
10621 has mouse-face in it.
10622
85a8aca9
GM
10623 * xfaces.c (face-alternative-font-family-alist): Remove
10624 DEFVAR_LISP; staticpro instead.
10625
34a7a267 10626 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10627 new arguments.
10628
10629 * keyboard.c (show_help_echo): Add parameter WINDOW.
10630 (read_char): Call show_help_echo with window extracted from Lisp
10631 help event.
10632 (gen_help_event): Add parameter WINDOW.
10633
10634 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10635
10636 * xterm.c (help_echo_window): New variable.
52283633 10637 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10638 (XTread_socket): Pass help_echo_window to gen_help_event.
10639 (syms_of_xterm): Initialize and staticpro help_echo_window.
10640
f8276b77
DL
106412000-07-18 Dave Love <fx@gnu.org>
10642
52283633 10643 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10644
088831a6
GM
106452000-07-18 Gerd Moellmann <gerd@gnu.org>
10646
3d6cd763
GM
10647 * alloc.c (allocate_string_data): If string had already data
10648 assigned, copy old contents to new string data.
10649
10650 * coding.c (syms_of_coding): Fix typo in spelling of variable
10651 `inhibit-iso-escape-detection'.
10652
088831a6
GM
10653 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10654
10655 * Makefile.in: Add dependencies on dispextern.h.
10656 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10657 `free'; both can conflict with system header files.
10658
bc8a8d55
KH
106592000-07-18 Kenichi Handa <handa@etl.go.jp>
10660
10661 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10662 undefined.
10663
069f5950
DL
106642000-07-18 Dave Love <fx@gnu.org>
10665
10666 * window.c (Fwindow_list): Declare arg `window'.
10667
aa96c820
KH
106682000-07-18 Kenichi Handa <handa@etl.go.jp>
10669
10670 * coding.c (setup_coding_system): Don't override the explicitly
10671 specified designations.
10672
06be8d32
MB
106732000-07-15 Miles Bader <miles@gnu.org>
10674
10675 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10676 from `text_property_eq' and `text_property_stickiness', respectively.
10677 (find_field, Fconstrain_to_field, char_property_eq)
10678 (char_property_stickiness): Changed to call char-property functions
10679 instead of text-property-only ones.
10680
10681 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10682 `next_single_char_property_change'). Do more error checking, and
10683 cleanup limit behavior.
10684 (Fprevious_single_char_property_change): New function.
10685 (syms_of_textprop): Initialize new subrs.
10686
10687 * xdisp.c (display_prop_end, invisible_text_between_p):
10688 Call Fnext_single_char_property_change instead of
10689 next_single_char_property_change.
10690
3fddcdc3
JR
106912000-07-15 Jason Rumney <jasonr@gnu.org>
10692
10693 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10694 after menu is finished with.
10695 (add_menu_item): Only consider wv->title as a menu title.
10696 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10697
10698 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10699 null title.
10700 (FONT_REGEXP): Remove unused macro, and its sub-components.
10701 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10702
10703 * w32term.c (help_echo_object, help_echo_pos): New variables.
10704 (note_mode_line_highlight): Store additional information about the
10705 help-echo in help_echo_object and help_echo_pos. Check both
10706 `local-map' and `keymap' properties for changing the cursor
10707 (note_mouse_highlight): Store additional information about the
10708 help-echo in help_echo_object and help_echo_pos.
10709 (note_tool_bar_highlight): Set help_echo_object to nil and
10710 help_echo_pos to -1.
10711 (w32_read_socket): Use gen_help_event instead of filling
10712 input_events manually.
10713 (syms_of_w32term): Staticpro help_echo_object.
10714 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10715 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10716 (x_clear_mouse_face): New function.
10717 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10718 (x_update_window_begin): No need to turn off the mouse
10719 highlight here.
10720 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10721 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10722 (x_fill_stretch_glyph_string): Consume runs of stretch
10723 glyphs instead of a single one.
10724 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10725 with new argument list.
10726 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10727 (x_append_glyph, x_append_composite_glyph)
10728 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10729 changes in struct glyph starting 1999-12-27. See comments for
10730 xterm.c on 2000-07-05.
10731
178c5d9c
SS
107322000-07-14 Sam Steingold <sds@gnu.org>
10733
10734 * xfaces.c (realize_x_face): Fix the last patch:
10735 check `default_face' before dereferencing.
10736
6fe533f6
DL
107372000-07-14 Dave Love <fx@gnu.org>
10738
069f5950 10739 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10740
dd7b81cf
KH
107412000-07-14 Kenichi Handa <handa@etl.go.jp>
10742
0693904a 10743 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10744 default_face's fontset, not using the default fontset.
0693904a 10745
dd7b81cf
KH
10746 * coding.c (inhibit_iso_escape_detection): New variable.
10747 (syms_of_coding): Make it a Lisp variable.
10748 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10749 nonzero, ignore ISO2022's escape sequence.
10750
d5aa31d8
GM
107512000-07-14 Gerd Moellmann <gerd@gnu.org>
10752
e5acf0ca
GM
10753 * alloca.c (malloc) [emacs]: Define as xmalloc.
10754
bd23a692
GM
10755 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10756 use that instead of the mouse position. Add parameters DX and DY.
10757
10758 * dispextern.h (Fx_show_tip): Adjust number of parameters
10759 in prototype.
10760
9662da0b
GM
10761 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10762 if HELP is a function, call it with OBJECT and POS as parameters
10763 to get the help to display.
10764 (gen_help_event, kbd_buffer_store_help_event): New functions.
10765 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10766 (read_char): Call show_help_echo with new parameters.
10767
178c5d9c 10768 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10769 Add prototypes.
10770
10771 * xterm.c (help_echo_object, help_echo_pos): New variables.
10772 (note_mode_line_highlight): Store additional information about the
10773 help-echo in help_echo_object and help_echo_pos. Check both
10774 `local-map' and `keymap' properties for changing the cursor
10775 (note_mouse_highlight): Store additional information about the
10776 help-echo in help_echo_object and help_echo_pos.
10777 (note_tool_bar_highlight): Set help_echo_object to nil and
10778 help_echo_pos to -1.
10779 (XTread_socket): Use gen_help_event instead of filling
10780 input_events manually.
10781 (syms_of_xterm): Staticpro help_echo_object.
10782
10783 * xmenu.c (menu_highlight_callback): Use
10784 kbd_buffer_store_help_event instead of setting up and input_event
10785 structure manually.
10786
10787 * xdisp.c (eval_form): GCPRO argument sexpr.
10788 (call_function): New function.
10789 (handle_single_display_prop): Use call_function and FUNCTIONP
10790 instead of checking whether if font_height is a symbol and
10791 using eval_form.
10792
10793 * eval.c (internal_condition_case_2): New function.
10794
10795 * lisp.h (FUNCTIONP): New macro.
10796 (internal_condition_case_2, call_function): Add prototypes.
10797
d5aa31d8
GM
10798 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10799 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10800 Always set `arg' member of input_events.
10801 (construct_menu_click): Unused function removed.
10802
10803 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10804
10805 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10806 (construct_drag_n_drop, x_scroll_bar_handle_click)
10807 (w32_read_socket): Always set `arg' member of input_events.
10808
10809 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10810
10811 * lisp.h (eval_form): Add prototype.
10812
10813 * xdisp.c (eval_form): Make it externally visible.
10814
0f1a9b23
GM
108152000-07-13 Gerd Moellmann <gerd@gnu.org>
10816
10817 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10818 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10819 consing. For prefix events, store the frame in the `arg' slot of
10820 the event, otherwise store the key there.
10821 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10822 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10823
10824 * xmenu.c (menu_highlight_callback): Store help string in the
10825 `arg' member of the input event; don't cons.
10826 (menubar_selection_callback): Use the `arg' slot of input events
10827 to queue additional information, instead of consing.
10828
10829 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10830
10831 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10832 TOOL_BAR_EVENTs.
10833 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10834
10835 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10836 input events to queue additional information, instead of consing.
10837
10838 * keyboard.c (kbd_buffer_gcpro): Renamed from
10839 kbd_buffer_frame_or_window. Now used for all Lisp objects
10840 referenced from the input queue.
10841 (kbd_buffer_store_event): Always use structure assignment for
10842 copying input events. Record all Lisp objects referenced from
10843 events in kbd_buffer_gcpro.
10844 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10845 differently from input events. Test for prefix menu_bar_events
10846 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10847 event in kbd_buffer_gcpro to nil.
10848 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10849 frame_or_window is equal to its arg member as prefix events.
10850 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10851 used by an input event to nil.
10852 (init_keyboard): Use two times the size of the input queue
10853 for kbd_buffer_gcpro.
10854 (syms_of_keyboard): Likewise.
10855
52283633
SM
10856 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10857 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10858
10859 * termhooks.h (struct input_event): Add member `arg'.
10860 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10861 (USER_SIGNAL_EVENT): Renamed from user_signal.
10862
10863 * xfaces.c (ASET): Remove definition.
10864
10865 * lisp.h (AREF, ASET, ASIZE): New macros.
10866
10867 * fontset.c (AREF, ASIZE): Remove definitions.
10868
10869 * fns.c (AREF): Remove definition.
178c5d9c 10870
0f1a9b23
GM
10871 * composite.c (AREF): Remove definition.
10872
712eaef2
GM
108732000-07-12 Gerd Moellmann <gerd@gnu.org>
10874
d8ee7803
GM
10875 * dispnew.c (redraw_overlapped_rows): Add missing local.
10876 (scrolling_window): Remove debug code.
10877
712eaef2
GM
10878 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10879 Before scrolling, turn off a mouse-highlight in the window
10880 being scrolled.
10881
10882 * xterm.c (x_update_window_end): Add parameter
10883 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10884 redisplay in XTframe_up_to_date.
10885 (x_clear_mouse_face): New function.
10886 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10887
10888 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10889 current glyph row.
10890 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10891 it when any row is written to that contains glyphs highlighted in
10892 mouse-face.
10893 (update_window): Call the window update end hook with new
10894 parameter MOUSE_FACE_OVERWRITTEN_P.
10895 (direct_output_for_insert): Give up if row contains mouse-face.
10896
10897 * dispextern.h (struct redisplay_interface): Add parameter
10898 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10899 (clear_mouse_face): New function pointer member.
10900
02010917
SM
109012000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10902
10903 * syntax.c (back_comment): Use one switch rather than a few `if's.
10904 Obey open_paren_in_column_0_is_defun_start.
10905 When reverting to the `slow' method, try to nicely handle the case
10906 of nested comments by checking that the comment-starter we found
10907 does indeed match the comment-ender.
10908 (scan_sexps_forward, scan_sexps_forward):
10909 Ignore excessive opening parenthesis rather than throwing an error.
10910
d76c03ea
GM
109112000-07-11 Gerd Moellmann <gerd@gnu.org>
10912
10913 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10914 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10915
10916 * dispnew.c (direct_output_forward_char): Give up if currently
10917 displaying a message instead of the minibuffer contents.
10918
10919 * xterm.c (x_update_window_begin): No need to turn off the mouse
10920 highlight here.
10921 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10922 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10923
10924 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10925 compare the mouse_face_p flags of both rows.
10926
10927 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10928
d55ead18
EZ
109292000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10930
10931 * keyboard.c (show_help_echo): Accept additional parameter
10932 ok_to_overwrite_keystroke_echo.
10933 (read_char): Call show_help_echo with a zero
10934 ok_to_overwrite_keystroke_echo argument.
52283633 10935 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10936 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10937 ok_to_overwrite_keystroke_echo argument.
10938 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10939 non-zero ok_to_overwrite_keystroke_echo argument.
10940
df75b1a3
GM
109412000-07-10 Gerd Moellmann <gerd@gnu.org>
10942
4b92c49a
GM
10943 * xdisp.c (try_window_id): If changes are all below what is
10944 displayed in the window, and point is in the window, we still
10945 might have to find point on the display.
10946
10947 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10948 glyphs instead of a single one.
10949 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10950 with new argument list.
10951 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10952
df75b1a3
GM
10953 * keymap.c (get_keymap_1): Add comment that this function can GC.
10954 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10955 comment that functions can GC.
10956 (Fset_keymap_parent): GCPRO arg KEYMAP.
10957
4314cf3e
EZ
109582000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10959
10960 * msdos.c (XMenuActivate): After exiting the menu, restore the
10961 echo area message and erase it.
10962
ab49ce15
KH
109632000-07-10 Kenichi Handa <handa@etl.go.jp>
10964
10965 * fontset.c (Ffontset_info): Make the return value more compatible
10966 with that of Emacs 20.
10967
090a072f
GM
109682000-07-07 Gerd Moellmann <gerd@gnu.org>
10969
10970 * eval.c (Fsignal): Handle case that backtrace_list is null.
10971
f92de4a6
KH
109722000-07-07 Kenichi Handa <handa@etl.go.jp>
10973
10974 * ccl.c (Fccl_execute): Typo fixed.
10975
dd8888a1
GM
109762000-07-06 Gerd Moellmann <gerd@gnu.org>
10977
e5c81191 10978 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10979
dd8888a1
GM
10980 * window.c (Fwindow_list): Reverse list at the end.
10981 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10982 means allow windows on OWINDOW's frame, only.
10983 (window_loop): Simplified; use Fwindow_list.
10984
10985 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10986
485266d0
GM
109872000-07-05 Gerd Moellmann <gerd@gnu.org>
10988
10989 * xterm.c (XTread_socket): Increment handling_signal at the start,
10990 decrement it at the end.
10991
10992 * eval.c (handling_signal): New variable.
10993 (Fsignal): Abort if handling_signal is non-zero.
10994
10995 * lisp.h (handling_signal): External declaration.
178c5d9c 10996
485266d0
GM
10997 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10998
80fcd514
KR
109992000-07-05 Ken Raeburn <raeburn@gnu.org>
11000
11001 Sound support for NetBSD through "Linux emulation" support:
11002 * config.in (HAVE_SOUNDCARD_H): Undef.
11003 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
11004 * Makefile.in (LIBSOUND): New variable.
11005 (LIBES): Include it.
52283633
SM
11006 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
11007 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
11008 (vox_open): Use DEFAULT_SOUND_DEVICE.
11009 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
11010
d5c5cddd
GM
110112000-07-05 Gerd Moellmann <gerd@gnu.org>
11012
11013 * print.c (print_error_message): If Vsignaling_function is set,
11014 show it in *Messages*.
11015
11016 * lisp.h (Vsignaling_function): External declaration.
11017
11018 * eval.c (Vsignaling_function): New variable.
11019 (Fsignal): Compute it.
11020 (syms_of_eval): Staticpro it.
11021
65171e3a
DL
110222000-07-05 Dave Love <fx@gnu.org>
11023
11024 * syswait.h: Use the autoconf recommended approach. Old code
11025 #if'd out in case we need to revert.
11026
178c5d9c 11027 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 11028
e2c46326
AI
110292000-07-05 Andrew Innes <andrewi@gnu.org>
11030
11031 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
11032 when non-NULL instead of __morecore, to take account of buffer
11033 memory. This also solves a problem with spurious memory warnings
11034 on Windows.
11035
11036 * ralloc.c: Make real_morecore non-static.
11037
11038 * eval.c (internal_condition_case): Comment out abort if
11039 interrupt_input_blocked is not zero.
11040
11041 * makefile.nt: Add support for `bootstrap' and related targets.
11042 Include minimal debug info in emacs.exe in release build.
11043 Remove all dependencies on lisp.h, and fixup some others.
11044
11045 * w32.c (init_environment): Install code from 20.7 for providing
11046 default values for environment variables, based on the
11047 executable's own location.
52283633 11048 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
11049 (sys_socket): Install socket inheritance bug fix from 20.7.
11050
11051 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
11052 here via blockinput.h).
11053
a027a91b
SM
110542000-07-05 Stefan Monnier <monnier@cs.yale.edu>
11055
e4b31601
SM
11056 * w32menu.c (w32_menu_display_help):
11057 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
11058
11059 * keyboard.h (show_help_echo): Declare.
11060
11061 * keyboard.c (show_help_echo): New function, extracted from read_char.
11062 Feval its `msg' argument if it's a cons cell.
11063 (read_char): Use it.
4cf8d9d5 11064 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 11065
178c5d9c 11066 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 11067 (note_tool_bar_highlight, XTread_socket):
178c5d9c 11068 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
11069 (dos_rawgetc):
11070 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
11071 (note_tool_bar_highlight, w32_read_socket):
11072 Do not gratuitously ignore non-string `help-echo' properties.
11073
88d75730
GM
110742000-07-05 Gerd Moellmann <gerd@gnu.org>
11075
969f7e79
GM
11076 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
11077
71201b00
GM
11078 * window.c (delete_all_subwindows): Reset Vwindow_list.
11079
88d75730
GM
11080 * xterm.c (x_append_glyph, x_append_composite_glyph)
11081 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11082 changes in struct glyph starting 1999-12-27. Some bit-fields of
11083 struct glyph were not set, which made glyphs unequal when compared
11084 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
11085 effects were the result. This also depended on the contents of
11086 memory returned by xmalloc. If flickering happens again, activate
11087 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 11088 gone with that, chances are that it is caused by something similar.
88d75730
GM
11089
11090 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 11091
88d75730
GM
11092 * dispextern.h: Add some comments.
11093
11094 * window.c (add_window_to_list): Add parameter LIST.
11095 (window_list): Order list so that, for each frame, windows are
11096 in canonical order, and so that frames appear in the list in
11097 the order given by Vframe_list.
11098 (next_window): Reverse the handling of NEXT_P.
11099
53654733
GM
111002000-07-04 Gerd Moellmann <gerd@gnu.org>
11101
87efd256
GM
11102 * window.c (Vwindow_list): New variable.
11103 (make_window, delete_window): Set Vwindow_list to nil.
11104 (check_window_containing): New function.
11105 (window_from_coordinates): Rewritten.
11106 (add_window_to_list, window_list, candidate_window_p)
11107 (decode_next_window_args, next_window): New functions.
52283633 11108 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
11109 (Fwindow_list): New function.
11110 (Fother_window): Cleaned up.
11111 (foreach_window): Add a longer "variable argument list". Let
11112 callback function return 0 to indicate that cycling over windows
11113 should stop.
11114 (foreach_window_1): Likewise.
11115 (freeze_window_start): Return int.
11116 (init_window): New function.
11117 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
11118
11119 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
11120 input_event with bzero.
11121 (main): Call init_window.
11122
53654733
GM
11123 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
11124 a menu filter.
11125
4a8c194f
KH
111262000-07-04 Kenichi Handa <handa@etl.go.jp>
11127
11128 * composite.h (make_composition_value_copy): Extern it.
11129
11130 * composite.c (make_composition_value_copy): New function.
11131
11132 * editfns.c (Fformat): While copying text properties, make each
11133 composition property value a copy.
11134
11135 * fns.c (concat): While copying text properties, make each
11136 composition property value a copy.
11137
831a6cb0
GM
111382000-07-03 Gerd Moellmann <gerd@gnu.org>
11139
2f516940
GM
11140 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
11141
178c5d9c 11142 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
11143 marked already.
11144
831a6cb0
GM
11145 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
11146 include those frames as candidates which have their focus
11147 redirected to the minibuffer frame.
11148
d9c4f922
SM
111492000-07-03 Stefan Monnier <monnier@cs.yale.edu>
11150
11151 * fns.c (Fputhash): Return `value' rather than nil.
11152
3780bc22
GM
111532000-06-30 Gerd Moellmann <gerd@gnu.org>
11154
97d176db
GM
11155 * frame.c (next_frame): Don't check focus redirection in case
11156 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
11157 unless their focus is redirected, which contradicts the
11158 specification of next-frame, and leads to infinite loops in
11159 certain situations when cycling through windows with next-window.
11160
dca9961d
KH
111612000-06-30 Kenichi Handa <handa@etl.go.jp>
11162
11163 * coding.c (code_convert_region): Even if the length of text is
11164 zero, try to convert it if coding->type is coding_type_ccl.
11165 (decode_coding_string, encode_coding_string): Likewise.
11166
d5483ab1
GM
111672000-06-28 Gerd Moellmann <gerd@gnu.org>
11168
af5c25e1 11169 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 11170 the display if windows_or_buffers_changed.
af5c25e1
GM
11171
11172 * dispnew.c (struct row_entry): New structure.
11173 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11174 (row_table_size, old_lines, new_lines, old_lines_size)
11175 (new_lines_size, run_pool, runs_size, runs): New variables.
11176 (add_row_entry): New function.
11177 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 11178 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
11179 holding them in local variables. Use a larger hash table whose
11180 size depends on glyph matrix sizes. Don't use bzero to clear the
11181 hash table; instead, clear used slots only.
11182
11183 * fns.c (next_almost_prime): Make it externally visible.
11184
11185 * lisp.h (next_almost_prime): Add prototype.
11186
d5483ab1
GM
11187 * s/isc4-0.h (sigunblock): Define.
11188
11189 * s/sco5.h (sigunblock): Define.
11190
93e40f40
DL
111912000-06-27 Dave Love <fx@gnu.org>
11192
11193 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11194 (moved to osf5-0.h).
11195 [!NOT_C_CODE]: Protect string.h stuff.
11196
11197 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11198 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11199
3c4b7685
GM
112002000-06-27 Gerd Moellmann <gerd@gnu.org>
11201
97d176db 11202 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
11203 below the last line from the needed window height.
11204
32cad0aa
SM
112052000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11206
11207 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11208 (Fwidget_get): Use it.
11209 (syms_of_fns): Defsubr it.
11210
2c69ced2
GM
112112000-06-26 Gerd Moellmann <gerd@gnu.org>
11212
178c5d9c 11213 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
11214 display info for XIM.
11215 (xim_open_dpy): Likewise.
11216 (xim_close_dpy): Don't free the display info's XIM.
11217
11218 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11219
11220 * config.in (USE_XIM): New define.
11221
3fc720e4
GM
11222 * keymap.c (get_keyelt): For menu-items containing a `:filter
11223 FILTER', apply FILTER to the menu-item's definition to get the
11224 real definition to use.
11225
11226 * lisp.h (QCfilter): External declaration.
11227
2c69ced2
GM
11228 * xfns.c (Fimage_size): New function.
11229 (syms_of_xfns): Defsubr it.
11230
f978b2a2
AS
112312000-06-26 Andreas Schwab <schwab@suse.de>
11232
11233 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11234 Fstring_as_unibyte.
11235
94cc7892
DL
112362000-06-25 Dave Love <fx@gnu.org>
11237
52283633 11238 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11239
11240 * Makefile.in (blockinput.h): Depend on atimer.h.
11241 (atimer.h): Depend on systime.h.
11242
52283633 11243 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11244
52283633 11245 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11246
11247 * lisp.h (swap_in_global_binding): Declare.
11248
b8c24556
KR
112492000-06-24 Ken Raeburn <raeburn@gnu.org>
11250
11251 * process.c (Fopen_network_stream): Turn off atimers for duration
11252 of call to connect. (Patch from Gerd.)
11253
8cf8560b
DL
112542000-06-23 Dave Love <fx@gnu.org>
11255
511c7541
DL
11256 * ralloc.c: Maybe include unistd.h
11257
8cf8560b
DL
11258 * emacs.c (setgrp): Undefine before defining.
11259 (malloc_warning, set_time_zone_rule, index): Prototype.
11260
11261 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11262 HAVE_STRUCT_TIMEZONE.
11263
11264 * s/osf1.h: Move string.h hack here from alpha.h and make it
11265 conditional.
11266 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11267 _XOPEN_SOURCE.
11268 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11269 (SOCKLEN_TYPE): Don't define.
11270
11271 * m/alpha.h: Remove string.h hack.
11272
11273 * s/osf5-0.h: New file.
11274
11275 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11276 include time.h, done by systime.h.
11277 [__FreeBSD__]: Remove redundant includes.
11278
3fc720e4 11279 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11280 (delete_temp_file): Return Qnil to avoid warning.
11281
11282 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11283
11284 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11285 HAVE_X_WINDOWS.
11286
11287 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11288
11289 * composite.h (compose_text): Declare.
11290
11291 * xterm.c: Don't include sys/types.h unconditionally. Don't
11292 protect its inclusion with !USG (following xmenu.c).
11293
ea055732
GM
112942000-06-23 Gerd Moellmann <gerd@gnu.org>
11295
11296 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11297 in x_create_frame.
11298
74b01b80
EZ
112992000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11300
11301 * coding.c (decode_eol_post_ccl): Special handling for undecided
11302 and inconsistent EOL types.
11303
64f3a166
GM
113042000-06-22 Gerd Moellmann <gerd@gnu.org>
11305
16cf31f7
GM
11306 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11307 trough color and main window's background color.
11308
52283633 11309 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11310
11311 * xterm.h (Xt_app_con): External declaration.
11312
11313 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11314
486a103d
GM
11315 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11316
64f3a166
GM
11317 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11318 (handle_invisible_prop): Record the start of invisible text in
11319 it->add_overlay_start.
11320 (struct overlay_entry): Add member `overlay'.
11321 (handle_overlay_change): Simplify.
11322 (next_overlay_string): After having processed overlay strings at the
11323 end of the buffer, record that fact in
11324 it->overlay_strings_at_end_processed_p.
11325 (compare_overlay_entries): If before- and after-strings come
11326 from the same overlay, let before-strings come first.
11327 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11328 (load_overlay_strings): Take it->add_overlay_start into account
11329 when adding overlay strings.
11330
11331 * dispextern.h (struct it): Add member add_overlay_start.
11332
bb746ea6
DL
113332000-06-22 Dave Love <fx@gnu.org>
11334
11335 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11336
11337 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11338
a8f573f3
KH
113392000-06-22 Kenichi Handa <handa@etl.go.jp>
11340
11341 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11342 is greater than 0.
11343
9f2bbc92
DL
113442000-06-21 Dave Love <fx@gnu.org>
11345
178c5d9c 11346 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11347
3ee5041c
SM
113482000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11349
11350 * syntax.c (back_comment): Simplify string-parity counting (with
11351 the added benefit of handling multiple string-styles as long as
11352 they are not intertwined).
11353 Jump to the slow code as soon as a comment starter is found in
11354 a "string_lossage" position. Fixes the case: " /* " /* " */.
11355
4c343001
DL
113562000-06-21 Dave Love <fx@gnu.org>
11357
11358 * Makefile.in: Use GETLOADAVG_LIBS.
11359
11360 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11361 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11362
e6365855
SM
113632000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11364
11365 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11366 (Fforward_comment, scan_lists):
11367 Check the comstyle of single-char comment-starters.
11368 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11369 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11370 Check the comstyle of single-char comment-starters.
11371 Clarify control-flow around the Scomment case.
e6365855 11372
5700d2cc
DL
113732000-06-20 Dave Love <fx@gnu.org>
11374
d355bd8a
SM
11375 * fns.c (make_hash_table, maybe_resize_hash_table):
11376 Cast arg of next_almost_prime.
5700d2cc 11377
178c5d9c 11378 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11379
11380 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11381 and unistd.h.
11382
4a27bdfb
GM
113832000-06-20 Gerd Moellmann <gerd@gnu.org>
11384
a61d762c 11385 * keyboard.c (adjust_point_for_property): Check if display
52283633 11386 property should be treated as intangible by looking at its value.
a61d762c 11387
178c5d9c 11388 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11389 (display_prop_intangible_p): New functions.
11390
11391 * dispextern.h (display_prop_intangible_p): Add prototype.
11392
11393 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11394
4a27bdfb
GM
11395 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11396 argument to sigprocmask.
11397
11398 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11399 argument to sigprocmask.
11400
11401 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11402 sigprocmask_set, and pass a pointer to it to sigprocmask.
11403
11404 * sysdep.c (sigprocmask_set): New variable.
11405
11406 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11407 report_file_error.
11408
427ec082
SS
114092000-06-20 Sam Steingold <sds@gnu.org>
11410
11411 * xrdb.c: Don't declare xmalloc, xrealloc.
11412
8972fe79 114132000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11414
11415 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11416 (re_comp): Cast gettext return value to avoid complaints when
11417 !HAVE_LIBINTL.
11418
074b6efe
DL
114192000-06-20 Dave Love <fx@gnu.org>
11420
52283633 11421 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11422
5700d2cc 11423 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11424
d355bd8a 11425 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11426
11427 * m/alpha.h: Don't declare xmalloc, xrealloc.
11428
0af4f205
DL
11429 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11430
11431 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11432
11433 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11434
11435 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11436 HAVE_GETWD.
11437
074b6efe
DL
11438 * keyboard.h (poll_for_input_1): Declare.
11439
11440 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11441
11442 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11443
11444 * doprnt.c: Don't declare xmalloc, xrealloc.
11445
11446 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11447 (getenv, ctime, getwd): Removed.
11448 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11449
11450 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11451 x_set_tool_bar_lines.
11452
11453 * config.in: Add HAVE_GETWD. Move some definitions above
11454 machine/system includes.
11455
68a5e97b
KH
114562000-06-20 Kenichi Handa <handa@etl.go.jp>
11457
95417e1e
KH
11458 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11459
68a5e97b
KH
11460 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11461 contain information about ENCODING.
11462
11463 * fontset.c (FONTSET_ASCII): Use the first element of char table
11464 for an ASCII font, not defalt slot.
11465 (fontset_ref_via_base): If FONTSET doesn't contain information for
11466 C, try the default fontset.
11467 (make_fontset): Don't copy the default fontset.
11468 (fontset_font_pattern): Likewise.
11469 (accumulate_font_info): If ELT is nil, use the corresponding
11470 element in the default fontset.
11471
3b4fa1b2
DL
114722000-06-19 Dave Love <fx@gnu.org>
11473
943e731c
DL
11474 * syntax.c (Fparse_partial_sexp): Doc fix.
11475
11476 * regex.h: Test PROTOTYPES as well as __STDC__.
11477
3b4fa1b2
DL
11478 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11479 errno, strerror. Put text after #endif in comment.
11480
52283633 11481 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11482
11483 * xterm.c (x_frame_of_widget): Likewise.
11484
cdf0357b
GM
114852000-06-19 Gerd Moellmann <gerd@gnu.org>
11486
11487 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11488 to Vfundamental_mode_abbrev_table.
11489
11490 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11491 bogus objects are marked. This slows down GC by ~80 percent, but
11492 it might be worth trying when debugging GC-related problems.
11493 This feature requires conservative stack marking to be enabled.
11494
11495 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11496 returns XLookupChars, reset `modifiers' to zero.
11497
998e9f8c
DL
114982000-06-19 Dave Love <fx@gnu.org>
11499
11500 * mktime.c: Unprotoized.
11501
18e21ce8 115022000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11503
11504 * data.c (set_internal): If variable is frame-local,
11505 store the new value immediately into the frame parameter alist.
11506
140c4ac6
KR
115072000-06-19 Ken Raeburn <raeburn@gnu.org>
11508
14358466
KR
11509 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11510 in the custom handler pointer.
11511
140c4ac6
KR
11512 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11513 value, or checks for CHAR_META can fail when Lisp_Object is a
11514 union type.
11515 * keymap.c (get_keyelt): Likewise.
11516
10d7bf84
KH
115172000-06-19 Kenichi Handa <handa@etl.go.jp>
11518
11519 * ccl.h (struct ccl_program): New member eol_type.
11520 (struct ccl_spec): New member cr_carryover.
11521
11522 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11523 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11524
11525 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11526 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11527 (decode_eol_post_ccl): New function.
11528 (decode_coding): Don't detect EOL format here for CCL based coding
11529 systems.
11530 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11531 decode_eol_post_ccl after running the CCL program.
11532 (code_convert_region): Don't detect EOL format here for CCL based
11533 coding systems.
11534 (decode_coding_string): Likewise.
11535
52e386c2
KR
115362000-06-18 Ken Raeburn <raeburn@gnu.org>
11537
11538 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11539 when treating it as an integer.
11540
11541 * coding.h (encode_coding_string): Declare.
11542
11543 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11544 it as an integer.
11545
11546 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11547 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11548 to be passed to get_local_map.
11549
11550 * sound.c (Fplay_sound): Don't call make_number on
11551 Frun_hook_with_args count argument.
11552
11553 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11554 for lisp objects in X event structure data field, when lisp
11555 objects are represented with unions.
11556 (x_scroll_bar_to_input_event): Ditto.
11557
b357b9d4
KR
115582000-06-16 Ken Raeburn <raeburn@gnu.org>
11559
11560 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11561 termination of string. Fix sense of test whether
11562 Vline_number_display_limit is an integer.
b357b9d4 11563
a871441d
GM
115642000-06-16 Gerd Moellmann <gerd@gnu.org>
11565
a9021acd
GM
11566 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11567 only if HAVE_X_WINDOWS.
11568
6344985d
GM
11569 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11570 of titles.
11571
427ec082 11572 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11573 out of bounds.
11574
228b083e
EZ
115752000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11576
11577 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11578 of its headers.
11579
c25b53a2
KH
115802000-06-15 Kenichi Handa <handa@etl.go.jp>
11581
11582 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11583 start of the while loop.
11584
a6981b11
GM
115852000-06-15 Gerd Moellmann <gerd@gnu.org>
11586
e9924e52
GM
11587 * atimer.c (alarm_signal_handler): Add forward declaration.
11588
a6981b11
GM
11589 * data.c (set_internal): Remove debug code.
11590
25fa6deb
GM
115912000-06-14 Gerd Moellmann <gerd@gnu.org>
11592
dce6b995
GM
11593 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11594
9f817ea4
GM
11595 * unexec.c (toplevel) [COFF]: Include coff.h.
11596
11597 * s/lynxos.h: New file.
11598
11599 * keymap.c (Fsingle_key_description): Enclose function key and
11600 event symbol names in angle brackets.
11601
8a4e3c0c
GM
11602 * xdisp.c (setup_echo_area_for_printing): Call
11603 message_log_maybe_newline if message_buf_print is not set.
11604
11605 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11606 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11607 function does something useful even when message_buf_print is
11608 already set.
11609
52283633
SM
11610 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11611 New variables.
25fa6deb
GM
11612 (ensure_echo_area_buffers): Initialize echo buffer's
11613 truncate lines setting to nil.
11614 (with_echo_area_buffer): Don't set the echo buffer's truncate
11615 lines setting here.
8a4e3c0c 11616 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11617 of message_truncate_lines.
11618 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11619 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11620 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11621
11622 * keyboard.c (read_char): Bind message-truncate-lines to t
11623 while displaying a help-echo.
11624
11625 * lisp.h (Qmessage_truncate_lines): External declaration.
11626
163dcff3
GM
116272000-06-13 Gerd Moellmann <gerd@gnu.org>
11628
1681ead6
GM
11629 * xdisp.c (Vline_number_display_limit): Renamed from
11630 line_number_display_limit.
11631 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11632 Extend documentation string. Initialize
11633 Vline_number_display_limit to nil meaning no limit.
11634 (decode_mode_spec): Use Vline_number_display_limit with its new
11635 meaning.
11636
163dcff3
GM
11637 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11638
18e21ce8 116392000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11640
11641 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11642
163dcff3
GM
11643 * xfns.c (x_set_frame_parameters): Comment fix.
11644
11645 * frame.c (store_frame_param): Call swap_in_global_binding if the
11646 variable's current binding was chosen based on this frame.
11647
11648 * data.c (swap_in_global_binding): New function.
11649
a704139d
EZ
116502000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11651
11652 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11653 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11654
9b6610db
EZ
116552000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11656
11657 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11658
c68833d2
JR
116592000-06-12 Jason Rumney <jasonr@gnu.org>
11660
11661 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11662
11663 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11664
11665 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11666
11667 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11668
ed1056b3
GM
116692000-06-12 Gerd Moellmann <gerd@gnu.org>
11670
11671 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11672 (syms_of_xfaces): Defsubr Sdump_colors.
11673 (x_free_colors): Don't treat b&w specially on default visual.
11674 (x_free_dpy_colors): New function.
11675 (free_face_colors): Don't check visual class; it's done
11676 in x_free_colors.
11677
11678 * xterm.c (x_frame_of_widget): New function.
11679 (x_alloc_nearest_color_for_widget): Use it.
11680 (x_copy_dpy_color): New function.
11681 (x_destroy_window): Free various colors.
11682
5050a2ef
KH
116832000-06-12 Kenichi Handa <handa@etl.go.jp>
11684
11685 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11686
11687 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11688
11689 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11690
11691 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11692
11693 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11694
fb1b041d
DL
116952000-06-11 Dave Love <fx@gnu.org>
11696
11697 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11698
ff96b5f4
EZ
116992000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11700
11701 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11702
db8eeecd
GM
117032000-06-11 Gerd Moellmann <gerd@gnu.org>
11704
ed1056b3 11705 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11706 to `XEvent *'.
11707
49b71c5f
KH
117082000-06-10 Kenichi Handa <handa@etl.go.jp>
11709
c479bd55
KH
11710 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11711 (regex_compile): Fix the code for handling the case of single byte
11712 char and multibyte char being mixed in a range within [...].
11713
ff6a65c2
KH
11714 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11715 and dst_multibyte members of coding.
11716
49b71c5f
KH
11717 * charset.c (update_charset_table): Update the table
11718 bytes_by_char_head.
11719 (init_charset_once): Initialize elements of bytes_by_char_head to
11720 1 except for leading codes for private charases.
11721
11722 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11723 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11724
9e80b57d
KR
117252000-06-09 Ken Raeburn <raeburn@gnu.org>
11726
11727 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11728 access the data it doesn't point to.
11729
f83fe4b4
GM
117302000-06-08 Gerd Moellmann <gerd@gnu.org>
11731
11732 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11733 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11734 event queue. This is necessary because Emacs otherwise won't
11735 perform a switch-frame to a new frame until some other event, for
11736 example a keystroke event, forces it to do so. This has various
11737 effects, one visible being that the cursor of a frame created with
11738 C-x 5 2 or switched to with a window manager key binding like
11739 A-TAB stays hollow because selected_window isn't on the newly
11740 focused frame until the switch-frame is performed.
11741
11742 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11743 generating a switch-frame event if necessary.
11744
11745 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11746
11747 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11748 it's an integer.
11749
0890801b
KH
117502000-06-08 Kenichi Handa <handa@etl.go.jp>
11751
52283633 11752 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11753
173cbca8
GM
117542000-06-07 Gerd Moellmann <gerd@gnu.org>
11755
3091c2a6
GM
11756 * window.c (displayed_window_lines): Take empty lines at
11757 the bottom of a window into account.
427ec082 11758
f38952fe
GM
11759 * window.c (displayed_window_lines): New function.
11760 (Fmove_to_window_line): Use displayed_window_lines to determine
11761 the number of lines to move, instead of using the window's height.
11762
11763 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11764 to stop reading, even if the form read sets point to a different
11765 value when evaluated.
11766
427ec082 11767 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11768 put the cursor.
11769
6ba6c818
KH
117702000-06-07 Kenichi Handa <handa@etl.go.jp>
11771
11772 * fileio.c (e_write): Free composition data if stored in
11773 coding->cmp_data.
11774
5f1aea9a
GM
117752000-06-06 Gerd Moellmann <gerd@gnu.org>
11776
666852af
GM
11777 * xdisp.c (display_line): Set row's and iterator's
11778 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11779 Set cursor even if row ends in the middle of a character.
11780 (dump_glyph_row): Print values of new flags.
11781 (redisplay_window) <cursor movement in unchanged window>: When
11782 point has been moved forward, and PT is at the end of the cursor
11783 row, don't place the cursor in the next row if the cursor row ends
11784 in the middle of a character or at ZV.
11785
11786 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11787 (struct glyph_row): Add starts_in_middle_of_char_p and
11788 ends_in_middle_of_char_p.
11789 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11790 ends_in_middle_of_char_p flag.
11791 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11792
d13f3e2e
GM
11793 * term.c (append_glyph): Revert change of 2000-06-06.
11794
11795 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11796 padding glyph not fitting on line as whole character not
11797 fitting on line.
11798
5f1aea9a
GM
11799 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11800 this isn't true for images with `:ascent 100'.
11801
10cda9b0
KH
118022000-06-06 Kenichi Handa <handa@etl.go.jp>
11803
ed00559d
KH
11804 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11805 as modified if it is originally unmodified.
11806
10cda9b0
KH
11807 * term.c (encode_terminal_code): Change the way to check if
11808 terminal coding does any conversion.
11809 (append_glyph): Set glyph->pixel_width correctly.
11810
11811 * xdisp.c (display_line): While checking line continuation, pay
11812 attention to a padding glyph.
11813
1969fae2
GM
118142000-06-05 Gerd Moellmann <gerd@gnu.org>
11815
11816 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11817
162ccef4
DL
118182000-06-05 Dave Love <fx@gnu.org>
11819
f19f32dd
DL
11820 * xdisp.c: Include fontset.h.
11821
11822 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11823
11824 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11825
11826 * dispnew.c: Conditionally include term.h.
11827
11828 * coding.h: Declare code_convert_string_norecord.
11829
11830 * frame.h (struct frame): Use volatile unconditionally.
11831
11832 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11833
11834 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11835
11836 * systime.h: Protect against multiple inclusion.
11837 (timezone) [USG5_4]: Define as time_t.
11838
11839 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11840 (Foptimize_char_table, make_temp_name): Declare.
11841
11842 * Makefile.in (xdisp.o): Depend on fontset.h.
11843
11844 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11845
11846 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11847 (Foptimize_char_table, make_temp_name): Declare.
11848
427ec082 11849 * s/irix4-0.h:
162ccef4
DL
11850 * s/irix5-0.h:
11851 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11852
2082fe81
DL
118532000-06-02 Dave Love <fx@gnu.org>
11854
11855 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11856
dcf671d2
GM
118572000-06-02 Gerd Moellmann <gerd@gnu.org>
11858
11859 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11860 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11861 be freed.
11862
11863 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11864 glyph, use the ASCII NUL character to determine the face.
11865
d42122a3
DL
118662000-06-02 Dave Love <fx@gnu.org>
11867
11868 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11869 (VFORK_RETURN_TYPE): Remove.
427ec082 11870
d42122a3
DL
11871 * config.in: Add NO_MATHERR.
11872
dd432f16
DL
118732000-06-01 Dave Love <fx@gnu.org>
11874
90aa4ea8
DL
11875 * cmds.c (internal_self_insert): Don't check
11876 Vbefore_change_function, Vafter_change_function.
11877
11878 * insdel.c (signal_before_change, signal_after_change): Likewise.
11879
11880 * buffer.c (Vbefore_change_function, Vafter_change_function):
11881 Variables and their initializations deleted.
11882
2330c9d4
DL
11883 * callint.c (Fcall_interactively): Doc fix.
11884
dd432f16
DL
11885 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11886
bf9e8804
DL
118872000-05-31 Dave Love <fx@gnu.org>
11888
11889 * textprop.c: Revert last change -- duplicated.
11890
3694b4ab
GM
118912000-05-31 Gerd Moellmann <gerd@gnu.org>
11892
11893 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11894 in #if 0.
11895
11896 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11897
f14156cd
JR
118982000-05-31 Jason Rumney <jasonr@gnu.org>
11899
8119aab8
JR
11900 * search.c (Fre_search_forward, Fre_search_backward)
11901 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11902
f14156cd
JR
11903 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11904
4aab9be3
JR
119052000-05-30 Jason Rumney <jasonr@gnu.org>
11906
11907 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11908 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11909
52283633 11910 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11911
11912 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11913 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11914 expand a nil default_filename.
11915
11916 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11917 pointer to glyph_to_pixel_coords, not a frame.
11918
11919 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11920 coding.h to dependencies.
11921
11922 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11923
11924 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11925 window pointer to be consistent with w32term.c and xterm.c.
11926
11927 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11928 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11929 (Qline_spacing, Qcenter): New variables.
11930 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11931 (x_set_line_spacing): New function.
52283633 11932 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11933 (x_specified_cursor_type): New function.
11934 (x_set_cursor_type): Use it.
11935 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11936 and icon strings.
11937 (validate_x_resource_name, x_get_resource_string): Measure lengths
11938 of external strings in bytes.
11939 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11940 GetTextExtentPoint32 with NULL title.
11941 (Fx_create_frame): Initialize Qline_spacing.
11942 (w32_load_system_font): Initialize font->double_byte_p.
11943 (x_to_w32_charset): Use Vw32_charset_info_alist.
11944 (Image, busy cursor, tooltip functions): Merged changes from
11945 xfns.c. Not yet functional on Windows.
11946
11947 * w32gui.h (W32FontStruct): Add double_byte_p member.
11948
11949 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11950 (emacs_button_translation): Use it.
11951 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11952 in `mask' to be set.
11953
11954 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11955 menu strings.
11956
11957 * w32term.c: Format and doc changes to bring closer to xterm.c.
11958 (w32_char_font_type): New enum.
11959 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11960 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11961 (w32_encode_char): New function.
11962 (x_encode_char): Removed.
11963 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11964 x_encode_char and w32_font_is_double_byte.
11965 (x_produce_image_glyph): Use image_ascent.
11966 (x_produce_glyphs): Use new version of w32_per_char_metric and
11967 handle NULL return value. Allow extra line spacing.
11968 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11969 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11970 w32_font_type member of glyph instead.
11971 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11972 (fast_find_position): Make sure not to consider rows not visible
11973 in the window.
11974 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11975 w32_menu_display_help with input blocked, as it can abort.
11976 (x_display_and_set_cursor): Choose cursor depending
11977 on buffer-local value of cursor_type.
11978 (x_draw_bar_cursor): Add parameter WIDTH.
11979
11980 * w32term.h (CP_DEFAULT): Define.
11981 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11982
10fc3187
GM
119832000-05-30 Gerd Moellmann <gerd@gnu.org>
11984
11985 * search.c (Fre_search_forward, Fre_search_backward)
11986 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11987
d0555360
KH
119882000-05-30 Kenichi Handa <handa@etl.go.jp>
11989
11990 * coding.c (detect_coding_iso2022): Fix code for checking
11991 CODING_CATEGORY_MASK_ISO_8_2.
11992
f1ad044f
SM
119932000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11994
11995 * regex.c (PREFETCH_NOLIMIT): New function.
11996 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11997
84ec3b4b
GM
119982000-05-29 Gerd Moellmann <gerd@gnu.org>
11999
66254a13
GM
12000 * syntax.c (find_defun_start): Move test for
12001 open_paren_in_column_0_is_defun_start outside of the loop.
12002
49e70dec
GM
12003 * xdisp.c (redisplay_window): Really switch buffers when
12004 displaying mode lines, and temporarily set selected_frame to the
12005 frame of the window that's redisplayed.
12006
84ec3b4b
GM
12007 * xfaces.c (free_realized_faces): Block/unblock input.
12008 (free_realized_multibyte_face): Ditto.
12009
869a3a14
DL
120102000-05-29 Dave Love <fx@gnu.org>
12011
12012 * textprop.c (Qkeymap): New variable.
12013 (syms_of_textprop): Intern it.
12014
12015 * keymap.c: Include intervals.h.
12016 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
12017
12018 * Makefile.in (keymap.o): Depend on intervals.h.
12019
12020 * keyboard.c (menu_bar_items, tool_bar_items)
12021 (Fexecute_extended_command): Deal with `keymap' property.
12022 (read_key_sequence): Track map from `keymap' property as well as
12023 `local_map'.
12024
12025 * intervals.c (get_local_map): Extra arg to allow looking for
12026 `keymap' too.
12027
12028 * intervals.h (map_property): New enum.
12029 (get_local_map): Extra arg using it.
12030 (Qkeymap): Declare.
12031
84ec3b4b 12032 * lisp.h (get_local_map): Don't declare here.
869a3a14 12033
89d0c844
KH
120342000-05-29 Kenichi Handa <handa@etl.go.jp>
12035
12036 * Makefile.in (callproc.o): Depend on composite.h.
12037
12038 * callproc.c: Include composite.h.
12039 (Fcall_process): Handle composition correctly.
12040
12041 * coding.h (coding_allocate_composition_data): Extern it.
12042 (coding_restore_composition): Likewise.
12043
12044 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
12045 yet allocated, finish decoding with result
12046 CODING_FINISH_INSUFFICIENT_CMP.
12047 (coding_allocate_composition_data): Make it non-static.
12048 (coding_restore_composition): Likewise.
12049
797a084a
EZ
120502000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
12051
12052 * charset.c (syms_of_charset): Revert last change.
12053
cf872af5
EZ
120542000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12055
12056 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
12057 charsets as unibyte, with 1-column screen width. Sent by Kenichi
12058 Handa.
cf872af5 12059
5b1ae051
EZ
120602000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12061
12062 * charset.c (syms_of_charset): Set width of character sets
12063 eight-bit-control and eight-bit-graphic to 1 column.
12064
34ec9ebe
GM
120652000-05-26 Gerd Moellmann <gerd@gnu.org>
12066
12067 * config.in (HAVE_SPEED_T): New define.
12068
12069 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
12070 `extern speed_t'.
12071
dd854dc2
DL
120722000-05-26 Dave Love <fx@gnu.org>
12073
12074 * coding.c (shrink_decoding_region): Initialize eol_conversion.
12075
12076 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
12077 (Fsubr_arity): New function.
12078 (syms_of_data): Install them.
12079
ba9f8f95
KH
120802000-05-26 Kenichi Handa <handa@etl.go.jp>
12081
0f3e0672
KH
12082 * charset.c (init_charset_once): Set the table bytes_by_char_head
12083 correctly.
12084
cebefb44
KH
12085 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
12086 the default fontset to what Emacs uses by default.
0f3e0672
KH
12087 (check_registry_encoding): This function deleted.
12088 (Fset_fontset_font): Remove the adhoc condition for the default
12089 fontset. Allow cons in FONTNAME.
cebefb44 12090
0f3e0672
KH
12091 * fns.c (map_char_table): Ignore char-table entries for
12092 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 12093
7a18af49
KR
120942000-05-25 Ken Raeburn <raeburn@gnu.org>
12095
12096 * emacs.c (main): Initialize keyboard syms before initializing
12097 window code, so face names are available.
12098
d2af47df
SM
120992000-05-25 Stefan Monnier <monnier@cs.yale.edu>
12100
12101 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
12102 of an anchor at the beginning of a shy-group.
12103
fc6a6a4e
GM
121042000-05-25 Gerd Moellmann <gerd@gnu.org>
12105
12106 * xdisp.c (handle_invisible_prop): Don't try to skip over
12107 invisible text if end of text is already reached.
12108
005f0d35
DL
121092000-05-25 Dave Love <fx@gnu.org>
12110
02513cdd
DL
12111 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
12112
005f0d35
DL
12113 * coding.c (encode_eol): Add null statement after label.
12114
89f6ca4e
EZ
121152000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
12116
12117 * w16select.c (Fw16_set_clipboard_data): Fix the change from
12118 2000-05-20.
12119
a4e1759e
KH
121202000-05-25 Kenichi Handa <handa@etl.go.jp>
12121
12122 * ccl.c (ccl_driver): Fix previous change.
12123
eacfd7fe
KH
121242000-05-25 Kenichi Handa <handa@etl.go.jp>
12125
46ab33a9
KH
12126 * coding.c (run_pre_post_conversion_on_str): Set point to the
12127 beginning of buffer before calling coding->post_read_conversion.
12128 (decode_coding_string): Give correct args to
12129 run_pre_post_conversion_on_str.
12130 (encode_coding_string): Likewise.
12131
eacfd7fe
KH
12132 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
12133 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
12134 eight-bit-graphic correctly.
12135
f8569325
DL
121362000-05-24 Kenichi HANDA <handa@etl.go.jp>
12137
12138 * fileio.c (Finsert_file_contents): Even if a file is not found,
12139 execute codes for setting up coding system. Call
12140 after-insert-file-functions unconditionally.
12141
04545643
GM
121422000-05-24 Gerd Moellmann <gerd@gnu.org>
12143
12144 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
12145 BSD_PGRPS are not defined.
12146
747d90ea
KH
121472000-05-24 Kenichi Handa <handa@etl.go.jp>
12148
12149 * charset.c (update_charset_table): Accept nil in LONG_NAME and
12150 DESCRIPTION.
12151 (syms_of_charset): Avoid building same strings.
12152
716e3b88
GM
121532000-05-23 Gerd Moellmann <gerd@gnu.org>
12154
12155 * lread.c (Fload): Add a comment about the meaning of
12156 Vuser_init_file being t.
12157
12158 * puresize.h (BASE_PURESIZE): Increase to 675000.
12159
12160 * s/gnu-linux.h (setpgrp): Don't define it here because this
12161 prevents compilation on GNU/Linux systems with glib 2.2.
12162
12163 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
12164 as setpgid.
427ec082 12165
9aeb39fa
EZ
121662000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12167
12168 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12169 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12170 version.
12171 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12172
29ced61b
KH
121732000-05-23 Kenichi Handa <handa@etl.go.jp>
12174
52283633 12175 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 12176
3d80f24d
KH
12177 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12178
52283633 12179 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 12180
29ced61b
KH
12181 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12182
d7e00792
KH
121832000-05-22 Kenichi Handa <handa@etl.go.jp>
12184
c9d80d38
KH
12185 * keyboard.c (read_char): Allow character codes 128..255 to be
12186 handled by input-method-function.
12187
d7e00792
KH
12188 * insdel.c (adjust_markers_for_replace): Fix previous change.
12189 (adjust_after_replace): If PREV_TEXT is nil, call
12190 adjust_markers_for_insert, not adjust_markers_for_replace.
12191
087121cc 121922000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 12193
087121cc
GM
12194 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12195 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12196 [HAVE_GRANDPT]: Define.
12197 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12198
12199 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12200 like SYSV_PTYS.
12201
12202 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12203
12204 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12205
c9671f81
KH
122062000-05-20 Kenichi Handa <handa@etl.go.jp>
12207
12208 The following changes are to handle 8-bit characters in a
12209 multibyte buffer/string without facing with byte combining
12210 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12211 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12212
12213 * Makefile.in (fns.o): Depend on charset.h.
12214
12215 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12216 convert it to unibyte.
12217 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12218
12219 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12220 apparent char boundary.
12221 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12222 0x80..0x9F to/from multibyte form.
12223
12224 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12225 to unibyte.
12226
12227 * callproc.c (Fcall_process): Always encode an argument string if
12228 it is multibyte. Setup src_multibyte and dst_multibyte members of
12229 process_coding properly.
ce75fd23 12230
c9671f81
KH
12231 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12232 SPLIT_NON_ASCII_CHAR.
12233
12234 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12235 as is.
12236 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12237
52283633 12238 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12239 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12240 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12241 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12242 and eight-bit-graphic.
12243 (char_to_string): Likewise. Signal an error for too large
12244 character code.
12245 (char_printable_p): Return 0 for 8-bit characters.
12246 (update_charset_table): Update iso_charset_table only when a final
12247 character is non-negative.
12248 (find_charset_in_text): Renamed from find_charset_in_str.
12249 Arguments and return value changed. Callers changed.
12250 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12251 be -1 if CHARSET is used only internally.
12252 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12253 eight-bit-graphic.
12254 (Fcharset_after): Simplified.
12255 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12256 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12257 (multibyte_chars_in_text): Simplified by assuming there's no
12258 invalid multibyte sequence.
52283633
SM
12259 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12260 (str_as_unibyte): New functions.
12261 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12262 (init_charset_once): Initialization for
12263 LEADING_CODE_8_BIT_CONTROL.
12264 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12265 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12266 eight-bit-control and eight-bit-graphic.
12267
52283633
SM
12268 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12269 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12270 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12271 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12272 (CHARSET_REVERSE_CHARSET): Likewise.
12273 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12274 eight-bit-graphic.
12275 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12276 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12277 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12278 encounter an invalid multibyte sequence.
12279 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12280 sequence is always valid.
12281 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12282 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12283 (CHAR_STRING): For 8-bit characters, call char_to_string.
12284 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12285 multibyte sequence is always valid.
12286 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12287 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12288 (str_as_unibyte): Extern them.
c9671f81 12289 (BCOPY_SHORT): Fix a bug.
52283633 12290 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12291 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12292 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12293 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12294
bd4bde7f 12295 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12296 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12297 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12298 (EMIT_BYTES): New macros.
12299 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12300 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12301 macros deleted.
12302 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12303 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12304 check the validity of multibyte sequence.
12305 (decode_coding_emacs_mule): New function.
12306 (encode_coding_emacs_mule): New macro.
12307 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12308 the source.
12309 (DECODE_ISO_CHARACTER): Just return a character code.
12310 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12311 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12312 EMIT_CHAR to produced decoded characters. Exit the loop only by
12313 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12314 block here.
12315 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12316 only position codes for an invalid character.
12317 (encode_designation_at_bol): Return new destination pointer. 5th
12318 arg DSTP is changed to DST.
12319 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12320 from the source by ONE_MORE_CHAR. Don't handle the case of last
12321 block here.
12322 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12323 macros deleted.
52283633
SM
12324 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12325 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12326 TWO_MORE_BYTES to fetch a byte from the source.
12327 (encode_eol): Pay attention to coding->src_multibyte.
12328 (detect_coding, detect_eol): Preserve members src_multibyte and
12329 dst_multibyte.
12330 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12331 (encoding_buffer_size): Set magnification to 3 for all coding
12332 systems that require encoding.
12333 (ccl_coding_driver): For decoding, be sure that the result is
12334 valid multibyte sequence.
12335 (decode_coding): Initialize coding->errors and coding->result.
12336 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12337 and raw-text, always call decode_eol. Handle the case of last
12338 block here. If not coding->dst_multibyte, convert the resulting
12339 sequence to unibyte.
12340 (encode_coding): Initialize coding->errors and coding->result.
12341 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12342 and raw-text, always call encode_eol. Handle the case of last
12343 block here.
12344 (shrink_decoding_region, shrink_encoding_region): Detect cases
12345 that we can't skip data more rigidly.
12346 (code_convert_region): Setup src_multibyte and dst_multibyte
12347 members of coding. For decoding, if the buffer is multibyte,
12348 convert the source sequence to unibyte in advance. For encoding,
12349 if the buffer is multibyte, convert the resulting sequence to
12350 multibyte afterward.
12351 (run_pre_post_conversion_on_str): New function.
12352 (code_convert_string): Deleted and divided into the following two.
12353 (decode_coding_string, encode_coding_string): New functions.
12354 (code_convert_string1, code_convert_string_norecord): Call one of
12355 above.
12356 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12357 MAKE_NON_ASCII_CHAR.
52283633
SM
12358 (Fset_terminal_coding_system_internal)
12359 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12360 and dst_multibyte members.
12361 (init_coding_once): Initialize iso_code_class with new enum
12362 ISO_control_0 and ISO_control_1.
12363
12364 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12365 devided into ISO_control_0 and ISO_control_1.
12366 (struct coding_system): New members src_multibyte, dst_multibyte,
12367 errors, and result. Delete member fake_multibyte.
12368 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12369 nonzero.
12370 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12371 nonzero.
12372
12373 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12374 (Faset): Likewise.
12375
12376 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12377 multibyte form.
12378 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12379 combining occurs.
12380 (Ftranspose_region): Delete codes for handling byte combining.
12381
12382 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12383 dst_multibyte members of coding. On handling REPLACE on unibyte
12384 buffer, convert the result of decode_coding to unibyte. On
12385 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12386 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12387 multibyteness of the source (buffer or string).
12388
12389 * fns.c (concat): Handle 8-bit characters correctly.
12390 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12391 unibyte in the result.
12392 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12393 valid multibyte form in the result.
12394 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12395 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12396 return -1, signal an error.
12397 (base64_encode_1): New arg MULTIBYTE. Get each character by
12398 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12399 character is found, return -1.
12400 (Fbase64_decode_region): Delete codes for handling byte-combining.
12401 Treat each decoded byte as a unibyte character.
12402 (Fbase64_decode_string): Return unibyte string.
12403 (Fcompare_strings, concat, string_byte_to_char): Use
12404 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12405 FETCH_STRING_CHAR_ADVANCE.
12406 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12407 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12408
12409 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12410 SPLIT_NON_ASCII_CHAR.
12411 (fontset_ref_via_base, fontset_set): Likewise
12412
12413 * insdel.c (adjust_markers_for_record_delete): Deleted.
12414 (adjust_markers_for_insert): Argument changed. Caller changed.
12415 (adjust_markers_for_replace): Likewise.
52283633
SM
12416 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12417 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12418 (copy_text): Delete unused local varialbe c_save. For converting
12419 to multibyte, be sure to make all 8-bit characters in valid
12420 multibyte form.
12421 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12422 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12423 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12424 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12425 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12426 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12427 handling byte combining.
12428 (adjust_before_replace): Deleted.
427ec082 12429
c9671f81
KH
12430 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12431 SPLIT_NON_ASCII_CHAR.
12432 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12433 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12434 (Fkey_description): Likewise.
12435
12436 * lread.c (read1): On reading multibyte string, be sure to make
12437 all 8-bit chararacters in valid multibyte form.
12438 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12439
12440 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12441 unconditionally.
12442
12443 * process.c (Fstart_process): GCPRO current_dir before calling
12444 Ffind_operation_coding_system. Encode arguments here.
12445 (create_process): Don't encode arguments here. Setup
12446 src_multibyte and dst_multibyte members of struct coding.
12447 (read_process_output): Setup src_multibyte and dst_multibyte
12448 members of struct coding. If the output is to multibyte buffer,
12449 always decode the output of the process. Adjust the
52283633 12450 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12451 (send_process): Setup coding->src_multibyte according to the
12452 multibyteness of the source.
12453
52283633 12454 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12455 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12456 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12457
52283633 12458 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12459
12460 * w16select.c (Fw16_set_clipboard_data): Setup members
12461 src_multibyte and dst_multibyte of coding. Adjusted for the
12462 change for find_charset_in_str.
12463 (Fw16_get_clipboard_data): Likewise.
12464
12465 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12466 dst_multibyte of coding.
12467 (x_to_w32_font): Likewise.
12468
12469 * w32select.c (Fw32_set_clipboard_data): Setup members
12470 src_multibyte and dst_multibyte of coding. Adjusted for the
12471 change for find_charset_in_str.
12472 (Fw32_get_clipboard_data): Likewise.
12473
12474 * xdisp.c (get_next_display_element): Handle 8-bit characters
12475 correctly.
52283633
SM
12476 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12477 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12478
12479 * xselect.c (selection_data_to_lisp_data): Setup members
12480 src_multibyte and dst_multibyte of coding. Adjusted for the
12481 change for find_charset_in_str.
12482 (lisp_data_to_selection_data): Likewise.
12483
5f64c9e0
GM
124842000-05-19 Gerd Moellmann <gerd@gnu.org>
12485
52283633 12486 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12487
5f64c9e0
GM
12488 * dispextern.h (Vimage_types): Add extern declaration.
12489
12490 * xdisp.c (Vimage_types): Moved here from xfns.c.
12491 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12492
12493 * xfns.c (Vimages_types): Moved to xdisp.c.
12494 (syms_of_xfns): Move `image-types' to xdisp.c.
12495
12496 * w32fns.c (Vimage_types): Removed.
12497 (syms_of_w32fns): Remove `image-types'.
12498
813086ea
KH
124992000-05-18 Kenichi Handa <handa@etl.go.jp>
12500
12501 * fns.c (map_char_table): Pay attention to character number of
12502 charset. Check the validity of charset at the first level. For
12503 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12504 the default value.
12505
12506 * fontset.c: Include "buffer.h".
12507 (fs_load_font): If the face has fontset, record the face ID in
12508 that fontset.
12509 (Finternal_char_font): New function.
12510 (accumulate_font_info): New function.
12511 (Ffontset_info): Rewritten for the new fontset implementation.
12512 (syms_of_fontset): Register Vdefault_fontset in the first element
12513 of Vfontset_table. Include Vdefault_fontset in
12514 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12515 function.
12516
bdaebbf0
DL
125172000-05-16 Dave Love <fx@gnu.org>
12518
12519 * m/iris5d.h: Deleted -- unused.
12520
cb613bb8
GM
125212000-05-16 Gerd Moellmann <gerd@gnu.org>
12522
b15f3b77
GM
12523 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12524 `invalid' instead of `illegal'.
12525
12526 * indent.c (Fmove_to_column): When ending within a tab, insert
12527 spaces first so that markers at the end of the tab get adjusted.
12528
835c1b36
GM
12529 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12530 buffer list that wasn't selected in that frame.
12531
cb613bb8
GM
12532 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12533 is needed on mescaline, use a 2 char prefix, and call
12534 make_temp_name with second arg non-zero.
12535
12536 * fileio.c (make_temp_name): New function, extracted from
12537 Fmake_temp_name.
12538 (Fmake_temp_name): Use it.
12539
f685bea9
EZ
125402000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12541
52283633 12542 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12543
a1b8d58b
GM
125442000-05-15 Gerd Moellmann <gerd@gnu.org>
12545
12546 * Makefile.in (lisp): Add env.elc.
12547
12548 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12549
a265079f
GM
125502000-05-12 Gerd Moellmann <gerd@gnu.org>
12551
12552 * search.c (Freplace_match): Handle case of `\N' in the
12553 replacement when there's no group N.
12554
da4496b6
GM
125552000-05-11 Gerd Moellmann <gerd@gnu.org>
12556
0ace421a
GM
12557 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12558 of the message to message_dolog.
12559
1172eb8d
GM
12560 * keyboard.c (read_char): Don't clear current message for help
12561 events; let the code handling help events handle this. Change
12562 code detecting help events that should be ignored.
12563
da4496b6
GM
12564 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12565 we're interating over a string.
12566
0623e40f
DL
125672000-05-09 Dave Love <fx@gnu.org>
12568
12569 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12570 that offset before writing. Move gcpro region past call of
12571 Ffile_regular_p.
12572
bae2503b
DL
125732000-05-04 Dave Love <fx@gnu.org>
12574
12575 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12576
ec82fb2f
GM
125772000-05-04 Gerd Moellmann <gerd@gnu.org>
12578
12579 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12580 of inserted characters when BUF equals the current buffer, and PT
12581 is in front of or equal to FROM.
12582
cbf18892
GM
125832000-05-03 Gerd Moellmann <gerd@gnu.org>
12584
4ff40dd0
GM
12585 * xdisp.c (handle_single_display_prop): If display property value
12586 is invalid, or something not supported on the frame, restore
12587 iterator's position to what it was initially. Make sure to return
12588 0 for invalid and unsupported property values.
12589
cbf18892
GM
12590 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12591 that x_per_char_metric returns null.
12592
1b0672c3
GM
125932000-05-02 Gerd Moellmann <gerd@gnu.org>
12594
576da55d
GM
12595 * xterm.h (struct face): Add forward declaration.
12596 (struct image): Ditto.
12597 (image_ascent): Add prototype.
12598
12599 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12600 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12601 image_ascent instead of using IMAGE_ASCENT.
12602
12603 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12604 (IMAGE_ASCENT): Removed.
12605
12606 * xfns.c (Qcenter): New variable.
12607 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12608 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12609 (image_ascent): New function.
12610 (lookup_image): Recognize `:ascent center'.
12611 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12612 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12613 (xbm_load): Don't set image's ascent here.
12614 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12615 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12616 check ascent values here.
12617 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12618 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12619 (syms_of_xfns): Initialize Qcenter.
12620
1b0672c3
GM
12621 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12622 to the limits, increase the limits.
12623
0d7811ed
KH
126242000-05-01 Kenichi Handa <handa@etl.go.jp>
12625
12626 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12627 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12628
a943a5ca
GM
126292000-04-28 Gerd Moellmann <gerd@gnu.org>
12630
12631 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12632 taller than the window.
12633
5dba1e29
KH
126342000-04-28 Kenichi Handa <handa@etl.go.jp>
12635
12636 * xfaces.c (realize_x_face): Fix the argument of the second
12637 xassert. BASE_FACE may not be a face for ASCII.
12638
353964e3
GM
126392000-04-27 Gerd Moellmann <gerd@gnu.org>
12640
c76e04a8
GM
12641 * print.c (print_object): Treat print-length < 0 as nil.
12642
12643 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12644
12645 * s/freebsd.h (TERMCAP_OBJ): Removed.
12646 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12647
12648 * lread.c (read1): Don't treat period followed by certain
12649 characters as symbol start.
12650
12651 * xfns.c (slurp_file): New function.
12652 (xbm_image_p): Handle case of in-memory XBM files.
12653 (xbm_scan): Rewritten to work on memory buffers instead of files.
12654 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12655 Work on memory buffers instead of files. If DATA is null test
12656 if buffer looks like an in-memory XBM file.
12657 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12658 memory buffers instead of files.
12659 (xbm_file_p): New function.
12660 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12661
353964e3
GM
12662 * lread.c (end_of_file_error): New function.
12663 (read1): Call it instead of signaling `end-of-file' directly.
12664
427ec082 12665 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12666 with Fprinc instead of Fprin1.
12667
24d744ac
KR
126682000-04-26 Ken Raeburn <raeburn@gnu.org>
12669
12670 * window.c (freeze_window_start): Check that minibuffer scroll
12671 window isn't nil before extracting the window structure pointer
12672 from it.
12673
12674 * undo.c (record_delete): If we hit the end of the undo list, stop
12675 picking elements apart.
12676
7464346d
GM
126772000-04-26 Gerd Moellmann <gerd@gnu.org>
12678
12679 * xdisp.c (display_line): If lines are continued, restore
12680 iterator's ascent/descent information to the values before the
12681 first glyph not fitting on the line.
12682
612839b6
GM
126832000-04-25 Gerd Moellmann <gerd@gnu.org>
12684
12685 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12686 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12687
12688 * dispnew.c (increment_matrix_positions): Renamed from
12689 increment_glyph_matrix_buffer_positions.
12690 (increment_row_positions): Renamed from
12691 increment_glyph_row_buffer_positions.
12692
12693 * dispextern.h: Change names of renamed functions from dispnew.c
12694 in prototypes.
12695
cc181e95
GM
126962000-04-24 Gerd Moellmann <gerd@gnu.org>
12697
abfcc168
GM
12698 * fileio.c (Fdo_auto_save): Create directories for auto-save
12699 list file if necessary.
12700
cc181e95
GM
12701 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12702 from buffer or frame.
12703 (automatic_hscrolling_p): New variable.
12704 (hscroll_windows): Scroll windows horizontally only if automatic
12705 hscrolling is allowed.
12706 (syms_of_xdisp): New variable `automatic-hscrolling'.
12707
12708 * frame.h (struct frame): Add member extra_line_spacing.
12709
12710 * xfns.c (x_set_line_spacing): New function.
12711 (Fx_create_frame): Set line spacing from resources.
12712 (Qline_spacing): New variable.
12713 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12714
cc181e95
GM
12715 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12716
12717 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12718 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12719 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12720 extra_line_spacing from default value.
12721 (init_buffer_once): Initialize default value of extra_line_spacing.
12722
12723 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12724 and extra3.
12725
12726 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12727 prompt_width. Add extra line spacing.
12728
12729 * term.c (produce_glyphs): Remove reference to struct it's
12730 prompt_width.
12731
12732 * dispextern.h (struct it): Remove member prompt_width, add
12733 extra_line_spacing.
12734
58827478
GM
127352000-04-22 Gerd Moellmann <gerd@gnu.org>
12736
12737 * dispnew.c (update_frame_line): When writing a whole line, make
12738 sure cursor is in the right row afterwards, otherwise a use of
12739 capability `ch' in cmgoto might leave the cursor in the row below.
12740
25a87f42
GM
127412000-04-21 Gerd Moellmann <gerd@gnu.org>
12742
12743 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12744
12745 * keyboard.c (timer_check): Fix typo in comment.
12746
54edf5c2
KH
127472000-04-21 Kenichi Handa <handa@etl.go.jp>
12748
12749 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12750 name change: ch -> character.
12751
3a64eef5
GM
127522000-04-20 Gerd Moellmann <gerd@gnu.org>
12753
12754 * keyboard.c (echo_message_buffer): New variable.
12755 (echo_now): Set echo_message_buffer to the echo area buffer used
12756 to display the echo.
12757 (cancel_echoing): Reset echo_message_buffer to nil.
12758 (read_char): Code rewritten that handles canceling an echo or
12759 echoing a dash, respectively.
12760
12761 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12762 directory doesn't exist.
12763
6142fdcb
DL
127642000-04-19 Dave Love <fx@gnu.org>
12765
12766 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12767 (concat): Don't allow numeric args.
12768 (Fconcat): Doc change.
6142fdcb 12769
ac6b5352
SM
127702000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12771
12772 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12773 instead define end_match(1|2) more carefully.
12774 Use GET_CHAR_BEFORE_2 for `begline'.
12775
cb9215e4
GM
127762000-04-19 Gerd Moellmann <gerd@gnu.org>
12777
5e3dac3f
GM
12778 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12779 on 64-bit systems where NULL is defined as `0'.
12780
12781 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12782 the `variable argument list' to make it work on Alpha.
12783
cb9215e4
GM
12784 * m/alpha.h (_LP64) [!_LP64]: Define.
12785 (ORDINARY_LINK): Define for NetBSD.
12786
12787 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12788
f532dca0
DL
127892000-04-19 Dave Love <fx@gnu.org>
12790
c750667e
DL
12791 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12792 change.
12793
12794 * Makefile.in (LIBS): Don't use.
12795 (GETLOADAVG_OBJ): Define again.
12796 (otherobj): Add GETLOADAVG_OBJ.
12797
f532dca0
DL
12798 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12799
1c7e22fd
GM
128002000-04-18 Gerd Moellmann <gerd@gnu.org>
12801
f6d3257b
GM
12802 * lread.c (read_filtered_event): Cancel and start busy cursor.
12803
427ec082 12804 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12805 that the per-character metrics may be null.
12806
e10f64e7
GM
128072000-04-17 Gerd Moellmann <gerd@gnu.org>
12808
0daee095
GM
12809 * buffer.c (clone_per_buffer_values): New function.
12810 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12811 clone_per_buffer_values if CLONE is not nil.
12812
e10f64e7
GM
12813 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12814
38687d43
DL
128152000-04-16 Dave Love <fx@gnu.org>
12816
12817 * Makefile.in: Remove obsolete localcpp stuff.
12818 (GETLOADAVG_OBJ): Don't define.
12819 (obj): Move LIBOBJS...
12820 (otherobj): ... to here.
12821 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12822 whitespace-only lines after the continuation (Irix).
12823
c21c7262
GM
128242000-04-14 Gerd Moellmann <gerd@gnu.org>
12825
12826 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12827
12828 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12829
314767c0
DL
128302000-04-14 Dave Love <fx@gnu.org>
12831
12832 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12833 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12834 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12835 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12836 NLIST_STRUCT.
12837
12838 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12839 autoconfiscated HAVE_GETLOADAVG.
12840
12841 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12842 BROKEN_MKTIME.
12843
a2522dca
GM
128442000-04-14 Gerd Moellmann <gerd@gnu.org>
12845
12846 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12847 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12848
33744b5d
DL
128492000-04-14 Dave Love <fx@gnu.org>
12850
c21c7262 12851 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12852 (INTERVAL_SRC): Convert to make variable.
12853 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12854 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12855 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12856 add LIBOBJS.
12857 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12858 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12859 (shortlisp): Add facemenu, float-sup, frame.
12860 (SOME_MACHINE_LISP): Remove them from here.
12861 (LIBES): Change unused LDLIBS to autoconf LIBS.
12862
12863 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12864
9d3d5916
KH
128652000-04-14 Kenichi Handa <handa@etl.go.jp>
12866
12867 * composite.c (update_compositions): If FROM and TO are not in a
12868 valid range, do nothing.
12869
198e3c7a
GM
128702000-04-13 Gerd Moellmann <gerd@gnu.org>
12871
52283633 12872 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12873
52283633 12874 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12875
12876 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12877 as TERMCAP_OBJ.
12878
055a28c9
EZ
128792000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12880
12881 * fileio.c (a_write): Remove redundant semi-colons.
12882 (e_write): Return -1 if failed to write all the data.
12883 This fixes the changes made at 1999-12-15.
12884
f5c75033
DL
128852000-04-12 Dave Love <fx@gnu.org>
12886
12887 * fns.c (mapcar1): Test for null vals to support mapc.
12888 (Fmapc): New function.
12889
0c3cfc51
EZ
128902000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12891
12892 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12893 (IT_frame_up_to_date): Support the buffer local value of
12894 cursor-type, if defined.
12895
33465a31
DL
128962000-04-10 Dave Love <fx@gnu.org>
12897
12898 * editfns.c (preceding-char, following-char): Doc fix.
12899
6ed56568
KR
129002000-04-10 Ken Raeburn <raeburn@gnu.org>
12901
12902 * Makefile.in (temacs): Revert 2000-03-12 change.
12903
7cf80d4e
JR
129042000-04-10 Jason Rumney <jasonr@gnu.org>
12905
12906 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12907
34f3f342
GM
129082000-04-10 Gerd Moellmann <gerd@gnu.org>
12909
1a1b1895
GM
12910 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12911 area buffer, if it's not set up yet.
12912
34f3f342
GM
12913 * indent.c (compute_motion): Set immediate_quit.
12914
be0dbdab
GM
129152000-04-09 Gerd Moellmann <gerd@gnu.org>
12916
52283633 12917 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12918 (realize_tty_face): Suppress boldness if colors are the inverse of
12919 the default colors, and tty_suppress_bold_inverse_default_colors_p
12920 is set.
12921 (Ftty_suppress_bold_inverse_default_colors): New function.
12922 (syms_of_xfaces): Defsubr it.
12923
be0dbdab
GM
12924 * buffer.c (Frestore_buffer_modified_p): New function.
12925 (syms_of_buffer): Defsubr it.
12926
e8413c3b
KR
129272000-04-08 Ken Raeburn <raeburn@gnu.org>
12928
87f67317
KR
12929 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12930 charset id (int) argument, not a charset (Lisp_Object).
12931
e8413c3b
KR
12932 * coding.h (code_convert_string): Declare.
12933 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12934 object, as the fourth argument to code_convert_string.
12935
52283633 12936 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12937 (Fset_fontset_font): Use EQ to compare lisp objects.
12938
7c752c80
KR
129392000-04-05 Ken Raeburn <raeburn@gnu.org>
12940
c0333abc
KR
12941 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12942 a pointer that looks like a lisp object.
12943 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12944 zero, instead see whether it's an integer object, since they can't
12945 have intervals.
12946 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12947
52283633
SM
12948 * dispnew.c (allocate_matrices_for_frame_redisplay)
12949 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12950 to convert between (unsigned) int values and lisp integers.
12951 * keyboard.c (read_key_sequence): Likewise.
12952 * lread.c (substitute_object_recurse): Likewise.
12953 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12954 * minibuf.c (do_completion, Fminibuffer_complete_word)
12955 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12956 * term.c (produce_special_glyphs): Likewise.
12957
12958 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12959 * print.c (print_preprocess, print_object): Likewise.
12960
12961 * search.c (compile_pattern): Use NILP when checking for nil.
12962
74e49b38
KR
12963 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12964 __OPTIMIZE__]: Provide a GNU C macro version that handles
12965 lisp-object unions.
12966 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12967 field, to better cope with ENABLE_CHECKING and calls that modify a
12968 Lisp_Object using its old value.
12969
685e5ed2
GM
129702000-04-04 Gerd Moellmann <gerd@gnu.org>
12971
c407c570
GM
12972 * window.c (compare_window_configurations): Signal an error
12973 if parameters C1 or C2 aren't window configurations.
12974
685e5ed2
GM
12975 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12976 AFTER_POTENTIAL_GC calls around calls to functions that can
12977 signal an error and thus invoke the debugger.
12978
587a49ab
GM
129792000-04-03 Gerd Moellmann <gerd@gnu.org>
12980
62f20204
GM
12981 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12982 an error if decoding fails.
12983
587a49ab
GM
12984 * keyboard.c (lispy_mouse_names): Variable removed.
12985 (Vlispy_mouse_stem): New variable.
12986 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12987 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12988 for any mouse button number. Increase size of mouse_syms and
12989 button_down_location as needed. Call modify_event_symbol with
12990 different arguments.
12991 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12992 Call modify_event_symbol with different arguments.
12993 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12994 for any button number. Call modify_event_symbol with different
12995 arguments.
12996 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12997 Accept a string for NAME_ALIST_OR_STEM.
12998
12999 * lisp.h (larger_vector): Add prototype.
13000
13001 * fns.c (larger_vector): Make externally visible.
13002
13003 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
13004
2d1675e4
SM
130052000-04-02 Stefan Monnier <monnier@cs.yale.edu>
13006
13007 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
13008 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
13009 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
13010 we are between str1 and str2.
13011 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
13012 (PATFETCH): Use `TRANSLATE'.
13013 (PATFETCH_RAW): Fetch multibyte char if applicable.
13014 (PATUNFETCH): Remove.
13015 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
13016 When writing a char, write it directly into the pattern buffer rather
13017 than going needlessly through a temp char-array.
13018 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
13019 multibyte magic and remove the useless `#ifdef emacs'.
13020 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
13021 buffer.
13022
13023 * regex.h (struct re_pattern_buffer): Make field `multibyte'
13024 conditional on `emacs'.
13025
13026 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
13027
cc2d8c6b
KR
130282000-04-01 Ken Raeburn <raeburn@gnu.org>
13029
13030 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
13031 non-union-type versions of XMARK and friends here, because XMARK
13032 and friends won't work on an integer field if NO_UNION_TYPE is not
13033 defined.
52283633 13034 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 13035
52283633 13036 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
13037 (syms_of_composite): Delete local var NARGS, pass an int as first
13038 argument to Fmake_hash_table.
13039
2387b382
KR
13040 * editfns.c (text_property_stickiness): Use NILP to test
13041 Lisp_Object boolean value.
13042 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
13043 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
13044 problems reading from and changing the same lisp value in an
13045 XSETSTRING call.
13046
27660e89
GM
130472000-04-01 Gerd Moellmann <gerd@gnu.org>
13048
13049 * term.c (TN_no_color_video): New variable.
13050 (term_init): Intitialize TN_no_color_video.
13051 (enum no_color_bit): New enumeration.
13052 (MAY_USE_WITH_COLORS_P): New macro.
13053 (turn_on_face): Use it to determine if attributes may be used
13054 combined with colors.
13055
3578db3c
KR
130562000-04-01 Ken Raeburn <raeburn@gnu.org>
13057
13058 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 13059 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
13060 (enlarge_window): Variable sizep now points to Lisp_Object. Use
13061 proper accessor macros.
13062 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
13063 (grow_mini_window): Fix typo getting int value of root->height.
13064
6fc556fd
KR
13065 * xdisp.c (compute_string_pos): Fix order of arguments to
13066 string_pos_nchars_ahead.
13067 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
13068 count arg to variable-arg routines like Frun_hook_with_args and
13069 Fformat.
587a49ab
GM
13070 (back_to_previous_visible_line_start)
13071 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
13072 fixed-arg routines like Fget_char_property and Fmake_string.
13073 (reconsider_clip_changes): Use XINT when comparing integer lisp
13074 objects, or passing them as int arguments.
587a49ab
GM
13075 (mark_window_display_accurate, insert_left_trunc_glyphs)
13076 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
13077 storing or passing integer values as lisp objects.
13078 (set_cursor_from_row, highlight_trailing_whitespace): Use
13079 INTEGERP, not implicit test against zero, for glyph object.
13080 (try_window_id): Don't use make_number when we want an int value.
13081
13082 * xfaces.c (xlfd_symbolic_value): Make last argument a
13083 Lisp_Object, to be consistent with callers.
13084 (Fbitmap_spec_p): Use XINT to get numeric value of height.
13085 (lface_hash): Apply XFASTINT to lisp values before folding in.
13086
13087 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
13088 fill in window width and height. Pass an int, not a lisp object,
13089 as first arg to Finsert.
13090
6e7b2457
GM
130912000-04-01 Gerd Moellmann <gerd@gnu.org>
13092
610d841e
GM
13093 * xfaces.c (realize_basic_faces): Block input while realizing
13094 the faces.
13095
6e7b2457
GM
13096 * keyboard.c (lispy_mouse_names): Add additional mouse names.
13097
13098 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
13099
aa110c0c
GM
131002000-03-31 Gerd Moellmann <gerd@gnu.org>
13101
13102 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 13103 or ASCII, handle case that per-char metric is null.
aa110c0c 13104
8801a864
KR
131052000-03-30 Ken Raeburn <raeburn@gnu.org>
13106
c6129d7e
KR
13107 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
13108
52283633
SM
13109 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
13110 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
13111 pointer, using eassert.
13112 * frame.h (XFRAME): Likewise.
13113
52283633
SM
13114 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
13115 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
13116 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 13117 * data.c (set_internal): Likewise.
52283633
SM
13118 * dispextern.h (WINDOW_WANTS_MODELINE_P)
13119 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
13120 * fileio.c (auto_save_1): Likewise.
13121 * insdel.c (check_markers): Likewise.
13122 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
13123 * undo.c (record_insert): Likewise.
13124 * vmsproc.c (child_sig): Likewise.
13125 * window.c (unshow_buffer, window_loop): Likewise.
13126 * xterm.c (x_erase_phys_cursor): Likewise.
13127
8e7af858
GM
131282000-03-30 Gerd Moellmann <gerd@gnu.org>
13129
13130 * xfns.c (free_image_cache): Free the cache structure itself
13131 last, after all its members have been freed.
13132
13133 * lisp.h (xstrdup): Add prototype.
13134
13135 * alloc.c (xstrdup): Moved here from xfaces.c.
13136 (allocating_for_lisp): Variable removed.
52283633 13137 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
13138
13139 * xfaces.c (realize_tty_face): Use find_symbol_value instead
13140 of Fsymbol_value.
13141 (xstrdup): Moved to alloc.c.
13142
e0b8c689
KR
131432000-03-29 Ken Raeburn <raeburn@gnu.org>
13144
b96f9fb7
KR
13145 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
13146
13147 * emacs.c (main): Fix sense of no-loadup test.
13148
e0b8c689
KR
13149 * config.in (ENABLE_CHECKING): Undef.
13150
13151 * lisp.h (struct interval): Replace "parent" field with a union of
13152 interval pointer and Lisp_Object; add new bitfield to use as
13153 discriminant. Change other flag fields to bitfields.
13154 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
13155 is defined and the supplied test fails, print a message and abort.
13156 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
13157
13158 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
13159 pointers; abort if the value looks like a lisp object.
52283633
SM
13160 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
13161 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
13162 Modify for new interval parent definition.
13163
52283633
SM
13164 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
13165 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
13166 addressable lisp object in the interval structure.
13167 (die): New function.
13168 (suppress_checking): New variable.
13169
13170 * intervals.c (interval_start_pos): Just return 0 if there's no
13171 parent object.
13172
f83c5440
GM
131732000-03-29 Gerd Moellmann <gerd@gnu.org>
13174
13175 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13176 and earlier Emacs versions.
13177
13178 * keyboard.c (Ftop_level): Cancel busy-cursor.
13179
13180 * eval.c (call_debugger): Cancel busy-cursor.
13181
fdce64ff
KH
131822000-03-29 Kenichi Handa <handa@etl.go.jp>
13183
13184 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 13185 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 13186
f6a3f532
SM
131872000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13188
13189 * regex.c (analyse_first): New function obtained by ripping out most
13190 of re_compile_fastmap and generalizing it a little bit so that it
13191 can also just return whether a given (sub)pattern can match the empty
13192 string or not.
13193 (regex_compile): Use `analyse_first' to decide whether the loop-check
13194 needs to be done or not for *, +, *? and +? (the loop check is costly
13195 for non-greedy repetition).
13196 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13197
e9b309ac
DL
131982000-03-28 Dave Love <fx@gnu.org>
13199
52283633 13200 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 13201
e9b309ac
DL
13202 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13203
ed0767d8
SM
132042000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13205
13206 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13207 an expression.
13208 (enum re_opcode_t): Update description of succeed_n.
13209 (PATFETCH): Always define.
13210 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13211 operators, char classes, shy-groups and intervals).
13212 Optimize special cases of intervals so as to only use succeed_n and
13213 jump_n when really needed.
13214 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13215 that we don't have to handle the special cases any more.
13216 Simplify on_failure_jump handling as well.
13217
e11e7e46
JR
132182000-03-28 Jason Rumney <jasonr@gnu.org>
13219
13220 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13221
88faab89
GM
132222000-03-27 Gerd Moellmann <gerd@gnu.org>
13223
182ff242
GM
13224 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13225
13226 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13227
182ff242
GM
13228 * alloc.c (mark_maybe_object): New function.
13229 (mark_memory): Use it.
13230 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13231 (setjmp_tested_p, longjmp_done): New variables.
13232 (test_setjmp): New function.
13233 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13234 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13235
c1005d06
GM
13236 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13237 to DEC_TEXT_POS and INC_TEXT_POS.
13238
13239 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13240 with parameter MULTIBYTE_P.
13241
52283633 13242 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13243
7439e5b9 13244 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13245 buffers because it looks for multibyte character byte sequences
13246 which don't exist in unibyte text.
7439e5b9 13247
d9c545da
GM
13248 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13249
11fd416e 13250 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13251 [DEBUG_X_COLORS]: New functions.
13252 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13253
13254 * xfns.c (x_set_cursor_color): Get color reference counts right.
13255
13256 * xterm.c (x_copy_color): New function.
13257 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13258
13259 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13260 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13261 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13262 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13263 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13264 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13265 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13266 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13267 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13268 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13269
11fd416e
GM
13270 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13271 names for handling per-buffer variables.
d9c545da
GM
13272
13273 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13274 instead of MAX_BUFFER_LOCAL_VARS.
13275 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13276
13277 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13278
88faab89
GM
13279 * xfns.c (x_specified_cursor_type): New function.
13280 (x_set_cursor_type): Use it.
13281
13282 * buffer.h (struct buffer): Add cursor_type.
13283
d80f42b7
SM
132842000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13285
13286 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13287 (print_partial_compiled_pattern, re_compile_fastmap):
13288 Handle new opcode.
d80f42b7
SM
13289 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13290 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13291 executing it as well as when popping it off the stack to find infinite
13292 loops in non-greedy repetition operators.
13293
89e80928
GM
132942000-03-26 Gerd Moellmann <gerd@gnu.org>
13295
3d4ff2dd
GM
13296 * doc.c (Qfunction_documentation): New variable.
13297 (syms_of_doc): Initialize Qfunction_documentation.
13298 (Fdocumentation): If FUNCTION is a symbol with non-nil
13299 `function-documentation' property, return a documentation derived
13300 from that.
13301
bd96bd79
GM
13302 * buffer.c (syms_of_buffer): Add default-cursor-type.
13303 (init_buffer_once): Don't let cursor_type have a local value
13304 in every buffer.
13305
19d1bc27
GM
13306 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13307 on buffer-local value of cursor_type.
13308 (x_draw_bar_cursor): Add parameter WIDTH.
13309
13310 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13311 (init_buffer_once): Set default cursor_type value to t.
13312 Mark cursor_type as local everywhere.
13313 (syms_of_buffer): New per-buffer variable cursor-type.
13314
89e80928
GM
13315 * buffer.h (struct buffer): Remove member local_var_flags,
13316 add local_flags.
13317 (MAX_BUFFER_LOCAL_VARS): New macro.
13318 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13319 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13320 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13321 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13322
52283633 13323 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13324
13325 * category.c (Fset_category_table): Use new macros for per-buffer
13326 variables.
13327
13328 * buffer.c (buffer_permanent_local_flags): Make a char array.
13329 (max_buffer_local_idx): New variable.
13330 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13331 for new handling of per-buffer variables.
13332 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13333 (init_buffer_once): Initialize per-buffer vars differently.
13334 Set max_buffer_local_idx.
13335
13336 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13337 variables.
13338
52283633 13339 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13340
13341 * data.c (do_symval_forwarding, store_symval_forwarding)
13342 (find_symbol_value, set_internal, default_value, Fset_default)
13343 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13344 per-buffer variables.
13345
13346 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13347
9a0dd3dc
GM
133482000-03-24 Gerd Moellmann <gerd@gnu.org>
13349
b68c375f
GM
13350 * xterm.c (x_term_init): Unblock input around call1 of
13351 Qvendor_specific_keysyms.
13352
9a0dd3dc
GM
13353 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13354 (find_defun_start): Consider an open parenthesis in column 0
13355 a defun start only if open_paren_in_column_0_is_defun_start is set.
13356 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13357
7973e637
SM
133582000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13359
13360 * eval.c (Fautoload): Add entry in load-history (if after dump).
13361 * lread.c (load-history): Update docstring.
13362
39210e90
GM
133632000-03-24 Gerd Moellmann <gerd@gnu.org>
13364
13365 * indent.c (Fvertical_motion): Always use the current buffer.
13366 Temporarily change the window's buffer, if necessary.
13367
72db3ab5
GM
133682000-03-23 Gerd Moellmann <gerd@gnu.org>
13369
13370 * xterm.c (fast_find_position): Make sure not to consider rows
13371 not visible in the window.
13372
990b2375
SM
133732000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13374
13375 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13376 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13377
ff4df011
JR
133782000-03-22 Jason Rumney <jasonr@gnu.org>
13379
13380 * w32menu.c (single_submenu): Set help string to NULL if none.
13381 (w32_menu_show): Set help string correctly.
13382 (add-menu-item): Set help string in MIIM_DATA for menu item.
13383 Load SetMenuItemInfoA explicitly.
13384 (w32_menu_display_help): New function.
427ec082 13385
ff4df011
JR
13386 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13387 (QCdata): Moved to xdisp.c.
13388
13389 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13390 (Vw32_charset_to_codepage_alist): Removed.
13391 (Vw32_charset_info_alist): New variable.
52283633
SM
13392 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13393 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13394 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13395 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13396 with TODO comment.
13397 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13398 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13399 Define Vw32_charset_info_alist and w32_charset symbols.
13400
134012000-03-22 Jason Rumney <jasonr@gnu.org>
13402
13403 * makefile.nt (w32bdf.obj): Update dependencies.
13404
13405 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13406
13407 * w32fns.c: Include fontset.h after dispextern.h.
13408 (Fx_create_frame): Do not create fontset.
13409 (w32_load_system_font): Doc fix.
13410 (Fx_close_connection): Free full_name if it is not shared.
13411
13412 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13413 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13414 Callers updated.
ff4df011
JR
13415 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13416 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13417 (w32_font_is_double_byte): New function, needs body.
13418 (x_append_glyph): Set glyph->glyph_not_available_p.
13419 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13420 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13421 character, convert it to a unibyte character.
13422 (struct glyph_string): Delete member `charset'.
13423 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13424 calculating it is found.
13425 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13426 the case that per char metric is not available correctly.
13427 (x_fill_glyph_string): Handle the case that the specific glyph is
13428 not available correctly.
13429 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13430 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13431 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13432 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13433 fontset. Don't call FS_LOAD_FONT.
13434
439d5cb4
KR
134352000-03-22 Ken Raeburn <raeburn@gnu.org>
13436
13437 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13438 (INT_LISPLIKE): New macro.
13439 (NULL_INTERVAL_P): Use it.
52283633
SM
13440 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13441 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13442 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13443
13444 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13445 explicit references to "parent" field of struct interval and
13446 associated unclean type conversions.
52283633
SM
13447 * intervals.c (create_root_interval, root_interval, rotate_right)
13448 (rotate_left, balance_possible_root_interval, split_interval_right)
13449 (split_interval_left, interval_start_pos, find_interval)
13450 (next_interval, previous_interval, update_interval)
13451 (adjust_intervals_for_insertion, delete_node, delete_interval)
13452 (adjust_intervals_for_deletion, merge_interval_right)
13453 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13454 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13455 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13456 Likewise.
13457 * syntax.c (update_syntax_table): Likewise.
13458
13459 * intervals.c (reproduce_tree_obj): New function, like
13460 reproduce_tree but takes a Lisp_Object for the parent. Declare
13461 with prototype.
13462 (graft_intervals_into_buffer): Use it when appropriate.
13463 (reproduce_tree): Declare with prototype.
13464 (balance_possible_root_interval): Check that the parent is a lisp
13465 object before trying to examine its type.
13466
ee1c5b21
GM
134672000-03-22 Gerd Moellmann <gerd@gnu.org>
13468
13469 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13470 as strings only if both are known to be strings.
13471
13472 * s/openbsd.h (LIBS_TERMCAP): Undef.
13473
1fb352e0
SM
134742000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13475
13476 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13477 definitions for non-Emacs compilation.
13478 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13479 outside of `#ifdef emacs'.
13480 (print_partial_compiled_pattern): Update.
13481 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13482 (re_compile_fastmap): Merge handling of charset and charset_not (for
13483 emacs and non-emacs compilation as well).
13484 Similarly for (not)categoryspec and (not)syntaxspec.
13485 Don't use the fastmap when reaching `anychar' since the added
13486 complexity is not justified.
13487 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13488 and (not)syntaxspec. Merge (not)categoryspec.
13489
fdaa1f77
KH
134902000-03-22 Kenichi Handa <handa@etl.go.jp>
13491
52283633
SM
13492 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13493 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13494 --without-x.
fdaa1f77 13495
d152fb46
DL
134962000-03-21 Dave Love <fx@gnu.org>
13497
13498 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13499 doc string.
13500
d2cafc8c
GM
135012000-03-21 Gerd Moellmann <gerd@gnu.org>
13502
13503 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13504 (lface_fully_specified_p): Don't check contents of
13505 LFACE_FONT_INDEX because that attribute is optional.
13506 (realize_x_face): Remove now unwarranted xassert.
13507
9111d4b5
KH
135082000-03-21 Kenichi HANDA <handa@etl.go.jp>
13509
13510 The following changes are to make font selection based on
13511 characters, not charset. In addition, they recover fontset
13512 facilities while utilizing the new font selection mechanism.
13513
6c4bfdc0
KH
13514 * Makefile.in (fontset.o): Depend on dispextern.h.
13515
13516 * alloc.c (mark_face_cache): Don't mark face->registry.
13517
9111d4b5
KH
13518 * dispextern.h (struct glyph): New member glyph_not_available_p.
13519 Use 22 bits for face_id.
13520 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13521 (struct face): Delete member registry, new member ascii_face.
13522 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13523 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13524 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13525 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13526
13527 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13528 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13529 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13530 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13531 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13532 (fs_free_face_fontset, fontset_font_pattern)
13533 (face_suitable_for_char_p, face_for_char)
13534 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13535 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13536 (FS_LOAD_FACE_FONT): New macro.
13537
13538 * fontset.c: All codes rewritten or adjusted for the change of
13539 fontset implementation. Now fontset is represented by char table.
52283633
SM
13540 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13541 Variables removed.
9111d4b5 13542 (my_strcasecmp): Function removed.
52283633 13543 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13544 (AREF, ASIZE): New macros.
52283633
SM
13545 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13546 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13547 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13548 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13549 (fontset_id_valid_p, font_family_registry, fontset_name)
13550 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13551 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13552 New functions.
13553 (fs_load_font): New arg FACE. Caller changed.
13554 (fs_query_fontset): Argument changed. Caller changed.
13555 (Fquery_fontset): call fs_query_fontset.
13556 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13557 Functions removed.
52283633
SM
13558 (clear_fontset_elements, check_registry_encoding)
13559 (check_fontset_name): New functions.
9111d4b5
KH
13560 (syms_of_fontset): Set char-table-extra-slots property of fontset
13561 to 3. Staticpro and initialize Vfontset_table and
13562 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13563
13564 * frame.h (struct frame): Member `fontset_data' removed.
13565 (FRAME_FONTSET_DATA): Macro removed.
13566
13567 * frame.c (make_frame): Don't allocate f->fontset_data.
13568 (Fdelete_frame): Don't free f->fontset_data.
13569
6c4bfdc0
KH
13570 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13571
9111d4b5
KH
13572 * xdisp.c (charset_at_position): Function removed.
13573 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13574 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13575 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13576 Likewise.
13577 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13578 FACE_FOR_CHARSET.
52283633
SM
13579 (get_next_display_element, append_space)
13580 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13581
13582 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13583 Variables removed.
13584 (clear_font_table, frame_update_line_height, load_face_font):
13585 Adjusted for the change of fontset implementation.
13586 (load_face_fontset_font): Function removed.
13587 (pixel_point_size): New function.
13588 (font_list): Argument type changed. Caller changed.
13589 (LFACE_FONT): New macro.
13590 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13591 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13592 Lisp_Object. Determine the font name by actually loading a font
13593 by the specified pattern. Set LFACE_FONT (lface) to the specified
13594 pattern. Even if a font is not found, don't try alternatives.
13595 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13596 (set_font_frame_param): If `font' is specified in lface, use it.
13597 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13598 (lface_same_font_attributes_p): Likewise.
13599 (make_realized_face): Arguent changed. Caller changed. Set
13600 face->ascii_face to face itself.
13601 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13602 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13603 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13604 (free_realized_multibyte_face): New function.
13605 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13606 changed. Caller changed.
13607 (try_font_list): Argument type changed.
13608 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13609 (choose_face_font): Argument changed. Handle fontset properly.
13610 (choose_face_fontset_font): Function removed.
13611 (realize_default_face, realize_named_face): Don't remove the
13612 former face here.
13613 (realize_face): Argument changed. Caller changed. Remove face
52283633 13614 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13615 (realize_x_face): Argument changed. Caller changed. For a
13616 multibyte character, share fontset with base_face. For a single
52283633 13617 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13618 (realize_tty_face): Argument changed. Caller changed.
13619 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13620 (face_at_buffer_position): Don't check multibyte_p for returning
13621 DEFAULT_FACE_ID.
13622 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13623 FACE_SUITABLE_FOR_CHARSET_P.
13624 (syms_of_xfaces): Remove code for Qx_charset_registry and
13625 Vface_default_registry.
13626
6c4bfdc0
KH
13627 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13628 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13629 (x_per_char_metric): Don't try FONT->default_char. Even if
13630 pcm->width is zero, glyph bits may exist.
13631 (x_encode_char): Always initialize char2b->byte1.
13632 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13633 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13634 (x_append_glyph): Set glyph->glyph_not_available_p.
13635 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13636 it->charset. Handle the case that per char metric is not
13637 available. If it->multibyte_p is zero and it->c is a multibyte
13638 character, convert it to a unibyte character.
13639 (struct glyph_string): Delete member `charset'.
13640 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13641 the case that per char metric is not available correctly.
13642 (x_fill_glyph_string): Handle the case that the specific glyph is
13643 not available correctly.
13644 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13645 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13646 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13647 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13648 fontset. Don't call FS_LOAD_FONT.
13649
13650 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13651 (x_create_tip_frame): Likewise.
13652 (Fx_close_connection): Free full_name of font_info.
13653
13654 * fns.c (optimize_sub_char_table): New function.
13655 (Foptimize_char_table): New function.
13656 (syms_of_fns): Defsubr Soptimize_char_table.
13657
b33dd3b0
GM
136582000-03-20 Gerd Moellmann <gerd@gnu.org>
13659
13660 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13661 only if buffer is displayed in some window.
13662
13663 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13664 (try_window_reusing_current_matrix): Don't call scroll run
13665 function if run's current and desired position are the same;
13666 this prevents cursor flickering.
13667
4e8a9132
SM
136682000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13669
13670 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13671
13672 * regex.c (RE_STRING_CHAR): New macro.
13673 (GET_CHAR_AFER_2): Remove.
13674 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13675 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13676 (print_partial_compiled_pattern, re_compile_fastmap)
13677 (re_match_2_internal): Remove on_failure_jump_exclusive.
13678 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13679 optimization only need to work for * (ie. can use of_keep_string_jump).
13680 Remove the special case for .*\n since it is now covered by the general
13681 optimization.
13682 (re_search_2): Don't bother with `room'.
13683 (skip_one_char): New function.
13684 (skip_noops): Simplify since `memory' is not needed any more.
13685 (mutually_exclusive_p): Restructure slightly to use `switch' and
13686 add handling for "all" remaining cases.
13687 (re_match_2_internal): Change on_failure_jump_smart to use
13688 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13689 rather than on_failure_jump_exclusive.
13690
2136fdd4
GM
136912000-03-19 Gerd Moellmann <gerd@gnu.org>
13692
13693 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13694 number of bits per RGB because it's everywhere used as the depth
13695 of the visual.
13696
13697 * term.c (calculate_costs): Remove code dealing with X frames.
13698
18e21ce8 136992000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13700
13701 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13702
d7b511c4
GM
137032000-03-18 Gerd Moellmann <gerd@gnu.org>
13704
13705 * lread.c (read_integer): Unread the last char not consumed.
13706
16b5d424
GM
137072000-03-17 Gerd Moellmann <gerd@gnu.org>
13708
13709 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13710 which are in the process of being deleted.
16b5d424 13711
1fa28578
GM
137122000-03-16 Gerd Moellmann <gerd@gnu.org>
13713
83488cce
GM
13714 * Makefile.in (mostlyclean): Add `*.core'.
13715 (clean): Add `bootstrap-emacs'.
13716
1fa28578
GM
13717 * lread.c (read_integer): New function.
13718 (read1): Support read syntax #o, #x, #b, #r.
13719
99633e97
SM
137202000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13721
1fa28578
GM
13722 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13723 make sure POINTER_TO_OFFSET gives the same value before and after
13724 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13725 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13726 (debug): Now only active if > 0 rather than if != 0.
13727 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13728 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13729 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13730 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13731 (store_op1, store_op2, insert_op1, insert_op2)
13732 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13733 (group_in_compile_stack): Move to after its arg's types are
13734 declared and add a prototype.
99633e97 13735 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13736 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13737 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13738 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13739 indentation of the greedy-op and shy-group code.
99633e97
SM
13740 (at_(beg|end)line_loc_p): Fix argument's types.
13741 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13742 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13743 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13744 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13745 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13746 QUIT unconditionally.
99633e97 13747
699238d9
GM
137482000-03-15 Gerd Moellmann <gerd@gnu.org>
13749
13750 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13751 a sole completion.
13752
13753 * process.c (send_process): Add a hint that the function
13754 can call Lisp code to its comment.
13755
13756 * lread.c (load_dangerous_libraries): New variable.
13757 (Vbytecomp_version_regexp): New variable.
13758 (safe_to_load_p): New function.
13759 (Fload): Handle files not compiled with Emacs specially.
13760 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13761
34e23e5a
GM
137622000-03-14 Gerd Moellmann <gerd@gnu.org>
13763
9c763cca
GM
13764 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13765
13766 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13767 support functions only if HAVE_X11R6_XIM is defined.
13768 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13769
13770 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13771
13772 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13773 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13774 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13775
13776 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13777 (HAVE_X11R6_XIM): Define.
13778
13779 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13780
34e23e5a
GM
13781 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13782 If set, call XSynchronize.
13783
66f0296e
SM
137842000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13785
34e23e5a
GM
13786 * regex.c: Declare a new type `re_char' used throughout the code
13787 for the string char type. It's `const unsigned char' to match the
13788 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13789 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13790 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13791 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13792 code duplication.
66f0296e
SM
13793
13794 * charset.h (GET_CHAR_AFTER_2): Remove.
13795 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13796
854a025c
KR
137972000-03-12 Ken Raeburn <raeburn@gnu.org>
13798
13799 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13800 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13801 of them try to use backquotes.
13802
b9d2c7e2
DL
138032000-03-12 Dave Love <fx@gnu.org>
13804
13805 * unexelf.c: Restore changes of 1999-10-19.
13806 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13807 fix its type and alignment; copy it from current process.
13808
5e5dff44
GM
138092000-03-12 Gerd Moellmann <gerd@gnu.org>
13810
9b2f3c38
GM
13811 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13812 has been found. Fix bug not computing timer's predecessor.
13813
427ec082 13814 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13815 file name.
13816
e1cff360
GM
13817 * window.c (Fsave_window_excursion): Doc fix.
13818
52283633 13819 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13820
e411ce4b
EZ
138212000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13822
13823 * msdos.c (vga_installed): New function, code moved from
13824 dos_set_window_size.
13825 (Qbar, Qcursor_type, outside_cursor): New variables.
13826 (syms_of_msdos): Intern and staticpro them.
13827 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13828 shape used outside Emacs when called for the first time.
13829 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13830 cursor shape used outside Emacs.
13831 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13832 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13833 type has changed.
13834 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13835 parameters specify the cursor. Make qreverse a global
13836 variable (renamed to Qreverse).
13837
80460654
GM
138382000-03-09 Gerd Moellmann <gerd@gnu.org>
13839
13840 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13841
95cd4c40
SM
138422000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13843
13844 This is a big redesign of failure-stack and register handling, prompted
13845 by bugs revealed when trying to add shy-groups. Overall, what happened
13846 is that loops are now structured a little differently, groups can be
13847 shy and the code is a little simpler.
13848
13849 * regex.h: Update the copyright.
13850 (RE_SHY_GROUPS): New value.
13851 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13852 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13853
80460654
GM
13854 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13855 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13856 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13857 for (start|stop)_memory since they now only take one argument (the
13858 second has becomes unnecessary).
52283633 13859 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13860 (print_compiled_pattern): Use %ld to printf long ints and flush to
13861 make debugging a little easier.
95cd4c40
SM
13862 (union fail_stack_elt): Make the integer unsigned.
13863 (struct fail_stack_type): Add a `frame' element.
13864 (INIT_FAIL_STACK): Init `frame' as well.
13865 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13866 (DEBUG_PUSH, DEBUG_POP): Remove.
13867 (NUM_REG_ITEMS): Remove.
13868 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13869 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13870 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13871 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13872 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13873 New macros.
80460654
GM
13874 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13875 address pushed is not the destination of the jump but the source
13876 of it instead.
95cd4c40
SM
13877 (NUM_FAILURE_ITEMS): Remove.
13878 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13879 registers before the actual failure point). Don't hardcode any
13880 meaning for str==NULL anymore.
95cd4c40 13881 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13882 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13883 Remove.
95cd4c40
SM
13884 (REG_UNSET_VALUE): Use NULL (why not?).
13885 (compile_range): Remove declaration since it doesn't exist.
13886 (struct compile_stack_elt_t): Remove inner_group_offset.
13887 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13888 (regex_grow_registers): Remove dead code.
13889 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13890 (regex_compile): Add shy-groups Change loops to use
13891 on_failure_jump_smart&jump instead of
13892 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13893 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13894 variable to me). Use `jump' instead of `jump_past_alt' and don't
13895 bother with push_dummy_failure in alternatives since it is now
13896 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13897 emacs' for (re)allocating the stack.
13898 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13899 from loop when bufp->can_be_null rather than jumping to `done'.
13900 Avoid jumping backwards so as to ensure termination. Use
13901 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13902 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13903 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13904 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13905 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13906 (lowest_active_reg, highest_active_reg)
13907 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13908 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13909 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13910 variables. Push register (in `start_memory') on the stack rather
13911 than storing it in old_reg(start|end). Remove the cycle detection
13912 from `stop_memory', replaced by the use of on_failure_jump_loop
13913 for greedy loops. Add code for the new on_failure_jump_<foo>.
13914 Remove ad-hoc code in `on_failure_jump' to push more registers in
13915 the case of a loop. Take out code from `maybe_pop_jump' into
13916 separate functions and adapt it to the semantics of
13917 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13918 and push_dummy_failure. Remove dummy_failure handling and
13919 handling of `failures to jump to on_failure_jump' (this last one
13920 was already dead code, it seems).
13921 (group_match_null_string_p, alt_match_null_string_p)
13922 (common_op_match_null_string_p): Remove.
95cd4c40 13923
7397acc4
DL
139242000-03-08 Dave Love <fx@gnu.org>
13925
13926 * config.in: Don't depend on __STDC__ for volatile.
13927 Add POINTER_TYPE, PTR, PROTOTYPES.
13928
13929 * hftctl.c, strftime.c: Use PROTOTYPES.
13930 * eval.c (find_handler_clause): Likewise.
13931
13932 * mem-limits.h: Use POINTER_TYPE.
13933
13934 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13935 (memory_warnings): Declare using POINTER_TYPE.
13936
5e91ff9e
GM
139372000-03-08 Gerd Moellmann <gerd@gnu.org>
13938
feab4fba
GM
13939 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13940
52283633 13941 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13942
5e91ff9e
GM
13943 * xfns.c: Remove obsolete code in #if 0.
13944 (Fx_focus_frame): New function.
13945
a735b7e1
KH
139462000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13947
13948 * coding.c (coding_category_name): Add coding-category-utf-8,
13949 coding-category-utf-16-be, coding-category-utf-16-le.
13950 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13951 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13952 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13953 (detect_coding_utf_8): New function.
13954 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13955 UTF_16_LOW_SURROGATE_P): New macros.
13956 (detect_coding_utf_16): New function
13957 (detect_coding_mask): When priorities are specified, skip any
13958 categories that have `nil' coding-system. Fix bug of returning
13959 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13960 returns a mask not set in PRIORITIES.
13961 (detect_eol_type_in_2_octet_form): New function.
13962 (detect_eol): selects detect_eol_type_XXX to call according to
13963 cooding->category_idx.
13964 (detect_coding_system): Remove `nil' coding-system in the result.
13965 (Fupdate_coding_systems_internal): Update all coding-categories.
13966
52283633
SM
13967 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13968 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13969 New macros.
13970 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13971 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13972 (CODING_CATEGORY_IDX_UTF_16_LE)
13973 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13974 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13975 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13976 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13977
9994cc69
GM
139782000-03-07 Gerd Moellmann <gerd@gnu.org>
13979
e9b4e5ff
GM
13980 * doc.c (Fdocumentation_property): If value is not a string,
13981 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13982
f7daf1e1
GM
13983 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13984 close the display with XtCloseDisplay. This caused a bus error
13985 on OpenWindows.
13986
9994cc69
GM
13987 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13988 complete but not unique.
13989
4336c705
GM
139902000-03-06 Gerd Moellmann <gerd@gnu.org>
13991
18bb0684
GM
13992 * process.c (send_process): Remove local variable `procname' that
13993 might become invalid when a GC happens. Instead, access the
13994 process name slot directly.
13995
4336c705
GM
13996 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13997 orig_height if set.
13998
13999 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
14000 orig_height if set.
14001
515d0d0e
EZ
140022000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
14003
14004 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
14005 glyph matrices have been freed.
14006
100b3cbb
GM
140072000-03-05 Gerd Moellmann <gerd@gnu.org>
14008
50df5e5a 14009 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 14010 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
14011
14012 * xfns.c (QCdata): Moved to xdisp.c.
14013
14014 * xdisp.c (QCdata): Moved here from xfns.c.
14015 (syms_of_xdisp): Initialize QCdata.
14016
14017 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
14018
14019 * window.c (coordinates_in_window): Use
14020 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
14021 FRAME_INTERNAL_BORDER_WIDTH.
14022
100b3cbb 14023 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 14024 it is obviously invalid.
100b3cbb
GM
14025
14026 * xterm.c (x_term_init): Create a colormap if not using the
14027 default visual.
14028
14029 * xterm.h (select_visual): Change prototype.
14030
14031 * xfns.c (select_visual): Rewritten. Recognize user-specified
14032 visual classes.
14033 (visual_classes): New variable.
14034
64d739c4
GM
140352000-03-04 Gerd Moellmann <gerd@gnu.org>
14036
14037 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
14038 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
14039 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 14040 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
14041 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
14042 XtNcolormap resources.
14043 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
14044 (Fx_create_frame): Initialize color members of x_output structure.
14045 (xpm_load): Pass colormap to XPM lib.
14046
14047 * xfaces.c (x_free_colors): Access colormap of frame using
14048 FRAME_X_COLORMAP. Be paranoid about freeing black and white
14049 when default colormap is used.
14050
14051 * xterm.c (x_term_init): Set Colormap member of x_display_info
14052 structure. Copy colormap if resource `privateColormap' is
14053 specified (PseudoColor only).
14054 (x_setup_relief_color): Access colormap of frame using
14055 FRAME_X_COLORMAP.
14056
14057 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
14058 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
14059
c3cee013
JR
140602000-03-04 Jason Rumney <jasonr@gnu.org>
14061
14062 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
14063 other non-platform-specific equivalents.
64d739c4 14064 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
14065 specific functions and macros as their w32 equivalents where
14066 non-platform-specifics are not available.
14067 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
14068 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
14069 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
14070 (frame_update_line_height): Use macros to access f->output_data.
14071 (defined_color): Remove FIXME comments; fixed.
14072 (x_face_list_fonts, prepare_face_for_display): Put X specifics
14073 into #ifdef blocks. Add WINDOWSNT blocks.
14074 (Fx_list_fonts): Use macros for accessing font data.
14075 (set_lface_from_font_name): Different default fonts for X and
14076 WINDOWSNT.
14077 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
14078 scalable for backward compatibility.
64d739c4 14079 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
14080 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
14081
64d739c4 14082 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
14083 syms_of_w32faces.
14084
14085 * makefile.nt (w32faces.obj): Remove.
14086 (xfaces.obj): Add.
14087
807cc41c
JR
140882000-03-03 Jason Rumney <jasonr@gnu.org>
14089
14090 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
14091 correct parameters.
14092
0007072a
KR
140932000-03-03 Ken Raeburn <raeburn@gnu.org>
14094
14095 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
14096 standard ELF definitions here if the system header does not.
14097
71a6ba55
GM
140982000-03-03 Gerd Moellmann <gerd@gnu.org>
14099
14100 * xterm.c (PER_CHAR_METRIC): Removed.
14101 (x_per_char_metric_1, x_default_char): New functions.
14102 (x_per_char_metric): If font's default char is invalid, return
14103 metrics of a suitably chosen usable default char.
14104 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
14105 char, replace occurrences of unprintable chars with a suitably
14106 chosen usable default char.
71a6ba55 14107
900fa1f1
GM
141082000-03-02 Gerd Moellmann <gerd@gnu.org>
14109
42f55fe0
GM
14110 * xterm.c (note_mouse_highlight): Return quickly if frame's
14111 glyph matrices have been freed.
14112
14113 * dispnew.c (free_glyphs): Block input while freeing matrices.
14114
900fa1f1
GM
14115 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
14116
52283633
SM
14117 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
14118 Use x_free_colors.
900fa1f1
GM
14119
14120 * dispextern.h (x_free_colors): Add prototype.
14121
14122 * xfaces.c (x_free_colors): New function.
14123 (unload_color, free_face_colors): Use it.
14124
2f950292
EZ
141252000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14126
14127 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
14128
14129 * window.c [MSDOS]: Include msdos.h.
14130
54d04320
DL
141312000-03-02 Dave Love <fx@gnu.org>
14132
14133 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
14134
14135 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
14136 set C_OPTIMIZE_SWITCH for gcc.
14137
0ba93ac4
KH
141382000-03-02 Kenichi Handa <handa@etl.go.jp>
14139
14140 * coding.c (coding_save_composition): Be sure to allocate
14141 composition data area in coding even if there's no composition in
14142 the current run.
14143
a2bc11d4
JR
141442000-03-01 Jason Rumney <jasonr@gnu.org>
14145
14146 * w32term.c: Equivalent changes to those made to xterm.c on
14147 2000-02-25 and 2000-02-24.
14148
14149 * w32fns.c: Equivalent changes to those made to xfns.c on
14150 2000-02-25 and 2000-02-21.
14151
14152 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
14153 correct line-end convention is followed.
14154
14155 * w32menu.c [HAVE_BOXES]: Remove #undef.
14156 (single_keymap_panes): Remove code for simulating checkmarks.
14157 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
14158 Remove code for drawing simulated checkmarks.
14159 (w32_menu_show): make unibyte help string correctly.
14160 (add_menu_item): draw standard Windows checkmarks. Draw radio
14161 buttons as radio buttons if possible.
14162
72d19d75
GM
141632000-03-01 Gerd Moellmann <gerd@gnu.org>
14164
2df636f4
GM
14165 * sysdep.c (start_of_text): Don't define this function for NetBSD
14166 with ELF.
14167
427ec082 14168 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
14169 Don't define.
14170 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14171 (LINKER): Don't undef if __NetBSD__ is defined.
14172
14173 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14174
14175 * fileio.c [__NetBSD__]: Define `unix'.
14176
72d19d75
GM
14177 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14178
ed4d0512
GM
141792000-02-29 Gerd Moellmann <gerd@gnu.org>
14180
50b1039f
GM
14181 * atimer.c (start_atimer): Don't abort when timers are stopped.
14182 (append_atimer_lists): New function.
14183 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14184 arbitrary lists of stopped and running atimers.
14185
ed4d0512
GM
14186 * atimer.c (cancel_atimer): Handle canceling an atimer when
14187 some timers are stopped.
14188
14189 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14190 after canceling it.
14191
14192 * fns.c (maybe_resize_hash_table): Handle case of new size
14193 coming out as being the same as old size.
14194
387023ee
JR
141952000-02-27 Jason Rumney <jasonr@gnu.org>
14196
14197 * makefile.nt: Add atimer.h to dependencies.
14198 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14199 * w32console.c: Only disable window system features for dispextern.h
14200 (initialize_w32_display): Build a display info for the console.
14201 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14202 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14203 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14204 as 2 button mice.
14205 * w32gui.h (struct W32FontStruct): Revert last change after change
14206 to xdisp.c.
14207 * w32menu.c (single_submenu): Set up help string.
14208 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14209 (w32_dialog_show): Set up help string.
14210 * w32term.c (w32_display_info_for_display): Remove unused function.
14211 (w32_draw_bitmap): Use pre-built bitmaps.
14212 (w32_initialize_display_info): New function to initialize parts of
14213 display info that are common to both GUI and console frames.
14214 (w32_term_init): Use w32_initialize_display_info. Do not set
14215 Vw32_num_mouse_buttons here, as it is not called for console
14216 frames. Build bitmaps for indicating truncated lines etc.
14217 (x_delete_display): Destroy pre-built bitmaps.
14218 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14219 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14220
4516715a
DL
142212000-02-27 Dave Love <fx@gnu.org>
14222
14223 * lisp.h: Add a bunch of prototypes.
14224
171ca836
KH
142252000-02-26 Kenichi Handa <handa@etl.go.jp>
14226
14227 * keyboard.c (read_char): Set `usec' correctly.
14228
4013921d
KH
142292000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14230
14231 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14232 `lambda', set reg[RRR] to the map index.
14233 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14234 reg[RRR] to 0. Otherwise, set it to -1.
14235
9244a058
GM
142362000-02-25 Gerd Moellmann <gerd@gnu.org>
14237
2df636f4 14238 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14239
18e21ce8 142402000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14241
f43d79c1
GM
14242 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14243 and contains a `:', prepend `/:'.
14244
14245 * window.c (select_window_1): If selected_window is nil,
14246 don't "swap out" the buffer's point.
14247 (Fset_window_configuration): Set selected_window to nil
14248 before calling Fselect_window.
14249 (unshow_buffer): Don't set point in buffer from window's point
14250 if another more recently selected window also shows the buffer.
14251
bed0c171
GM
142522000-02-25 Gerd Moellmann <gerd@gnu.org>
14253
449c3c52
GM
14254 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14255
f5b58615
GM
14256 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14257 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14258 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14259 New variables.
f5b58615
GM
14260 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14261 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14262 (hide_busy_cursor): New functions.
14263 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14264
14265 * minibuf.c (read_minibuf): Cancel busy-cursor.
14266
14267 * keyboard.c (command_loop_1): Call start_busy_cursor before
14268 Fcommand_execute and cancel_busy_cursor after it.
14269 (timer_check): Remove busy-cursor code.
14270 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14271 cursor timer.
14272
14273 * process.c (wait_reading_process_input): Remove busy-cursor code.
14274
14275 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14276 Fx_hide_busy_cursor.
14277
14278 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14279 Remove prototyoes.
14280 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14281
14282 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14283
14284 * xterm.c (XTread_socket): Remove busy-cursor code.
14285
4eb8436f
GM
14286 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14287 (build_frame_matrix_from_leaf_window): Put code handling
14288 glyph row's not being a slice of a frame row in #if 0.
14289 (sync_window_with_frame_matrix_rows): New function.
14290 (frame_row_to_window): New function.
14291 (mirror_line_dance): Handle copies between windows.
14292
3cb65b0e
GM
14293 * lread.c (Fload): Use `xfree' instead of `free'.
14294 (init_obarray): Use `xmalloc' instead of `malloc'.
14295
bed0c171
GM
14296 * window.c (Fset_window_buffer): Set WINDOW to the window
14297 after decoding.
2add4349
GM
14298 (coordinates_in_window): Take frame's internal border width
14299 into account.
bed0c171 14300
42088c12
GM
143012000-02-24 Gerd Moellmann <gerd@gnu.org>
14302
14303 * xterm.c (x_display_and_set_cursor): Display cursor of
14304 non-selected windows depending on the setting of
14305 cursor_in_non_selected_windows.
14306
14307 * xdisp.c (cursor_in_non_selected_windows): New variable.
14308 (syms_of_xdisp): DEFVAR_BOOL it.
14309
d1e103b2
GM
143102000-02-23 Gerd Moellmann <gerd@gnu.org>
14311
723e779c
GM
14312 * data.c (Fstring_to_number): If number is greater than what
14313 fits into an integer, return a float.
14314
d1e103b2
GM
14315 * eval.c (specbind): Remove references to
14316 keyword_symbols_constant_flag.
14317
14318 * data.c (keyword_symbols_constant_flag): Removed.
14319 (Fmakunbound, set_internal, syms_of_data): Remove references to
14320 keyword_symbols_constant_flag.
14321
14322 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14323
214f877f
KH
143242000-02-23 Kenichi Handa <handa@etl.go.jp>
14325
14326 * syntax.c (multibyte_syntax_as_symbol): New variable.
14327 (syms_of_syntax): Declare it as a Lisp variable.
14328 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14329 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14330 nonzero, treat all multibyte characters as symbol.
52283633 14331 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14332
130adcb7
EZ
143332000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14334
3cb65b0e 14335 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14336 a deleted frame.
130adcb7 14337
17cbbf95
GM
143382000-02-21 Gerd Moellmann <gerd@gnu.org>
14339
14340 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14341
14342 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14343 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14344
beb0bc36
DL
143452000-02-21 Dave Love <fx@gnu.org>
14346
14347 * frame.c (Vmouse_position_function): New variable.
14348 (Fmouse_position): Use it.
14349 (syms_of_frame): Install it.
14350
14351 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14352
1d92afcd
GM
143532000-02-20 Gerd Moellmann <gerd@gnu.org>
14354
14355 * fileio.c (Finsert_file_contents): Unbind the binding of
14356 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14357
14358 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14359 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14360 (specbind, unbind_to): Handle most common case of non-constant
14361 symbol with trivial value specially.
14362
14363 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14364
18e21ce8 143652000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14366
14367 * data.c (Fmake_variable_buffer_local): Doc fix.
14368 Init found_for_buffer to 0.
14369 (Fmake_variable_frame_local): If the variable has already
14370 been buffer-local, set the check_frame field.
14371
1d4311c3
EZ
143722000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14373
14374 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14375 produced for CODING_MODE_LAST_BLOCK requires.
14376
2dc95ddd
DL
143772000-02-18 Dave Love <fx@gnu.org>
14378
14379 * keyboard.c (echo_keystrokes): Remove declaration.
14380 (Vecho_keystrokes) New variable.
14381 (read_char, record_menu_key, read_key_sequence): Use it to allow
14382 use of float value.
14383 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14384
14385 * lread.c: Undef feature selection macros before defining.
14386
f0930f35
GM
143872000-02-18 Gerd Moellmann <gerd@gnu.org>
14388
14389 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14390 for symbols other than the symbol in question.
14391
e3d4de90
DL
143922000-02-17 Dave Love <fx@gnu.org>
14393
14394 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14395
0b378936
GM
143962000-02-17 Gerd Moellmann <gerd@gnu.org>
14397
d621caf7
GM
14398 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14399
0b378936
GM
14400 * alloc.c (enum mem_type): Compile unconditionally.
14401
3b451f74
EZ
144022000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14403
14404 * xfaces.c (tty_defined_color): Don't return faulire indication
14405 for unspecified-fg and unspecified-bg pseudo-colors.
14406
10689a01
GM
144072000-02-17 Gerd Moellmann <gerd@gnu.org>
14408
1216f5e4
GM
14409 * alloc.c (mark_object): Don't mark symbol names in pure space.
14410 (gc_sweep): Don't unmark symbol names in pure space.
14411
14412 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14413 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14414 [GC_MARK_STACK]: New defines.
427ec082 14415 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14416 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14417
14418 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14419
14420 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14421 allocate_buffer instead of xmalloc.
14422
14423 * alloc.c (toplevel): Include setjmp.h.
14424 (PURE_POINTER_P): New define.
14425 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14426 (Vdead) [GC_MARK_STACK]: New variable.
14427 (lisp_malloc): Add parameter TYPE, call mem_insert if
14428 GC_MARK_STACK is defined.
14429 (allocate_buffer): New function.
427ec082 14430 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14431 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14432 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14433 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14434 (MEM_NIL) [GC_MARK_STACK]: New define.
14435 (struct mem_node) [GC_MARK_STACK]: New structure.
14436 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14437 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14438 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14439 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14440 (mark_stack) [GC_MARK_STACK]: New functions.
14441 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14442 (clear_marks): Removed.
14443 (gc_sweep): Set free conses' car, free floats' type, free
14444 symbols' function to Vdead. Use lisp_free to free buffers.
14445 (init_alloc_once): Initialize Vdead.
14446 (survives_gc_p): Return non-zero for pure objects.
14447
14448 * alloc.c: Add comments throughout the file.
14449
2503c8b1
GM
14450 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14451 that unblocks alarms.
14452
8389e1e2
GM
14453 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14454 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14455 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14456
10689a01 14457 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14458
bfc17d18
KH
144592000-02-17 Kenichi Handa <handa@etl.go.jp>
14460
4a09dee0
KH
14461 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14462 avoid infinite error signaling. Allocate sufficient memory for
14463 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14464
2b927d02
SM
144652000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14466
14467 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14468 depends on the previous behavior.
14469
b49cb764
GM
144702000-02-16 Gerd Moellmann <gerd@gnu.org>
14471
14472 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14473
99e95407
GM
144742000-02-15 Gerd Moellmann <gerd@gnu.org>
14475
14476 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14477
14478 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14479 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14480 write(2).
14481
6ffd3cf7
RS
144822000-02-15 Richard M. Stallman <rms@gnu.org>
14483
14484 * data.c (set_internal): Don't make variable buffer-local
14485 if within a let-binding for the same buffer.
14486 (let_shadows_buffer_binding_p): New function.
14487
14488 * eval.c (specbind): For buffer-local value,
14489 record the current buffer also.
14490 (unbind_to): Cope with that change.
14491
cad53475
GM
144922000-02-15 Gerd Moellmann <gerd@gnu.org>
14493
14494 * window.c (Fsave_window_excursion): Doc fix.
14495
1aa963c8
SM
144962000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14497
14498 * syntax.c (back_comment): Make sure we only consider comment-starters
14499 of the relevant style and return -1 in case of a failure to find the
14500 beginning of the comment.
14501 (Fforward_comment): If back_comment fails, go back to the position just
14502 after the comment-end.
14503 (scan_lists): Add comment describing a very minor bug.
14504
b9b84fd3
SM
145052000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14506
14507 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14508 `completion-regexp-list' in the docstring.
14509
3a28db80
DL
145102000-02-14 Dave Love <fx@gnu.org>
14511
14512 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14513
fb4a568d
SM
145142000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14515
14516 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14517 to Emacs' syntax. Also fix the comment about set/not-set meanings
14518 since Emacs syntax is not the value 0 any more.
14519 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14520 since it's now part of RE_SYNTAX_EMACS.
14521
1063ebb5
DL
145222000-02-12 Dave Love <fx@gnu.org>
14523
52283633 14524 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14525
fb07a302
GM
145262000-02-12 Gerd Moellmann <gerd@gnu.org>
14527
14528 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14529
aaf2320c
DL
145302000-02-12 Dave Love <fx@gnu.org>
14531
14532 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14533
14534 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14535 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14536 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14537
14538 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14539
14540 * s/nextstep.h: Don't define HAVE_ALLOCA.
14541
14542 * config.in: Add vfork bits.
14543
eedf8bde
GM
145442000-02-12 Gerd Moellmann <gerd@gnu.org>
14545
14546 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14547 unwind function to undo the effect of stopping atimers.
14548
52283633 14549 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14550
14551 * atimer.c (stopped_atimers): New variable.
14552 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14553 New functions.
14554
14555 * atimer.h (stop_other_atimers, run_all_atimers)
14556 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14557
eedf8bde
GM
14558 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14559
8476c2f8
KR
145602000-02-11 Ken Raeburn <raeburn@gnu.org>
14561
14562 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14563 library may depend on jpeg.
14564 (atimer.o): Depends on atimer.c.
14565
0e85e4a3
KH
145662000-02-11 Kenichi Handa <handa@etl.go.jp>
14567
14568 * insdel.c (del_range_1): Call update_compositions.
14569 (del_range_both): Call update_compositions just once..
14570
97fa0cc8
DL
145712000-02-10 Dave Love <fx@gnu.org>
14572
14573 * xfns.c (create_frame_xic): Fix initialization of automatic
14574 aggregates for pcc.
14575
25566a3c
KH
145762000-02-09 Kenichi Handa <handa@etl.go.jp>
14577
14578 * ccl.c (CCL_MAKE_CHAR): New macro.
14579 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14580 registers by CCL_MAKE_CHAR before calling translate_char.
14581 <CCL_TranslateCharacterConstTbl> Likewise.
14582
69da54ba
DL
145832000-02-08 Dave Love <fx@gnu.org>
14584
14585 * lread.c (__EXTENSIONS__): Define.
14586
f7136ee8
GM
145872000-02-08 Gerd Moellmann <gerd@gnu.org>
14588
14589 * puresize.h (BASE_PURESIZE): Increase to 650000.
14590
7768790b
EZ
145912000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14592
14593 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14594 the help message.
14595
38fd211b
EZ
145962000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14597
14598 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14599 md, mh, mb, mr, and me to the fake termcap entry.
14600
66e4690f
KR
146012000-02-06 Ken Raeburn <raeburn@gnu.org>
14602
14603 * sound.c (sound_cleanup): Don't call device close routine if the
14604 function pointer is null.
14605
a75dfea0
AI
146062000-02-06 Andrew Innes <andrewi@gnu.org>
14607
14608 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14609 around image definitions and prototypes.
14610 (gamma_correct) [WINDOWSNT]: New prototype.
14611
14612 * w32term.c (x_make_frame_visible): Replace call to
14613 input_poll_signal with poll_for_input.
14614
14615 * window.c [WINDOWSNT]: Include w32term.h.
14616
14617 * xdisp.c [WINDOWSNT]: Include w32term.h.
14618
14619 * makefile.nt: Add dependencies on w32gui.h.
14620 (OBJ1): Include atimer.obj.
14621 ($(BLD)\atimer.obj): New dependency rule.
14622
14623 * w32.c (sigmask): New function (does nothing).
14624 (sigunblock): Ditto.
14625
14626 * frame.c [WINDOWSNT]: Include w32term.h.
14627
14628 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14629
14630 * lread.c (syms_of_lread): Fix literal newlines.
14631
14632 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14633 the string constant limit (2048 bytes) in MSVC.
14634 (main): Ditto.
14635
59ddecde
GM
146362000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14637
52283633 14638 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14639 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14640 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14641 dispatch the event.
14642
07590973
DL
146432000-02-04 Dave Love <fx@gnu.org>
14644
14645 * fileio.c: Remove some unused vars.
14646 (_GNU_SOURCE): Define (for euidaccess).
14647
14648 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14649
14650 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14651 gcpro1, gcpro2.
14652 (read_minibuf): Deal with allow_props correctly.
14653
649351f9
EZ
146542000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14655
14656 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14657
66e4690f 146582000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14659
14660 * search.c (compile_pattern): If a cache entry has a nil regexp,
14661 fill in that entry instead of clobbering a previously cached
14662 string regexp.
14663
66e4690f 146642000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14665
14666 * puresize.h (BASE_PURESIZE): Increase to 610000.
14667
d240a249
GM
146682000-02-02 Gerd Moellmann <gerd@gnu.org>
14669
14670 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14671 can GC.
14672
ca91fb26
KH
146732000-02-02 Kenichi Handa <handa@etl.go.jp>
14674
25660570
KH
14675 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14676 instead of incrementing ic directly.
14677 <CCL_WriteExprConst> Likewise.
14678 <ccl_set_expr>: Set ic to jump_address.
14679
ca91fb26
KH
14680 * fileio.c (e_write): Fix the handling of
14681 CODING_FINISH_INSUFFICIENT_SRC.
14682
2ede9689
DL
146832000-02-01 Dave Love <fx@gnu.org>
14684
14685 * editfns.c (Fpropertize): Doc fix.
14686
14687 * process.c (Fstart_process): Doc fix.
14688
14689 * eval.c: Fix various doc strings not to duplicate information
14690 from help-manyarg-func-alist.
14691
52283633 14692 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14693
14694 * doc.c (Vhelp_manyarg_func_alist): New variable.
14695 (Fdocumentation): Use it.
14696 (syms_of_doc): Define it.
14697
b6680a0e
GM
146982000-01-31 Gerd Moellmann <gerd@gnu.org>
14699
2cb750ba
GM
14700 * xterm.c (xim_open_dpy): Remove unused local variable.
14701
52283633 14702 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14703
14704 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14705 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14706
b6680a0e
GM
14707 * fns.c (sweep_weak_table): New function.
14708 (sweep_weak_hash_tables): Use it. Keep on marking until there
14709 is no more change.
14710
994c5afe
GM
147112000-01-30 Gerd Moellmann <gerd@gnu.org>
14712
14713 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14714 that XTread_socket does not crash by trying to call XNoOp on a
14715 closed display.
427ec082 14716
f00276e3
JR
147172000-01-30 Jason Rumney <jasonr@gnu.org>
14718
14719 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14720 Change selected_frame to SELECTED_FRAME ().
14721 (w32_console_mouse_position): Remove #ifndef MULE from around
14722 `insist' parameter.
14723
14724 * makefile.nt: Remove dosfns.obj.
14725
14726 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14727
14728 * w32fns.c (w32_defined_color): Check for valid frame before
14729 applying gamma correction. Eliminate dependency on frame elsewhere.
14730 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14731 (w32_to_x_font): Use resx and resy not height_in and width_in.
14732 (x_to_w32_font): Doc fix.
14733 (xlfd_strip_height): New function to strip and return font height.
14734 (w32_font_match): Compare height separately from rest of xlfd
14735 spec, using xlfd_strip_height.
14736
14737 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14738 width_in. Use w32_defined_color in place of defined_color.
14739
14740 * w32faces.c: Merge more of DOS and X specifics in preparation for
14741 merge with xfaces.c.
14742 (defined_color): Remove FIXME comment.
14743 (tty_color_name): Provide w32-specific function.
14744 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14745
14746 * w32console.c (turn_on_face, turn_off_face): Removed.
14747 (w32_face_attributes): New function.
14748 (Global_variables): Reduce scope where possible.
14749 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14750 fill attribute.
14751 (hl_mode): Don't modify text attributes.
14752 (write_glyphs): Don't do anything if len <= 0. Use
14753 w32_face_attributes to get attributes for drawing. Write
14754 terminating codes using char_attr_normal.
14755 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14756 (update_begin, update_end): Likewise.
14757 (vga_stdcolor_name): New function.
14758 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14759 (Fset_screen_color): Remove char_attr_reverse.
14760
b08e8bb2
GM
147612000-01-29 Gerd Moellmann <gerd@gnu.org>
14762
14763 * xfns.c (xic_set_preeditarea): Take window parameter and
14764 window-relative pixel-positions.
14765
14766 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14767 is its frame's selected window.
14768 (xim_instantiate_callback): Likewise.
14769
14770 * xfns.c (x_create_im): Removed.
14771 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14772 (supported_xim_styles): Renamed from supported_styles.
14773 (best_xim_style): Renamed from best_style.
14774 (create_frame_xic): Renamed from xic_create_frame.
14775 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14776
b08e8bb2
GM
147772000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14778
14779 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14780 our frames, call XFilterEvent with 2nd parameter `None'.
14781 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14782 returning XBufferOverflow.
52283633 14783 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14784 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14785 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14786 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14787 (xim_initialize, xim_close)
14788 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14789 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14790 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14791 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14792
14793 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14794 and `xim_styles'.
14795 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14796 `xic_style' and `xic_xfs'.
14797 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14798 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14799 (FRAME_XIM): Removed.
14800
14801 * xfns.c (supported_styles): New variable.
14802 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14803 (xic_create_xfontset, best_style, xic_create_frame)
14804 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14805 (xic_set_xfontset): New functions.
14806
142e109c
DL
148072000-01-28 Dave Love <fx@gnu.org>
14808
14809 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14810
14811 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14812
b02786f9
GM
148132000-01-28 Gerd Moellmann <gerd@gnu.org>
14814
d060bc9f
GM
14815 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14816 for *scratch* if it already existed.
14817
b02786f9
GM
14818 * emacs.c (USAGE): New macro.
14819 (main): Use it to display usage information.
14820
2c52d7e4
EZ
148212000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14822
14823 Support for the menu-help feature:
14824
52283633 14825 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14826
14827 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14828 part of the line to the termscript file.
14829 (IT_clear_to_end): Clear the entire line, not just its beginning.
14830 (menu_help_message, prev_menu_help_message): New variables.
14831 (IT_menu_make_room): Make room for the help_text member.
14832 (IT_menu_display): New argument disp_help; all callers changed.
14833 If disp_help is non-zero, store the help text of the active menu
14834 item in menu_help_message.
14835 (XMenuAddPane): Initialize the help_text member to NULL.
14836 (XMenuAddSelection): New argument help_text. Store it in the
14837 XMenu structure.
14838 (XMenuActivate): New argument help_callback. If the value of
14839 menu_help_message has changed since the last time, display the
14840 menu help message text while waiting for the mouse to move. Clear
14841 the echo area before exiting.
14842 (XMenuDestroy): Free the help_text member.
14843
ffe0bcd1
GM
148442000-01-27 Gerd Moellmann <gerd@gnu.org>
14845
14846 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14847 XMenuAddSelection. Pass help callback to XMenuActivate.
14848 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14849
50dbd23f
EZ
148502000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14851
14852 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14853 and EMACS_SET_USECS.
14854
f5941bf8
GM
148552000-01-26 Dave Love <fx@gnu.org>
14856
6c67ddee
DL
14857 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14858
f5941bf8
GM
14859 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14860 an error may be signalled.
14861
9e49c990
GM
148622000-01-26 Gerd Moellmann <gerd@gnu.org>
14863
fc3cb460
GM
14864 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14865 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14866
9e49c990
GM
14867 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14868
d0c037d8
GM
148692000-01-25 Gerd Moellmann <gerd@gnu.org>
14870
14871 * charset.c (Fstring): If there is a multibyte char among
14872 the args, always return a multibyte string.
14873
e12489f9
GM
148742000-01-25 Gerd Moellmann <gerd@gnu.org>
14875
14876 * sysdep.c (sys_select): Turn atimers off and on instead of
14877 recording and restoring old alarm handler
14878
14879 * process.c (toplevel): Include atimer.h.
14880 (create_process_1): Rewritten.
14881 (create_process): Use atimers instead of alarm.
14882 (wait_reading_process_input) [hpux]: Turn atimers off instead
14883 of turning off SIGALRM.
14884 (wait_reading_process_input): Turn off atimers instead off
14885 calling stop_polling.
14886
14887 * emacs.c (main): Call init_atimer.
14888
14889 * keyboard.c (toplevel): Include systime.h and atimer.h.
14890 (polling_for_input): Removed because unused.
14891 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14892 (poll_timer): New variable.
14893 (poll_for_input, poll_for_input_1): New functions.
14894 (start_polling, stop_polling): Rewritten.
14895
14896 * keyboard.h (polling_for_input): Removed.
427ec082 14897
e12489f9
GM
14898 * atimer.h, atimer.c: New files.
14899
14900 * Makefile.in (obj): Add atimer.o.
14901 (atimer.o): New target.
14902
14903 * blockinput.h (pending_atimers): Add extern declaration.
14904 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14905
14906 * lisp.h (popup_activated_flag): Add extern declaration.
14907
14908 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14909 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14910 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14911
14912 * xterm.c (toplevel): Include atimer.h.
14913 (toolkit_scroll_bar_interaction): New variable.
14914 (Fxt_process_timeouts): Removed.
14915 (x_process_timeouts): New function.
14916 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14917 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14918 (x_make_frame_visible): Call poll_for_input_1 instead of
14919 input_poll_signal. Don't call alarm.
14920 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14921
1e5279b9
DL
149222000-01-24 Dave Love <fx@gnu.org>
14923
6c67ddee 14924 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14925 Don't use -cckr -- apparently not now necessary.
14926
edf6aeb8
EZ
149272000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14928
14929 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14930 screen boundary.
14931
9badad41
JR
149322000-01-23 Jason Rumney <jasonr@gnu.org>
14933
14934 * w32fns.c (w32_defined_color): Apply gamma correction before
14935 trying to map to the palette.
14936 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14937 to w32_clear_rect.
14938
14939 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14940 here. Callers changed to always pass real device context.
14941 (w32_draw_bitmap): Likewise.
14942 (w32_get_glyph_overhangs): Likewise.
52283633 14943 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14944 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14945 pfnSetScrollInfo and SetScrollRange.
14946 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14947 back into MULE characters after decoding them.
14948 (x_get_glyph_face_and_encoding): Likewise.
14949 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14950 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14951 (x_produce_glyphs): Calculate per char metrics for a character
14952 that we know exists in default font when font_not_found_p is true.
14953
63bd786b
JR
149542000-01-22 Jason Rumney <jasonr@gnu.org>
14955
14956 * makefile.nt (intervals.obj, composite.obj): New modules.
14957 (composite.h): Added as dependency where appropriate.
14958
14959 * w32gui.h (XGCValue): New struct for emulating X GCs.
14960
14961 * w32term.h (XCharStruct): New struct for emulating X.
14962
14963 * w32console.c (turn_on_face, turn_off_face): New functions.
14964 (change_line_highlight): New prototype for new redisplay.
14965 (write_glyphs): Support multibyte text. Support faces.
14966
52283633 14967 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14968
14969 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14970 throughout. struct frame * in place of FRAME_PTR.
14971 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14972 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14973 (w32_get_arg): Renamed from x_get_arg.
14974 (Fx_file_dialog): New function.
14975 (w32_list_fonts): Check cache before asking system.
14976 (Vw32_enable_synthesized_fonts): New variable.
14977 (Vw32_enable_italics): Obsolete, removed.
14978
14979 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14980 Use SELECTED_FRAME macro.
14981
14982 * w32menu.c: Add skeleton support for help strings on menus.
14983 (add_menu_item): Native checkbox and radio support added, but not
14984 yet enabled due to bugs.
14985 (push_menu_item): Add parameters type, selection and help.
14986 Callers updated.
14987 Formatting changes to reduce unnecessary diffs with xmenu.c.
14988
14989 * w32select.c (Fw32_set_clipboard_data): Update call to
14990 find_charset_in_str.
14991
14992 * w32term.c: Complete rewrite for new redisplay based on new
14993 xterm.c with necessary sections merged back in from old w32term.c.
14994
6ffd3cf7 149952000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14996
14997 * data.c (set_internal): Further fix in same criterion.
14998
6ffd3cf7 149992000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
15000
15001 * data.c (set_internal): Fix the criteria for whether
15002 to swap out the old cached binding.
15003
60af03f1
DL
150042000-01-19 Dave Love <fx@gnu.org>
15005
15006 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
15007
f9be074f
KH
150082000-01-18 Kenichi Handa <handa@etl.go.jp>
15009
15010 * regex.c (re_compile_fastmap): While checking a range table for
15011 `charset', skip flag bits for a character class correctly.
15012
52b8dbf9
GM
150132000-01-17 Gerd Moellmann <gerd@gnu.org>
15014
d36100c9
GM
15015 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
15016
52283633 15017 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
15018
15019 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 15020 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
15021
15022 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
15023 MENU_ITEMS_ITEM_.*.
15024 (MENU_ITEMS_ITEM_HELP): New enumerator.
15025 (push_menu_item): Add parameter HELP. Record help in menu_items.
15026 (single_menu_item, single_submenu, list_of_items): Call
15027 push_menu_item with new parameter.
15028 (single_submenu): Set help string in widget value.
15029 (menu_highlight_callback): New function.
15030 (set_frame_menubar): Call lw_create_widget with new
15031 parameter list.
15032 (xmenu_show, xdialog_show): Ditto.
15033
3139018f
GM
150342000-01-13 Gerd Moellmann <gerd@gnu.org>
15035
15036 * sound.c (Fplay_sound): Improve doc string.
15037
83c8f461
RS
150382000-01-11 Richard M. Stallman <rms@gnu.org>
15039
15040 * lisp.h (set_internal): Enter the new arg.
15041
15042 * eval.c (specbind): Record buffer-local variables specially,
15043 indicating which buffer's binding was saved.
15044 (unbind_to): Restore buffer-local variables specially
15045 in the proper buffer.
15046
15047 * data.c (set_internal): New arg BUF.
427ec082 15048
83c8f461
RS
15049 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
15050 * data.c (Fset): Pass new arg to set_internal.
15051 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 15052
1fab1775
GM
150532000-01-11 Gerd Moellmann <gerd@gnu.org>
15054
52283633 15055 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 15056
83c8f461 150572000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
15058
15059 * minibuf.c (Ftry_completion): Doc fix.
15060
7a85e4df
GM
150612000-01-11 Gerd Moellmann <gerd@gnu.org>
15062
15063 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
15064 vector, too.
15065
a970dae4
AS
150662000-01-11 Andreas Schwab <schwab@suse.de>
15067
15068 * coding.c (code_convert_region): Initialize total_skip.
15069
c65d14ee
DL
150702000-01-08 Dave Love <fx@gnu.org>
15071
15072 * eval.c (Fuser_variable_p): Check customizability too.
15073
834938d2
GM
150742000-01-07 Gerd Moellmann <gerd@gnu.org>
15075
15076 * minibuf.c (Fcompleting_read): Doc fix.
15077
e0303cd6
GM
150782000-01-05 Gerd Moellmann <gerd@gnu.org>
15079
8a26744b
GM
15080 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
15081 -L /usr/local/lib.
15082
e0303cd6
GM
15083 * xfns.c (x_create_im): New function to set IM and IC of a frame.
15084 Check that input style is supported before trying to create an
15085 IC for it.
15086 (x_window): Call x_create_im.
427ec082 15087
2e471eb5
GM
150882000-01-04 Gerd Moellmann <gerd@gnu.org>
15089
560a7bd2
GM
15090 * xfns.c (current_gif_memory_src): New variable.
15091 (gif_load): Record the address of the current memory source
15092 in current_gif_memory_src.
15093 (gif_read_from_memory): Use current_gif_memory_src.
15094
f9ee84a3
GM
15095 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
15096 macros statement form.
15097
d1299cde
GM
15098 * sound.c (struct sound): Renamed from struct sound_file.
15099 (struct sound): Add members `data' and `header_size'.
15100 (enum sound_attr): Add SOUND_DATA.
15101 (current_sound, current_sound_device): Variables renamed from
15102 sound_file and sound_device.
15103 (parse_sound): Parse :data.
15104 (parse_sound): Handle sound data in strings.
15105 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 15106 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
15107 needed header size.
15108 (wav_play, au_play): Play sounds from string data.
15109
2e471eb5
GM
15110 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
15111
15112 * lisp.h: Add prototype for allocate_string_data.
15113
52283633 15114 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
15115
15116 * alloc.c (mark_buffer): Remove code in #if 0.
15117 (gc_sweep): Ditto.
15118 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
15119 (strings_consed): New variable.
15120 (allocate_string): Set it.
15121 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
15122 (Fmemory_use_counts): Return strings_consed. Use Flist.
15123
15124 * alloc.c: General cleanup in comments etc. Remove conditional
15125 compilation for `standalone'.
15126
15127 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
15128
15129 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
15130 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
15131 (DONT_COPY_FLAG): Removed.
15132 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
15133 (struct sdata, struct sblock): New
15134 (struct string_block): Rewritten.
15135 (STRINGS_IN_STRING_BLOCK): New macro.
15136 (oldest_sblock, current_sblock, total_strings, total_free_strings)
15137 (large_sblocks, string_blocks, string_free_list): New variables.
15138 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
15139 (init_strings): Rewritten.
15140 (allocate_string, allocate_string_data, compact_small_strings)
15141 (free_large_strings, sweep_strings): New functions.
15142 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
15143 (struct string_block_head, current_string_block)
15144 (first_string_block, large_string_blocks, STRING_FULLSIZE)
15145 (STRING_PAD): Removed.
15146 (make_uninit_multibyte_string, make_pure_string): Rewritten.
15147 (Fgarbage_collect): Don't set mark bit in large strings.
15148 (mark_object): Mark strings differently. Mark symbol names
15149 differently.
15150 (survives_gc_p): Test marked strings differently.
427ec082 15151 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
15152 symbol names.
15153 (compact_strings): Removed.
15154
42608ba8
EZ
151552000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
15156
15157 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
15158 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
15159
e0a09e1a
KH
151602000-01-04 Kenichi Handa <handa@etl.go.jp>
15161
dd9f0750 15162 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 15163 in a non-empty buffer.
dd9f0750 15164
3c0f3b15 15165 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 15166
44cd3ae5
GM
151672000-01-03 Gerd Moellmann <gerd@gnu.org>
15168
15169 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15170 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15171
15172 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15173
c182a70f
EZ
151742000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15175
15176 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15177 need to test for MSDOS frames.
15178
24480d5b
EZ
151792000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15180
15181 * dosfns.c (unspecified_colors): Remove.
15182 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15183 unspecified_bg.
15184 (msdos_stdcolor_name): Return strings for unspecified fore- and
15185 back-ground colors.
15186
15187 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 15188 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
15189 (tty_color_name): Return Lisp strings for unspecified fore- and
15190 back-ground colors.
15191 (Finternal_set_lisp_face_attribute): Remove the special treatment
15192 for Qunspecified_{f,b}g.
52283633 15193 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 15194
047f434a
GM
151952000-01-03 Gerd Moellmann <gerd@gnu.org>
15196
15197 * xdisp.c (reseat_at_next_visible_line_start): Position before
15198 newline only if ending up on a newline.
15199 (next_element_from_ellipsis): Return success. Handle case of
52283633 15200 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
15201 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15202 returns 0.
15203
d684c676
EZ
152042000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15205
15206 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15207 (Fcolor_supported_p): Renamed from face-color-supported-p.
15208
5fe1d139
EZ
152092000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15210
15211 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15212 list of colors renamed to tty-defined-color-alist.
15213 (tty_color_name): Pass the frame to tty-color-by-index.
15214 (realize_tty_face): tty-color-alist is now a function which
15215 accepts the frame as argument.
15216
52283633 15217 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15218
816be8b8
EZ
152192000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15220
15221 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15222 encode_terminal_code.
15223
b635321e
EZ
152242000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15225
15226 * dispnew.c (mode_line_string): Support termcap frames as well.
15227
9b784e96
GM
152282000-01-01 Gerd Moellmann <gerd@gnu.org>
15229
27189709
GM
15230 * syntax.c (Fforward_word): Undo previous change.
15231
15232 * editfns.c (Fconstrain_to_field): Don't constrain if
15233 inhibit-field-text-motion is non-nil.
15234 (Fline_beginning_position): Undo previous change.
15235 (Fline_end_position): Ditto.
15236
15237 * syntax.c (Fforward_word): Notice field boundaries only if
15238 inhibit-field-text-motion is nil.
15239
15240 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15241
15242 * editfns.c (Vinhibit_field_text_motion): New variable.
15243 (inhibit-field-text-motion): New DEFVAR_LISP.
15244 (Fline_beginning_position, Fline_end_position): Notice field
15245 boundaries only if inhibit-field-text-motion is nil.
15246
45158a91
GM
15247 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15248 All calls adjusted.
15249 (x_build_heuristic_mask): Likewise.
15250 (xbm_load_image_from_file): Change error output.
15251 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15252 (gif_load, gs_load, x_kill_gs_process): Ditto.
15253
9b784e96
GM
15254 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15255 color indices when accessing raster pixels.
63cec32f
GM
15256 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15257 one of :file or :data.
15258 (enum pbm_keyword_index): Add PBM_DATA.
15259 (pbm_format): Add :data.
15260 (pbm_image_p): Allow either :file or :data.
15261 (pbm_read_file): New function.
15262 (pbm_scan_number): Rewritten to read from string.
15263 (pbm_load): Support :data.
9b784e96 15264
2cb085db 15265See ChangeLog.8 for earlier changes.
6922b018
KH
15266
15267;; Local Variables:
49b3bd82 15268;; coding: iso-2022-7bit
6922b018 15269;; End:
2a34a036
GM
15270
15271 Copyright (C) 2001 Free Software Foundation, Inc.
15272 Copying and distribution of this file, with or without modification,
15273 are permitted provided the copyright notice and this notice are preserved.